Design and Implementation of A Robotic Arm Using Ros and Moveit!
Design and Implementation of A Robotic Arm Using Ros and Moveit!
Design and Implementation of A Robotic Arm Using Ros and Moveit!
Ixtapa, Mexico
Abstract—In this paper is presented an interfacing of a robotic controller is needed. The final phase, the object is placed
arm with a motion planner and a 3D viewer (RViz). The in the target position, which requires robust and reactive
main purpose of this work, is to manipulate and grip objects position/force control strategies.
to transport them from one location to another using Robot
Operating System (ROS). In order to do this task, a motion There are several works that show the simulation of a
planner, who deal with constraints, i.e. collisions among the arm robotic arm for manipulating objects [6][7]. In [8] an indoor
joints and objects, is used. Also a 3D viewer, called RViz, is object handling application is used. It has 7 degree of freedom
used to visualize (online and offline) the motion of the arm. lightweight robotic arm and a commercial depth sensor. To
To easily interface the 3 degree of freedom (DOF) arm, it was control the trajectory of the robotic arm, they tested different
designed using FreeCAD, as the output files used to print the
arm, are simultaneously exported to create the Unified Robot planners on Moveit! (a ROS node for motion planning).
Description Format (URDF) files required for the planner and However, the gripper on this arm does not have a force control
viewer. A position-force controller for the gripper, previously to take the object. In [9] the design and construction of a
presented, has been used to pick up and hold the object during robot arm prosthesis of 5 degrees of freedom is shown. The
the manipulation. Some experiments where carried out to asses authors of this work propose as future work to export their 3D
the result of the interface, the execution of the motion planning
avoiding collision and the grasp to the object. These results are design to ROS to be able to visualize it, as well as a trajectory
shown and discussed. planner. The gripper opens and closes without control of force
or position.
I. I NTRODUCTION In this work to achieve the manipulation of objects, a 3-
OBILE manipulation is an important research area for DOF arm with two independent fingers has been designed
M many robotic applications [1][2][3]. Moreover, the ability
to manipulate objects is a key skill for service robots as it
and implemented. The arm was designed using FreeCAD. The
output files are used to print the arm and they are exported to
allows them to develop a greater number of tasks [4]. To ROS to create the Unified Robot Description Format (URDF)
efficiently manipulate objects it is necessary a robotic arm, files for visualize. Both the motion planning and the arm are
composed by joints, links and an end-effector or gripper. In visualized in RViz while the physical arm is executing the plan
addition, the robotic arm must have sensors that allows to (see Fig.1).
know its position and speed, as well as the force it applies to
the grasped object.
According to [5] the robotic manipulation of objects is
divided into 4 phases: Pre-grasp manipulation, Grasp ac-
quisition, Post-grasp transport and Goal. In the Pre-grasp
phase, the arm is directed to a position close to the object.
To achieve this purpose a motion planning followed by its
execution is used. In the Grasp Acquisition phase, the gripper
makes contact with the object, however as it is possible to
alter the initial position of the object, even break it, some
force and position controllers are not suitable. The third phase,
Post-grasp transport is performed after the object is grasped, Figure 1. Overview of the design the arm and communication with ROS.
and it consists on moving the object from one position to
another. During this phase a robust and reactive position/force Robotic Operating System (ROS) [10] and MoveIt! [11] are
978-1-5386-0819-7/17/$31.00 2017
c IEEE
2017 IEEE International Autumn Meeting on Power, Electronics and Computing (ROPEC 2017). Ixtapa, Mexico
used to manipulate and grasp the object. ROS and Moveit! Robotis Dynamixel series motors1 . Dynamixel motors let us
let us to use the package: Open Motion Planning Library to obtain their speed, temperature, shaft position, voltage and
(OMPL), which provides a variety of motion planning algo- load. These motors are daisy chained together on a commu-
rithms to control different robots. OMPL is widely used in nication bus and connected to pc’s USB port by an USB to
the robotics community for solving path problems with many Dynamixel Adapter. In order to obtain higher torques closer
constraints. to the elbow and shoulder joints, heavier and more powerful
In the presented work, when the arm is moving, the con- servomotors were placed; two MX-106T on the shoulder and
straints are to avoid bumping into the table, while avoiding one MX-64T in the elbow. The lighter and smaller RX-28 and
collisions with the arm itself. For the success grasping of AX-12 actuators were chosen for the wrist and gripper joints
the object, a position/force controller previously implemented in order to decrease the weight of the arm.
in [12] has been used. This controller has been designed to The gripper was manufactured by CrustCrawler Robotics,
place the object in the center of the gripper, so initially the and it was modeled in 3D, in order to visualize the complete
fingers are controlled by a PID controller in position mode. arm including its gripper. All parts of the gripper are made in
Next the controller switches to PID force mode to be able aluminum with a maximum opening of 22.86cm and a length
to lift up the object. Additionally, the packages contained in of 10.16cm.
the robot model are adapted to the correct visualization of the In order to measure the force applied to the object, two
arm and its gripper in RViz. RViz let us visualize the current piezo-electric sensors were placed at the fingertips of the
physical arm configuration on a virtual model of the arm, and gripper:
display live representations of sensor values coming over ROS
topics. • The piezo-electric force sensor FSS-SMT is about 1cm
This paper is organized as follows: Section II describes long, produced by Honeywell2 . The main features of it,
the structure of the arm, their design, and the mechanical are that the element is a micro-machined piezo-resistive
and electronic components. Section III shows the Software silicon; energy consumption is low, it has Wheatstone
Architecture, the packages used in the robotic arm for the bridge design and all this provides a stable output in mV
communication of hardware and software over ROS. Section over the range of force exerted.
IV shows the position/force hybrid controller used in the grip- This sensor was selected in this work, as it has proved a good
per. In section V, the experiments and the results obtained are performance as reported in [14].
presented. And finally in section VI are given the conclusions. The force sensors are connected to an acquisition module
II. S TRUCTURE OF THE A RM based on a Mega Arduino board3 , with 12 bits external ADC.
The sensor cables as well as those of the motors are routed
In Fig. 2a it is shown the arm technical drawing, it has 3 through the inside of the arm whenever possible to keep them
the degrees of freedom; arm length with the gripper included tidy.
is 70.2cm. Fig. 2b shows the assembled arm.
A. 3D arm design
An open-source CAD program call FreeCAD, was used
to design the pieces of the arm corresponding to the three
degrees of freedom. FreeCAD is based on OpenCasCade, Qt
and Python and has open-source libraries [13]. It allow to
create meshes in STL, which are exported to be constructed
on a 3D printer and to create the URDF required in ROS to
visualize the movements of the physical arm. In Fig. 2a, it is
shown the arm components. The first one is the arm’s base,
it allows to hold the shoulder of the arm to any surface. The
shoulder is connected to the second piece called the upper arm
and at its end, it’s connected the elbow. Then, here is connected
the third piece called fore arm. In the fore arm is connected
the wrist bracket, and finally, the gripper is connected here.
The pieces of the arm’s base, the upper arm, the fore arm (a) (b)
and wrist bracket were constructed on a 3D printer. As the Figure 2. a) Mechanical design of the manipulator (degrees of freedom are
gripper was acquired from CrustCrawler Robotics, it was only shown in red, all dimensions are in mm). b) The assembled robotic arm.
modeled in CAD for visualization purposes.
B. Rosserial package
Rosserial 5 is a protocol for wrapping standard ROS serial-
ized messages and multiplexing multiple topics and services
over a character device such as a serial port or network socket.
The rosserial API is used to perform the same function-
ality on devices that communicate via serial communication
devices. In our case for Arduino, rosserial arduino is used
to implement ROS communication using the rosserial API.
The main advantage of using rosserial is that it allows the
Arduino board to become transparent to the rest of the system.
As mentioned before, Arduino allows us to connect the force (a) (b)
sensors, placed on the gripper fingers, with ROS. Figure 4. a) Robotic arm displayed in RViz, b) The corresponding URDF
Data acquired is formatted into a ROS Message directly specification. The links and joints are visualized by boxes and ellipses
on the Arduino board. Then data is serialized and sent to PC respectively.
computer by USB port with 57600 baud rate. The rosserial
node controls communication, checks data and publishes top- The URDF model uses two different language elements,
ics created by Arduino on the ROS System. namely links and joints. The link correspond a rigid body
In the Fig. 3, it is shown the communication structure for part of a robot; it is possible to specify size, shape and color
the rosserial and gripper, and the different packages used in of it. Along this work, the 3D mesh has been imported to
ROS. represent each robot link. Besides, it’s possible to provide
dynamic properties of the link such as inertial matrix and
4 http://wiki.ros.org/dynamixel motor collision properties. The joint is the connection of two different
5 http://wiki.ros.org/rosserial links. It is possible to include different types of joints, for
2017 IEEE International Autumn Meeting on Power, Electronics and Computing (ROPEC 2017). Ixtapa, Mexico
Figure 7. The sequence of images (synthetic) of the visualization in RViz is shown in (1-12)A. The execution on the physical arm is shown in the image
sequence (1-12)B. In 1-6, is shown the path planning from the initial position to the desired position (Pre-grasp manipulation phase). In 7-A and 7-B, the
object is taken, Grasp Acquisition phase. In 8-11, the object is moving from one position to another, Post-grasp transport phase. In 12-A and 12-B shows
how the object is released in another place.
Figure 8. In the top chart is shown the readings of the position sensor which
are used to adjust the PID of position. In the lower chart is shown the readings
of the force sensor which are used to adjust the PID of force.
Figure 9. In the top chart is shown the error of the PID position and force.
In the below chart is shown the output of the PID position and the force.