dynamixel_control_hw
dynamixel_control_hw copied to clipboard
[RFC] [WIP] Add feature to reboot using a service call
I've added a feature to reboot some of the servos using the a service. This is a WIP/RFC with some of the things I'm not sure about being:
- Should the messages go into a different repository?
- Normally people create a
_msgs
repository that only contains message and service files.
- Normally people create a
- Are the messages reasonable? (in terms of names, members, and what they represent)
- I feel like there's a better name/functionality than
ServoID.msg
.
- I feel like there's a better name/functionality than
- Should the service be started in a private node handle?
- Currently it's started as
/reboot
. Maybe putting it in/dynamixel_control_hw/reboot
is better?
- Currently it's started as
- How should I check whether it's actually being rebooted?
- When I call the service no errors are reported, but I will need to overload with torque
- However, going over the torque limit is pretty difficult to do. Any suggestions?
- Should the
set_torque_enable
be removed?- The reason why I put it in there is because after a reboot, the torque is switched off.
- Is the
sleep(0.1)
appropriate- Probably not. But without it, I couldn't set the torque on after sending the packet
I'd be happy to know you guys' thoughts/suggestions!
Thanks for this RFC and work!
- I have no idea about the messages going in a different repository. Why should it be?
- the message definitions seem fine to me for the naming scheme and shape but I would rather have joint names be used than actuators IDs; the final user does not need to know this low level information.
- it seems indeed better, to avoid ambiguity, to have
/reboot
in the private namespace - It seems to me that the only way to tell that an actuator has rebooted is to check for a value in RAM that has been reset, typically torque enable.
Maybe I can test with torque overload, but we can also try with voltage limits, by setting it around 24.5V and raising the input voltage a bit. This I can do for sure. - Good question. I would think that yes, we should enable the torque again. How else would you suggest that we do ?
- Maybe we can ping the actuators until they respond and then enable their torque ?