Professional Documents
Culture Documents
and MoveIt!
1. Introduction
● About Manipulators
● Robot Operating System
● Motion Planning and its LIbrary
● Moveit
5. Experiments
In this work, a 3- DOF arm with two independent fingers has been designed and
implemented to manipulate objects. The arm was designed using FreeCAD. The
output files are used to print the arm, and they are exported to ROS to create the
Unified Robot Description Format (URDF) files for visualizing. Both the motion
planning and the arm are visualized in RViz while the physical component executes
the plan used to manipulate and grasp the object. ROS and Moveit! Let us use the
package: Open Motion Planning Library (OMPL), which provides a variety of
motion planning algorithms to control different robots. OMPL is widely used in the
robotics community for solving path problems with many constraints.
Robot Operating System
Moveit
Arm Design
An open-source CAD program called 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. It allows creating
meshes in STL, which are exported to be constructed on a 3D printer and generate
the URDF required in ROS to visualize the movements of the physical arm. The
first one is the arm’s base; it allows to hold the arm’s shoulder to any surface. The
shoulder is connected to the second piece, called the upper arm, and at its end, it’s
connected to the elbow. Then, the third piece is called the forearm. The forearm is
connected to the wrist bracket, and finally, the gripper is attached.
The motors in each joint of the arm (shoulder, elbow, and wrist) and the gripper
motors are driven by Robotis Dynamixel series motors. Dynamixel motors let us
obtain their speed, temperature, shaft position, voltage, and load. These motors are
daisy-chained together on a communication bus and connected to a PC’s USB port
by a USB to Dynamixel Adapter. Heavier and more powerful servomotors were
placed to obtain higher torques closer to the elbow and shoulder joints; two
MX-106T on the shoulder and one MX-64T in the elbow. The lighter and smaller
RX-28 and AX-12 actuators were chosen for the wrist and gripper joints to
decrease the arm’s weight.
Software Architecture
Dynamixel packages are available in a dynamical motor four stack of ROS. This
stack contains packages used to interface with the Robotis Dynamixel line of
motors. This stack was tested and fully supports AX 12, AX 18, RX24, RX28,
MX28, RX64, MX64, EX106, and MX106 models.
Rosserial package
The physical robot must match the Kinematic arm model. ROS has a meta-package
called robot model, which contains vital packages that help build the 3D robot
models. The Unified Robot Description Format (URDF) is used in this package.
The URDF is an XML specification, which describes the robotic arm model. This
file can calculate the 3D pose of the arm robotic and detect potential collisions
between the arm and its environment.
Position Force Controller
It is essential to hold the object with enough force and in the correct position while
grasping the object. For this purpose, a position-force PID controller was used.
When the arm is placed close to the object, the gripper position-force controller is
started in the Grasp Acquisition phase. In Fig. 5 it is shown the scheme of the force
and position PID controller, which is used in the gripper system. The controller
operates in the following way:
• Position: when an object is detected, this controller is on, and the object is
collocated at the center of the gripper; it is called the correct position. When the
PID output is less than a threshold ε, this controller will turn off. The threshold ε is
specified by the absolute percentage of the setpoint position. In our case, ε is equal
to 98%.
• Force: once the PID of position is off, this force is on. It applies enough pressure
to manipulate the object without damaging it.
Experiments
To assess the interface implemented in this work with MoveIt! and RViz, some
experiments were designed to test the following points:
• The physical robot matches the Kinematic Tree model to minimize errors
between motions and positions of the physical arm versus the visualized robot in
RViz.
• The motion planning must direct the arm and gripper close to the object position
for picking it up and go direct to the target position, where the object is released.
Throughout the manipulation experiment, that the arm in RViz (1-12)A is aligned
with the physical component (1-12)B. Also, the motion planner established the
route for the arm to move towards the object, take it and place it then in the target
position. Finally, the hybrid PID controller manipulates the thing to avoid losing or
damaging it during the grasp transport phase from one place to another.
References
[4] W. Qian, Z. Xia, J. Xiong, Y. Gan, Y. Guo, S. Weng, H. Deng, Y. Hu, and J.
Zhang, “Manipulation task simulation using ros and gazebo,” in Robotics and
Biomimetics (ROBIO), 2014 IEEE International Conference on. IEEE, 2014, pp.
2594–2598.