This page contains information about how to bring up and use Baxter in simulation, it also contains information on how to plan and execute arm movements using MoveIt!.
Prerequisites:
- ROS Indigo-install ROS from here.
- Gazebo
- install Gazebo from here. Some Gazebo versions present ROS-Gazebo integration issues, Gazebo version 2 works properly.
- you can also install from here
- MoveIt!-install MoveIt! from here, it also contains the Baxter MoveIt! configuration pacakge.
- Baxter dependencies-install from here. Some steps might be redundant so you can also install from the previous page.
Step-by-step guide:
- Open a new terminal and run the script in simulation mode ./baxter.sh sim
- Bring up Gazebo with the a Baxter robot using a roslaunch file roslaunch baxter_gazebo baxter_world.launch (It may last a little bit longer)!!
- Start the interface for controlling the robot
- Execute step 1 and in the same terminal enable the robot rosrun baxter_tools enable_robot.py -e
- Execute step 1 and in the same terminal start the joint trajectory action server rosrun baxter_interface joint_trajectory_action_server.py
- Execute step 1 and in the same terminal tuck the arms of the robot rosrun baxter_tools tuck_arms.py -u
- Execute step 1 and in the same terminal start Baxter's MoveIt! configuration file using roslaunch baxter_moveit_config baxter_grippers.launch
For ease of use you can place all the information above in a launch file. Copy the following code in a file with the following name your_name_here.launch.
Place the file in the launch directory of your package.
=====================================================================================================================================
<?xml version='1.0'?>
<launch>
<node pkg="baxter_interface" name="baxter_joint_trajectory_action_server" type="joint_trajectory_action_server.py" output="screen"/>
<node pkg="baxter_tools" name="baxter_enable_robot" type="enable_robot.py" args="-e" output="screen"/>
<node pkg="baxter_tools" name="baxter_tucker" type="tuck_arms.py" args="-u" output="screen"/>
<node pkg="baxter_interface" name="baxter_gripper" type="gripper_action_server.py" output="screen"/>
<include file="$(find baxter_moveit_config)/launch/baxter_grippers.launch"/>
</launch>
=====================================================================================================================================
If all goes well you should have a Baxter robot in Gazebo and Rviz with the MoveIt! plugin loaded, ready to plan movements for the arms. Once you plan a valid position in MoveIt! you will be able to see it in Gazebo.
Adding a conveyor belt to the simulation:
Adding a vacuum gripper:
After completing the instruction, please have a look also at:
https://groups.google.com/a/rethinkrobotics.com/forum/#!topic/brr-users/q9Hg7eAesJQ
Related articles