دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: الکترونیک: رباتیک ویرایش: 3 نویسندگان: Lentin Joseph. Jonathan Cacace سری: ISBN (شابک) : 1801071020, 9781801071024 ناشر: Packt Publishing سال نشر: 2021 تعداد صفحات: 594 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 24 مگابایت
کلمات کلیدی مربوط به کتاب تسلط بر ROS برای برنامه نویسی رباتیک: بهترین شیوه ها و راه حل های عیب یابی هنگام کار با ROS: روباتیک، OpenCV، سختافزار، بهترین تمرینها، شبیهسازی، ROS، روباتهای متفاوت، Gazebo، نمونهسازی اولیه، Webbots، CoppeliaSim
در صورت تبدیل فایل کتاب Mastering ROS for Robotics Programming: Best practices and troubleshooting solutions when working with ROS به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب تسلط بر ROS برای برنامه نویسی رباتیک: بهترین شیوه ها و راه حل های عیب یابی هنگام کار با ROS نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
طراحی، ساخت و شبیه سازی ربات های پیچیده با استفاده از سیستم عامل ربات ویژگی های کلیدی • با این راهنمای جامع در برنامه نویسی ROS با استفاده از C++ مهارت پیدا کنید • ساخت برنامه های کاربردی ربات پیچیده با استفاده از نسخه ROS Noetic Ninjemys برای ارتباط دستکاری کننده های ربات با ربات های متحرک • تعامل با روبات های هوایی با استفاده از ROS را بیاموزید توضیحات کتاب Robot Operating System (ROS) یک چارچوب نرم افزاری است که برای برنامه نویسی ربات های پیچیده استفاده می شود. ROS شما را قادر میسازد تا نرمافزاری را برای ساخت رباتهای پیچیده بدون نوشتن کد از ابتدا توسعه دهید و در زمان ارزشمند توسعه صرفهجویی کنید. Mastering ROS for Robotics Programming پوشش کاملی از مفاهیم پیشرفته را با استفاده از مثالهای ساده و کاربردی و توضیح گام به گام مفاهیم ضروری که میتوانید در پروژههای روباتیک ROS خود اعمال کنید، ارائه میدهد. این کتاب با کمک به شما برای درک مفاهیم اساسی لازم برای برنامه نویسی روبات با ROS آغاز می شود. سپس خواهید فهمید که چگونه یک شبیه سازی ربات و همچنین یک ربات واقعی را توسعه دهید، و نحوه استفاده از قابلیت های سطح بالا مانند ناوبری و دستکاری را از ابتدا درک خواهید کرد. همانطور که پیشرفت می کنید، یاد خواهید گرفت که چگونه کنترل کننده ها و پلاگین های ROS را ایجاد کنید و کاربردهای صنعتی ROS و نحوه تعامل آن با ربات های هوایی را بررسی کنید. در نهایت، بهترین روشها و روشها را برای کار با ROS به طور موثر کشف خواهید کرد. در پایان این کتاب ROS، شما یاد خواهید گرفت که چگونه برنامه های مختلف را در ROS ایجاد کنید و اولین ربات ROS خود را بسازید. آنچه خواهید آموخت • یک مدل ربات با یک بازوی روباتیک 7-DOF و یک ربات متحرک چرخ دار دیفرانسیل ایجاد کنید • با شبیه سازهای روباتیک Gazebo، CoppeliaSim و Webbots کار کنید • پیاده سازی مسیریابی مستقل در روبات های درایو دیفرانسیل با استفاده از بسته های SLAM و AMCL • تعامل و شبیه سازی ربات های هوایی با استفاده از ROS • ROS pluginlib، گرههای ROS و افزونههای Gazebo را کاوش کنید • بردهای ورودی/خروجی رابط مانند آردوینو، حسگرهای ربات و محرک های سطح بالا • شبیه سازی و اجرای برنامه ریزی حرکتی برای ربات ABB و بازوی جهانی با استفاده از ROS-Industrial • با ویژگی های برنامه ریزی حرکت یک بازوی 7-DOF با استفاده از MoveIt کار کنید این کتاب برای چه کسی است اگر فارغ التحصیل رباتیک، محقق رباتیک، یا متخصص نرم افزار رباتیک هستید که به دنبال کار با ROS هستید، این کتاب برای شما مناسب است. برنامه نویسانی که می خواهند ویژگی های پیشرفته ROS را کشف کنند نیز این کتاب را مفید خواهند یافت. برای شروع کار با این کتاب، دانش اولیه مفاهیم برنامه نویسی ROS، GNU/Linux و C++ ضروری است.
Design, build, and simulate complex robots using the Robot Operating System Key Features • Become proficient in ROS programming using C++ with this comprehensive guide • Build complex robot applications using the ROS Noetic Ninjemys release to interface robot manipulators with mobile robots • Learn to interact with aerial robots using ROS Book Description The Robot Operating System (ROS) is a software framework used for programming complex robots. ROS enables you to develop software for building complex robots without writing code from scratch, saving valuable development time. Mastering ROS for Robotics Programming provides complete coverage of the advanced concepts using easy-to-understand, practical examples and step-by-step explanations of essential concepts that you can apply to your ROS robotics projects. The book begins by helping you get to grips with the basic concepts necessary for programming robots with ROS. You'll then discover how to develop a robot simulation, as well as an actual robot, and understand how to apply high-level capabilities such as navigation and manipulation from scratch. As you advance, you'll learn how to create ROS controllers and plugins and explore ROS's industrial applications and how it interacts with aerial robots. Finally, you'll discover best practices and methods for working with ROS efficiently. By the end of this ROS book, you'll have learned how to create various applications in ROS and build your first ROS robot. What you will learn • Create a robot model with a 7-DOF robotic arm and a differential wheeled mobile robot • Work with Gazebo, CoppeliaSim, and Webots robotic simulators • Implement autonomous navigation in differential drive robots using SLAM and AMCL packages • Interact with and simulate aerial robots using ROS • Explore ROS pluginlib, ROS nodelets, and Gazebo plugins • Interface I/O boards such as Arduino, robot sensors, and high-end actuators • Simulate and perform motion planning for an ABB robot and a universal arm using ROS-Industrial • Work with the motion planning features of a 7-DOF arm using MoveIt Who this book is for If you are a robotics graduate, robotics researcher, or robotics software professional looking to work with ROS, this book is for you. Programmers who want to explore the advanced features of ROS will also find this book useful. Basic knowledge of ROS, GNU/Linux, and C++ programming concepts is necessary to get started with this book.
Cover Title page Copyright and Credits Dedication Contributors Table of Contents Preface Section 1 – ROS Programming Essentials Chapter 1: Introduction to ROS Technical requirements Why should we use ROS? Understanding the ROS filesystem level ROS packages ROS metapackages ROS messages The ROS services Understanding the ROS computation graph level ROS nodes ROS messages ROS topics ROS services ROS bagfiles The ROS master Using the ROS parameter ROS community level Prerequisites for starting with ROS ROS distributions Running the ROS master and the ROS parameter server Summary Questions Chapter 2: Getting Started with ROS Programming Technical requirements Creating a ROS package Working with ROS topics Creating ROS nodes Building the nodes Adding custom .msg and .srv files Working with ROS services Working with ROS actionlib Building the ROS action server and client Creating launch files Applications of topics, services, and actionlib Summary Questions Section 2 – ROS Robot Simulation Chapter 3: Working with ROS for 3D Modeling Technical requirements ROS packages for robot modeling Understanding robot modeling using URDF Creating the ROS package for the robot description Creating our first URDF model Explaining the URDF file Visualizing the 3D robot model in RViz Interacting with pan-and-tilt joints Adding physical and collision properties to a URDF model Understanding robot modeling using xacro Using properties Using the math expression Converting xacro to URDF Creating the robot description for a seven-DOF robot manipulator Arm specification Explaining the xacro model of the seven-DOF arm Using constants Using macro Including other xacro files Using meshes in the link Working with the robot gripper Viewing the seven-DOF arm in RViz Creating a robot model for the differential drive mobile robot Summary Questions Chapter 4: Simulating Robots Using ROS and Gazebo Technical requirements Simulating the robotic arm using Gazebo and ROS Creating the robotic arm simulation model for Gazebo Adding colors and textures to the Gazebo robot model Adding transmission tags to actuate the model Adding the gazebo_ros_control plugin Adding a 3D vision sensor to Gazebo Simulating the robotic arm with Xtion Pro Visualizing the 3D sensor data Moving the robot joints using ROS controllers in Gazebo Understanding the ros_control packages Different types of ROS controllers and hardware interfaces How the ROS controller interacts with Gazebo Interfacing the joint state controllers and joint position controllers with the arm Launching the ROS controllers with Gazebo Moving the robot joints Simulating a differential wheeled robot in Gazebo Adding the laser scanner to Gazebo Moving the mobile robot in Gazebo Adding joint state publishers to the launch file Adding the ROS teleop node Questions Summary Chapter 5: Simulating Robots Using ROS, CoppeliaSim, and Webots Technical requirements Setting up CoppeliaSim with ROS Understanding the RosInterface plugin Working with ROS messages Simulating a robotic arm using CoppeliaSim and ROS Adding the ROS interface to CoppeliaSim joint controllers Setting up Webots with ROS Introduction to the Webots simulator Simulating a mobile robot with Webots Writing your first controller Simulating the robotic arm using Webots and ROS Writing a teleop node using webots_ros Starting Webots with a launch file Summary Questions Chapter 6: Using the ROS MoveIt! and Navigation Stack Technical requirements The MoveIt! architecture The move_group node Motion planning using MoveIt! Motion-planning request adapters MoveIt! planning scene MoveIt! kinematics handling MoveIt! collision checking Generating a MoveIt! configuration package using the Setup Assistant tool Step 1 – Launching the Setup Assistant tool Step 2 – Generating a self-collision matrix Step 3 – Adding virtual joints Step 4 – Adding planning groups Step 5 – Adding the robot poses Step 6 – Setting up the robot end effector Step 7 – Adding passive joints Step 8 – Author information Step 9 – Generating configuration files Motion planning of a robot in RViz using the MoveIt! configuration package Using the RViz MotionPlanning plugin Interfacing the MoveIt! configuration package to Gazebo Understanding the ROS Navigation stack ROS Navigation hardware requirements Working with Navigation packages Workings of the Navigation stack Building a map using SLAM Creating a launch file for gmapping Running SLAM on the differential drive robot Implementing autonomous navigation using amcl and a static map Creating an amcl launch file Summary Questions Chapter 7: Exploring the Advanced Capabilities of ROS MoveIt! Technical requirements Motion planning using the move_group C++ interface Motion planning a random path using MoveIt! C++ APIs Motion planning a custom path using MoveIt! C++ APIs Collision checking with a robot arm using MoveIt! Working with perception using MoveIt! and Gazebo Performing object manipulation with MoveIt! Working with a robot pick-and-place task using MoveIt! Pick-and-place actions in Gazebo and real robots Understanding DYNAMIXEL ROS servo controllers for robot hardware interfacing DYNAMIXEL servos DYNAMIXEL-ROS interface Interfacing a 7-DOF DYNAMIXEL-based robotic arm with ROS MoveIt! Creating a controller package for a COOL arm robot MoveIt! configuration of the COOL arm Summary Questions Chapter 8: ROS for Aerial Robots Technical requirements Using aerial robots UAV hardware Pixhawk autopilot Using the PX4 flight control stack PX4 firmware architecture PX4 SITL PC/autopilot communication The mavros ROS package Writing a ROS-PX4 application Writing a trajectory streamer External pose estimation for PX4 Using the RotorS simulation framework Installing RotorS RotorS packages Creating a new UAV model Interacting with RotorS motor models Summary Questions Section 3 – ROS Robot Hardware Prototyping Chapter 9: Interfacing I/O Board Sensors and Actuators to ROS Technical requirements: Understanding the Arduino-ROS interface What is the Arduino-ROS interface? Understanding the rosserial package in ROS Understanding ROS node APIs in Arduino ROS-Arduino Publisher and Subscriber example Arduino-ROS example – blinking an LED with a push button Arduino-ROS example – Accelerometer ADXL 335 Arduino-ROS example – ultrasonic distance sensor Arduino-ROS example – odometry data publisher Interfacing non-Arduino boards to ROS Setting up the Odroid-C4, Raspberry Pi 4, and Jetson Nano for installing ROS Blinking the LED using ROS on the Raspberry Pi 4 A push button and a blinking LED using ROS on the Raspberry Pi 2 Running examples on the Raspberry Pi 4 Interfacing DYNAMIXEL actuators to ROS Summary Questions Chapter 10: Programming Vision Sensors Using ROS, OpenCV, and PCL Technical requirements Understanding ROS – OpenCV interfacing packages Understanding ROS – PCL interfacing packages Installing ROS perception Interfacing USB webcams in ROS Working with ROS camera calibration Converting images between ROS and OpenCV using cv_bridge Interfacing Kinect and Asus Xtion Pro with ROS Interfacing the Intel RealSense camera with ROS Converting point cloud to a laser scan Interfacing Hokuyo lasers with ROS Interfacing RPLIDAR and YDLIDAR with ROS Working with point cloud data How to publish a point cloud How to subscribe and process a point cloud Reading and publishing a point cloud from a PCD file Summary Questions Chapter 11: Building and Interfacing Differential Drive Mobile Robot Hardware in ROS Technical requirements Software requirements Network setup Hardware requirements Introduction to the Remo robot – a DIY autonomous mobile robot Remo hardware components Software requirements for the ROS Navigation Stack Developing a low-level controller and a high-level ROS Control hardware interface for a differential drive robot Implementing the low-level base controller for Remo ROS Control high-level hardware interface for a differential drive robot Overview of ROS nodes and topics for the Remo robot Configuring and working with the Navigation Stack Configuring the gmapping node and creating a map Working with the gmapping node Configuring the move_base node Configuring the AMCL node AMCL planning Working with Remo robot in simulation Summary Questions Section 4 – Advanced ROS Programming Chapter 12: Working with pluginlib, nodelets, and Gazebo Plugins Technical requirements Understanding pluginlib Implementing a calculator plugin using pluginlib Understanding ROS nodelets Implementing a sample nodelet Understanding and creating a Gazebo plugin Creating a basic world plugin Summary Questions Chapter 13: Writing ROS Controllers and Visualization Plugins Technical requirements Understanding ros_control packages The controller_interface package Writing a basic joint controller in ROS Step 1 – creating the controller package Step 2 – creating the controller header file Step 3 – creating the controller source file Step 4 – detailed explanation of the controller source file Step 5 – creating the plugin description file Step 6 – updating package.xml Step 7 – updating CMakeLists.txt Step 8 – building the controller Step 9 – writing the controller configuration file Step 10 – writing the launch file for the controller Step 11 – running the controller along with the seven-DOF arm in Gazebo Understanding the RViz tool and its plugins The Displays panel The RViz toolbar The Views panel The Time panel Dockable panels Writing an RViz plugin for teleoperation The methodology of building a RViz plugin Summary Questions Chapter 14: Using ROS in MATLAB and Simulink Technical requirements Getting started with MATLAB Getting started with ROS Toolbox and MATLAB Starting with ROS topics and MATLAB callback functions Developing a robotic application using MATLAB and Gazebo Getting started with ROS and Simulink Creating a wave signal integrator in Simulink Publishing a ROS message in Simulink Subscribing to a ROS topic in Simulink Developing a simple control system in Simulink Configuring the Simulink model Summary Questions Chapter 15: ROS for Industrial Robots Technical requirements Understanding ROS-Industrial packages Goals of ROS-Industrial ROS-Industrial – a brief history Installing ROS-Industrial packages Block diagram of ROS-Industrial packages Creating a URDF for an industrial robot Creating the MoveIt configuration for an industrial robot Updating the MoveIt configuration files Installing ROS-Industrial packages for Universal Robots arms Installing the ROS interface for Universal Robots Understanding the MoveIt configuration of a Universal Robots arm Getting started with real Universal Robots hardware and ROS-I Working with MoveIt configuration for ABB robots Understanding the ROS-Industrial robot support packages The ROS-Industrial robot client package Designing industrial robot client nodes The ROS-Industrial robot driver package Understanding the MoveIt IKFast plugin Creating the MoveIt IKFast plugin for the ABB IRB 6640 robot Prerequisites for developing the MoveIt IKFast plugin The OpenRave and IKFast modules MoveIt IKFast Installing the MoveIt IKFast package Installing OpenRave on Ubuntu 20.04 Creating the COLLADA file of a robot to work with OpenRave Generating the IKFast CPP file for the IRB 6640 robot Creating the MoveIt IKFast plugin Summary Questions Chapter 16: Troubleshooting and Best Practices in ROS Setting up Visual Studio Code with ROS Installing/uninstalling Visual Studio Code Getting started with Visual Studio Code Installing new Visual Studio Code extensions Getting started with the Visual Studio Code ROS extension Inspecting and building the ROS workspace Managing ROS packages using Visual Studio Code Visualizing the preview of a URDF file Best practices in ROS ROS C++ coding style guide Best coding practices for the ROS package Important troubleshooting tips in ROS Using roswtf Summary Questions About Packt Other Books You May Enjoy Index