Close

System Design

A project log for RoboWillie

A robotic groundskeeper capable of performing all your yardwork needs.

praetorianpraetorian 08/07/2014 at 00:380 Comments

So while I won't get the chance to actually work on RoboWillie until the weekend at the very earliest, I can at least begin to explain a little more about how he will work. It's good that one of the requirements for the next stage of TheHackadayPrize is to have these documents as it gives me another incentive to document the project in more detail.

Hopefully you'll be able to follow along. Obviously this is a very high level design view and the actual processes are a little more complicated than just plugging everything together, however I'll do my best to explain.

This is a dual control system, with the RC always being able to take control over the automated functions. This is important for several reasons. Firstly, it's a safety control. Should the robot decide to do something it shouldn't, the operator can take control of the situation. Secondly, it's handy for times where you just want to do it yourself or haven't programmed in a behaviour yet (one off tasks etc). Finally, I'm hoping that it can be used to teach the robot behaviours, similar to a macro recording.

The RC interfaces directly with the microcontroller to output signals to the motor driver and a variety of subsystems. One of these subsystems is a simple relay that will be connected to the key-start circuit of the mower so that remote start is a button press away on the transmitter! The other major function of the micro is to talk with the motor driver and provide a method of steering the chassis. I have two 500W motors that will be used to steer using tank steering.

There is also the option for the remote PC to teleop the robot over WiFi either directly steering it, or by issuing commands to perform a certain task. ROS allows bidirectional commands/feedback so some of the processing could also be performed on the remote PC reducing the need for a powerful onboard computer. This reduces weight and size considerably.

The onboard PC is then responsible for interfacing both with the microcontroller and other systems which can be run over USB or serial. An example is the Hokuyo LIDAR that I will most likely be using for obstacle avoidance/guidance. One of the future addons, a robot arm, will also interface over USB to the onboard PC for more intricate tasks such as egg collecting.

Well that's all for now; I'll try to get a video up over the next couple of days with more of an introduction to the robot.

Discussions