Skip to content

Arbotix-m board instead of USB2Dynamixel controller #6

Open
@Abduoit

Description

Hi @pirobot

I am following ros-by-example volume 1 for Tracking a visual target, it is really useful.

I am on ros-indigo now, I want to use same material to control Phantomx Pincher robotic arm, since it uses same type of servos which are dynamixel ax-12a

However, I am encountering a problem, I am using arbotix-m board, and in the book they used USB2Dynamixel controller, so the launch file is different.

I want to control the servo id 1 based on the motion of a detected object.

What I did so far is as follow

I run

roslaunch rbx1_vision usb_cam.launch
roslaunch rbx1_vision camshift.launch

When I run roslaunch rbx1_dynamixels head_tracker.launch

The output is

[INFO] [WallTime: 1508247666.419934] Waiting for joint controllers services...

Then I run following launch that I created it by myself since I am using arbotix-m board

roslaunch rbx1_dynamixels arbotix.launch

The content is

<launch>
    <node name="arbotix" pkg="arbotix_python" type="arbotix_driver" output="screen">
        <rosparam file="$(find rbx1_dynamixels)/config/arbotix_params.yaml" command="load" />
    </node>
    
  <node name="gripper_controller" pkg="arbotix_controllers" type="gripper_controller">
      <param name="model" value="singlesided"/>
      <param name="invert" value="true"/>
      <param name="pad_width" value="0.0254"/>
  </node>

</launch>

The file arbotix_params.yaml is

source: pincher_arm.yaml
port: /dev/ttyUSB0
baud: 115200
rate: 20
sync_write: True
sync_read: True
read_rate: 15
write_rate: 25
joints: {
    head_pan_joint: {id: 1, cwlimit: 35,  ccwlimit: 900, offset: 511, speed: 40},
    arm_shoulder_lift_joint: {id: 2, cwlimit: 100, ccwlimit: 900, offset: 511, speed: 40},
    arm_elbow_flex_joint: {id: 3, cwlimit: 100, ccwlimit: 900, offset: 511, speed: 40},
    arm_wrist_flex_joint: {id: 4, cwlimit: 180, ccwlimit: 900, offset: 511, speed: 40},
    gripper_joint: {id: 5, cwlimit: 30,  ccwlimit: 400, offset: 215, speed: 40}
}

ArbotiX is connected BUT when I run rostopic info /roi I see the following output, which is not correct.

imr@IMR-PC:~$ rostopic info /roi
Type: sensor_msgs/RegionOfInterest

Publishers: 
 * /camshift (http://localhost:42869/)

Subscribers: None

The book is giving instruction for USB2Dynamixel controller only, but I am using arbotix-m board.

I am so confusing now, please tell me where I am mistaken !!!!

Thanks

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions