Release - v1.2.0 Release Notes

From sdk-wiki
Jump to: navigation, search

Baxter Research Robot SDK 1.2.0 Release Notes

Release Date: 12/28/2015
Important Note: There are a few upgrades in SDK 1.2 that may have an impact on your current programs:

  • In order to visualize and simulate different gripper configurations, endpoints are now calculated from the end of the fingertips as opposed to fixed at the end of the wrist. This allows you to have more flexibility in defining your end of arm tooling, but may change some of the kinematics you’re currently using in your programs. This endpoint frame can be modified through gripper customization.
  • The new factory reset functionality requires you to backup your ruser account prior to upgrading to 1.2. The on-robot update will wipe the ruser account’s home directory.
  • Due to repartitioning of Baxter's hard drive for factory reset, it is not possible to downgrade from 1.2 to any prior release.


Baxter Research Robot SDK 1.2.0 adds a number of improvements for increasing the functionality in the Gazebo simulator. There are 3 major improvements to speak of: Easy implementation of the standard Baxter Electric Gripper (including visualization of all fingertips included in the kit). Basic functionality for manipulation - you can now pick and place objects in simulation. Finally, because of these improvements, we are opening the simulator to all - it will no longer be protected behind a password. This will make is easy to include Baxter in Robotics Education, as any student with an Ubuntu workstation can work with a simulated Baxter.

Important Note: Users are instructed to backup data in the ruser's home directory to an external machine prior to upgrading from 1.1.x to 1.2.0. This is due to an update in this release which allows us Rethink to factory reset the robots during service.

Update Instructions

Software Updates

Major Updates

  • Visualization of Rethink Electric Grippers in Gazebo and MoveIt!
  • Pick and Place Demo in Gazebo that allows a user to manipulate objects in simulation.
  • Remove password protection for Gazebo use - now part of the standard open source SDK
  • Disc partition allowing for factory resets in the field (contact support if you need to use this)



  • Open Sourced!
  • Improved Baxter Simulator Startup / Shutdown
  • Improved the fidelity and responsiveness of the Baxter Simulator
  • Support for Electric Grippers Simulated Controllers
  • Added a Pick and Place block example using Inverse Kinematics service calls


  • Added rethink_ee_description package to house gripper meshes & URDFs
  • baxter.urdf is now deprecated. Use baxter.urdf.xacro instead: rosrun xacro --inorder `rospack find baxter_description`/urdf/baxter.urdf.xacro
  • Added URDFConfiguration.msg for adding URDF Fragments to Baxter dynamically


  • Added a URDF Fragment publishing example which encourages reconfiguring of electric gripper end effectors

onboard software

  • Added the Mutable Robot State Publisher to Baxter. The pedestal, left and right grippers can be swapped out allowing for mobile bases and dynamic electric grippers to be added to Baxter’s URDF dynamically. Please see our open source fork of the Robot State Publisher which is now running onboard the robot:
  • Added an end effector node onboard the robot that now publishes to /robot/joint_states for the electric gripper. You can now see the electric gripper move in RViz!
  • The <side>_gripper frame has moved to be at the center point between the tips of the electric grippers. This means the IK Service will report IK solutions further along the Z axis with respect to the <side>_hand frame. This also affects the Kinematic Chain endpoint reported by the /robot/limb/<side>/endpoint_state topic.

Gripper frame.png

  • Added <side>_gripper_mass and <side>_gripper_object_mass modifiable linkages to represent extra gripper mass and added object mass respectively. Object mass is only applied when the gripper is in a “gripping” state, and commands for arm movement will compensate for this extra mass.



  • EndEffectorProperties CUSTOM_GRIPPER became PASSIVE_GRIPPER
  • Head command’s speed ratio changes from [0, 100.0] to [0, 1.0]
  • Navigator topics have been remapped to remove ITB acronym



  • Fixed a bug that caused the Joint Trajectory Action Server to command current position, even when coming out of a Disabling state
  • Fixed a bug in’s on_joint_states when additional “left/right” joints are added to /robot/joint_states

onboard software

  • Fixed a bug which caused the MotorController to (randomly) segfault. This issue was in roscpp and could occur in any ROS node: Baxter’s onboard roscpp package was patched with this fix.
  • Added a more frequent log rotate (every 5 minutes) to prevent ROS logs from being able to fill up Baxter’s internal hard drive.

Known Limitations

onboard software

  • It is now inadvisable to replace (crash) the onboard robot_state_publisher with your own node in order to reload your URDF. This will result in unintended Kinematic Chain issues. Please use the URDFConfiguration.msg to add pieces to Baxter’s URDF on the /robot/urdf topic
  • When configuring with URDFConfiguration, please note that your Joint and Linkage names must be globally unique in the URDF, or else you could end up with an invalid robot_description (and need to reboot your robot). This is due to a limitation in the URDF spec.