[Rock-dev] Replacement for base::actuators::MotorState
Matthias Goldhoorn
matthias.goldhoorn at dfki.de
Tue Feb 19 11:32:50 CET 2013
On 19.02.2013 11:20, Sylvain Joyeux wrote:
> 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.
I would then prefer to:
a) rename this "angle" to something like
"moved_angle_from_initialization" OR leving the base::angle and creating
some
"int rotation_counter" for real motors.
Otherwise this get confusing...
>
>> ///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.
I'm fine with that
--
Dipl.-Inf. Matthias Goldhoorn
Space and Underwater Robotic
Universität Bremen
FB 3 - Mathematik und Informatik
AG Robotik
Robert-Hooke-Straße 5
28359 Bremen, Germany
Tel.: +49 421 178 45-4193
Zentrale: +49 421 178 45-6550
Fax: +49 421 178 45-4150
E-Mail: matthias.goldhoorn at uni-bremen.de
Weitere Informationen: http://www.informatik.uni-bremen.de/robotik
More information about the Rock-dev
mailing list