next up previous contents index
Next: Setup Functions Up: The Robot Previous: The Robot

The Object

   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.
\begin{figure}
\centerline{
\includegraphics [width=0.6\linewidth]{images/referencies.eps}
}\end{figure}


 
Figure 3.2: The reference frame of reference. 
\begin{figure}
\centerline{
\includegraphics [width=0.6\linewidth]{images/ref_ref.eps}
}\end{figure}

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 up previous contents index
Next: Setup Functions Up: The Robot Previous: The Robot
Josep M. Porta Pleite
8/2/2000