[Robots Home] | [Robots, Servo Info] | [A Robot Project] | [Robot Program]

[Robots Sensor] | [My First Robot] | [Other Robots] | [Simulators]

Robot Programming Considerations

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