[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Paparazzi-devel] New actuators subsystems

From: Gautier Hattenberger
Subject: [Paparazzi-devel] New actuators subsystems
Date: Wed, 24 Oct 2012 14:34:31 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.9) Gecko/20121014 Icedove/10.0.9

Hello Everyone,

The actuators drivers have just been improved in the master (development) branch. (

The key features are:
- use multiple drivers at the same time
- all actuators firmware independent
- default actuators can still be defined for some boards
- command mixing is done the same way on rotorcraft and fixedwing
- the motor mixing for rotorcraft is independent of actuators drivers (and has been renamed from "supervision" to "motor_mixing")

The main visible difference, especially for rotorcraft, is that the "command_laws" section needs to be defined in the airframe file, just like what we have for fixedwing. All the configurations described in conf/tests_conf.xml are valid (at least they compile). The airframe files are located in "conf/airframes/examples", "conf/airframes/TestHardware" and "conf/airframes/CDW" (and "conf/airframes/ENAC/quadrotor" with examples of multiple drivers, tested on real boards).

The driver is selected with the "driver" attribute of the "servos" xml node. It means that the actuators are group by drivers. If no attribute is passed, the default one is used (if set for this board).

The motor mixing is explicitly called from the "command_laws" section, before setting the servos with the result of the mixing.

For rotorcraft, the actuators subsystems need to be explicitly loaded in the "firmware" section, for fixedwing, the default is automatically loaded (as it is now) and extra must be loaded by hand.

For the "servo" nodes, take care to fill correctly the min, max and neutral, especially for i2c based motors: it was not used before, but it is now ! The parameters are used as follow (with motor mixing):
min = stop value
neutral = idle value
max = max value
When using pwm based ESC, it is the same than usual fixedwing configuration.

The current list of actuators type:
pwm (using internal pwm)
4017 (pwm based for tiny2, twog, umarim)
4015 (pwm based for tiny1)
asctec (v1 (no mixing required) and v2 (needs mixing), i2c)
mkk (mikrokopter, i2c)
skiron (enac esc, i2c)

Possible short time evolution:
- rename "servos" to "actuators" (really needed ?)
- add a "motor" node with attributes stop, idle, max (probably more clear for end-users)

The wiki will be updated soon.

Do not hesitate to report issues and ask for more information



reply via email to

[Prev in Thread] Current Thread [Next in Thread]