ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Mastering ROS for Robotics Programming: Best practices and troubleshooting solutions when working with ROS

دانلود کتاب تسلط بر ROS برای برنامه نویسی رباتیک: بهترین شیوه ها و راه حل های عیب یابی هنگام کار با ROS

Mastering ROS for Robotics Programming: Best practices and troubleshooting solutions when working with ROS

مشخصات کتاب

Mastering ROS for Robotics Programming: Best practices and troubleshooting solutions when working with ROS

دسته بندی: الکترونیک: رباتیک
ویرایش: 3 
نویسندگان:   
سری:  
ISBN (شابک) : 1801071020, 9781801071024 
ناشر: Packt Publishing 
سال نشر: 2021 
تعداد صفحات: 594 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 24 مگابایت 

قیمت کتاب (تومان) : 47,000



کلمات کلیدی مربوط به کتاب تسلط بر ROS برای برنامه نویسی رباتیک: بهترین شیوه ها و راه حل های عیب یابی هنگام کار با ROS: روباتیک، OpenCV، سخت‌افزار، بهترین تمرین‌ها، شبیه‌سازی، ROS، روبات‌های متفاوت، Gazebo، نمونه‌سازی اولیه، Webbots، CoppeliaSim



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 4


در صورت تبدیل فایل کتاب Mastering ROS for Robotics Programming: Best practices and troubleshooting solutions when working with ROS به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب تسلط بر ROS برای برنامه نویسی رباتیک: بهترین شیوه ها و راه حل های عیب یابی هنگام کار با ROS نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب تسلط بر 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




نظرات کاربران