Jonathan Oxer
[Blog]
Blog > Semi-autonomous rover project
>> Semi-autonomous rover project
Sat, Feb 21st 11:25pm 2009: Tech Toys
Something I've always wanted to build is a little rover, something that can act partly autonomously under high-level direction. The general idea is to be able to just give it a destination and leave it to get there by itself, kinda like a micro-size DARPA Challenge. And now with the Arduino book just getting underway I have the perfect excuse to do it. "Yes honey, I'm hacking a remote control car and putting an Arduino in it. No, I'm not doing it for fun. This is something I have to do. It's just work for the book. Seriously!" My objectives are: 1. Put motor and steering under Arduino control 2. Add obstacle sensors and collision sensors (ultrasonic and physical) 3. Add GPS so it can figure out where it is 4. Add a payload of some kind like an Arduino-controlled camera 5. The hard bit: write some code to have it attempt to get to a specified GPS location without running into anything big, falling off a cliff, or driving into a drain. I just happened to have this old RC car hanging around from years ago when I'd bought it to muck around with building an automatic lawn mower:
After a couple of hours of unscrewing, cutting, de-soldering, and general hacking I had it reduced to the basic chassis with just the battery pack, drive motor, steering assembly, and suspension still intact. A bit of mucking around with an IRF540 MOSFET and this is what it looks like, with the main drive motor under fully proportional speed control using PWM from the Arduino to control the MOSFET:
Obviously the drive circuit needs to be transferred to a PCB, but right now I'm just getting it working. Next I need to control the steering servo, but it seems to be a bit of a bizarro-world design that relied on the now-defunct radio receiver for the logic to make it seek to a specific position. I can control the motor, but I'm getting very odd positioning feedback so unless I can figure out how it works I may have to rip it out and replace it with a standard unit that I can control directly off the Arduino using PWM. It's actually glued into the steering assembly so that wouldn't be trivial, but it may be easier than spending hours trying to figure out this weird design.
Something I've always wanted to build is a little rover, something that can act partly autonomously under high-level direction. The general idea is to be able to just give it a destination and leave it to get there by itself, kinda like a micro-size DARPA Challenge. And now with the Arduino book just getting underway I have the perfect excuse to do it. "Yes honey, I'm hacking a remote control car and putting an Arduino in it. No, I'm not doing it for fun. This is something I have to do. It's just work for the book. Seriously!" My objectives are: 1. Put motor and steering under Arduino control 2. Add obstacle sensors and collision sensors (ultrasonic and physical) 3. Add GPS so it can figure out where it is 4. Add a payload of some kind like an Arduino-controlled camera 5. The hard bit: write some code to have it attempt to get to a specified GPS location without running into anything big, falling off a cliff, or driving into a drain. I just happened to have this old RC car hanging around from years ago when I'd bought it to muck around with building an automatic lawn mower:
After a couple of hours of unscrewing, cutting, de-soldering, and general hacking I had it reduced to the basic chassis with just the battery pack, drive motor, steering assembly, and suspension still intact. A bit of mucking around with an IRF540 MOSFET and this is what it looks like, with the main drive motor under fully proportional speed control using PWM from the Arduino to control the MOSFET:
Obviously the drive circuit needs to be transferred to a PCB, but right now I'm just getting it working. Next I need to control the steering servo, but it seems to be a bit of a bizarro-world design that relied on the now-defunct radio receiver for the logic to make it seek to a specific position. I can control the motor, but I'm getting very odd positioning feedback so unless I can figure out how it works I may have to rip it out and replace it with a standard unit that I can control directly off the Arduino using PWM. It's actually glued into the steering assembly so that wouldn't be trivial, but it may be easier than spending hours trying to figure out this weird design.[ Back to top ]
