Home | Tutorials | Wiki | Issues
Ask Your Question
0

Turtlebot/Pincher Arm Gazebo simulation (with MoveIt & arbotix controllers)

asked 2018-04-13 06:29:30 -0500

RedJohn gravatar image

updated 2018-05-07 00:48:16 -0500

My goal

My goal is to have the pincher arm simulated in Gazebo and control its movements programmatically (preferably through MoveIt). I don't want/need the turtlebot itself, just the arm.

What I've done

I have git cloned & catkin build & sourced the packages for the turtlebot arm (and also the arbotix-packages), and there are already the description package (with the urdf-files), a MoveIt package and various other packages in the repository, but unfortunately no Gazebo package. I can run the MoveIt demo (roslaunch turtlebot_arm_moveit_config demo.launch) where one can set the goal pose of the arm in Rviz and plan & execute the arm to get to the desired pose. I know that one can do that also programmatically through a python script or a C++ program (as described here).

I tried to make a Gazebo package myself, taking the one from the universal robot as a template, but I'm a bit lost with all the files in there. I managed to load the robot arm into Gazebo (with the base_link fixed), but there the arm just falls down, as if there were no controllers running. With the running Gazebo simulation, I get the following rostopic list:

/gripper_controller/gripper_action/cancel
/gripper_controller/gripper_action/feedback
/gripper_controller/gripper_action/goal
/gripper_controller/gripper_action/result
/gripper_controller/gripper_action/status
/gripper_joint/command

My Gazebo launch file looks like this:

(see here)

I'm running Gazbebo 7.11.0 with ROS Kinetic on a Ubuntu 16.04 (in a VM on a Win10 host).

My question

What do I have to do in order to control the turtlebot arm not only in Rviz, but also in Gazebo? I'm relatively new to Gazebo/ROS, so apologises if this seems lika a trivial task to you. Thank you for your help!

UPDATE

I managed to get the (pincher) arm move in Gazebo! If you want to have a look at the packages: https://github.com/joellutz/pincher_arm (most likely to change in the near future!). I can move the arm (and the gripper) in MoveIt & Rviz, and the arm also moves in Gazebo.

What I'm still missing: I had to create a own control-package with controllers etc. But there are already controllers from arbotix for the PhantomX Pincher Arm, which are needed to move the arm around in real life. They are also used in the turtlebot_arm_bringup/launch/arm.launch, and I don't want to have separate things for the simulation and the real world. So my question is: How can I get this to work with the arbotix controllers, rather than my own control package?

edit retag flag offensive close merge delete

Comments

Thank you, I went through this tutorial, but it assumes one already has a working Gazebo & control package, which are both not present in the turtlebot arm repo. Nevertheless, the arm now stands upright in the Gazebo simulation and doesn't fall down anymore, so at least something:) However, if I move the arm with the Rviz & MoveIt GUI, the arm in Gazebo doesn't move (even though the logging of the Gazebo terminal says it has received & executed an action goal of the arm_controller). Any ideas?

RedJohn gravatar imageRedJohn ( 2018-04-16 02:13:30 -0500 )edit

Your repo looks ok, But one important point is that turtlebot_arm xacro doesn't contain gazebo control information. I do that in [my own repo](https://github.com/corot/thorp/blob/master/thorp_description/urdf/thorp_gazebo.urdf.xacro#L175). Sorry, I'm not an expert on Gazebo... I came with this by try an error, and I'm not fully sure it's right (but works for me with the single-sided gripper)

corot gravatar imagecorot ( 2018-05-06 17:38:27 -0500 )edit

Your repo looks ok, But one important point is that turtlebot_arm xacro doesn't contain gazebo control information. I do that in [my own repo](https://github.com/corot/thorp/blob/master/thorp_description/urdf/thorp_gazebo.urdf.xacro#L175). Sorry, I'm not an expert on Gazebo... I came with this by try an error, and I'm not fully sure it's right (but works for me with the single-sided gripper)

corot gravatar imagecorot ( 2018-05-06 17:39:00 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
2

answered 2018-05-06 17:40:02 -0500

corot gravatar image

Your repo looks ok, But one important point is that turtlebot_arm xacro doesn't contain gazebo control information. I do that in my own repo. Sorry, I'm not an expert on Gazebo... I came with this by try an error, and I'm not fully sure it's right (but works for me with the single-sided gripper)

edit flag offensive delete link more

Comments

Thank you, I've already done that, taking your repo as a template: https://github.com/joellutz/pincher_arm/blob/master/turtlebot_arm_description/urdf/pincher_arm.urdf.xacro#L37. I forgot to mention that I use the pincher arm, not the turtlebot arm. The thing is, I now need two different moveit config packages, one when simulating and moving the arm in Gazebo, and one when moving the real arm (where I use the arbotix controllers). It would be preferable to have just one (with arbotix controllers)

RedJohn gravatar imageRedJohn ( 2018-05-07 00:49:54 -0500 )edit
Login/Signup to Answer

Question Tools

1 follower

Stats

Asked: 2018-04-13 06:29:30 -0500

Seen: 104 times

Last updated: May 07