Next: Setup Functions
Up: The Robot
Previous: The Robot
A legged robot has a body and four or more legs. The body shape can be described as a polygon in the
X-Y plane of the robot's reference frame sweeped along an interval in the Z axis. In our simulator
each leg has three degrees of freedom (dof) and the same structure for all robots. However, some
parameters of the leg structure (size, joint bounds, ...) can be instantiated for each robot.
Each one of leg degrees of freedom is controlled by an independent motor. The most elementary method
to move a leg is to command an angle directly to one of these motors. If this angle is inside the user
provided bounds, the motor instantaneously moves to the desired angle (we assume that motors can move
at any speed). However, the angular form of control is not intuitive (for instances, to move a leg
along a straight line at least two motors have to be properly coordinated). For this reason, we
provide functions to command each leg in two Cartesian frames of references (see figure
3.1): the leg one
(particular for each leg) and the robot one (common for all legs).
Additionally, methods are provided to get leg positions in another two frame of
references: the world one and the reference one (defined from the reference positions).
Figure 3.1:
The body frame of reference (dashed lines), two leg frame of references
(dotted lines), and the world frame of reference (solid lines) in an arbitrary position.
|
Figure 3.2:
The reference frame of reference.
|
The reference position of a leg is the preferred position for that leg. This position normally
correspond to the central position of the leg workspace (i.e. when all angles are set to zero) but the
user can choose it to be a different one. The reference frame or reference is a Cartesian
frame of reference placed in the center of gravity of the polygon conformed by reference positions (see
figure 3.2). This frame of reference is only used to evaluate tensions (see section
2.1.6).
To easy even more the leg movement control, we have included
two high level methods to move a leg. The
first one moves a set of legs in a coordinated way (applying to all of them the same transformation
expressed in the robot's reference frame). This coordinated movement of legs is what we called a
gesture [4]. The other high level function to move legs allows to move a leg to
a given position in a given time (expressed as a number of time slices to achieve the final position).
All robot models are equipped with touch sensors at feet (that detect contact with the ground in any
direction) and two inclinometers (one aligned with the X axis of the robot and the second aligned with
the Y axis). Optionally, a robot can be provided with a camera. If this is the case, the simulator
shows and additional window displaying the images provided by the camera. The pan and tilt of the
camera can be queried and modified with the appropriate functions described below.
Next: Setup Functions
Up: The Robot
Previous: The Robot
Josep M. Porta Pleite
8/2/2000