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.
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.
Want to develop novel robot applications, but don’t know how to write a mapping or object-recognition system? You’re not alone, but you’re certainly not without help. By combining real-world examples with valuable knowledge from the Robot Operating System (ROS) community, this practical book provides a set of motivating recipes for solving specific robotics use cases. Ideal for enthusiasts, from students in robotics clubs to professional robotics scientists and engineers, each recipe describes a complete solution using ROS open source libraries and tools. You’ll learn how to complete tasks described in the recipes, as well as how to configure and recombine components for other tasks. If you’re familiar with Python, you’re ready to go. Learn fundamentals, including key ROS concepts, tools, and patterns Program robots that perform an increasingly complex set of behaviors, using the powerful packages in ROS See how to easily add perception and navigation abilities to your robots Integrate your own sensors, actuators, software libraries, and even a whole robot into the ROS ecosystem Learn tips and tricks for using ROS tools and community resources, debugging robot behavior, and using C++ in ROS
The book will take an easy-to-follow and engaging tutorial approach, providing a practical and comprehensive way to learn ROS.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, "Learning ROS for Robotics Programming" is for you. In order to make the most of the book, you should have some C++ programming background, knowledge of GNU/Linux systems, and computer science in general. No previous background on ROS is required, since this book provides all the skills required. It is also advisable to have some background on version control systems, like svn or git, which are often used to share the code by the community.
Discover best practices and troubleshooting solutions when working on ROS Key Features Develop complex robotic applications using ROS to interface robot manipulators and mobile robots Gain insight into autonomous navigation in mobile robots and motion planning in robot manipulators Discover best practices and troubleshooting solutions Book Description In this day and age, robotics has been gaining a lot of traction in various industries where consistency and perfection matter. Automation is achieved via robotic applications and various platforms that support robotics. The Robot Operating System (ROS) is a modular software platform to develop generic robotic applications. This book focuses on the most stable release of ROS (Kinetic Kame), discusses advanced concepts, and effectively teaches you programming using ROS. We begin with aninformative overview of the ROS framework, which will give you a clear idea of how ROS works. During the course of this book, you’ll learn to build models of complex robots, and simulate and interface the robot using the ROS MoveIt! motion planning library and ROS navigation stacks. Learn to leverage several ROS packages to embrace your robot models. After covering robot manipulation and navigation, you’ll get to grips with the interfacing I/O boards, sensors, and actuators of ROS. Vision sensors are a key component of robots, and an entire chapter is dedicated to the vision sensor and image elaboration, its interface in ROS and programming. You’ll also understand the hardware interface and simulation of complex robots to ROS and ROS Industrial. At the end of this book, you’ll discover the best practices to follow when programming using ROS. What you will learn Create a robot model with a seven-DOF robotic arm and a differential wheeled mobile robot Work with Gazebo and V-REP robotic simulator Implement autonomous navigation in differential drive robots using SLAM and AMCL packages Explore the ROS Pluginlib, ROS nodelets, and Gazebo plugins Interface I/O boards such as Arduino, robot sensors, and high-end actuators Simulate and motion plan an ABB and universal arm using ROS Industrial Explore the latest version of the ROS framework Work with the motion planning of a seven-DOF arm using MoveIt! Who this book is for If you are a robotics enthusiast or researcher who want 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 is also excellent for programmers who want to explore the advanced features of ROS.
Design, simulate, and program interactive robots Key Features Design, simulate, build, and program an interactive autonomous mobile robot Leverage the power of ROS, Gazebo, and Python to enhance your robotic skills A hands-on guide to creating an autonomous mobile robot with the help of ROS and Python Book Description Robot Operating System (ROS) is one of the most popular robotics software frameworks in research and industry. It has various features for implement different capabilities in a robot without implementing them from scratch. This book starts by showing you the fundamentals of ROS so you understand the basics of differential robots. Then, you'll learn about robot modeling and how to design and simulate it using ROS. Moving on, we'll design robot hardware and interfacing actuators. Then, you'll learn to configure and program depth sensors and LIDARs using ROS. Finally, you'll create a GUI for your robot using the Qt framework. By the end of this tutorial, you'll have a clear idea of how to integrate and assemble everything into a robot and how to bundle the software package. What you will learn Design a differential robot from scratch Model a differential robot using ROS and URDF Simulate a differential robot using ROS and Gazebo Design robot hardware electronics Interface robot actuators with embedded boards Explore the interfacing of different 3D depth cameras in ROS Implement autonomous navigation in ChefBot Create a GUI for robot control Who this book is for This book is for those who are conducting research in mobile robotics and autonomous navigation. As well as the robotics research domain, this book is also for the robot hobbyist community. You’re expected to have a basic understanding of Linux commands and Python.
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.
A Systematic Approach to Learning Robot Programming with ROS provides a comprehensive, introduction to the essential components of ROS through detailed explanations of simple code examples along with the corresponding theory of operation. The book explores the organization of ROS, how to understand ROS packages, how to use ROS tools, how to incorporate existing ROS packages into new applications, and how to develop new packages for robotics and automation. It also facilitates continuing education by preparing the reader to better understand the existing on-line documentation. The book is organized into six parts. It begins with an introduction to ROS foundations, including writing ROS nodes and ROS tools. Messages, Classes, and Servers are also covered. The second part of the book features simulation and visualization with ROS, including coordinate transforms. The next part of the book discusses perceptual processing in ROS. It includes coverage of using cameras in ROS, depth imaging and point clouds, and point cloud processing. Mobile robot control and navigation in ROS is featured in the fourth part of the book The fifth section of the book contains coverage of robot arms in ROS. This section explores robot arm kinematics, arm motion planning, arm control with the Baxter Simulator, and an object-grabber package. The last part of the book focuses on system integration and higher-level control, including perception-based and mobile manipulation. This accessible text includes examples throughout and C++ code examples are also provided at https://github.com/wsnewman/learning_ros
Author: R. Patrick Goebel
Release Date: 2015
This book is aimed at new ROS users who want to go beyond the Beginner Tutorials and create some working ROS applications, either in simulation or on a real robot like the TurtleBot. The book provides step-by-step explanations of a number of ROS programming examples using code that can be downloaded from the accompanying ros-by-example repository.
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.
Author: Jason M. O'Kane
Release Date: 2013
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.
Building on the successful first and second volumes, this book is the third volume of the Springer book on the Robot Operating System (ROS): The Complete Reference. The Robot Operating System is evolving from year to year with a wealth of new contributed packages and enhanced capabilities. Further, the ROS is being integrated into various robots and systems and is becoming an embedded technology in emerging robotics platforms. The objective of this third volume is to provide readers with additional and comprehensive coverage of the ROS and an overview of the latest achievements, trends and packages developed with and for it. Combining tutorials, case studies, and research papers, the book consists of sixteen chapters and is divided into five parts. Part 1 presents multi-robot systems with the ROS. In Part 2, four chapters deal with the development of unmanned aerial systems and their applications. In turn, Part 3 highlights recent work related to navigation, motion planning and control. Part 4 discusses recently contributed ROS packages for security, ROS2, GPU usage, and real-time processing. Lastly, Part 5 deals with new interfaces allowing users to interact with robots. Taken together, the three volumes of this book offer a valuable reference guide for ROS users, researchers, learners and developers alike. Its breadth of coverage makes it a unique resource.
Author: Robin Murphy
Publisher: MIT Press
Release Date: 2000
This text covers all the material needed to understand the principles behind the AI approach to robotics and to program an artificially intelligent robot for applications involving sensing, navigation, planning, and uncertainty. Robin Murphy is extremely effective at combining theoretical and practical rigor with a light narrative touch. In the overview, for example, she touches upon anthropomorphic robots from classic films and science fiction stories before delving into the nuts and bolts of organizing intelligence in robots.Following the overview, Murphy contrasts AI and engineering approaches and discusses what she calls the three paradigms of AI robotics: hierarchical, reactive, and hybrid deliberative/reactive. Later chapters explore multiagent scenarios, navigation and path-planning for mobile robots, and the basics of computer vision and range sensing. Each chapter includes objectives, review questions, and exercises. Many chapters contain one or more case studies showing how the concepts were implemented on real robots. Murphy, who is well known for her classroom teaching, conveys the intellectual adventure of mastering complex theoretical and technical material. An Instructor's Manual including slides, solutions, sample tests, and programming assignments is available to qualified professors who are considering using the book or who are using the book for class use.
This book is for researchers, engineers, and students who are willing to understand how humanoid robots move and be controlled. The book starts with an overview of the humanoid robotics research history and state of the art. Then it explains the required mathematics and physics such as kinematics of multi-body system, Zero-Moment Point (ZMP) and its relationship with body motion. Biped walking control is discussed in depth, since it is one of the main interests of humanoid robotics. Various topics of the whole body motion generation are also discussed. Finally multi-body dynamics is presented to simulate the complete dynamic behavior of a humanoid robot. Throughout the book, Matlab codes are shown to test the algorithms and to help the reader ́s understanding.