[Rock-dev] Replacement for base::actuators::MotorState

Sylvain Joyeux sylvain.joyeux at dfki.de
Tue Feb 19 11:20:33 CET 2013


On 02/19/2013 10:59 AM, Janosch Machowinski wrote:
> Included remarks from Matthias,
> turns out we have already a base::Temperature.
> I did not add constructors yet as this is more about
> the layout and fields of the types and if the structure
> would cover all of our use cases.
>
>       struct Encoder
>       {
>       public:
>           ///determines weather this is an absolute
>           ///or incremental reading
>           bool absolute;
>
>           ///Position of the actuator
>           base::Angle position;
base::Angle is limited in [-pi; pi], you can't use it there.

>           ///Speed in radians per second
>           double speed;
>       };
>
>       struct ActuatorState
>       {
>       public:
>           ///Time of the State
>           base::Time time;
>
>           ///The amount of current in A
>           ///consumed by the actuator
>           float actuatorCurrent;
I would prefer removing the actuator prefix. This is an ActuatorState 
structure.

>           ///Torque in Nm applied by the actuator
>           double actuatorTorque;
Same about he actuator prefix

>
>           ///Encoder at the motor shaft
>           Encoder motorShaftEncoder;
>
>           ///Encoder at the output side
>           ///e.g. behind the gearbox
>           Encoder ouputSideEncoder;
And what about cases where there are more than two encoders ? This 
encoder thing was the very reason that we wanted a bigger discussion.

I would personally prefer splitting the actuator from the encoders and 
have a way to describe a "chain" of actuators / encoders. KDL was a 
candidate, at that point, to provide the required data structures.

>           ///Current pwm applied to the actuator
>           ///range [-1, 1]
>           float pwm;
>
>           ///temperature of the actuator
>           base::Temperature actuatorTemperature;
>           ///temperature of the motor driver pcb
>           base::Temperature motorDriverTemperature;
I would prefer putting these temperatures in a separate data structure.
-- 
Sylvain Joyeux (Dr.Ing.)
Space & Security Robotics

!!! Achtung, neue Telefonnummer!!!

Standort Bremen:
DFKI GmbH
Robotics Innovation Center
Robert-Hooke-Straße 5
28359 Bremen, Germany

Phone: +49 (0)421 178-454136
Fax:   +49 (0)421 218-454150
E-Mail: robotik at dfki.de

Weitere Informationen: http://www.dfki.de/robotik
-----------------------------------------------------------------------
Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern
Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
(Vorsitzender) Dr. Walter Olthoff
Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313
Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
USt-Id.Nr.:    DE 148646973
Steuernummer:  19/673/0060/3
-----------------------------------------------------------------------


More information about the Rock-dev mailing list