In this tutorial, we will show you how to configure and remotely control PhantomX Pincher Robot connected to the Rover.
The PhantomX Pincher AX-12 Robot Arm is a 4 degree-of-freedom robotic arm and an easy addition to the TurtleBot ROS robot platform. This hardware kit comes with everything needed to physically assemble and mount the arm as a standalone unit or as an addition to your Turtlebot Robot/mobile platform. [source: trossenrobotics.com]
The arm has been redesigned to fit Leo Rover mounting plate. As the arm baseplate has became thinner, its range allows to grab objects from the ground as well as reach the rear and sides of Leo Rover.
You'll follow the official instructions from Trossen Robotics' website to assemble the arm with only few exceptions that are specific to Leo Rover mounting interface.
In 'Step 1: Build the Upper Deck' point 8
instead of using 100mm cable as shown in the photo, use 150mm cable that is included in Leo Rover to PhantomX adapter kit.
In 'Step 2: Build the Base' instead of point 2-6
use the lower deck provided in Leo Rover to PhantomX adapter kit insted of the default one
first assemble the lower deck (adapter) to Leo Rover mounting plate using 2x M5 screws and nuts provided
attach the upper deck (from Step 1) to the lower deck using 4x m3 screws included, route the servo cable (150mm version) facing the rear of the lower deck
attach ArbotiX-M controller to the lower deck using 4x m3 screws included, the board power socket needs to face the rear of the Rover
To power the ArbotiX-M controller use the cable provided in the kit (triple connector). The cable should be used instead of standard MEB-to-Battery cable with barrel jack cable routed through one of the cutouts in the rear frame
To connect the ArbotiX-M controller FTDI-USB cable use miniUSB-USB adapter provided in the kit and plug it in the miniUSB socket on top of the Rover
Before you begin, make sure you have internet connection on your Rover.
Also, you need to have ROS installed on your computer.
And, of course, assembled Pincher Arm together with ArbotiX-M Robocontroller connected to your Rover.
To properly communicate with the Dynamixel servos, you will need to set the servo IDs like in the picture below:
To do this, you can follow our guide for the Arbotix controller here:
In there, you will also find how to configure and use the arbotix ROS driver.
The turtlebot_arm packages contain very useful utilities for PhantomX Pincher arm such as:
configuration for the arbotix driver
URDF model of the arm
Moveit! configuration package
IKFast Kinematics solver plugin
MoveIt! pick and place demo
To use the mentioned features, you need to build the packages and run the driver on your Rover first.
Start by logging into your Rover via SSH:
and creating an empty catkin workspace, if you don't have one yet:
mkdir -p ~/ros_ws/src && cd ~/ros_wscatkin initcatkin config --extend /opt/ros/melodic
Clone the packages into the source space:
cd ~/ros_ws/srcgit clone https://github.com/corb555/arbotix_ros.gitgit clone https://github.com/turtlebot/turtlebot_arm.git
cd ~/ros_wsrosdep updaterosdep install --from-paths src -yi
Build the workspace:
Source the result space:
To use the packages with PhantomX Pincher arm, set the
TURTLEBOT_ARM1environment variable to
Now, you can use roslaunch to run the bringup launch file:
roslaunch turtlebot_arm_bringup arm.launch
You should then see new topics to which you can send position commands:
as well as services for setting speed and relaxing joints. You can learn more about them in the ArbotiX-M Robocontroller tutorial.
You will need to have ROS installed on your computer and properly configured to communicate with the nodes running on your Rover. To learn how to do this, you an follow Connecting other computer to ROS network section of ROS Development tutorial:
To view robot arm model with actual position:
Fixed Frame select
Add in Displays panel
RobotModel and click
To test Motion Planning with MoveIt! :
turtlebot_arm_moveit launch file:
roslaunch turtlebot_arm_moveit_config turtlebot_arm_moveit.launch sim:=false
Planning tab in Motion Planning display
Move interactive marker to intended position
Plan to see Motion visualization and then
Execute or just click on
Plan and Execute
Run pick and place demo (in another terminal session)
rosrun turtlebot_arm_moveit_demos pick_and_place.py