The RC car came along on Jan 8, 2014. The world was never the same, since. It was a $40 el cheapo G buggy from Toys R Us.
It was really crusty. The steering was binary. The speed was binary. Instead of a steering servo, it banged a motor completely left or right to the stalling point.
For someone who never had an RC car before, the amount of mechanics required to perform steering & optimally transfer power to the road was quite amazing. 4 wheeled vehicles are pretty complex compared to flying vehicles & there's no simpler way of doing it. The 2 wheeled balancing robot eliminates a lot of the complexity, but it still can't achieve the ultimate fluidity in turning that fully articulated wheels do.
A manually controlled vehicle might be viable for exercise. A vehicle which carried supplies for 30 miles was on the radar for a while.
The very 1st experiment running with it was a real buster. The 1st step was to make single handed driving more ergonomical.
It's not so easy to make driving 1 handed. The stock controller seemed almost designed to make it barely possible. Some hot glue blobs on the steering wheel made it easier. Binary steering buttons reduced the stretch even more.
Ran 7 miles with the RC car being manually controlled this way.
Interesting to note how the speed followed the NiMH discharge curve for 7 miles.
Keeping it on the narrow urban sidewalks was impossible. After leaving the urban jungle, it could start staying on the 15 ft wide trail. After several miles, banging out a straight line became automatic. Its tiny wheels made it erratic on the crumbling parts of the trail. 1 handed driving was still difficult, but better. The hand controller needed to get smaller.
The gopro naturally died after 6 miles. The RC car went 7 miles on its 6 1.5Ah NiMH AA's, then suddenly died & had to be carried 6 miles home. That was way beyond expectations. Thought it would go 1 mile. 6 miles on 1.5Ah should be considered the range on NiMH AA's, with a camera. It has a brown out shutoff. A brushless motor might get it up to 9 miles. Its nominal pace was 9m30s.
This system was fast enough to be a pacer for a slow, long run, but needed more NiMH batteries which are super expensive compared to Lipo. Wanted to only invest further development in a high end brushless system. Those things are expensive, even from Hobbyking. They're $75 - $100 just for the frame.
Lion after 6 miles. There's no way to see yourself this far from home besides robot.
Don't think the changes were substantial enough to sell a manually controlled, modified RC car as a workout coach. The only differences would be the 1 handed control, longer range, & attachments for water.
Making it completely autonomous was pie in the sky, but there might be a way to get it to drive the straight sections or avoid obstacles. A camera which automatically tracks the runner would be something. There's absolutely nothing which can make a timelapse video of an athlete during an entire run, but it can't be far off.
The next run was 5 miles with the camera mounted backwards, to analyze running form.
Its speed was 8m30s/mile for the 1st 3 miles. Then it regressed back to 9 minutes per mile. Since the timelapse was 20x, it was good evidence of a 180 cadence.
The camera documented the gender gap nicely.
An RC car could be a decent way to improve running, if only there was a budget to build the right RC car. There was no plan for any more running with this one.
Proportional steering & speed control would be the minimal starting requirements. The current vehicle could probably be given a new electronics board with 12V Lipo support, back EMF regulation of the speed. The steering motor could probably be swapped for a servo, but destroyed in the process.
It was decided to continue tearing the RC car down into an exercise tool.
A rod could be attached to this plastic plate for a servo to pull. There was enough clearance on the studs to fit a thin sheet of metal in front of it.
In the best case, the gearbox would have a hole cut open. A lever would be fitted to the mane rod, which a servo would pull from outside. The only other idea was to restore the original gearbox, use the original motor, but fit a hall effect sensor outside to detect the position. It would take a lot of energy, since the gear ratio wasn't high enough to hold the wheels without actuating the motor.
The mane board was a standard design analyzed by thousands of RC hobbyists. Nothing on it could be used in a new car design, though it had useful parts.
The electronics enclosure could be shaved down 1/2". It was too structurally important to shave it all the way to the bottom. A flat plywood sheet could cover everything. It would be very top heavy. Achieving controlled steering was the great task.
The RC car went to heroic lengths to achieve just bang bang steering. That giant piece could be replaced by a much smaller servo, but it's been produced since 1980 & probably costs 10 cents.
It didn't completely stall the motor, despite the motor sucking very high current when at the limit. It used an ingenious centrifugal clutch.
The 2 hemispheres spread out when the motor speeds up, engaging the gearbox. When the steering maxes out, the clutch slips. When the motor stops, the clutch disengages, allowing a spring to force the wheels back to the center.
The plan was to use the existing geared motor as the heart of a servo. There was no practical way to install a hobby servo for steering. The 1st step was to fuse the clutch to the gearbox so the wheels would not freely move when the motor stopped. This probably couldn't be undone.
Next, we had a magnet hot glued on the steering horn. It was hoped that a hall effect sensor could detect the magnet's position precisely enough to control the motor.
A quick test revealed it would take more like 8 hall effect sensors to do the job. Their range, even for the 5mV/gaus version, was too short. It wasn't the most elegant solution, but the cheapest. Just a matter of stretching the range as much as possible. A magnetometer would probably not do the job, since it would detect the Earth's magnetic field.
Attention turned to making 1 handed driving more ergonomic. Wearable RC control is a problem as old as time, we all encounter eventually, especially now that the venture capitalists have latched on to wearable computing.
Today's problem is proportional steering & throttle with 1 hand. The solution begins by tearing down a picco Z controller for sticks. It would be ideal, since it was rugged & used single axis sticks. There's no chance the 8 year old controller would ever be used again.
Sadly, it didn't use potentiometers. Those were encoders. They needed a very complicated circuit to decode & the lack of precision was why the Picco Z was so hard to fly. It must have been a lot cheaper to use these encoders & a complicated network of diodes than a proper pot.
The next step for throttle was from a spinmaster from 2009. Progress had reached the point where a toy could afford a true pot. What a miracle, in the toy business.
To get the proportional steering, the only analog solution was a modern joystick from a Syma X1. Those are still quite an investment compared to the 3 channel copters, so a 2 axis joystick is still a small miracle for a toy.
The problem was arranging the 2 controls to fit 1 hand. This was traditionally done by mocking up the controls in clay or playdough.
The last time someone mass produced a single handed RC control was in the Silverlit MI Archer & MI Hover. They used tilt sensing.
The matter of speed control was heading towards a buck converter supplying a constant voltage to the motor driver board. There wouldn't be any feedback loop to compensate for ascending & descending. It would be very hard to get constant power out of PWM. Linear regulation was always frustratingly inefficient.
Work began on a buck converter made out of spare parts.
The home made buck converter was most efficient at 120Hz. It peaked at 9V 2.3A. To make that, it consumed 12V 2A for 82% efficiency.
The car needed 7.5V 1.5A. Lacking a real dummy load, it produced 7.5V 1.9A by consuming 12V 1.7A for 70% efficiency. The MOSFET still heated up over 75C. The efficiency was probably overstated because the load resistance was not accurately known.
The dropout voltage at nominal use was 3V. It was a much worse dropout voltage than an LM317. A pair of LM317's with a big heat sink would do the job in much less space. They have a 2.5V dropout voltage & heat to below 50C while providing 8V 1.7A.
A linear regulator would be 62% efficient. The circuit was definitely not the most ideal, probably owing to the MOSFET being extremely slow. A Castle 10A BEC could do a whole lot better in a lot less space, but this was the age of spare parts. Castle still required a $25 castle link programmer to get 7.5V. RC hobbyists are just not a market that reverse engineers electronics.
Many experiments with wood & hot glue revealed a decent hand controller arrangement. A wheel was better than a stick for steering.
Some hot glue added grip to the steering wheel. Unfortunately, the pots had a finite number of gluings. There was no other way to attach the pots than with a giant blob of glue. The throttle stick wanted to angle away from the camera, which would require a heavier piece of wood.
The functional version, without battery. Now it was time to bang on the RC car electronics.
The easiest solution was to reuse as much of the stock circuit board as possible. It had a current limiting resistor, caps, & H bridges matched to the motors.
Vss, B+: battery connections
drive motor H bridge control
3V active 0V inactive
pulled down by 100k resistors
steering motor H bridge control
3V active 0V inactive
floating, but driving a BJT H bridge
M1: drive motor output
full battery voltage
M2: steering motor output
full battery voltage
Because the stock microcontroller was glued in place, it had to be removed by lifting the pins. Hot air delaminated the board before it came off.
3 ADC: hall effect sensors
4 PWM: H bridge control
With the board prepared, studied various hall effect sensor arrangements for the steering. It would take 7, basically filling the entire travel with side by side hall effect sensors of at least 2.5mV/gaus.
Unfortunately, there was too much play in the gearbox & axial movement in the shaft for any kind of hybrid servo to work, with any sensor. The wheels would never track with that amount of gear play & the hall effect sensors couldn't get a reliable reading with the shaft moving axially.
The default spring mechanism with centrifugal clutch was precisely optimized to drive in a straight line. So with the steering reverted to the stock configuration, there was 1 final test to apply variable motor speed against the spring to try to get some kind of manual proportional steering.
It seemed to work when moving away from centerline, but the wheels would not return until the motor stopped completely. Fortunately, most steering would be very fine tweeks near the centerline. The manually guided proportional steering idea was a matter of building & testing on the road.
Fully proportional car electronics finally started working. Throttle was now proportional & very controllable.
Steering was still very hard to control, but had some latitude where there was none before. There were basically only 2 positions you could get from the joystick: fully deflected & slightly deflected. It might improve with a lookup table instead of a linear taper. Steering might still work better with tact buttons instead of the joystick. Any change in the mane voltage would require changing the lookup table.
Bare minimum dual linear regulars flawlessly provided the constant power. A PIC converted radio packets to motor control.
The mane board was hacked with hot glue to keep to the delaminated board together. The PWM frequency for throttle was 30Hz. For steering, it was 60Hz. It worked well enough.
After much troubleshooting, it was found that the 433Mhz 10mW RF output from the radio skewed the PIC's internal oscillator high by a certain amount. It increased the transmitter baud rate by a fixed amount, but increased the receiver baud rate depending on distance. The transmitter had to be a minimum distance from the receiver to work. Even then, there was a certain instability in the amount it influenced the transmitter baud rate, limiting it to below 9600.
Packing everything up & installing the batteries was still a big unknown.
Packing everything up ended up being a system of pieces of wood of various heights to attach to the 6 existing hard points.
After all that work, 2 of the hard points ended up inaccessible, so they were left unattached.
Then a 2nd layer went on for the camera.
It was a mess, but affordable.
Ran 4 miles with the RC car. The ergonomic hand controller was a joy. It was like the car was an extension of your body. Too bad the status quo in commercial products was too big to fail. The radio worked perfectly.
The throttle worked nicely. The steering was still worthless. It was too inconsistent. The next step would be 2 steps only, with hard coded PWM.
The battery finished at 11.7V. It took 2Ah to go 4 miles. At 7.4V regulated output, it did 8m30s miles downhill & 9 minute miles uphill. This seemed to be the motor's most efficient speed. The voltage regulator was perfectly matched to the heatsink.
All the improvements only made the speed more stable. The range was greatly reduced.
The battery sliding out & roll overs were problematic. The battery straps served no purpose. The camera definitely had a sympathetic oscillation. Another gopro firmware crash robbed most of the footage.
Finally did a range test with the RC car by running up & down a 1/2 mile segment of road. That was really hard. The voltage was regulated at 7.4V. It went 9.5 miles at a constant 7.1mph downhill, 6.7mph uphill. Speed quickly faded after 9 miles.
The recharge was 85 minutes at 2A. The run was also 85 minutes, giving 2A of consumption. This 8 year old battery was originally rated at 3.3Ah & still had 3Ah of capacity, if run all the way to destruction at 2A.
So the speed was constant but the range was only 2 miles longer than stock 1.5Ah AA's. It put a lot more wear on the tires than stock batteries. It was practical for a tempo run, but not for a long distance movie. The voltage would have to be reduced, which would require another range test. The long distance movie would be more easily done with an unregulated 2S battery than a regulated 3S battery.
It still took a lot of energy to drive & run simultaneously, despite the ergonomic controller. It was also after running 4.85 intense miles the day before. Turning around every 1/2 mile probably made it harder.
It was interesting to note the elevation change on that course was only 45 feet, yet had a significant impact on the car's speed. The challenge in running uphill on that segment was not just psychological.
Foam under the camera greatly aided the oscillation.
An RC car modification used 2 fixed voltages for steering. This worked better than any other method, but it was hard to know when the stick was doing anything. 4 buttons might be easier than the joystick, but it's convenient to have full deflection right there.
2 voltage steering was better, but far from perfect. There were times when the low voltage wasn't enough. When it hit a rock or a crack, it needed more correction.
A straight line driving algorithm would be nice. For all the applications of GPS, you would be hard pressed to make a rover drive in a straight line by GPS. A path following algorithm would be very difficult, but more worthwhile than GPS.
RC car heading hold was a tale as old as time, but no-one did it for the least cost. Put in a simple analog gyro & P feedback algorithm. There was just enough proportionality in the steering mechanism for it to work quite well.
Didn't bother with I feedback, since it would suck battery power to constantly drive the steering motor. The steering was so imprecise, it always oscillated around the desired heading. The heading drifted noticeably. Upgrading to a full IMU would require a new CPU.
After much tuning of the gain, it could go without manual steering for a bit longer than before, but still required significant attention. Rough road was now effortless to drive over. It came a long way from its stock $40 ways, with only a crusty old microcontroller with only 256 bytes of RAM.
The 5 year old pot began its decline. It definitely needed to be mounted diagonally.
The heading hold was supplemented with steering by wire so a half stick deflection would change the target heading but not directly command the motor. A full stick deflection would bang the motor all the way over & read the new heading. It only activated steering by wire when throttle was active. With no throttle, only full stick deflection did anything. That overcame most of the limitations of the bang bang steering to keep it in a straight line.
Its 1st test was after a day of RC car testing. Keeping up was a real fight, even going downhill. GPS reported it doing only 8m40s miles. Had it at full throttle for a very difficult 6 miles, then hit the wall.
Walked for .4 miles, then slowly ran for 2 more, when the battery died after only 8.2 miles. Heading hold obviously sucked a meaningful amount of power. The throttle could be easily modulated to give an 11 minute pace.
That brought its total mileage to 36.6. The front wheels got rotated. It was probably way beyond the normal life of these $40 toys.
For the 1st time, ran with the RC car fully empty, 3Ah battery, 7.5V, until battery exhaustion. Without the camera, GPS showed it doing 8m10s miles uphill & downhill. Tire wear was much less. It still completely died when the battery died after 10 miles. It averaged 8m30s miles for the entire distance & 8m10s for 5 miles. It was much easier to drive without having to realign the camera after every bashing. That test contained the fastest 5 miles ever.
Whether or not its effect was only psychological, all the improvements to the RC car did seem to improve fitness. Hitting 8m10s per mile for 5 miles would be really hard without it. That brought it up to 53 miles.
Making it fully autonomous would still require a much bigger vehicle, with a lot more sensors. There would be lidar, cameras, a faster computer, a lot more battery power.