ros-industrial / ros_canopen

CANopen driver framework for ROS (http://wiki.ros.org/ros_canopen)
GNU Lesser General Public License v3.0
328 stars 267 forks source link

Re-init device without unloading the controllers #450

Open PaulVerhoeckx opened 2 years ago

PaulVerhoeckx commented 2 years ago

Is there a way to re-initialize canopen_402 motor devices without unloading the controllers in the controller manager?

On a safety stop my motors are powered off, afterwards they need to be initialized again. This is possible by subsequently calling canopen_motor_node's /shutdown and /init service. However this unloads the controllers, in my case the joint_state_controller and diff_drive_controller. The latter will then have a new initial pose on re-loading it, resulting in a non-smooth odom frame.