WidowX Arm with ROS Getting Started Guide
This guide will help you get up and running with your WidowX Robot Arm with ROS. By the end of this guide, you will have configured your robot electronics, assembled your robot and tested your robot. You will then be able to proceed to fine tuning your SR300 and running your robot via ROS.
Setting Up Your ArbotiX & Arduino Software
ArbotiX Getting Started Guide
InterbotiX Kits are designed to work with the ArbotiX-M Robocontroller, an Arduino compatible microcontroller designed to work with DYNAMIXEL servos. This guide will show you how to setup and program the ArbotiX-M Robocontroller.
Setting Your DYNAMIXEL IDs
DYNAManager Software Guide
Every DYNAMIXEL servo comes set to a default ID of '1'. However, for your robot to work, you will need to set the servos to the correct ID numbers. This guide will help you use the DYNAmanager software and the ArbotiX-M robocontroller to set the IDs for each servo.
Each servo must be IDed one-at-a-time, so it is easiest to set the servo IDs before you assemble your robot. If you have multiple servos with the same ID connected to each other, you will not be able to ID the servos.
Building Your Robot
Assembly Guide
This guide will show you how to build and wire your robot. This guide includes a list of parts that come with your kit and tips for building your robot. You will also need to assemble your SR300 Camera Mount using the instructions in this guide.
Testing Your Robot
Build Check / Test Program
This guide will show you how to load a test program onto your robot as well as a video showing how your robot should move when the program is loaded. This test program and video will ensure that you have assembled your robot correctly.
Once you have made sure that your robot arm is assembled correctly, You will need to load the ROS sketch included in the ArbotiX Sketches folder of your ArbotiX Libraries. You should absolutely have that at this point or you've skipped virtually all of the instructions to this point and ignored crucial testing. If you've done that, the ArbotiX library is available here.
Now that you have the ROS sketch loaded to your ArbotiX board, plug the ArbotiX Board and the USB hub attached to your SR300 Camera each into one of the USB3.1 ports on the left side of your laptop. Boot it up, and open a terminal window, you're ready to start using your WidowX arm!
Built in WidowX ROS Demonstrations
ROS control of the arm independent of the SR300 Sensor
Open up a terminal window and enter the following commands:
cd ~/widowx_arm
source devel/setup.bash
roslaunch widowx_arm_bringup arm_moveit.launch sim:=false sr300:=falseThis will load RVIZ with the proper WidowX arm bringup. You can move the arm using the visual representation on screen, and hitting "Plan and Execute" under the
Planning
Tab. There are also several presets you can choose from. Once you're done, you can close the program by returning to your terminal window and pressing CTRL + C.
ROS control of the arm with the SR300 Sensor
Open up a terminal window and enter the following commands:
cd ~/widowx_arm
source devel/setup.bash
roslaunch widowx_arm_bringup arm_moveit.launch sim:=false sr300:=trueThis will load RVIZ with the proper WidowX arm bringup, as well as load in the drivers for the SR300. You should see a 3D point map representation of your workspace on the right. You can still move the arm using the visual representation on screen, and hitting "Plan and Execute" under the
Planning
Tab. We need to move the arm so that we can adjust the camera angle and position.
Arranging your SR300:
- Select the
pulled_back_pose
from the goal state. Press Update, then press Plan and Execute. Your arm should move back to a pulled back state, allowing the camera to see the base of the WidowX. - Change your view to a side view of the arm and camera representation. Move the SR300's angle so that the representation of the workspace is level to the base of the WidowX on-screen.
- Change your view to an overhead view of the workspace. Move the Camera Stand so that the outline of the base of the WidowX matches to the cutout of the WidowX base on the SR300.
Open a second Terminal window. This will be a control window, so keep it visible when possible:
cd ~/widowx_arm
source devel/setup.bash
roslaunch widowx_block_manipulation block_sorting_demo.launchThis Demo will allow us to do some new things that utilize the SR300's object detection abilities! Place blocks of different colors in the workspace (default are red and green), and in the terminal, type
d
and hit Enter
. Where the blocks were, there should be gray cubes shown on screen. At this point, you can either automatically sort all blocks detected by typing m
in the terminal and hitting Enter
OR you can use the 3D representation of the object in RVIZ to pick and place the block wherever you like on the x and y axis.
Resources
- WidowX on GitHub
- Setup instructions for WidowX ROS Installation (not necessary if you bought the ROS kit)