Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Turtlebot Arm Gazebo simulation (with MoveIt)

My goal

My goal is to have the turtlebot 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:

<launch>
  <!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="$(find turtlebot_arm_gazebo)/worlds/turtlebot_arm.world"/>
    <!-- more default parameters can be changed here -->
  </include>
  <!-- Convert an xacro and put on parameter server -->
  <param name="robot_description" command="$(find xacro)/xacro.py $(find turtlebot_arm_description)/urdf/turtlebot_arm.urdf.xacro" />
  <!-- Spawn a robot into Gazebo -->
  <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model turtlebot_arm" />
</launch>

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!

Turtlebot Arm Gazebo simulation (with MoveIt)

My goal

My goal is to have the turtlebot 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:

<launch>
  <!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="$(find turtlebot_arm_gazebo)/worlds/turtlebot_arm.world"/>
    <!-- more default parameters can be changed here -->
  </include>
  <!-- Convert an xacro and put on parameter server -->
  <param name="robot_description" command="$(find xacro)/xacro.py $(find turtlebot_arm_description)/urdf/turtlebot_arm.urdf.xacro" />
  <!-- Spawn a robot into Gazebo -->
  <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model turtlebot_arm" />
</launch>

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?

Turtlebot Arm Gazebo simulation (with MoveIt)

My goal

My goal is to have the turtlebot 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:

<launch>
  <!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="$(find turtlebot_arm_gazebo)/worlds/turtlebot_arm.world"/>
    <!-- more default parameters can be changed here -->
  </include>
  <!-- Convert an xacro and put on parameter server -->
  <param name="robot_description" command="$(find xacro)/xacro.py $(find turtlebot_arm_description)/urdf/turtlebot_arm.urdf.xacro" />
  <!-- Spawn a robot into Gazebo -->
  <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model turtlebot_arm" />
</launch>

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?

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

My goal

My goal is to have the turtlebot 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:

<launch>
  <!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="$(find turtlebot_arm_gazebo)/worlds/turtlebot_arm.world"/>
    <!-- more default parameters can be changed here -->
  </include>
  <!-- Convert an xacro and put on parameter server -->
  <param name="robot_description" command="$(find xacro)/xacro.py $(find turtlebot_arm_description)/urdf/turtlebot_arm.urdf.xacro" />
  <!-- Spawn a robot into Gazebo -->
  <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model turtlebot_arm" />
</launch>

(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?

Turtlebot Arm Gazebo simulation (with MoveIt & arbotix controllers)

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?

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

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?

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

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!). https://github.com/joellutz/pincher_arm_test. 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?