40969
40969
https://ebookmeta.com/product/ros-robot-programming-book-by-
turtlebo3-developers-yoonseok-pyo/
https://ebookmeta.com/product/robot-operating-system-ros-for-
absolute-beginners-robotics-programming-made-easy-lentin-joseph/
https://ebookmeta.com/product/robot-operating-system-ros-for-
absolute-beginners-robotics-programming-made-easy-2nd-edition-
lentin-joseph/
https://ebookmeta.com/product/robot-operating-system-ros-for-
absolute-beginners-2nd-edition-lentin-joseph-aleena-johny/
https://ebookmeta.com/product/micro-and-nanotechnologies-based-
product-development-1st-edition-neelesh-kumar-mehra-editor/
The Journal of Physical Security Volume 11 Issue 1 JPS
11 1 1st Edition Right Brain Sekurity
https://ebookmeta.com/product/the-journal-of-physical-security-
volume-11-issue-1-jps-11-1-1st-edition-right-brain-sekurity/
https://ebookmeta.com/product/the-breast-is-history-an-intimate-
memoir-of-breast-cancer-2nd-edition-bronwyn-hope/
https://ebookmeta.com/product/duran-duran-s-
rio-33-1-3-series-1st-edition-annie-zaleski/
https://ebookmeta.com/product/on-boxing-critical-interventions-
in-the-bittersweet-science-1st-edition-joseph-d-lewandowski/
https://ebookmeta.com/product/from-fan-to-forever-1st-edition-
tiana-warner/
The Definitive Guide to Conversational AI with
Dialogflow and Google Cloud: Build Advanced Enterprise
Chatbots, Voice, and Telephony Agents on Google Cloud
Lee Boonstra
https://ebookmeta.com/product/the-definitive-guide-to-
conversational-ai-with-dialogflow-and-google-cloud-build-
advanced-enterprise-chatbots-voice-and-telephony-agents-on-
google-cloud-lee-boonstra/
Robot Programming
From the basic concept to practical programming and robot application
Reproduction and modification of this book in any form or by means is strictly prohibited
without the prior consent or the written permission from the publisher.
ROS
Robot Programming
YoonSeok Pyo, HanCheol Cho, RyuWoon Jung, TaeHoon Lim
Preface
This book is a ROS robot programming guide based on the experiences we had
accumulated from ROS projects. We tried to make this a comprehensive guide
that covers all aspects necessary for a beginner in ROS. Topics such as
embedded system, mobile robots, and robot arms programmed with ROS are
included. For those who are new to ROS, there are footnotes throughout the
book providing more information on the web. Through this book, I hope that
more people will be aware of and participate in bringing forward the ever-
accelerating collective knowledge of Robotics Engineering.
Lastly, I would like to thank everybody who helped in publishing this book. I
am also grateful to Morgan, Brian, Tully and all ROS development team,
maintainers and contributors. A sincere gratitude to the ROS experts Jihoon
Lee, Byeongkyu Ahn, Keunman Jung, Changhyun Sung, Seongyong Koo, who
always shine new knowledge on me. I look forward to continue doing more
great things with you all. A special thanks to Changhoon Han, Inho Lee, Will
Son, Jason and Kayla Kim who was pivotal in helping the book be easy to
understand to non-experts. Thanks to the entire ROBOTIS team. This book is
here thanks to the great team, who started this endeavor with the question of
“What is a robot?” I would like to thank members of Open Source Team(OST),
which strives to help more people ponder upon and develop robots. I also
thanks to Jinwook Kim, he is a pillar in the open source ecosystem and
community. Much thanks to the ROS Avengers Hancheol Cho, Ryuwoon Jung,
iv
Preface
and Taehoon Lim, who are all co-authors of this book. A special thanks to my
academic advisor from Kyushu University, Professor Ryo Kurazume and
Professor Tsutomu Hasegawa. You have allowed me to walk the path of a
researcher, and I continue to learn much from you. Thank you for the never-
ending teachings. I would also like to thank Hyungil Park and the entire
administrative team of OROCA who gave me endless support in making this
book. Thank you to all the members from OROCA and to the staff of the
OROCA Open Projects, who is so passionate of the open robotics platform
development. I look forward to more discussions and projects on many topics
regarding robotics. Thanks to the administrators of the Facebook group, the
Korea Open Society for Robotics, and to all my fellow colleagues who deeply
care for and ponder on the robotics. Thanks to the robot game team, RO:BIT,
with whom I have shared my youth. Thanks to the robot research club, ROLAB.
I would also like to thank the CEO, Bill(Byoungsoo) Kim, and CTO, Inyong Ha,
of ROBOTIS whose support my all activity so that I can write this book.
Last but not least, I would like to thank my loving family. To my parents: I love,
admire, and always thank you. I would like to extend my love and gratitude to
my parents-in-law, who always support me by my side. To my loving wife
Keunmi Park, who always takes care of me: I love you, always thank you, and
wish to live in much happiness with you! To my son, Jian, and daughter, Jiwoo,
who I cherish most in this world: I will always try to be a father that makes this
world brighter and happier!
July 2017,
Yoon Seok Pyo
v
Preface
I would like to thank Hyung Joon Pyo, Hyung il Park, and Byung Hoon Park for
our joined efforts in creating OpenCR. I will cherish memories of you helping
me to overcome my shortcomings. I am also grateful to Open Source Team
(OST) members who always make me cheerful and happy. I would like to
thank In wook Kim for giving me generous advice and encouragement during
difficult times since the beginning of my career. I would also like to thank
Byoung Soo Kim, the CEO of ROBOTIS for giving me the opportunity for a new
challenge in my life. When I was young, I read his writings in the Hitel online
society, which allowed me to learn a lot and eventually led me to make robots,
and ultimately I was able to join his company to make robots.
I promise to be a good father to my loving son, Yu Chan, who I have not been
able to play with a lot for the excuse of being busy. I would like to express my
love and gratitude to my wife Kyoung Soon, who always gives me strength
when I am in need and returns my immature behaviors with love and care.
July 2017,
Han Cheol Cho
vi
Preface
Now, make robots as we imagined! There was a time when I used to make
robots using the robot kits enclosed in books. Even when I would succeed in
making simple movements, I was so pleased and content thinking “This is a
robot!” However, in recent years, many concepts of robots have been redefined
through the enhancement of computer performance, decreasing cost of
equipment, and the rapid and convenient prototyping of materials. Hobbyists
began to dive into making robots, growing the mass of information. Even cars,
planes, and submarines can now be called robot platforms as makers began to
automate their own products. As people in various fields started to incorporate
technology that encompasses a wide range of knowledge, robots have finally
begun taking the form of what it has long been dreamed of. At the first glance,
we may say that the robotics society is at a great age, but on the other side of
this progress, there could be those that have dropped out from the fast-paced
progress and trend of the performance and speed of today’s robots. This could
thereby make robots only accessible to those who have knowledge or the
people inside the industry.
ROS can be the solution to this problem. It is easy to learn and use the skills
required in the field without being an expert. You can save the time and money
it would have taken to aquire the skills that used to be necessary. A system is
developing that allows people to ask the producers about an issue and receive
direct feedback, enhancing the development environment. Companies such
as BMW are currently implementing ROS. It is becoming possible to use ROS
in business or for collaboration. The introduction of ROS can be considered as
having a competitive advantage in the corresponding field.
I hope that I will be able to meet the readers of this book again in the world of
ROS. I would like to express my sincere thanks and appreciation to the
members of Open Source Team (OST), especially Dr. Yoon Seok Pyo, who gave
me the opportunity to participate in writing this book. I would also like to
thank Han Cheol Cho and Tae Hoon Lim, who went through this process with
me amidst various ongoing projects. In addition, I would like to thank
Hyunjong Song and Hyun Suk Kim, who gave me generous advice and help in
the robot society, Jinwook Kim, who helped me so that I could continue
learning about robots, Ki Je Sung, who joined me in hosting the autonomous
driving tournament, and the members of the Oroca AuTURBO project, who I
have spent valuable times with. And I would like to express to appreciation to
my parents for their generous support and care. I want them to know that I
only wish to be able to repay their love somehow. I give my deepest gratitude
to my brother whose company has enriched my life and to Ha Kim, who will
always be by me. First and foremost, I give all the glory to my Creator, God.
July 2017,
Ryu Woon Jung
vii
Preface
Today we can find many videos in articles about how our society, economy,
and culture will change in the future based on state-of-the-art robot technology
and artificial intelligence. Although there is optimism that our lives will
improve thanks to the rapidly developing society, a pessimistic outlook that
the labor market will take a toll is making people more insecure. As such,
research and development on robots and artificial intelligence that is currently
taking place around us will have a profound impact on us in the near future.
Therefore, we have to be more interested in robot technology than we are now
and try to understand and be prepared for the future.
I was in charge of the manipulator part of this book and tried to organize the
ROS, Gazebo, and MoveIt! Wiki contents to be easier to understand. I also tried
filling in gaps by including topics that were not explained in the Wiki which
took me some time to understand. I hope to be a person who can share useful
knowledge with others.
I would first like to thank Dr. Yoon Seok Pyo, who has given me many lessons
as my senior in school and as a supervisor at work. You gave me the courage
and opportunity throughout the entire process of writing this book. I would
also like to thank Dr. Chang Hyun Seong for reviewing my writing in spite of
your busy schedule, and for kindly answering all my questions. Special thanks
to my Open Source Team colleagues whom I spend time with from morning to
evening, and to the whole ROBOTIS company members who have always greet
viii
Preface
me with smiles. I personally want to thank Professor Jong ho Lee, who was my
professor at my graduate school. Under his guidance, I was able to develop not
only engineering knowledge and research but also integrity, patience and
responsibility. Thank you once again.
Lastly, I would like to express my love and gratitude to my loving father who is
always by my side with a warm heart, my mother who has such curiosity and
creativity and is always open to learn from everything, and my only brother
with whom I always feel most comfortable. I would like to thank Go Eun Kim,
who has stood by my side for the past seven years with understanding and
enduring love. You make my heart beat each day.
July 2017,
Tae Hoon Lim
ix
About the Authors
YoonSeok Pyo
HanCheol Cho
x
About the Authors
RyuWoon Jung
TaeHoon Lim
xi
Open Source Contents
≆≆ https://github.com/ROBOTIS-GIT/robotis_tools → Chapter 3
≆≆ https://github.com/ROBOTIS-GIT/turtlebot3_deliver → Chapter 12
≆≆ https://github.com/ROBOTIS-GIT/open_manipulator → Chapter 13
xii
Open Source Contents
≆≆ OpenCR (Chapter 9)
• Board: https://github.com/ROBOTIS-GIT/OpenCR-Hardware
• Burger: http://www.robotis.com/service/download.php?no=676
• Waffle: http://www.robotis.com/service/download.php?no=677
• Chain: http://www.robotis.com/service/download.php?no=690
• SCARA: http://www.robotis.com/service/download.php?no=691
• Link: http://www.robotis.com/service/download.php?no=692
xiii
Open Source Contents
➊ Direct Download
To use the “git” command to download directly in Linux, you will need to install git. Open a
terminal window and install git as follows:
You can download the source code of the repository with the following command.
(e.g.: ros_tutorials Package)
xiv
Open Source Contents
In addition, the contents related to the OpenCR controller for building ROS embedded systems
covered in this book and OpenManipulator for learning manipulation are also available.
Information about Dynamixel, which is used as an actuator for TurtleBot3 and OpenManipulator,
and its required software of Dynamixel SDK and Dynamixel Workbench can also be found from
below links.
Lastly, there are materials that can be used as ROS study reference. It contains chapter-by-chapter
summaries as well as case examples that are very useful if used together with this book, for college
courses, group studies and seminars.
xv
Discovering Diverse Content Through
Random Scribd Documents
canary birds are amongst Europeans, to the inhabitants, who like to
hear their amorous chant.
“Their chirping would be irritable to the ears of persons trained to
more melodious sounds,” Lileth concludes by saying, “but the caprice
of those African blacks is not one whit stranger than that of those
who enjoy some of the more modern drawing-room songs.” Mr.
Cummercropper gazes in weak-eyed rapture at his dark-eyed
enchantress as she speaks, and inclines his large, pink ears unto her.
He is even about to second her remarks. But he gets no further
than, “Yhas, bai Joave,” when he accidentally drops his eyeglass into
his wine, which misfortune entirely upsets all his ideas, and renders
him hopelessly nervous during the remainder of the evening.
After glancing at the unhappy storekeeper, as he clumsily fishes
for his “glass eye” in the ruby-coloured Dalwood, Miss Mundella
turns towards Claude, and finds him regarding her curiously.
“Pardon me,” he says, as he observes that Lileth is for the instant
somewhat disconcerted by the look she has seen in his face. “Pardon
me; but we have surely met before. I am nearly certain of it. Will
you kindly assist my ungallant memory? I confess I am puzzled to
know how I could ever forget. It is hardly likely you will remember
the circumstance of our meeting, when I——”
Claude suddenly ceases to speak. His features become set and
firm, and slightly paler than before. Memory has come to his aid,
and the bridge scene in Sydney is enacted over again in his mind’s
eye. All but Angland and Miss Mundella are amusing themselves with
Glory’s little dog Fluffy, which is begging for cheese rind.
Lileth leans forward and softly speaks,—
“Your thoughts seem unpleasant ones, Mr. Angland. I trust that
the memory of any previous meeting, if we have met, is not
associated with them.”
Claude again regards the grand face turned towards him
observantly as he replies,—
“I thought I recognized your voice. But I made a foolish mistake.
And to tell you the truth, the sound of your voice brought to my
mind some very unpleasant recollections. I see I have aroused your
interest. You will then pardon me if I explain under what
circumstances it was that I last heard a voice so much resembling
yours. I was assaulted in Sydney, a month or so ago, by two men
who attempted my destruction. One of them, forgive my saying so,
somewhat resembled you. But it was the tones of your voice, which
are exactly like his, that at first puzzled me.”
“You are certainly not very complimentary, Mr. Angland,” responds
Miss Mundella, smiling, without betraying in the least the agitation
which almost renders her incapable of playing her part; “but I
forgive you. And you must tell me, to-morrow, all about your
adventure with my badly behaved ‘doppel-ganger’ in Sydney. Come,
Glory!” she adds gaily to her cousin, as she rises to say “Good-
night.”
“We shall have to be up early to-morrow, if we are to meet the
Miss Chesters at the Red Billabong. Schlaf wohl!” And the two ladies
retire, leaving the men to wind up the evening with their cigars.
Midnight.