Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
Controlling the Komodo arm
Description: This tutorial explains how to operate the Komodo robot arm.Tutorial Level: BEGINNER
Next Tutorial: Programming the robot micro-controller
Operate the arm
See dynamixel_controllers for package details.
To move a specific arm joint, publish the desired angle in radians to the joint controller command topic, e.g. /komodo_<ID>/base_rotation_controller/command
The arm joint controllers from bottom upwards are:
base_rotation_controller
shoulder_controller
elbow1_controller
elbow2_controller
wrist_controller
right_finger_controller
left_finger_controller
Check the ric/ric_robot/config/komodo_arm.yaml file for additional controllers configurations such as max speed and max torque. Do not change the min and max motor limits.
Check the controllers state topic for joint state information e.g. /komodo_<ID>/base_rotation_controller/state. Joint states information is also avilable on the /komodo_<ID>/motor_states/arm_port topic (you can also monitor the arm battery voltage using this topic).
Operate the elevator
Before any operation of the elevator, you must run the elevator homing procedure by calling the home service elevator_controller/home. the dir argument allows to choose the homing direcetion (dir=1 -> UP, dir=-1 -> DOWN). Wait for the elevator to reach the lower or upper micro-switch and report that the homing is done. Now you can control the elevator using the /elevator_controller/pos_command topic. The elevator range is 0-0.4 m. Keep in mind that if you launched the robot launch file while the elevator was on one of the micro-switches, the homing procedure will run automatically and you will be able to send position commands without manually running the home procedure.
Keep in mind that the elevator moving speed is slow (about 3 minutes from bottom to top position).
Warning: To control the elevator position use only the /elevator_controller/pos_command and NOT the /elevator_controller/command topic.