ros-controls / ros_controllers

Generic robotic controllers to accompany ros_control
http://wiki.ros.org/ros_control
BSD 3-Clause "New" or "Revised" License
556 stars 527 forks source link

How to do homing? #339

Open reinzor opened 6 years ago

reinzor commented 6 years ago

Hi Guys,

Thanks for this framework! We are working on getting our robot to work with the use of ROS control and ethercat.

We read encoder values and apply torques on the motor. We currently have a closed loop control running using the effort_controllers/JointPositionController.

However, we do have relative encoders. So we need to null the encoders using end-stop homing, absolute encoders or other sensors. How do you usually solve this?

Thanks,

bmagyar commented 6 years ago

Hiya!

At the moment this is done off-ros_control or as part of a custom RobotHW implementation. I have some plans to add support for this soon, if all goes well I'll be able to dedicate some time to adding this feature. If you guys are interested I can make sure to add you to design and code review discussions.

On Wed, Apr 25, 2018, 20:19 Rein Appeldoorn notifications@github.com wrote:

Hi Guys,

Thanks for this framework! We are working on getting our robot to work with the use of ROS control and ethercat.

We read encoder values and torques on the motor. We currently have a closed loop control running using the effort_controllers/JointPositionController https://github.com/ros-controls/ros_controllers/blob/kinetic-devel/effort_controllers/src/joint_position_controller.cpp .

However, we do have relative encoders. So we need to null the encoders using end-stop homing, absolute encoders or other sensors. How do you usually solve this?

Thanks,

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ros-controls/ros_controllers/issues/339, or mute the thread https://github.com/notifications/unsubscribe-auth/ADXH4X1D9pVRWbLv2Dq1mD8WFEmtqS__ks5tsMxOgaJpZM4TkAhc .

reinzor commented 6 years ago

Thanks for your response. We are definitely interested! What are your first thought on where to add this? The current transmissions do have support for offsets, however, we can not set these offsets on runtime. What about adding setters to these classes; for example here: https://github.com/ros-controls/ros_control/blob/melodic-devel/transmission_interface/include/transmission_interface/differential_transmission.h#L195