Supported Hardware

This controller will only work with the Crust Crawler Smart Arm with Dual Gripper Claw.
AX-12 Smart Arm
AX-18 Smart Arm
AX-12/AX-18 Dual Gripper.

This controller also requires a USB2Dynamixel adapter and a power supply. We recommend the SMPS2Dynamixel adapter with the Bioloid Kit power supply.
USB2Dynamixel
SMPS2Dynamixel
CM-5 Power Supply

ROS API

smart_arm.yaml

The smart_arm.yaml configuration file contains all the parameters needed by dynamixel_controllers package's controller_manager node. The launch files provided will place the yaml file on the param server and load a smart_arm_controller by sending a list of joint controllers to the controller_spawner script. The smart_arm will run in the controller_manager node and you can specify angle positions for each joint on the smart arm. Depending on the value in the update_rate parameter, the smart_arm node will publish each joint's current state as well. Each controller type from the yaml file will create Publisher/Subscriber topics with the controller name (see dynamixel_controllers package documentation for description of available parameters).

Subscribed Topics

shoulder_pan_controller/command (std_msgs/Float64)
  • Subscribes to this topic for new commands. A command tells the shoulder_pan_joint to go to the specified angle in radians.
shoulder_pitch_controller/command (std_msgs/Float64)
  • Subscribes to this topic for new commands. A command tells the shoulder_pitch_joint to go to the specified angle in radians.
elbow_flex_controller/command (std_msgs/Float64)
  • Subscribes to this topic for new commands. A command tells the elbow_flex_joint to go to the specified angle in radians.
wrist_roll_controller/command (std_msgs/Float64)
  • Subscribes to this topic for new commands. A command tells the wrist_roll_joint to go to the specified angle in radians.
right_finger_controller/command (std_msgs/Float64)
  • Subscribes to this topic for new commands. A command tells the right_finger_joint to go to the specified angle in radians.
left_finger_controller/command (std_msgs/Float64)
  • Subscribes to this topic for new commands. A command tells the left_finger_joint to go to the specified angle in radians.
motor_states (dynamixel_msgs/MotorStateList)
  • Subscribes to this topic to get the raw servo feedback from the low-level driver. Uses this information to create the joint states that get published to the arm_controller/joint_move topic.

Published Topics

shoulder_pan_controller/state (dynamixel_msgs/JointState)
  • Joint state data from shoulder_pan joint servo.
shoulder_pitch_controller/state (dynamixel_msgs/JointState)
  • Joint state data from shoulder_pitch joint servos.
elbow_flex_controller/state (dynamixel_msgs/JointState)
  • Joint state data from elbow_flex joint servos.
wrist_roll_controller/state (dynamixel_msgs/JointState)
  • Joint state data from wrist_roll joint servo.
right_finger_controller/state (dynamixel_msgs/JointState)
  • Joint state data from right_finger joint servo.
left_finger_controller/state (dynamixel_msgs/JointState)
  • Joint state data from left_finger joint servo.

Wiki: smart_arm_controller (last edited 2011-09-10 14:16:32 by AntonsRebguns)