Skip to content

Arbotix-m board instead of USB2Dynamixel controller #6

Open
@Abduoit

Description

@Abduoit

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

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