[Rock-dev] Proposal for adding velocity information in base::actuators::Status

Javier Hidalgo Carrió javier.hidalgo_carrio at dfki.de
Thu Apr 5 14:11:12 CEST 2012


On 04/05/2012 01:39 PM, Sylvain Joyeux wrote:
> On 04/05/2012 12:03 PM, Javier Hidalgo Carrió wrote:
>> Hello rocks,
>>
>> In Sherpa robot we are receiving angular position and angular velocity
>> information of every joints in the robot every 40ms coming from the
>> lower level (FPGA and Monster).
>>
>> The rock data type base:actuators::Status is the data type in rock for
>> joint information, which contains:
>>
>>              struct MotorState {
>>               int      current;  //! current in mA
>>               double   position; //! position in radians
>>               double   positionExtern; //! position of external encoder
>> in radians
>>               float    pwm;      //! duty cycle in [-1; 1]
>>
>>               MotorState()
>>                   : current(0), position(0), positionExtern(0), 
>> pwm(0) {}
>>           };
>>
>> I was wondering which is the correct data type to store joint velocities
>> information and if any what about include it in base:actuators::Status
>>
>> Any suggestion?
>
> 1/ do not add it to Status
> 2/ my suggestion is: let's try to rationalize all that stuff.
>    Obviously, the current Status type does not scale.
> 3/ velocity and position information are redundant (since you can
>    compute one from the other). Since joint sensors are usually
>    position, we went for position. Is there a direct velocity joint
>    measurement on Sherpa ? What is the point of having both values ?

Velocity can be derivate from position, but we would get bigger error in 
velocity if we do it a rock level.
FPGAs in each joint computes the velocity using the encoder (position) 
information at much faster frequency.
The derivation step is smaller at the FPGA. Monster reports this 
information only every 40 ms.

I would say is better to use the velocity coming from the joint/FPGA

Javier.



>
> Sylvain






More information about the Rock-dev mailing list