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:

  1. ROS Indigo-install ROS from here.
  2. Gazebo
    1. install Gazebo from here. Some Gazebo versions present ROS-Gazebo integration issues, Gazebo version 2 works properly.
    2. you can also install from here
  3. MoveIt!-install MoveIt! from here, it also contains the Baxter MoveIt! configuration pacakge.
  4. Baxter dependencies-install from here. Some steps might be redundant so you can also install from the previous page.

Step-by-step guide:

  1. Open a new terminal and run the script in simulation mode ./baxter.sh sim
  2. 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)!!
  3. Start the interface for controlling the robot
    1. Execute step 1 and in the same terminal enable the robot rosrun baxter_tools enable_robot.py -e
    2. Execute step 1 and in the same terminal start the joint trajectory action server rosrun baxter_interface joint_trajectory_action_server.py
    3. Execute step 1 and in the same terminal tuck the arms of the robot rosrun baxter_tools tuck_arms.py -u
  4. 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:

http://answers.ros.org/question/52309/defining-joints-in-solidworks-to-urdf-exporter-for-a-conveyor-belt/

 

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