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