0
$\begingroup$

Rosanswers logo

I am controlling a dynamixel based SCARA arm (4 revolute joints) using ROS (MoveIt + ros_control + dynamixel_controllers). Before controlling the actual arm, I attempted to test the system with Gazebo. (up to the point where I would connect ros_control to the dynamixel motors). In my URDF I added the transmissions (in my case 1:2) between the actuators and the joints. I am using the effort_controllers/JointTrajectoryController and my joint names when spawning the controllers.

The simulation works fine, and I am able to control the arm using MoveIt pretty much as expected, however when monitoring the joint angles which are send to my controllers they map 1:1 to the joint angles set in MoveIt, where I would expect them to be double because of the transmission between my motors and my joints.

How does ros_control take the transmission into account? Should I spawn my controllers using the actuator names instead of the joint directly? Or should I implement the transmission somewhere in the hardware abstraction layer which will connect ros_control to my dynamixel_controllers?


Originally posted by JRikken on ROS Answers with karma: 31 on 2016-04-25

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Currently I am using the hardware abstraction layer to calculate the influence of the transmissions.


Originally posted by JRikken with karma: 31 on 2016-06-28

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by okstew on 2020-01-16:
isnt this a comment vs an answer?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.