Results 1 to 5 of 5

Thread: ROS simple_arm_server for dual arm robot

  1. #1
    Join Date
    Mar 2014
    Location
    Germany
    Posts
    18
    Rep Power
    19

    ROS simple_arm_server for dual arm robot

    Hi,

    I'm running the simple_arm_server ((2x3-DOF) 6-DOF test.py) on an arbotix controlled bioloid humanoid, but it currently only works with one 3-DOF arm. Does anyone know how to configure things in ROS to work on two 3-DOF arms so that I can say "left_arm move there and right_arm move here", preferrably keeping URDF-file as is?

    My current configuration throws errors like: "...trajectory name does not match action name..." if it comes to the arm which was not defined as root_link and tip_link. The other arm works fine though.

    MC

  2. #2
    Join Date
    May 2008
    Posts
    2,228
    Images
    155
    Rep Power
    127

    Re: ROS simple_arm_server for dual arm robot

    I'm not sure what "test.py" means, but if you are using the simple_arm_server node originally developed by me, you would need to run 2 instances, one for each arm, with each having a different name. Similarly, you would have two instances of the arm_kinematics node running, one configured for each arm.

    -Fergs

  3. #3
    Join Date
    Mar 2014
    Location
    Germany
    Posts
    18
    Rep Power
    19

    Re: ROS simple_arm_server for dual arm robot

    "test.py" means "simple_arm_server_test.py" (originally written by Michael Ferguson :-)). I did what you wrote and it works.
    -Cloned simple_arm_server.py 2 times to left_arm_server.py and right_arm_server.py.
    -Cloned arm_kinematics.cpp 2 times to left_arm_kinematics.cpp and right_arm_kinematics.cpp.
    -Configured launch-files to to start left_arm_server.py + left_arm_kinematics with 6-DOF- the same procedure for right_arm_.

    When I run simple_arm_server_test.py with working parameters for right or left arm I get a solution (TRUE) from the corresponding arm-ik-solver but an error -31 (FALSE) from the other arm-ik-solver. Despite simple_arm_server_test.py sometimes shows success:FALSE the arms are moving to the correct position.

    /arbotix error:
    "trajectory joint names does not match action controlled joint names"
    This happens because left_arm and right_arm -chains want to find a solution as both ar listening to MoveArm.action.

    Ist this error, because I have to setup another action or like above clone MoveArm.action 2 times to MoveLeftArm.action and MoveRightArm.action?
    Is simple_arm_server and arm_kinematics working on hydro?
    Thanks a lot and good work you've done!

    MC

  4. #4
    Join Date
    May 2008
    Posts
    2,228
    Images
    155
    Rep Power
    127

    Re: ROS simple_arm_server for dual arm robot

    You don't need to copy the files -- especially the .action files. What you need to do is remap node names and arguments http://wiki.ros.org/Remapping Arguments Normally this is done by creating a launch file. For instance:

    Code:
    <launch>
    
       <node name="left_arm_kinematics" pkg="simple_arm_server" type="simple_arm_server.py">
          <remap from="move_arm" to="move_left_arm" />
       </node>
    
       <node name="right_arm_kinematics" pkg="simple_arm_server" type="simple_arm_server.py">
          <remap from="move_arm" to="move_right_arm" />
       </node>
    
    <launch>


    This will launch an instance of simple_arm_server.py, with a runtime name of "left_arm_kinematics" and connect to an action client called "move_left_arm". You would also do a similar thing for the arm_kinematics, specifying different parameters. I would read up on launch files, they are extremely helpful and actually quite simple once you get started.

    As for hydro, arm_kinematics is pretty much deprecated/gone. MoveIt took over for arm_navigation and desired to use C++ API calls rather than ROS API. I'm not sure the state of kinematics ROS API within hydro. simple_arms is noted as deprecated and was never really released to either groovy or hydro.

    -Fergs

  5. #5
    Join Date
    Mar 2014
    Location
    Germany
    Posts
    18
    Rep Power
    19

    Re: ROS simple_arm_server for dual arm robot

    Ok, I'll keep the launch files in mind.
    Now I've punched the above solution on my raspberry pi compiled everything and it works but I got ik solutions at about 55 seconds and the arm motion is not being executed as smooth as from my pc. I guess IKfast is not available as a plugin to arm_kinematics, so is there any place in the ik-solving chain I can finetune for performance issues?

    I guess it's hard to bring up MoveIt on an armhf.

    Thanks for your help.

    MC

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Dual VNH2SP30 assembly
    By Grumpybeard in forum Mechanics / Construction
    Replies: 11
    Last Post: 02-10-2014, 06:29 PM
  2. Dual Axis joint using AX-12s?
    By guruguhan in forum Mechanics / Construction
    Replies: 4
    Last Post: 11-27-2013, 11:01 PM
  3. Dual Gun motor driver
    By jes1510 in forum Mech Warfare
    Replies: 2
    Last Post: 10-02-2011, 01:04 PM
  4. SwitchView SC8-DVI KVM Switch 8 port dual view
    By Vsions in forum Garage Sale
    Replies: 0
    Last Post: 09-17-2008, 09:53 AM
  5. Dual-Boot XP And Vista, Share McAfee
    By srobot in forum Robotics General Discussion
    Replies: 1
    Last Post: 09-24-2007, 04:44 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •