[Robots Home] | [Robots, Servo Info] | [A Robot Project] | [Robot Program]
[Robots Sensor] | [My First Robot] | [Other Robots] | [Simulators]
Considerations for robot programming: (Not a detailed HOWTO) For our class project we will need only a subset of the methods covered here. Which methods are in the subset used in your robot will be determined by your design and implementation strategy. The basic modes for which methods are needed: 1) Moving 2) Searching 3) Recognizing 4) Positioning (may be covered by Moving) 5) Gripper control to pick up object 6) Gripper control to put down object 1) Moving Our project has a mobile robot that moves on a flat, two dimensional surface. The various sub modes that may need to be programmed are: a) Given the present x,y position and a destination x,y position, move from the present position to the destination. (Once the robot knows its own x,y position, it should maintain its own position as accurately as is practical. Periodic updates from an external source or from reaching a known object position should be allowed.) b) The robot is commanded to move in a specific compass direction for a given distance. c) The robot is commanded to move in a specific direction relative to its present orientation for a given distance. (Typically an angle in degrees with right positive and left negative.) d) The "specific distance" in b) and c) may be replaced by stop when an object is in your path. This assumes use of a sensor. e) Optional obstacle avoidance. Use a heuristic to get around an obstacle in your path. 2. Searching Our project requires the robot to find an object in a given rectangle. a) If possible, the sensor will scan the area while the robot is stationary. The sensor reports the x,y location of the object. b) The robot may have to move in a search pattern while simultaneously using the sensor to be scanning. The sensor reports that an object has been detected and reports the x,y location of the object. 3. Recognizing Our project requires the robot to distinguish between two objects. One has vertical slots and one has horizontal slots. The sensor must be used to determine which object was found by the "search". The orientation must also be determined so that the gripper arm can be used to pick up the object. 4. Positioning (may be covered by Moving) From the "Recognizing" the robot must position itself so that the gripper arm can pick up the object. 5. Gripper control to pick up object The gripper must be oriented vertical or horizontal and then extended to grasp the object. The sensor may need to be active for closed loop control. The gripper closes on the object and lifts the object. 6. Gripper control to put down object Upon the robot reaching a specific destination, the gripper must extend and place the object on the surface. The sensor may need to be active for closed loop control. The gripper opens and retracts. For each of the methods that are required for your robot, the necessary computations must be performed and the necessary commands sent to the appropriate servos. The overall control must be programmed, using the methods, to accomplish the project goal. Note that the above is just one of many techniques being explored. There has been research in the areas of rule based programming, behavioral programming and artificial intelligence. To date most robots performing useful tasks that humans could perform are programmed by methods similar to teaching humans simple useful tasks: Providing a detailed step by step procedure or process. "Here is how you wash your hands." "Here is how you tie your shoes." "This is how you assemble the components into the computer."
Last updated 11/27/04