Note: This tutorial assumes that you have completed the previous tutorials: smart_arm_controller/Tutorials/Getting Started with a Smart Arm.

How to control a Crust Crawler Smart Arm with Dual Gripper using the smart_arm_controller

Description: This tutorial describes how to control your Crust Crawler Smart Arm using the smart_arm node.

Tutorial Level: BEGINNER

Compiling

First, you need to compile all dependencies, ensuring all ROS msgs are generated.

$ rosmake smart_arm_controller

Running

Make sure all the parameters in the smart_arm.yaml file match your hardware configuration (see the first tutorial). Launch the smart arm controller:

$ roslaunch smart_arm_controller smart_arm.launch 

Sending Commands to Move Smart Arm Joints

Each joint controller in the yaml file will subscribe to a command topic to move that joint: shoulder_pan_controller, shoulder_pitch_controller, elbow_flex_controller, wrist_roll_controller, right_finger_controller and left_finger_controller

Here are some examples (all angles are in radians):

$ rostopic pub -1 /wrist_roll_controller/command std_msgs/Float64 -- 2

$ rostopic pub -1 /elbow_flex_controller/command std_msgs/Float64 -- -3

Each controller will also be able to call the Services created by the controller manager. Here are some examples of calling Services and setting new values for various joints:

$ rosservice call /wrist_roll_controller/torque_enable 1

$ rosservice call /shoulder_pitch_controller/set_speed 2.5

Wiki: smart_arm_controller/Tutorials/Controlling a Smart Arm (last edited 2011-09-10 16:37:11 by AntonsRebguns)