Exploring Tekkotsu Programming on Mobile Robots:

Robot Safety

Prev: Files
Up: Contents
Next: Behaviors

Chiaras are not indestructable. The two principal dangers people need to be wary of are: (1) uncommanded motion, and (2) joint wear.

AIBO on stand Uncommanded motion means the robot moved when you weren't expecting it to, or in a manner you didn't expect. For example, if the robot is sitting next to your keyboard, and you use the ControllerGUI to activate the "Chase Ball" behavior, the obot will happily run right off the edge of the table, and probably sustain serious damage. To prevent this, it's a good idea to keep the robot mounted on a stand like the one shown at right, so that its legs cannot touch the table, until such time as you actually want the robot to walk. If you're not working on locomotion, keep the legs off the ground.

When you do want the robot to walk, place it on the floor so it can't fall. And monitor its motion so that it doesn't walk face-first into a wall or get trapped under a chair caster. Continuous motion against an obstacle (like trying to walk through a wall) puts unnecessary strain on the servos.

AIBO in pool If you would prefer to work with the robot at tabletop level, it's a good idea to do so using a robot-safe "playpen" so it cannot get into trouble. The photos show a playpen constructed from an inflatable kiddie pool with the bottom cut out. The two black objects sitting in the playpen are stands on which robots can be placed to keep their legs off the floor.

Tekkotsu's "Emergency Stop" mode can be used to stop the robot if it is heading for trouble. Either click on the Stop/Go icon in the ControllerGUI window or double click on the robot's back switch to toggle the Emergency Stop mode.

Joint wear is inevitable in mechanical systems, but it can be minimized by avoiding actions that cause stress on the components. Keep your robot on a carpeted surface, as walking on concrete or tile causes increased shock to the legs. We use indoor/outdoor carpeting with a thick carpet pad underneath.

When programming motion commands that move the robot's head or legs, do not make rapid or jerky motions, as the sudden acceleration and deceleration increases stress on the joints. There are hardware and software speed limits on joint movement, but the limits are fairly liberal; it's up to you not to abuse them. You can find the limits in, e.g., ChiaraInfo::MaxOutputSpeed, expressed in radians/second.

To control the speed of motion in a MotionSequence motion command, use setPlayTime(). To control it in a HeadPointer motion command, use setMaxSpeed().

Also avoid excessive repetitive motion. Making the robot bob its head up and down is cute; having it bob repeatedly for thousands of cycles, until the battery runs down, is not a good idea.

AIBO playpen

AIBO playpen

Prev: Files
Up: Contents
Next: Behaviors


Last modified: Sun Jan 17 01:31:01 EST 2010