This section described the Baxter Research Robot example programs. These example programs are provided as a starting point, demonstrating usage of the Python SDK packages for control of Baxter.
Contents
Prerequisites
- You have completed all of the Getting Started - Setup Guide instructions for setting up your robot and development machine.
- The development workstation has been connected to Baxter and connectivity has been validated.
Running Examples with the SDK
Initialize
$ cd ~/ros_ws
$ ./baxter.sh
Run a program!
$ rosrun baxter_examples <example_program> [arguments]
Refer to the individual examples below for a complete list of arguments or run it as
$ rosrun baxter_examples <example_program> -h
to find the list of arguments.
Clone the SDK Examples
We recommend suggest cloning the 'baxter_examples'
into your ROS development workspace ( ~/ros_ws/src
). This will allow you to dig into the examples, follow along with the code walkthroughs and base your custom code off of these examples.
$ cd ~/ros_ws/src
$ git clone https://github.com/RethinkRobotics/baxter_examples.git
SDK Examples
Fundamentals
Enable Robot Example (Start Here) - This tool is responsible for enabling (powering and state monitoring) Baxter. Enabling the robot is expected and necessary for standard Baxter usage.
Movement
Joint Position Waypoints Example - The basic example for joint position moves. Hand-over-hand teach and recording a number of joint position waypoints. These waypoints will then be played back indefinitely upon completion.
Joint Position Keyboard Example - This example demonstrates numerous joint position control.
Joint Position Example - Joystick, keyboard and file record/playback examples using joint position control of Baxter's arms.
Joint Torque Springs Example - Joint torque control example applying virtual spring torques.
Joint Velocity Wobbler Example - Simple demo that moves the arm with sinusoidal joint velocities.
Joint Velocity Puppet Example - Simple demo which mirrors moves of one arm on the other in Zero-G.
Inverse Kinematics Service Example - Basic use of Inverse Kinematics solver service.
Simple Joint Trajectory Example - Simple demo using the joint trajectory interface.
Joint Trajectory Playback Example - Trajectory playback using the joint trajectory interface.
Head Movement Example - Simple demo moving and nodding the head.
Head Action Client Example - A demo to showcase the functionality of the head trajectory action server.
Gripper Example - Joystick and Keyboard control for the grippers.
Gripper Cuff Control Example - Simple cuff-interaction control with Zero-G mode.
Robot Configuration
URDF Configuration Example - A simple ROS node that shows how to add segment and joint subtrees to the robot's model.
Simulator
IK Pick and Place Demo - An intermediate example for combining Inverse Kinematics Service calls with Arm movement, gripper actuation, Gazebo Model Spawning, and simulator readiness.
Input and Output
Camera Control Example - Demonstrates usage for listing, opening, and closing the available cameras.
View Cameras Example - Simple tool for viewing camera feed on development machine.
Screen Display - Example tool for displaying image files (png, jpeg) on the Head Screen.
I/O Example - Flash the lights on the digital outputs.