As the project stands right now, we have inserted a controller between the RoboPet’s IR receiver and its microcontroller. This means that we have some minimal control: we can issue any commands to it that you can do with the remote, and we can intercept any actual remote commands (giving us a means to talk to our own controller).
It’s a good start, and it’s time to plan out the next steps.
There are numerous problems to be solved on the way to true autonomy, many of which we have no idea are coming, so it’s pointless to try to chart the entire path to our goal. Instead, here is a short list of the most pressing ones.
- Our robot lacks a name. Having a name is very trendy for members of the BBC (No Relation), so this little guy should have one too.
- It is not possible to power the Arduino using the existing power system: when the motors start to run, the voltage drops below 3 volts. This is too low even for the 3.3V version of our microcontroller.
- The existing cliff detection borders on useless, so it is not safe to run the robot anywhere it could fall off a ledge.
- The thing is constantly barking, whimpering, and making all kinds of very annoying sounds.
- Our controller has no direct access to any sensors aside from the IR receiver. Since we can’t directly control the motors, access to the motor’s position sensors isn’t of much use — but it would be nice to be able to use the microphone and tilt sensors.
- Our controller has no direct access to the motor operation.
The power situation is the most pressing, as it requires us to either use an umbilical cord or strap something to the outside of the body. Both of those restrict the robot’s motion. Solving this is our next project.