- Add an input port and an activity to servo joints on a desired target.
- Fix status message reception sometimes skipping a message.
- Fix information message only telling about the first device detected and not the others.
- Switched to openrobots2-idl (NFC)
- Fix velocity and acceleration profile lost by the hardware after switching control mode.
- Fixed a typo preventing to set the PWM limit
- Fixed a typo preventing to set the P parameter of the velocity PID
- In the setters for motor parameters, interpret the id as the motor id, not the array index.
- Add a set_limits() service, setting hardware velocity and acceleration limits as well as other misc. parameters.
- Stop and disconnect motors when shutting down the component.
- Fix an issue with the dynamixel "byte stuffing" algorithm. In certain rare circumstances, wrongly escaped messages could be sent.
- Fix the sending of commands when motors were not numbered sequentially.
- Fix issues with the configure() service raising a bad_transition exception or not disconnecting a previously configured connection.
- Reboot a motor after a successful call to configure().
- Set a zero velocity target to all motors during a disconnect().
- Add a stop() function, servoing all motos to a zero velocity target.
- Document a bit the interface.
- Update to dynamixel protocol 2.0 (and drop support for procotol 1.0)
- Support the XM430-W350 motor id.
- Add a 'configure' service that can setup a single device to the desired id and baud rate.
- Detect devices that can talk protocol 2 and 1 (MX- series) and switch them automatically to protocol 2.
- Implement position + torque control mode.
- Add services setting and getting the motor position offset (zero).
- Add services setting and getting the PID+FF position and PI velocity hardware parameters.
- Add services setting and getting the velocity and acceleration motion profile in position control mode.
- Handle motor power off/on while in 'connected' state.
- Properly handle half-duplex communication by avoiding multiple writes when a read is expected (preventing spurious message loss).
- Report message loss/corruption on stderr.
Also available in: Atom