You are on page 1of 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/323709086

Mobile manipulation task simulation using ROS with MoveIt

Conference Paper · July 2017


DOI: 10.1109/RCAR.2017.8311930

CITATIONS READS

4 3,625

3 authors:

Hao Deng Jing Xiong


Chinese Academy of Sciences Chinese Academy of Sciences
11 PUBLICATIONS   60 CITATIONS    68 PUBLICATIONS   297 CITATIONS   

SEE PROFILE SEE PROFILE

Zeyang Xia
Chinese Academy of Sciences
78 PUBLICATIONS   398 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Motion planning and Control View project

Incremental training of regression and dimensionality reduction neural networks View project

All content following this page was uploaded by Hao Deng on 09 August 2018.

The user has requested enhancement of the downloaded file.


Proceedings of The 2017 IEEE International
Conference on Real-time Computing and Robotics
July 14-18, 2017, Okinawa, Japan

Mobile Manipulation Task Simulation using ROS with MoveIt


Hao Deng1,2 , Jing Xiong1 and Zeyang Xia1,2,*

Abstract— Visualized simulation has always been one of the hardware diversity. Early examples include simulations built
most flexible techniques for quick verification of prototype or with Adams and Matlab for handling of robot movement
algorithms. In this paper, we illustrate a simple and effective and dynamic analysis [6, 7]. Later work also used OpenGL
method of how to implement the simulation of mobile manipu-
lation task using Robot Operation System (ROS) with MoveIt. to develop their own simulator, or even with Open Dynamic
First, we propose a quick and modular architecture which Engine (ODE) integrated for dynamics [8, 9]. Previous work
includes the entire configuration process of system modeling, and development has been presented in details can be found
kinematics, control, and visualization. Then, we demonstrated in [10]. This early work has been followed by an abundance
its application on simulation of a mobile manipulation task in of research considering the functional integrity. Each of these
the automatic production line. Experimental results have shown
that the proposed architecture achieves an easy configuration, a frameworks was designed for particular purposes, or perhaps
good integration and functional visualization for manipulation in response to perceived weaknesses of other frameworks.
simulation
Index Terms— ROS, MoveIt, mobile manipulation, simula-
tion.

I. INTRODUCTION
Simulation techniques have played a critical important
role in robotic development for quick verification of new
prototype, algorithms or applications, and especially system
performance optimization [1]. A robotic simulator is capable
of emulating the motion of robots and all objects in a
virtual work envelope, but without physically depending on
an actual complete hardware system, thus saving cost and
time [2].
This has, during past few years, led to increased interests
for robotic simulation. In the basic form, modeling and rend-
ing of a robot and its environment has been well studied [3-
5]. Robot manufactures, such as ABB, KUKA, Staubli, et al.
have developed simulation suits for their own robots (Fig.1(a) Fig. 1. Examples of exsiting roboic manilulation simulation platforms. (a)
KUKA WorkVisual [14], (b) Microsoft Robotic Developer Studio (MRDS),
for KUKA WorkVisual), which allows for robotics programs (c) Open Robotics Automation Virtual Environment (OpenRAVE), (d) Rviz
to be conveniently written, debugged off-line and tested on in Robot Operation System (ROS).
an actual robot, but in more complex applications, third-party
hardware and services are difficult to be integrated, sensor- There also exists a variety of robot simulation platform
based actions or physical engines, for example. developed in open sourced and running as a community
Recently, there is an increasing trend of creating a wide project. Microsoft Robotic Developer Studio (MRDS) [11]
variety of frameworks to manage the system complexity and is a Windows-based environment for robot control and sim-
This work was supported by the National Science Foundation of China ulation. MRDS can handle a wide variety of robot hard-
(61403368), National Key Project of Research and Development Plan ware, include support for packages to add other services to
of China Inter-governmental Cooperative Science and Technology Project achieve complex behaviors. MRDS is likely to be a powerful
(2016YFE0128000), Guangdong Natural Science Foundation for Distin-
guished Young Scholars (2015A030306020), Major Project of Guangdong and widely used platform before it has not been updated
Province Science and Technology Department (2014B090919002), Shen- or patched since 2012. Open Robotics Automation Virtual
zhen High-level Oversea Talent Program Grant (KQJSCX20160301144248), Environment (OpenRAVE) [12] provides an environment
Youth Innovation Promotion Association, Chinese Academy of Sciences
(2015301) and Shenzhen Research Project (GJHS20160331185913023, for development of motion planning algorithms in robotics
GJHS20160331190459402). applications, which focuses on offering interfaces and im-
1 Shenzhen Institutes of Advanced Technology, Chinese Academy of
plementations of motion planning algorithms. OpenRAVE
Sciences, Shenzhen, China
2 CAS Key Laboratory of Human-Machine Intelligence-Synergy Systems, is still actively being maintained and has been integrated
Chinese Academy of Sciences, Shenzhen, China in many simulators. Robot Operation System (ROS) [13]
∗ Author to whom correspondence should be addressed: Shenzhen Insti-
is a robotic middleware providing software frameworks for
tutes of Advanced Technology, 1068 Xueyuan Avenue, Shenzhen University
Town, Shenzhen, China. Email: zy.xia@siat.ac.cn; Phone: +86- the development of robotic software. ROS contains many
755-8639-2218 open source implementations of common robotics function-

978-1-5386-2034-2/17/$31.00 © 2017 IEEE 612


ality and algorithms. These open source implementations between software applications and actual operation system,
are organized by packages included in ROS distributions, Linux for instance, providing standard operation system ser-
while others may be developed by individuals and distributed vices such as hardware abstraction, low-level device control,
through code sharing site such as GitHub. And in recent commonly functionality implementation, message-passing,
years, ROS has become the most widely used platform for and package management.
robotic research. The computation graph is the peer-to-peer network of
Even though there are a variety of optional platforms ROS processes that are processing data together. roscore,
for robotic simulation, developing software for manipulation according to the literal, is the core of the system providing
task is still difficult, particularly as the scale and complexity collection of nodes and programs[15]. Currently roscore
of the hardware system continues to grow. Requirement contains three main functional module suits, as shown in
of system integration, code reuse, compatibility for new Fig. 2 (a), which are ROS Master, Parameter Server and
algorithms or strategies makes even professional users still rosout logging node. ROS Master provides naming and
take long time to configuration complex function modules. registration to nodes in the ROS system. Each individual
This paper is aimed to present the idea that how to easily node are given an unique name and assigned with a systemic
understand the and make use of ROS to develop your pid. ROS node can locate each other and build peer-to-peer
simulation software for a specific manipulation task. In our communications in three modes, as given in Fig 2 (b-d),
work, we propose quick and modular architecture which which are the message publish/subscribe mode (one way),
includes the entire configuration process of system modeling, the service server/client mode (one way but with feedback),
kinematics, control, and visualization. A case study of mobile and the action server/client mode (bidirectional).
manipulation task simulation in automatic production line Based on the above concepts, a general robotic simulation
demonstrates standard procedures of creating a simulation architecture can be rough classified into four key functional
of mobile manipulator and illustrating the methods of how modules, i.e., modeling, kinematics, control, and visualiza-
to implement robot molding, planning and control. tion. The relationship of modules are illustrated as Fig. 3.
This paper is organized as follows. Section II provides an
overview of ROS concepts. Section III depicts procedures of
simulation system implementation. Section IV demonstrates
its application. Section V summarizes our work and starts a
discussion about simulation of robotic manipulation task.
II. RELATED WORK
We first briefly introduce the basic concepts of ROS.

Fig. 3. General robotic simulation architecture and module relationship.

III. METHOD
To develop a robotic applications, it is required to build
at least the above four packages, and for a long time, ROS
users need to original build or modify community shared
repository for the customized robotic system. In our work, we
employ the state of art software tool MoveIt [16] to realize
Fig. 2. ROS graph concepts. (a) Core computation graph level, (b) messages an easy-to-use procedures for developing advanced robotics
publish and subscribe communication between nodes to topics, (c) service
request and response communication between server and client, (d) action applications.
communication between server and client.
A. System Modeling and Description
ROS was initially developed in 2007 by Stanford Artificial Robotic system can be modeling in tree structures. In ROS,
Intelligence Laboratory and its original philosophy is to an Unified Robot Description Format (URDF) is designed
design a flexible and dynamic software system [13]. Thus to describe the system model configuration. URDF file is a
makes ROS a collection of software frameworks for robotic XML specification recorded the whole physical information
development. Usually ROS works as a robotic middleware of link, joints, properties, actuators and sensors. In our study,

613
we used a community toolkit sw urdf exporter, which is a The motion planning plugin in MoveIt is based on an Open
SolidWorks add-in, to conveniently export of CAD models Motion Planning Library (OMPL) [19], and the interface
into URDF file [17]. As shown in Fig. 4, the explore can to motion planners is through a ROS Action or service.
create parts of files in final description packages, including OMPL provides foundational libraries support so that dif-
a directory for meshes, texture and robots urdf file. And also ferent planners with multiple algorithms can be integrated,
it can automatically determine the proper joint type, joint making planner module easily extensible. In Fig. 6 we
transforms and axes. have implemented three RRT variant planners developed for
mobile manipulation planning.

Fig. 4. Automatic robot description URDF generation. (a) using the


sw urdf exporter add-in, (b) link tree for mobile manipulator.
Fig. 6. User developed planner integrated in MoveIt.

This toolkit can save lots of developing time, but for


The loaded planner could generate a desired trajectory in
ideal simulation results, the exported package still need some
response to the initial and goal configuration, and also obeys
minor modification. Here we put material properties, deleted
the geometric and kinematic/dynamic constrains.
useless dummy links and reduced the accuracy of collision
Motion planner works with kinematic solver and collision
models for a better collision checking performance.
checker. MoveIt allows us to write our own inverse kinematic
The transmission is an extension to the urdf file, describing
algorithms. The RobotState class in MoveIt can get forward
the relationship between an actuator and its joint, which
kinematics and find jacobians. And we implement the inverse
is the necessary configuration for robot controller. In our
kinematics solver using the TracIK [20] for its efficient and
precious work [18], we have illustrated how to implement
stable inverse kinematic performance. Collision checking in
robot control. For laser sensor, Hokuyo, configuration, we
MoveIt is mainly carried out using the FCL library [21],
used the community shared urg node package. Thus we
and supports for different types of objects including meshes,
can realize a complete file configuration describing a mobile
primitive shapes and octomap objects. Motion planner will
manipulation platform. And the models can be shown in Rviz
eventually generate collision-free path and in our study, the
as given in Fig. 5.
result of a 7-DOFs Sawyer manipulator is given in Fig. 7.

Fig. 7. Motion planing for 7DOFs Sawyer manipulator.


Fig. 5. Mobile manipulator model and render in simulator Rviz.
C. Control and Hardware Interface Implementation
To drive virtual or physical robot to move, control sys-
B. Planning and State of Art Algorithms Integration
tem need talk to robot controller through ROS topics and
MoveIt is a ROS-based software for robotic manipulation, actions. It communicates with the controllers to get current
providing easy-to-use platform to develop robotic applica- robot states, instant images and other sensor data. And the
tions[16]. In our study of mobile manipulation, we use ROS ROS control also execute high-level commanders and sends
with MoveIt framework to develop customized planner and signals to low-level actuators. Architecture of this module is
integrate state of are motion planning algorithms. illustrated as Fig. 8.

614
Hardware interface is the bridge between hardware devices the laser sensor, then pick a workpiece and place at work-
and ROS application. With hardware drives, commands can holding position of the machining center.
be sent to controller through ROS messages, services or
actions. ROSIndustrial [22] provide hardware oriented func-
tionality to connect robots, cameras and sensors with ROS.
And provide supporting software for many vendor platforms.
Each platform requires different setup and configuration
steps in order to be used with ROS-Industrial. In our case of
study, Sawyer robot, Robotiq gripper, p3at mobile base and
sensors are well supported and easily implemented. In our
previous work [23], we have demonstrated how to develop
the general interfaces for customized hardware and protocols.

Fig. 10. Snapshots of the mobile manipulation task simulation.

ROS has been becoming powerful tool for robotic research


or system development. It is super easy to integrate different
functional packages from multiple projects, or even borrow
from other simulation platform, such as Trac-IK, the ik plu-
gin from OpenRAVR. With MoveIt, many foundational work
can be done automatically. Clearly using ROS and its com-
Fig. 8. Robot control module architecture.
munity resources, researchers can shorten the development
cycle time, and take efforts for new features implementation,
D. Visualization and Task Simulation which will in turn enhance the extensible ability into new
applications. Since the intention of this paper is to guide
For manipulation simulation, above modules are working
users from ROS concept to practical applications, and may
under the hood, only the simulator GUI or visualization
also hope to provide available solutions and resources in
toolkit can be seen by users [24]. With all the models loaded,
simulation of the robotic manipulation task, technical details
planner and control started, we use Rviz to visualize the
have not gone deeper.
simulation given in Fig. 9.
And there is also a clear trend that ROS development
will have moved from the early extensive functionality into
promising integrated solution.

R EFERENCES
[1] Torres-Torriti M, Arredondo T, Castillo-Pizarro P. Survey and compar-
ative study of free simulation software for mobile robots [J]. Robotica,
2016, 34(04): 791-822.
[2] Qian W, Xia Z, Xiong J, et al. Manipulation task simulation using
ros and gazebo [C]. Robotics and Biomimetics (ROBIO), 2014 IEEE
International Conference on. IEEE, 2014: 2594-2598
[3] Biber P, Andreasson H, Duckett T, et al. 3D modeling of indoor
environments by a mobile robot with a laser scanner and panoramic
camera [C]. Intelligent Robots and Systems, 2004.(IROS 2004). 2004
IEEE/RSJ International Conference on. IEEE, 2004, 4: 3430-3435..
Fig. 9. Mobile manipulation simulation scene in Rviz. [4] Pepper C, Balakirsky S, Scrapper C. Robot simulation physics val-
idation [C]. 2007 Workshop on Performance Metrics for Intelligent
Systems. ACM, 2007: 97-104.
[5] Karakaya S, Kucukyildiz G, Ocak H. A New Mobile Robot Toolbox
IV. RESULTS AND DISCUSSION for Matlab [J]. Journal of Intelligent & Robotic Systems, 2017: 1-16.
In order to demonstrate procedures of creating simulation [6] Yi Z, Wenshi S. Dynamics Analysis of 6-DOF Robot based on
ADAMS [C]. 2017 International Conference on Mechatronics Systems
and illustrate the proposed methods of how to implement, we and Control Engineering. ACM, 2017: 6-9.
conduct a case study of mobile manipulation task simulation [7] Krishnamurthy D A. Modeling and Simulation of Skid Steered Robot
in automatic production line. Pioneer 3AT [J]. 2017.
[8] Laue T, Spiess K, Rfer T. SimRobota general physical robot simulator
The mobile manipulator need navigate in the unstructured and its application in robocup [C]. Robot Soccer World Cup. Springer
industrial environment with point cloud map building from Berlin Heidelberg, 2005: 173-183.

615
[9] Hugues L, Bredeche N. Simbad: an autonomous robot simulation
package for education and research [C]. International Conference on
Simulation of Adaptive Behavior. Springer Berlin Heidelberg, 2006:
831-842.
[10] Kramer J, Scheutz M. Development environments for autonomous
mobile robots: A survey [J]. Autonomous Robots, 2007, 22(2): 101-
132.
[11] jackson J. Microsoft robotics studio: A technical introduction [J]. IEEE
Robotics & Automation Magazine, 2007, 14(4).
[12] Diankov R, Kuffner J. Openrave: A planning architecture for au-
tonomous robotics [J]. Robotics Institute, Pittsburgh, PA, Tech. Rep.
CMU-RI-TR-08-34, 2008, 79.
[13] Quigley M, Conley K, Gerkey B, et al. ROS: an open-source Robot
Operating System [C]. ICRA workshop on open source software. 2009,
3(3.2): 5.
[14] https://www.kuka.com/en-us/products/
robotics-systems/software/system-software/kuka_
systemsoftware/kuka-work-visual.
[15] http://wiki.ros.org/ROS/Concepts.
[16] http://moveit.ros.org/.
[17] http://wiki.ros.org/sw_urdf_exporter.
[18] Qian W, Xia Z, Xiong J, et al. Manipulation task simulation using
ros and gazebo [C]. Robotics and Biomimetics (ROBIO), 2014 IEEE
International Conference on. IEEE, 2014: 2594-2598.
[19] http://ompl.kavrakilab.org/.
[20] P. Beeson and B. Ames. TRAC-IK: An Open-Source Library for
Improved Solving of Generic Inverse Kinematics. In International
Conference on Humanoids, 2015.
[21] J. Pan, S. Chitta, D. Manocha, FCL: A general purpose library for
collision and proximity queries [C]. In International Conference on
Robotics and Automation (ICRA), 2012.
[22] Edwards S, Lewis C. Ros-industrial: applying the robot operating sys-
tem (ros) to industrial applications [C]. IEEE International Conference
on Robotics and Automation, ECHORD Workshop. 2012.
[23] Deng H, Xia Z, Weng S, et al. A motion sensing-based framework for
robotic manipulation [J]. Robotics and Biomimetics, 2016, 3(1): 23.
[24] Zaman S, Slany W, Steinbauer G. ROS-based mapping, localization
and autonomous navigation using a Pioneer 3-DX robot and their
relevant issues [C]. Electronics, Communications and Photonics Con-
ference (SIECPC), 2011 Saudi International. IEEE, 2011: 1-5.

616

View publication stats

You might also like