Hi!
Here is the code I added in gazebo.h

    
/***************************************************************************/
    //                      ACTARRAY
    INTERFACE                                 //

    //maximum number of actuators
    #define GAZEBO_ACTARRAY_MAX_NUM_ACTUATORS 16


    // @brief Actuator geometry
    class gzActarrayActuatorGeom
    {
      //The type of the actuator - linear or rotary.
      uint8_t type;
      // The range of motion of the actuator, in m or rad depending on
    the type.
      float min;
      // The range of motion of the actuator, in m or rad depending on
    the type.
      float centre;
      // The range of motion of the actuator, in m or rad depending on
    the type.
      float max;
      // The range of motion of the actuator, in m or rad depending on
    the type.
      float home;
      // The configured speed setting of the actuator - different from
    current speed.
      float config_speed;
      // The maximum achievable speed of the actuator.
      float max_speed;
      // If the actuator has brakes or not.
      uint8_t hasbrakes;
    };

    // @brief Structure containing a single actuator's information
    class gzActarrayActuator
    {
      // The position of the actuator in m or rad depending on the type.
      public: float position;
      // The speed of the actuator in m/s or rad/s depending on the type.
      public: float speed;
      // The current state of the actuator.
      public: uint8_t state;

    };

    // The actuator array data packet.
    class gzActarrayData
    {
      // The number of actuators in the array.
      public: unsigned int actuators_count;
     
      //timestamp
      public: double time;
     
      // The actuator data.
      public: gzActarrayActuator
    actuators[GAZEBO_ACTARRAY_MAX_NUM_ACTUATORS];
     
      // The actuators geoms
      public: gzActarrayActuatorGeom
    actuator_geoms[GAZEBO_ACTARRAY_MAX_NUM_ACTUATORS];
     
      //position commands
      public: float cmd_pos[GAZEBO_ACTARRAY_MAX_NUM_ACTUATORS];
     
      //speed commands
      public: float cmd_speed[GAZEBO_ACTARRAY_MAX_NUM_ACTUATORS];
     
      // bad command flag - (speed to high set for the actuators or
    position not reachable)
      public: int bad_cmd;
     
      //position / speed comand
      public: unsigned int joint_mode[GAZEBO_ACTARRAY_MAX_NUM_ACTUATORS];
     
    };

    //!The Actarray interface
    class ActarrayIface : public Iface
    {
      public: ActarrayIface():Iface("actarray", sizeof(ActarrayIface)) {}
      public: virtual ~ActarrayIface() {this->data = NULL;}

      public: virtual int Create(Server *server, const char *id)
              {
               int result = Iface::Create(server,id);
               this->data = (gzActarrayData*)this->mMap;
               return result;}

      public: virtual int Open(Client *client, const char *id)
              {int result = Iface::Open(client,id);
               this->data = (gzActarrayData*)this->mMap;
               return result;}

      public: gzActarrayData *data;
    };

    //                       END ACTARRAY INTERFACE
    
/***************************************************************************/




Nate Koenig wrote:
> Hello,
>
> Could you post your actarray code, and I'll take a look at it?
>
> Thanks,
> -nate
>
> On 5/15/07, Mihai Emanuel Dolha <[EMAIL PROTECTED]> wrote:
>   
>> Hi!
>>
>> I implemented the actarray interface in the SVN Gazebo and I'm using it
>> to control a robot model I made. Things are working pretty well with one
>> exception: sometimes the commands that my client writes on the interface
>> are replaced by 0 , and my robot stops. My client is not rewriting the
>> interface and I couldn't find who is.
>>
>> Does anybody who is using or working on this version have a clue?
>>
>> Thanks,
>>
>> Mihai
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by DB2 Express
>> Download DB2 Express C - the FREE version of DB2 express and take
>> control of your XML. No limits. Just data. Click to get it now.
>> http://sourceforge.net/powerbar/db2/
>> _______________________________________________
>> Playerstage-gazebo mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo
>>
>>     
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Playerstage-gazebo mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo
>
>   


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Playerstage-gazebo mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo

Reply via email to