[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