ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Effort is the type of control of your joints where the commands that you specify for your joint are for example voltage or power. For example you could have a power controlled joint where the controller of joint motor can receive commands from 0 to 1000 (when controller receives 0 the motor would not move and when controller receives 1000 the motor of that joint would move at its maximal power).

If you had a stepper motor controller that can be only controlled using effort you would then need to specify a EffortJointInterface and the joint_trajectory_controller would internally run a PID loop to control the position of your joints using effort. Your case is different you already have a stepper controller that can be controlled using target position. You therefore have a PositionJointInterface and in this case the joint_trajectory_controller only works by forwarding the target positions directly to stepper motor controller. You can read more about different modes of joint_trajectory_controller here.

So specifying the VelocityJointInterface and EffortJointInterface in your case does not make sense.

Now in terms of trying to improve the cartesian path there are several things you could try doing. First would be to try tweaking the parameters of the stepper motor controller. This is highly dependent on the actual motor controller that you have. If this controller has a PID loop internaly you might have to tweak PID parameters etc.