Your one-stop guide to the Robot Operating System About This Book * Model your robot on a virtual world and learn how to simulate it * Create, visualize, and process Point Cloud information * Easy-to-follow, practical tutorials to program your own robots In Detail If you have ever tried building a robot, then you know how cumbersome programming everything from scratch can be. This is where ROS comes into the picture. It is a collection of tools, libraries, and conventions that simplifies the robot building process. What's more, ROS encourages collaborative robotics software development, allowing you to connect with experts in various fields to collaborate and build upon each other's work. Packed full of examples, this book will help you understand the ROS framework to help you build your own robot applications in a simulated environment and share your knowledge with the large community supporting ROS. Starting at an introductory level, this book is a comprehensive guide to the fascinating world of robotics, covering sensor integration, modeling, simulation, computer vision, navigation algorithms, and more. You will then go on to explore concepts like topics, messages, and nodes. Next, you will learn how to make your robot see with HD cameras, or navigate obstacles with range sensors. Furthermore, thanks to the contributions of the vast ROS community, your robot will be able to navigate autonomously, and even recognize and interact with you in a matter of minutes. What's new in this updated edition? First and foremost, we are going to work with ROS Hydro this time around. You will learn how to create, visualize, and process Point Cloud information from different sensors. This edition will also show you how to control and plan motion of robotic arms with multiple joints using MoveIt! By the end of this book, you will have all the background you need to build your own robot and get started with ROS. What You Will Learn * Install a complete ROS Hydro system * Create ROS packages and metapackages, using and debugging them in real time * Build, handle, and debug ROS nodes * Design your 3D robot model and simulate it in a virtual environment within Gazebo * Give your robots the power of sight using cameras and calibrate and perform computer vision tasks with them * Generate and adapt the navigation stack to work with your robot * Integrate different sensors like Range Laser, Arduino, and Kinect with your robot * Visualize and process Point Cloud information from different sensors * Control and plan motion of robotic arms with multiple joints using MoveIt! Who This Book Is For If you are a robotic enthusiast who wants to learn how to build and program your own robots in an easy-to-develop, maintainable, and shareable way, this book is for you. In order to make the most of the book, you should have a C++ programming background, knowledge of GNU/Linux systems, and general skill in computer science. No previous background on ROS is required, as this book takes you from the ground up. It is also advisable to have some knowledge of version control systems, such as svn or git, which are often used by the community to share code. Style and approach This book is an easy-to-follow guide that will help you find your way through the ROS framework. This book is packed with hands-on examples that will help you program your robot and give you complete solutions using ROS open source libraries and tools.
Show moreYour one-stop guide to the Robot Operating System About This Book * Model your robot on a virtual world and learn how to simulate it * Create, visualize, and process Point Cloud information * Easy-to-follow, practical tutorials to program your own robots In Detail If you have ever tried building a robot, then you know how cumbersome programming everything from scratch can be. This is where ROS comes into the picture. It is a collection of tools, libraries, and conventions that simplifies the robot building process. What's more, ROS encourages collaborative robotics software development, allowing you to connect with experts in various fields to collaborate and build upon each other's work. Packed full of examples, this book will help you understand the ROS framework to help you build your own robot applications in a simulated environment and share your knowledge with the large community supporting ROS. Starting at an introductory level, this book is a comprehensive guide to the fascinating world of robotics, covering sensor integration, modeling, simulation, computer vision, navigation algorithms, and more. You will then go on to explore concepts like topics, messages, and nodes. Next, you will learn how to make your robot see with HD cameras, or navigate obstacles with range sensors. Furthermore, thanks to the contributions of the vast ROS community, your robot will be able to navigate autonomously, and even recognize and interact with you in a matter of minutes. What's new in this updated edition? First and foremost, we are going to work with ROS Hydro this time around. You will learn how to create, visualize, and process Point Cloud information from different sensors. This edition will also show you how to control and plan motion of robotic arms with multiple joints using MoveIt! By the end of this book, you will have all the background you need to build your own robot and get started with ROS. What You Will Learn * Install a complete ROS Hydro system * Create ROS packages and metapackages, using and debugging them in real time * Build, handle, and debug ROS nodes * Design your 3D robot model and simulate it in a virtual environment within Gazebo * Give your robots the power of sight using cameras and calibrate and perform computer vision tasks with them * Generate and adapt the navigation stack to work with your robot * Integrate different sensors like Range Laser, Arduino, and Kinect with your robot * Visualize and process Point Cloud information from different sensors * Control and plan motion of robotic arms with multiple joints using MoveIt! Who This Book Is For If you are a robotic enthusiast who wants to learn how to build and program your own robots in an easy-to-develop, maintainable, and shareable way, this book is for you. In order to make the most of the book, you should have a C++ programming background, knowledge of GNU/Linux systems, and general skill in computer science. No previous background on ROS is required, as this book takes you from the ground up. It is also advisable to have some knowledge of version control systems, such as svn or git, which are often used by the community to share code. Style and approach This book is an easy-to-follow guide that will help you find your way through the ROS framework. This book is packed with hands-on examples that will help you program your robot and give you complete solutions using ROS open source libraries and tools.
Show moreEnrique Fernandez has a PhD in computer engineering from the
University of Las Palmas de Gran Canaria and is a senior robotics
engineer currently working at Clearpath Robotics, Inc. He did his
MSc master's thesis in 2009 on SLAM. Enrique addresses the problem
of path planning for autonomous underwater gliders (AUGs) in his
PhD thesis, which was presented in 2013. During that period, he
also worked on Computer Vision, AI, and other robotics topics, such
as inertial navigation systems and Visual SLAM at the CIRS/ViCOROB
Research Lab of the University of Girona for AUVs. He also
participated in the Student Autonomous Underwater Challenge, Europe
(SAUC-E) in 2012 and collaborated in the 2013 edition; in the 2012
edition, he was awarded a prize.
After his PhD, Enrique joined PAL Robotics in June 2013 as a senior
robotics engineer in the Autonomous Navigation department. There,
he developed software for REEM, REEM-C, and mobile-based robots and
also for corresponding projects, such as Stockbot, using the ROS
framework intensively. He worked on motion planning (path planning
and control for mobile robots), robot localization, and SLAM.
Recently, in 2015, he joined Clearpath Robotics, Inc. to work as a
senior autonomy developer on SLAM, within the Autonomy
department.
From an academic perspective, Enrique has published several
conference papers and publications, two of them on the
International Conference of Robotics and Automation (ICRA), in
2011. He is also an author of chapters of a few books and a
previous book about ROS, Learning ROS for Robotics Programming by
Packt Publishing. His MSc master's thesis was about the FastSLAM
algorithm for indoor robots using a SICK laser scanner and the
wheel odometry of a Pioneer differential platform. His PhD thesis
contributed path planning algorithms and tools for AUGs. He also
has experience with electronics and embedded systems such as PC104
and Arduino. His background covers SLAM, Computer Vision, path
planning, optimization, and robotics and artificial intelligence in
general. Luis Sanchez Crespo completed his dual master's degree in
electronics and telecommunication engineering from the University
of Las Palmas de Gran Canaria. He has collaborated with different
research groups at the Institute for Technological Development and
Innovation (IDETIC), the Oceanic Platform of Canary Islands
(PLOCAN), and the Institute of Applied Microelectronics (IUMA),
where he actually researches the imaging of super-resolution
algorithms.
His professional interests lie in computer vision, signal
processing, and electronic design applied to robotics systems. For
this reason, he joined the AVORA team, a group of young engineers
and students working on the development of underwater autonomous
vehicles (AUVs) from scratch. In this project, Luis has started
developing acoustic and computer vision systems, extracting
information from different sensors, such as hydrophones, sonar, and
cameras.
With a strong background gained in marine technology, Luis
cofounded Subsea Mechatronics, a young start-up, where he works on
developing remotely operated and autonomous vehicles for underwater
environments.
Here's what Dario Sosa Cabrera, a marine technologies engineer and
entrepreneur (and the cofounder and maker of LPA Fabrika: Gran
Canaria Maker Space) has to say about Luis:
"He is very enthusiastic and an engineer in multiple disciplines.
He is responsible for his work. He can manage himself and can take
up responsibilities as a team leader, as was demonstrated at the
SAUC-E competition, where he directed the AVORA team. His
background in electronics and telecommunications allows him to
cover a wide range of expertise from signal processing and
software, to electronic design and fabrication."
Luis has participated as a technical reviewer for the previous
version of Learning ROS for Robotics Programming by Packt
Publishing. Anil Mahtani is a computer scientist who has been
working for the past 5 years on underwater robotics. He first
started working in the field with his master's thesis, where he
developed a software architecture for a low-cost ROV. During the
development of his thesis, he also became the team leader and lead
developer of AVORA, a team of university students that designed and
developed an autonomous underwater vehicle for the Students
Autonomous Underwater Challenge – Europe (SAUC-E) in 2012. That
same year, he completed his thesis and his MSc in computer science
at the University of Las Palmas de Gran Canaria, and shortly
thereafter, he became a software engineer at SeeByte Ltd, a world
leader in smart software solutions for underwater systems.
During his tenure at SeeByte Ltd, Anil was key to the development
of several semi-autonomous and autonomous underwater systems for
the military and the oil and gas industries. In those projects, he
was heavily involved in the development of autonomous systems, the
design of distributed software architectures, and low-level
software development and has also contributed to providing computer
vision solutions for front-looking sonar imagery. At SeeByte Ltd.,
he has also achieved the position of project manager, managing a
team of engineers developing and maintaining the internal core C++
libraries.
His professional interests lie mainly in software engineering,
algorithms, distributed systems, networks, and operating systems.
Anil's main role in robotics is to provide efficient and robust
software solutions, addressing not only the current problems at
hand but also foreseeing future problems or possible enhancements.
Given his experience, he is also an asset when dealing with
computer vision, machine learning, and control problems. Anil is
interested in DIY and electronics, and he has developed several
Arduino libraries that he has contributed back to the community.
Aaron Martinez is a computer engineer, entrepreneur, and expert in
digital fabrication. He did his master's thesis in 2010 at
Instituto Universitario de Ciencias y Tecnologias Ciberneticas
(IUCTC) from the University of Las Palmas de Gran Canaria. He
prepared his master's thesis in the field of telepresence using
immersive devices and robotic platforms. After completing his
academic career, he attended an internship program at The Institute
for Robotics at the Johannes Kepler University in Linz, Austria.
During his internship program, he worked as part of a development
team of a mobile platform using ROS and the navigation stack. After
that, he was involved in projects related to robotics; one of them
is the AVORA project at the University of Las Palmas de Gran
Canaria. In this project, he worked on the creation of an
autonomous underwater vehicle (AUV) to participate in the Student
Autonomous Underwater Challenge-Europe (SAUC-E) in Italy. In 2012,
he was responsible for manufacturing this project; in 2013, he
helped adapt the navigation stack and other algorithms from ROS to
the robotic platform.
Recently, Aaron cofounded a company called SubSeaMechatronics, SL.
This company works on projects related to underwater robotics and
telecontrol systems; it also designs and manufactures subsea
sensors. The main purpose of the company is to develop custom
solutions for R&D prototypes and heavy-duty robots.
Aaron has experience in many fields, such as programming, robotics,
mechatronics, and digital fabrication, and devices such as Arduino,
BeagleBone, servers, and LIDAR. Nowadays, he is designing robotics
platforms for underwater and aerial environments at
SubSeaMechatronics SL.
![]() |
Ask a Question About this Product More... |
![]() |