Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Cruise Control feels like ICE

This site may earn commission on affiliate links.
Rather than continue to dilute other threads, I wanted to discuss the quality and implementation of the Roadster cruise control.

Does anyone know whether Tesla Motors licensed or otherwise purchased some existing generic cruise control module (*), or if they implemented their own? The reason I ask is that cruise control in every ICE car I've ever tried has a really distinctive feel, and they all seem rather stupidly aggressive. My Roadster 2.5 feels just the same. Considering how smooth Tesla Motors managed to get all the other features of the Roadster to work (other than really slow, uphill reverse), I'm quite surprised that the cruise control does not feel a lot smoother.

Any comments?

I'm fairly new to the concept of automobile design, especially with regard to testing, standards, and any sort of mandatory approval bodies. I have this suspicion that federal laws mandate a great deal of minutia, and thus I imagine that licensing existing, approved technology might be far easier than jumping through all of the hoops and over the various hurdles. But I realize that I could be making this all up in my head. If anyone knows about these sorts of legal standards, I'd appreciate a reference.
 
Fascinating ... I find the cruise control to be perfect. It's extremely precise, which is what I like. I don't feel anything odd while it's on -- I just go exactly the speed I set it at, no matter what.
 
Agree with Cinergi and Doug_G. I don't think they used an existing module. I can't seem to get it to "coast" but maybe I haven't found that button. Or technique.

As a tournament waterskier I watched while several companies developed speed controls for tournament ski boats. They are much more accurate than automotive cruise controls. I can drive my boat through a slalom course (almost 1/4 mile) and the time will rarely vary by more than 3 thousands of a second regardless of how much the pull on the boat varies.
 
I agree with everyone else above. Since we have a cruise control thread, I've been meaning to ask. Anyone notice this:

Driving with cruise control on, but I desire to speed up a hair to get around someone. If I lightly touch the torque pedal, I seem to engage regen, because the car seems to slow. So I have to press past the "sweet spot" to get the car to speed up. This seems counter intuitive.
 
Maybe it's the difference between "driving" or "being driven," but I find my own acceleration techniques to be much smoother than the cruise control. Frankly, I think that I drive really fast and aggressive, but I've been complemented on how "smooth" I drive (that was in the CRX, though, long before this Roadster 2.5).
 
I've had my Roadster 3 months now and only used the cruise control once, just to test it. Driving the Tesla is too much fun to want to use the cruise control and I find it much easier to maintain a constant speed in my Roadster than in any ICE I've driven. Although it's pretty flat around here - there's no such thing as Florida mountain rescue....
 
I just love how it LOCKS. I had not driven any other car that would stay at the same speed up and down very steep hills like the Roadster does. A nearby mountain pass is a favorite place for radar cops with several hiding places plucking cars off all day. For that stretch I now set the CC and never worry about the downhill going more than one mile over my setting and never going slower than allowed even on the steep uphill.
 
Are you referring to how it behaves when you hit "resume"? It does speed up quite aggressively to get you back to your target speed but it's a lot smoother than an automatic ICE that tries to hold high gear and then kicks down a gear or two, engine screaming as it races back to your desired speed....
 
Driving with cruise control on, but I desire to speed up a hair to get around someone. If I lightly touch the torque pedal, I seem to engage regen, because the car seems to slow. So I have to press past the "sweet spot" to get the car to speed up. This seems counter intuitive.

I'm not sure if regen is actually engaged, but I've noticed that the Roadster has the same behavior that I have disliked in ICE cars. While driving with the cruise control engaged, if you speed up by pressing the accelerator to pass another car, and then let off, the cruise control will let the speed decrease below the set speed before bringing the speed back up to the set speed. In an ICE, I interpret that as the cruise control backing all the way off for its actuation of the trottle because the car is going faster than it is supposed to. Then, when the driver's foot comes off the accelerator, it takes a while before the cruise control reacts to begin actuating the throttle again. In the Roadster, though, there should be no lag. It should be able to let the speed drop smoothly down to the set speed again without going below, just like it locks onto that speed very precisely.

My biggest gripe is that the minimum speed that the cruise control will hold is 30mph. I'd like to have that be 25mph for assistance in avoiding cops with radar guns on the residential streets around here.

For those who normally eschew cruise controls, when you are trying to maximize range on a freeway drive, it is a big help to keep from going faster than you intended, and to avoid acceleration/deceleration cycles. Those of us who had EV1s a decade ago learned this well.
 
I'm not sure if regen is actually engaged, but I've noticed that the Roadster has the same behavior that I have disliked in ICE cars. While driving with the cruise control engaged, if you speed up by pressing the accelerator to pass another car, and then let off, the cruise control will let the speed decrease below the set speed before bringing the speed back up to the set speed. In an ICE, I interpret that as the cruise control backing all the way off for its actuation of the trottle because the car is going faster than it is supposed to. Then, when the driver's foot comes off the accelerator, it takes a while before the cruise control reacts to begin actuating the throttle again. In the Roadster, though, there should be no lag. It should be able to let the speed drop smoothly down to the set speed again without going below, just like it locks onto that speed very precisely.

A cruise control is a type of servo control loop, which are usually implemented as PID loops (Proportional, Integral, Derivative). They can be implemented in analog or digital electronics, usually digital these days, but they work the same way -- it is all dictated by some very fundamental theory.

These loops have a bunch of constants that have to be tweaked to optimize the performance. If you set them wrong you can get completely unstable operation. The optimum settings are always something of a compromise between stability, the desired response rate, overshoot, undershoot, etc.

Proportional provides basic feedback. If the car goes too fast, it backs off the gas.

Derivative is for speed of response. Increasing it causes the servo loop to be more responsive to changes.

Integral is there to pull you in to the right speed. If you're just a hair off, the error integrates over time until it pulls you in. Of course if you overdo Integral it will cause you to overshoot. But you need it because otherwise you won't pull in to the right speed. Typically there is an integral limiter, so it doesn't go ape if the inputs change faster than the system can respond.

The problem you describe -- overshoot -- is fundamental to all servo control systems. You can improve on things by a suitable choice of constants, but there is no set of constants that will give you optimal behavior on all performance measures. You can analyze the system to death and do a lot of math and come up with the optimum solution, but in practice this is very hard and no more effective than an expert using his experience and judgement to optimize and balance the various constants. You can't eliminate overshoot, and trying to minimize it too much will result in poor performance in other areas. These things trade off against each other.

So unfortunately the overshoot you hate (me too, actually) isn't there because the designer was lazy. It's just the nature of servo loops. Maybe it can be made a little better, but there are fundamental theoretical and practical limitations to what is possible.
 
Are you referring to how it behaves when you hit "resume"?
No, I am forgiving of 'resume' behavior and have used it seldom. In the Roadster, I have not even figured out which button to push to get it to resume!

It's just the nature of servo loops. Maybe it can be made a little better, but there are fundamental theoretical and practical limitations to what is possible.
Doug, thanks for another excellent description (I also read your note on power and voltage regulation). I've only ever designed servo loops for very simple applications and dread the thought of having to get it right myself, especially considering the really bad implementations I've seen from amateurs. I assumed that it could be better, but based on your description above I can admit that it really wouldn't be possible to make it perfect for all conditions - at least not without combining some kind of learning neural network programming combined with the standard PID (if that is even possible).
 
Last edited:
No, I am forgiving of 'resume' behavior and have used it seldom. In the Roadster, I have not even figured out which button to push to get it to resume!
The top half of the end of the stalk is a rocker switch. Push the dash-side end in to set. Push the person-side end to resume. The bottom half is cancel.
 

Attachments

  • cruisecontrol.jpg
    cruisecontrol.jpg
    996 KB · Views: 167
Last edited:
The top half of the end of the stalk is a rocker switch. Push the dash-side end in to set. Push the person-side end to resume. The bottom half is cancel.
Ah, 'R' is for Resume as well as Reduce?

I've managed to use the 'I' to increase speed if I set it too low, and 'R' to reduce speed if it settles 1 mph too high. Obviously, I must have found that 'I' works to Set the speed. I guess sometimes the system doesn't resume if the timing isn't just right. Then again, it could have been operator error, since one time I managed to hit the Off button instead of Resume, and the regen braking kicked in hard. Now that I think about it, I must have had Resume work at least once or twice, but I was remembering having more trouble with this cruise control implementation than any other.

Hmm, I wonder if the limited 8-bit nature of the accelerator input has anything to do with the lack of smoothness I notice.
 
The Roadster cruise control really sticks the speed you set it at. The part it doesn't do as well as I've seen (say, on my wife's Merc) is that it doesn't have a way of bumping the speed up and down by 1mph (or 1kph if you prefer the better units - as an engineer it makes me cringe that our government gave up on switching over when it was cheaper...).

The E wagon we have is great - you start the cruise control and then can bump it up or down to exactly the speed limit (yes, I know, there are variabilities in all sorts of things which means that's an estimate, but it totally satisfies the OCD in me.) It strikes me that the Roadster could easily have done that and, with the GPS feed into the VDS, been completely accurate.

But then, it's just cruise control, I don't ever really get a chance to use it. It's still far better than most cruise controls I've seen.
 
I have mastered the 1mph bump. Taping on the end of the stalk or the lower half gets the mph to go up or down respectively. It does take finesse and while learning you have to wait to see what your action does on the VDS readout.
 
Last edited:
A bit late but, the roadster cruise control is implemented in software. It runs in the next loop outside of the heart of the DMC so, after the code that generates the motor control and charge syncing loops, the next loops handle cruise, traction control, etc.

All I wish for it that it worked at 25mph round town.
 
...It runs in the next loop outside of the heart of the DMC so, after the code that generates the motor control and charge syncing loops, the next loops handle cruise, traction control, etc...

How do you know that? It sounds like a quote directly from one of the drive-train firmware engineers!