وبلاگ بلیان

Effective robotics programming with ROS : find out everything you need to know to build powerful robots with the most up-to-date ROS

معرفی کتاب «Effective robotics programming with ROS : find out everything you need to know to build powerful robots with the most up-to-date ROS» نوشتهٔ Anil Mahtani, Luis Sanchez, Enrique Fernandez, Aaron Martinez، منتشرشده توسط نشر Packt Publishing - ebooks Account در سال 2016. این کتاب در 5 صفحه، فرمت epub، زبان انگلیسی ارائه شده است.

Creating transforms -- Creating a broadcaster -- Creating a listener -- Watching the transformation tree -- Publishing sensor information -- Creating the laser node -- Publishing odometry information -- How Gazebo creates the odometry -- Using Gazebo to create the odometry -- Creating our own odometry -- Creating a base controller -- Creating our base controller -- Creating a map with ROS -- Saving the map using map\_server -- Loading the map using map\_server -- Summary -- Chapter 6: The Navigation Stack - Beyond Setups -- Creating a package -- Creating a robot configuration -- Configuring the costmaps - global\_costmap and local\_costmap -- Configuring the common parameters -- Configuring the global costmap -- Configuring the local costmap -- Base local planner configuration -- Creating a launch file for the navigation stack -- Setting up rviz for the navigation stack -- The 2D pose estimate -- The 2D nav goal -- The static map -- The particle cloud -- The robot's footprint -- The local costmap -- The global costmap -- The global plan -- The local plan -- The planner plan -- The current goal -- Adaptive Monte Carlo Localization -- Modifying parameters with rqt\_reconfigure -- Avoiding obstacles -- Sending goals -- Summary -- Chapter 7: Manipulation with MoveIt! -- The MoveIt! architecture -- Motion planning -- The planning scene -- World geometry monitor -- Kinematics -- Collision checking -- Integrating an arm in MoveIt! -- What's in the box? -- Generating a MoveIt! package with the Setup Assistant -- Integration into RViz -- Integration into Gazebo or a real robotic arm -- Simple motion planning -- Planning a single goal -- Planning a random target -- Planning a predefined group state -- Displaying the target motion -- Motion planning with collisions -- Adding objects to the planning scene -- Removing objects from the planning scene.;Using the GDB debugger with ROS nodes -- Attaching a node to GDB while launching ROS -- Profiling a node with valgrind while launching ROS -- Enabling core dumps for ROS nodes -- Logging messages -- Outputting logging messages -- Setting the debug message level -- Configuring the debugging level of a particular node -- Giving names to messages -- Conditional and filtered messages -- Showing messages once, throttling, and other combinations -- Using rqt\_console and rqt\_logger\_level to modify the logging level on the fly -- Inspecting the system -- Inspecting the node's graph online with rqt\_graph -- Setting dynamic parameters -- Dealing with the unexpected -- Visualizing nodes diagnostics -- Plotting scalar data -- Creating a time series plot with rqt\_plot -- Image visualization -- Visualizing a single image -- 3D visualization -- Visualizing data in a 3D world using rqt\_rviz -- The relationship between topics and frames -- Visualizing frame transformations -- Saving and playing back data -- What is a bag file? -- Recording data in a bag file with rosbag -- Playing back a bag file -- Inspecting all the topics and messages in a bag file -- Using the rqt\_gui and rqt plugins -- Summary -- Chapter 4: 3D Modeling and Simulation -- A 3D model of our robot in ROS -- Creating our first URDF file -- Explaining the file format -- Watching the 3D model on rviz -- Loading meshes to our models -- Making our robot model movable -- Physical and collision properties -- Xacro - a better way to write our robot models -- Using constants -- Using math -- Using macros -- Moving the robot with code -- 3D modeling with SketchUp -- Simulation in ROS -- Using our URDF 3D model in Gazebo -- Adding sensors to Gazebo -- Loading and using a map in Gazebo -- Moving the robot in Gazebo -- Summary -- Chapter 5: The Navigation Stack - Robot Setups -- The navigation stack in ROS.;Motion planning with point clouds -- The pick and place task -- The planning scene -- The target object to grasp -- The support surface -- Perception -- Grasping -- The pickup action -- The place action -- The demo mode -- Simulation in Gazebo -- Summary -- Chapter 8: Using Sensors and Actuators with ROS -- Using a joystick or a gamepad -- How does joy\_node send joystick movements? -- Using joystick data to move our robot model -- Using Arduino to add sensors and actuators -- Creating an example program to use Arduino -- Robot platform controlled by ROS and Arduino -- Connecting your robot motors to ROS using Arduino -- Connecting encoders to your robot -- Controlling the wheel velocity -- Using a low-cost IMU - 9 degrees of freedom -- Installing Razor IMU ROS library -- How does Razor send data in ROS? -- Creating an ROS node to use data from the 9DoF sensor in our robot -- Using robot localization to fuse sensor data in your robot -- Using the IMU - Xsens MTi -- How does Xsens send data in ROS? -- Using a GPS system -- How GPS sends messages -- Creating an example project to use GPS -- Using a laser rangefinder - Hokuyo URG-04lx -- Understanding how the laser sends data in ROS -- Accessing the laser data and modifying it -- Creating a launch file -- Using the Kinect sensor to view objects in 3D -- How does Kinect send data from the sensors, and how do we see it? -- Creating an example to use Kinect -- Using servomotors - Dynamixel -- How does Dynamixel send and receive commands for the movements? -- Creating an example to use the servomotor -- Summary -- Chapter 9: Computer Vision -- ROS camera drivers support -- FireWire IEEE1394 cameras -- USB cameras -- Making your own USB camera driver with OpenCV -- ROS images -- Publishing images with ImageTransport -- OpenCV in ROS -- Installing OpenCV 3.0 -- Using OpenCV in ROS.;Cover -- Copyright -- Credits -- About the Authors -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Getting Started with ROS -- PC installation -- Installing ROS Kinetic using repositories -- Configuring your Ubuntu repositories -- Setting up your source.list file -- Setting up your keys -- Installing ROS -- Initializing rosdep -- Setting up the environment -- Getting rosinstall -- How to install VirtualBox and Ubuntu -- Downloading VirtualBox -- Creating the virtual machine -- Using ROS from a Docker image -- Installing Docker -- Getting and using ROS Docker images and containers -- Installing ROS in BeagleBone Black -- Prerequisites -- Setting up the local machine and source.list file -- Setting up your keys -- Installing the ROS packages -- Initializing rosdep for ROS -- Setting up the environment in the BeagleBone Black -- Getting rosinstall for BeagleBone Black -- Basic ROS example on the BeagleBone Black -- Summary -- Chapter 2: ROS Architecture and Concepts -- Understanding the ROS Filesystem level -- The workspace -- Packages -- Metapackages -- Messages -- Services -- Understanding the ROS Computation Graph level -- Nodes and nodelets -- Topics -- Services -- Messages -- Bags -- The ROS master -- Parameter Server -- Understanding the ROS Community level -- Tutorials to practise with ROS -- Navigating through the ROS filesystem -- Creating our own workspace -- Creating an ROS package and metapackage -- Building an ROS package -- Playing with ROS nodes -- Learning how to interact with topics -- Learning how to use services -- Using Parameter Server -- Creating nodes -- Building the node -- Creating msg and srv files -- Using the new srv and msg files -- The launch file -- Dynamic parameters -- Summary -- Chapter 3: Visualization and Debugging Tools -- Debugging ROS nodes.;Visualizing the camera input images with rqt\_image\_view -- Camera calibration -- How to calibrate a camera -- Stereo calibration -- The ROS image pipeline -- Image pipeline for stereo cameras -- ROS packages useful for Computer Vision tasks -- Visual odometry -- Using visual odometry with viso2 -- Camera pose calibration -- Running the viso2 online demo -- Performing visual odometry with viso2 with a stereo camera -- Performing visual odometry with an RGBD camera -- Installing fovis -- Using fovis with the Kinect RGBD camera -- Computing the homography of two images -- Summary -- Chapter 10: Point Clouds -- Understanding the Point Cloud Library -- Different point cloud types -- Algorithms in PCL -- The PCL interface for ROS -- My first PCL program -- Creating point clouds -- Loading and saving point clouds to the disk -- Visualizing point clouds -- Filtering and downsampling -- Registration and matching -- Partitioning point clouds -- Segmentation -- Summary -- Index. 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. Annotation Find out everything you need to know to build powerful robots with the most up-to-date ROSAbout 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 algorithmsWho This Book Is ForThis 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 PCLIn DetailBuilding 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 approachThis 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 About This BookThis comprehensive, yet easy-to-follow guide will help you find your way through the ROS frameworkSuccessfully 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 KineticUse the latest version of gazebo simulator, OpenCV 3.0, and C++11 standard for your own algorithmsWho This Book Is ForThis 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 LearnUnderstand the concepts of ROS, the command-line tools, visualization GUIs, and how to debug ROSConnect robot sensors and actuators to ROSObtain and analyze data from cameras and 3D sensorsUse Gazebo for robot/sensor and environment simulationDesign 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.0Add 3D perception capabilities to the robot using the latest version of PCLIn DetailEffective Robotics Programming with ROS - Third Edition 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.
دانلود کتاب Effective robotics programming with ROS : find out everything you need to know to build powerful robots with the most up-to-date ROS