I'm pretty new to robotics, but I've been in IT for a long time and
I'm pretty good with all things systems (including C/C++, memory I/O,
etc). I'm looking for ideas on a Master's project in software
engineering. I'm really interested in embedded systems of all types,
so I was thinking of writing a program that would remotely control
some sort of a toy robot, say a toy car, from a PC. The control
protocol would be either IR or Bluetooth or RF, or something similar.
Since I'm new to the actual control part, I'm looking for some advice
on where to start, which protocol/solution to spend time on, etc.
I was thinking it would be cool to demonstrate remote control of a toy
car from a Window CE handheld. Of course this assumes that the toy
car has built-in intelligence to understand IR or Bluetooth. Any
advice on the resources I should pursue is appreciated!
First of all, I would suggest you stick to RF control instead of IR.
IR, being line-of-sight, is very limited for RC car control.
Many RC cars are controlled with 2-channel PWM RF signal, one for
throttle and one for steering. If you google "hobby servo" you can
learn all about it. So you could hack into the transmitter that comes
with the car and control it at a low level with the CE box. I've
never done this. It would probably be challenging.
Us robot geeks would normally put a microcontroller with some smarts
on the car to command the throttle and steering, add some
environmental feedback sensors, and just send higher level commands
and data from/to the PC via RF (using something like Zigbee serial).
You may want to look into the Zipit gizmos. They are often
available on ebay, with the version 1 going for ~$20 or less.
Other options might be cell phone/laptop adapters and reflashed
Indeed, quite challenge.
You have to make a choice between two methods:
1- as pointed out in BRW's message, you follow the trade and apply RF
transmission as in any RC vehicle on the market
2- you follow the high level one which means that you apply either
Bluetooth or Wireless as it is often the case in mobile robotics.
In the first case, I would suggest not to apply any form of
navigation, path control or higher level at the vehicle level. But,
you will have to temper with the RC vechicle in many ways:
- Vehicle electronics: in order have the sensor readings returned to
the remote "control" box through some channels with an transmitter.
- Remote electronics: add a receiver, buffer circuit and interface for
a link to your computer through a serial link or USB or any other.
- Vehicle mechanics: You will also have to fit a least two sensors on
the vehicle, one for the drive speed and one for the steering
- Control: your feedback loops could be done either at the remote
"control" level with a special circuit or PC level.
This becomes a much more complex problem being now mechatronical,
meaning you have to master mechanics, electronics, control and
computer science (for this last issue: you seem to be capable). It is
one of my master student's project proposals.
In the second case, this becomes a classical mobile robot problem.
But, here, you will have to strip the RC vechicle out of its
electonics circuit and replace it completely with a true robot control
system.You will have to fit sensors in. You could do like they did for
the Surveyor SRV-1 robot:
the system demo, the control is completely done at the PC level and
the vehicle does not do any type of control. This approach has its
advantages if your not going to have transmission problems or
crowding, but this approach can be very risky since hackers can come
and take control of your vehicle.
The originality there could be to determine the distribution of
control in order to have reliable and safe operation.