ROS Robotics By Example


Book Description

Bring life to your robot using ROS robotic applications About This Book This book will help you boost your knowledge of ROS and give you advanced practical experience you can apply to your ROS robot platforms This is the only book that offers you step-by-step instructions to solidify your ROS understanding and gain experience using ROS tools From eminent authors, this book offers you a plethora of fun-filled examples to make your own quadcopter, turtlebot, and two-armed robots Who This Book Is For If you are a robotics developer, whether a hobbyist, researchers or professional, and are interested in learning about ROS through a hands-on approach, then this book is for you. You are encouraged to have a working knowledge of GNU/Linux systems and Python. What You Will Learn Get to know the fundamentals of ROS and apply its concepts to real robot examples Control a mobile robot to navigate autonomously in an environment Model your robot designs using URDF and Xacro, and operate them in a ROS Gazebo simulation Control a 7 degree-of-freedom robot arm for visual servoing Fly a quadcopter to autonomous waypoints Gain working knowledge of ROS tools such as Gazebo, rviz, rqt, and Move-It Control robots with mobile devices and controller boards In Detail The visionaries who created ROS developed a framework for robotics centered on the commonality of robotic systems and exploited this commonality in ROS to expedite the development of future robotic systems. From the fundamental concepts to advanced practical experience, this book will provide you with an incremental knowledge of the ROS framework, the backbone of the robotics evolution. ROS standardizes many layers of robotics functionality from low-level device drivers to process control to message passing to software package management. This book provides step-by-step examples of mobile, armed, and flying robots, describing the ROS implementation as the basic model for other robots of these types. By controlling these robots, whether in simulation or in reality, you will use ROS to drive, move, and fly robots using ROS control. Style and approach This is an easy-to-follow guide with hands-on examples of ROS robots, both real and in simulation.




ROS Robotics By Example


Book Description

Learning how to build and program your own robots with the most popular open source robotics programming framework About This Book Get to know the fundamentals of ROS and apply its concepts to real examples Learn how to write robotics applications without getting bogged down in hardware problems Learn to implement best practices in ROS development Who This Book Is For This book is for robotic enthusiasts, researchers and professional robotics engineers who would like to build robot applications using ROS. It gives the robotics beginner and the ROS newbie an immensely practical introduction to robot building and robotics application coding. Basic knowledge of GNU/Linux and the ability to write simple applications is assumed, but no robotics knowledge, practical or theoretical, is needed. What You Will Learn Control a robot without requiring a PhD in robotics Simulate and control a robot arm Control a flying robot Send your robot on an independent mission Learning how to control your own robots with external devices Program applications running on your robot Extend ROS itself Extend ROS with the MATLAB Robotics System Toolbox In Detail ROS is a robust robotics framework that works regardless of hardware architecture or hardware origin. It standardizes most layers of robotics functionality from device drivers to process control and message passing to software package management. But apart from just plain functionality, ROS is a great platform to learn about robotics itself and to simulate, as well as actually build, your first robots. This does not mean that ROS is a platform for students and other beginners; on the contrary, ROS is used all over the robotics industry to implement flying, walking and diving robots, yet implementation is always straightforward, and never dependent on the hardware itself. ROS Robotics has been the standard introduction to ROS for potential professionals and hobbyists alike since the original edition came out; the second edition adds a gradual introduction to all the goodness available with the Kinetic Kame release. By providing you with step-by-step examples including manipulator arms and flying robots, the authors introduce you to the new features. The book is intensely practical, with space given to theory only when absolutely necessary. By the end of this book, you will have hands-on experience on controlling robots with the best possible framework. Style and approach ROS Robotics By Example, Second Edition gives the robotics beginner as well as the ROS newbie an immensely practical introduction to robot building and robotics application coding. ROS translates as "robot operating system"; you will learn how to control a robot via devices and configuration files, but you will also learn how to write robot applications on the foundation of this operating system.




ROS Robotics Projects


Book Description

Build a variety of awesome robots that can see, sense, move, and do a lot more using the powerful Robot Operating System About This Book Create and program cool robotic projects using powerful ROS libraries Work through concrete examples that will help you build your own robotic systems of varying complexity levels This book provides relevant and fun-filled examples so you can make your own robots that can run and work Who This Book Is For This book is for robotic enthusiasts and researchers who would like to build robot applications using ROS. If you are looking to explore advanced ROS features in your projects, then this book is for you. Basic knowledge of ROS, GNU/Linux, and programming concepts is assumed. What You Will Learn Create your own self-driving car using ROS Build an intelligent robotic application using deep learning and ROS Master 3D object recognition Control a robot using virtual reality and ROS Build your own AI chatter-bot using ROS Get to know all about the autonomous navigation of robots using ROS Understand face detection and tracking using ROS Get to grips with teleoperating robots using hand gestures Build ROS-based applications using Matlab and Android Build interactive applications using TurtleBot In Detail Robot Operating System is one of the most widely used software frameworks for robotic research and for companies to model, simulate, and prototype robots. Applying your knowledge of ROS to actual robotics is much more difficult than people realize, but this title will give you what you need to create your own robotics in no time! This book is packed with over 14 ROS robotics projects that can be prototyped without requiring a lot of hardware. The book starts with an introduction of ROS and its installation procedure. After discussing the basics, you'll be taken through great projects, such as building a self-driving car, an autonomous mobile robot, and image recognition using deep learning and ROS. You can find ROS robotics applications for beginner, intermediate, and expert levels inside! This book will be the perfect companion for a robotics enthusiast who really wants to do something big in the field. Style and approach This book is packed with fun-filled, end-to-end projects on mobile, armed, and flying robots, and describes the ROS implementation and execution of these models.




Programming Robots with ROS


Book Description

Chapter 3. Topics; Publishing to a Topic; Checking That Everything Works as Expected; Subscribing to a Topic; Checking That Everything Works as Expected; Latched Topics; Defining Your Own Message Types; Defining a New Message; Using Your New Message; When Should You Make a New Message Type?; Mixing Publishers and Subscribers; Summary; Chapter 4. Services; Defining a Service; Implementing a Service; Checking That Everything Works as Expected; Other Ways of Returning Values from a Service; Using a Service; Checking That Everything Works as Expected; Other Ways to Call Services; Summary.




Mastering ROS for Robotics Programming


Book Description

Design, build and simulate complex robots using Robot Operating System and master its out-of-the-box functionalities About This Book Develop complex robotic applications using ROS for interfacing robot manipulators and mobile robots with the help of high end robotic sensors Gain insights into autonomous navigation in mobile robot and motion planning in robot manipulators Discover the best practices and troubleshooting solutions everyone needs when working on ROS Who This Book Is For If you are a robotics enthusiast or researcher who wants to learn more about building robot applications using ROS, this book is for you. In order to learn from this book, you should have a basic knowledge of ROS, GNU/Linux, and C++ programming concepts. The book will also be good for programmers who want to explore the advanced features of ROS. What You Will Learn Create a robot model of a Seven-DOF robotic arm and a differential wheeled mobile robot Work with motion planning of a Seven-DOF arm using MoveIt! Implement autonomous navigation in differential drive robots using SLAM and AMCL packages in ROS Dig deep into the ROS Pluginlib, ROS nodelets, and Gazebo plugins Interface I/O boards such as Arduino, Robot sensors, and High end actuators with ROS Simulation and motion planning of ABB and Universal arm using ROS Industrial Explore the ROS framework using its latest version In Detail The area of robotics is gaining huge momentum among corporate people, researchers, hobbyists, and students. The major challenge in robotics is its controlling software. The Robot Operating System (ROS) is a modular software platform to develop generic robotic applications. This book discusses the advanced concepts in robotics and how to program using ROS. It starts with deep overview of the ROS framework, which will give you a clear idea of how ROS really works. During the course of the book, you will learn how to build models of complex robots, and simulate and interface the robot using the ROS MoveIt motion planning library and ROS navigation stacks. After discussing robot manipulation and navigation in robots, you will get to grips with the interfacing I/O boards, sensors, and actuators of ROS. One of the essential ingredients of robots are vision sensors, and an entire chapter is dedicated to the vision sensor, its interfacing in ROS, and its programming. You will discuss the hardware interfacing and simulation of complex robot to ROS and ROS Industrial (Package used for interfacing industrial robots). Finally, you will get to know the best practices to follow when programming using ROS. Style and approach This is a simplified guide to help you learn and master advanced topics in ROS using hands-on examples.




Effective Robotics Programming with ROS


Book Description

Find out everything you need to know to build powerful robots with the most up-to-date ROS About This Book This comprehensive, yet easy-to-follow guide will help you find your way through the ROS framework Successfully design and simulate your 3D robot model and use powerful robotics algorithms and tools to program and set up your robots with an unparalleled experience by using the exciting new features from Robot Kinetic Use the latest version of gazebo simulator, OpenCV 3.0, and C++11 standard for your own algorithms Who This Book Is For This book is suitable for an ROS beginner as well as an experienced ROS roboticist or ROS user or developer who is curious to learn ROS Kinetic and its features to make an autonomous Robot. The book is also suitable for those who want to integrate sensors and embedded systems with other software and tools using ROS as a framework. What You Will Learn Understand the concepts of ROS, the command-line tools, visualization GUIs, and how to debug ROS Connect robot sensors and actuators to ROS Obtain and analyze data from cameras and 3D sensors Use Gazebo for robot/sensor and environment simulation Design a robot and see how to make it map the environment, navigate autonomously, and manipulate objects in the environment using MoveIt! Add vision capabilities to the robot using OpenCV 3.0 Add 3D perception capabilities to the robot using the latest version of PCL In Detail Building and programming a robot can be cumbersome and time-consuming, but not when you have the right collection of tools, libraries, and more importantly expert collaboration. ROS enables collaborative software development and offers an unmatched simulated environment that simplifies the entire robot building process. This book is packed with hands-on examples that will help you program your robot and give you complete solutions using open source ROS libraries and tools. It also shows you how to use virtual machines and Docker containers to simplify the installation of Ubuntu and the ROS framework, so you can start working in an isolated and control environment without changing your regular computer setup. It starts with the installation and basic concepts, then continues with more complex modules available in ROS such as sensors and actuators integration (drivers), navigation and mapping (so you can create an autonomous mobile robot), manipulation, Computer Vision, perception in 3D with PCL, and more. By the end of the book, you'll be able to leverage all the ROS Kinetic features to build a fully fledged robot for all your needs. Style and approach 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. All the robotics concepts and modules are explained and multiple examples are provided so that you can understand them easily.




Learning ROS for Robotics Programming


Book Description

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 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. 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! 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. 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.




A Gentle Introduction to ROS


Book Description

ROS (Robot Operating System) is rapidly becoming a de facto standard for writing interoperable and reusable robot software. This book supplements ROS's own documentation, explaining how to interact with existing ROS systems and how to create new ROS programs using C++, with special attention to common mistakes and misunderstandings. The intended audience includes new or potential ROS users.




Robot Operating System (ROS) for Absolute Beginners


Book Description

Learn how to get started with robotics programming using Robot Operation System (ROS). Targeted for absolute beginners in ROS, Linux, and Python, this short guide shows you how to build your own robotics projects. ROS is an open-source and flexible framework for writing robotics software. With a hands-on approach and sample projects, Robot Operating System for Absolute Beginners will enable you to begin your first robot project. You will learn the basic concepts of working with ROS and begin coding with ROS APIs in both C++ and Python. What You’ll Learn Install ROS Review fundamental ROS concepts Work with frequently used commands in ROS Build a mobile robot from scratch using ROS Who This Book Is For Absolute beginners with little to no programming experience looking to learn robotics programming.




ROS Robotics Projects


Book Description

Build exciting robotics projects such as mobile manipulators, self-driving cars, and industrial robots powered by ROS, machine learning, and virtual reality Key FeaturesCreate and program cool robotic projects using powerful ROS librariesBuild industrial robots like mobile manipulators to handle complex tasksLearn how reinforcement learning and deep learning are used with ROSBook Description Nowadays, heavy industrial robots placed in workcells are being replaced by new age robots called cobots, which don't need workcells. They are used in manufacturing, retail, banks, energy, and healthcare, among other domains. One of the major reasons for this rapid growth in the robotics market is the introduction of an open source robotics framework called the Robot Operating System (ROS). This book covers projects in the latest ROS distribution, ROS Melodic Morenia with Ubuntu Bionic (18.04). Starting with the fundamentals, this updated edition of ROS Robotics Projects introduces you to ROS-2 and helps you understand how it is different from ROS-1. You'll be able to model and build an industrial mobile manipulator in ROS and simulate it in Gazebo 9. You'll then gain insights into handling complex robot applications using state machines and working with multiple robots at a time. This ROS book also introduces you to new and popular hardware such as Nvidia's Jetson Nano, Asus Tinker Board, and Beaglebone Black, and allows you to explore interfacing with ROS. You'll learn as you build interesting ROS projects such as self-driving cars, making use of deep learning, reinforcement learning, and other key AI concepts. By the end of the book, you'll have gained the confidence to build interesting and intricate projects with ROS. What you will learnGrasp the basics of ROS and understand ROS applicationsUncover how ROS-2 is different from ROS-1Handle complex robot tasks using state machinesCommunicate with multiple robots and collaborate to build apps with themExplore ROS capabilities with the latest embedded boards such as Tinker Board S and Jetson NanoDiscover how machine learning and deep learning techniques are used with ROSBuild a self-driving car powered by ROSTeleoperate your robot using Leap Motion and a VR headsetWho this book is for If you’re a student, hobbyist, professional, or anyone with a passion for learning robotics and interested in learning about algorithms, motion control, and perception capabilities from scratch, this book is for you. This book is also ideal for anyone who wants to build a new product and for researchers to make the most of what’s already available to create something new and innovative in the field of robotics.