
۴۴٬۰۰۰تومان
نوع فایل دانلود: EPUB
پس از خرید، یک فایل EPUB دریافت میکنید.
این فایل با Calibre، Apple Books و سایر کتابخوانهای دیجیتال مناسب است.
هر آنچه برای ساخت رباتهای قدرتمند با بهروزترین نسخه ROS نیاز دارید، اینجا پیدا میکنید.
## درباره این کتاب
* این راهنمای جامع و در عین حال ساده به شما کمک میکند راه خود را در چارچوب ROS پیدا کنید.
* مدل سهبعدی ربات خود را با موفقیت طراحی و شبیهسازی کنید و با الگوریتمها و ابزارهای قدرتمند رباتیک، رباتهایتان را برنامهنویسی و راهاندازی کنید؛ تجربهای بینظیر با قابلیتهای هیجانانگیز و جدید Robot Kinetic.
* از آخرین نسخه شبیهساز Gazebo، OpenCV 3.0 و استاندارد C++11 برای الگوریتمهای خودتان استفاده کنید.
## این کتاب برای چه کسانی است
این کتاب هم برای مبتدیان ROS مناسب است و هم برای رباتیککاران، کاربران یا توسعهدهندگان باتجربه ROS که میخواهند ROS Kinetic و قابلیتهایش را برای ساخت یک ربات خودمختار یاد بگیرند. همچنین برای کسانی مناسب است که میخواهند حسگرها و سامانههای نهفته را با نرمافزارها و ابزارهای دیگر، با استفاده از ROS بهعنوان چارچوب، یکپارچه کنند.
## آنچه یاد میگیرید
* مفاهیم ROS، ابزارهای خط فرمان، رابطهای گرافیکی نمایش و نحوه اشکالزدایی ROS را درک کنید.
* حسگرها و عملگرهای ربات را به ROS متصل کنید.
* دادههای دوربینها و حسگرهای سهبعدی را دریافت و تحلیل کنید.
* از Gazebo برای شبیهسازی ربات، حسگر و محیط استفاده کنید.
* یک ربات طراحی کنید و ببینید چگونه با MoveIt! محیط را نقشهبرداری میکند، بهصورت خودمختار حرکت میکند و اشیاء را در محیط جابهجا میکند.
* با OpenCV 3.0 قابلیت بینایی به ربات اضافه کنید.
* با آخرین نسخه PCL قابلیت ادراک سهبعدی به ربات اضافه کنید.
## جزئیات بیشتر
ساخت و برنامهنویسی یک ربات میتواند دشوار و وقتگیر باشد؛ اما وقتی مجموعه درستی از ابزارها، کتابخانهها و مهمتر از همه همکاری متخصصان را داشته باشید، چنین نیست. ROS توسعه نرمافزاری مشارکتی را ممکن میکند و محیطی شبیهسازیشده بیرقیب ارائه میدهد که کل فرایند ساخت ربات را ساده میکند.
این کتاب پر از مثالهای عملی است که به شما کمک میکند ربات خود را برنامهنویسی کنید و با کتابخانهها و ابزارهای متنباز ROS به راهحلهای کامل برسید. همچنین نشان میدهد چگونه با ماشینهای مجازی و کانتینرهای Docker نصب اوبونتو و چارچوب ROS را ساده کنید تا بتوانید در محیطی ایزوله و کنترلشده کار کنید، بدون آنکه تنظیمات معمولی رایانه خود را تغییر دهید.
کتاب با نصب و مفاهیم پایه آغاز میشود و سپس به ماژولهای پیچیدهتر موجود در ROS میپردازد؛ از جمله یکپارچهسازی حسگرها و عملگرها (درایورها)، ناوبری و نقشهبرداری (تا بتوانید یک ربات متحرک خودمختار بسازید)، دستکاری اشیاء، بینایی ماشین، ادراک سهبعدی با PCL و موارد بیشتر. در پایان کتاب میتوانید از همه قابلیتهای ROS Kinetic بهره ببرید و رباتی کامل برای همه نیازهایتان بسازید.
## سبک و رویکرد
این کتاب پر از مثالهای عملی است که به شما کمک میکند ربات خود را برنامهنویسی کنید و با کتابخانهها و ابزارهای متنباز ROS به راهحلهای کامل برسید. همه مفاهیم و ماژولهای رباتیک توضیح داده شدهاند و مثالهای متعددی ارائه شده تا بتوانید آنها را بهراحتی درک کنید.
## درباره نویسندگان
**آنیل ماهتانی** دانشمند علوم رایانه است که بخش مهمی از مسیر حرفهای خود را به رباتیک زیرآبی اختصاص داده است. کار در این حوزه را با پایاننامه کارشناسی ارشدش آغاز کرد؛ جایی که یک معماری نرمافزاری برای یک ROV کمهزینه توسعه داد. در جریان نگارش پایاننامهاش، همچنین رهبر تیم و توسعهدهنده اصلی AVORA شد؛ تیمی از دانشجویان دانشگاه که یک وسیله نقلیه زیرآبی خودمختار برای مسابقه Students Autonomous Underwater Challenge – Europe (SAUC-E) در سال ۲۰۱۲ طراحی و ساختند. همان سال، آنیل ماهتانی پایاننامهاش و مدرک کارشناسی ارشد علوم رایانه را در دانشگاه لاس پالماس د گران کاناریا به پایان رساند و سپس بهعنوان مهندس نرمافزار در SeeByte Ltd مشغول به کار شد؛ شرکتی پیشرو در جهان در زمینه راهحلهای نرمافزاری هوشمند برای سامانههای زیرآبی. در سال ۲۰۱۵ به Dell Secureworks پیوست و بهعنوان مهندس نرمافزار دانش و مهارت خود را در توسعه سامانههای تشخیص و جلوگیری از نفوذ به کار میگیرد. در دوران حضور در SeeByte Ltd، آنیل ماهتانی نقش کلیدی در توسعه چند سامانه نیمهخودمختار و خودمختار زیرآبی برای صنایع نظامی و نفت و گاز داشت. در آن پروژهها عمیقاً در توسعه سامانههای خودمختاری، طراحی معماریهای نرمافزاری توزیعشده و توسعه نرمافزار سطح پایین مشارکت داشت و همچنین در ارائه راهحلهای بینایی ماشین برای تصاویر سونار روبهجلو نقش داشت. در SeeByte Ltd همچنین به جایگاه مدیر پروژه رسید و تیمی از مهندسان را مدیریت کرد که کتابخانههای هستهای داخلی C++ را توسعه و نگهداری میکردند. علایق حرفهای او عمدتاً در مهندسی نرمافزار، الگوریتمها، ساختارهای داده، سامانههای توزیعشده، شبکهها و سیستمعاملهاست. نقش اصلی آنیل در رباتیک ارائه راهحلهای نرمافزاری کارآمد و پایدار است؛ راهحلهایی که نه تنها مسائل فعلی را حل میکنند، بلکه مشکلات آینده یا بهبودهای ممکن را نیز پیشبینی میکنند. با توجه به تجربهاش، در مواجهه با مسائل بینایی ماشین، یادگیری ماشین یا کنترل نیز دارایی ارزشمندی است. آنیل به کارهای دستی و الکترونیک هم علاقه دارد و چند کتابخانه Arduino ساخته که به جامعه بازگردانده است.
**لوئیس سانچز** مدرک کارشناسی ارشد دوگانه خود را در مهندسی الکترونیک و مخابرات در دانشگاه لاس پالماس د گران کاناریا به پایان رسانده است. با گروههای پژوهشی مختلفی همکاری کرده است؛ از جمله Institute for Technological Development and Innovation (IDETIC)، Oceanic Platform of Canary Islands (PLOCAN) و Institute of Applied Microelectronics (IUMA) که در حال حاضر در آنجا روی الگوریتمهای ابرتفکیک تصویر پژوهش میکند. علایق حرفهای او در بینایی ماشین، پردازش سیگنال و طراحی الکترونیک کاربردی در سامانههای رباتیک است. به همین دلیل به تیم AVORA پیوست؛ گروهی از مهندسان و دانشجویان جوان که از صفر روی توسعه وسایل نقلیه زیرآبی خودمختار (AUV) کار میکنند. در این پروژه، لوئیس کار روی سامانههای آکوستیک و بینایی ماشین را آغاز کرد و اطلاعات را از حسگرهای مختلف مانند هیدروفون، سونار یا دوربین استخراج میکند. با پشتوانه قوی در فناوری دریایی، لوئیس همبنیانگذار Subsea Mechatronics شد؛ استارتآپی جوان که در آن روی توسعه وسایل نقلیه کنترل از راه دور و خودمختار برای محیطهای زیرآبی کار میکند. داریو سوسا کابررا، مهندس فناوریهای دریایی و کارآفرین (و همبنیانگذار و سازنده LPA Fabrika: Gran Canaria Maker Space) درباره لوئیس میگوید: «او بسیار پرشور است و مهندسی چندرشتهای است. نسبت به کارش مسئولیتپذیر است. میتواند خودش را مدیریت کند و همانطور که در مسابقه euRathlon نشان داد، میتواند مسئولیت رهبری تیم را بپذیرد. پیشینه او در الکترونیک و مخابرات به او اجازه میدهد طیف گستردهای از تخصصها را پوشش دهد؛ از پردازش سیگنال و نرمافزار تا طراحی و ساخت الکترونیک.» لوئیس بهعنوان بازبین فنی نسخه قبلی Learning ROS for Robotics Programming و بهعنوان همنویسنده ویرایش دوم مشارکت داشته است.
**انریکه فرناندز** دکترای مهندسی رایانه دارد و پیشینهای گسترده در رباتیک. پایاننامه دکترایش به مسئله برنامهریزی مسیر برای گلایدرهای زیرآبی خودمختار میپرداخت، اما روی پروژههای رباتیک دیگری هم کار کرده است؛ از جمله SLAM، ادراک، بینایی و کنترل. در دوران دکترا به Center of Underwater Robotics Research در دانشگاه خیرونا پیوست؛ جایی که ماژولهای Visual SLAM و INS را در ROS برای وسایل نقلیه زیرآبی خودمختار (AUV) توسعه داد، در Student Autonomous Underwater Challenge, Europe (SAUC-E) سال ۲۰۱۲ شرکت کرد و در نسخه ۲۰۱۳ نیز همکاری داشت؛ در سال ۲۰۱۲ جایزهای دریافت کرد. در دوران دکترا، انریکه چندین مقاله کنفرانسی و انتشار در کنفرانسهای برتر رباتیک مانند International Conference of Robotics and Automation (ICRA) منتشر کرد. همچنین نویسنده چند فصل کتاب و کتابهای ROS بوده است. بعداً، انریکه در ژوئن ۲۰۱۳ بهعنوان مهندس SLAM به PAL Robotics پیوست. آنجا با رباتهای انساننمای REEM و REEM-C با نرمافزار ROS کار کرد و همچنین به جامعه متنباز، عمدتاً مخزن ROS Control، کمک کرد و امروزه یکی از نگهدارندگان آن است. در سال ۲۰۱۵ به Clearpath Robotics پیوست تا در تیم خودمختاری روی الگوریتمهای ادراک کار کند. او روی نرمافزاری کار کرده که روی رباتهای متحرک صنعتی OTTO 1500 و OTTO 100 اجرا میشود؛ نرمافزاری که در تأسیسات چندین شرکت بزرگ صنعتی مانند General Electric و John Deere مستقر شده است.
**آرون مارتینز** مهندس رایانه، کارآفرین و متخصص ساخت دیجیتال است. پایاننامه کارشناسی ارشد خود را در سال ۲۰۱۰ در IUCTC (Instituto Universitario de Ciencias y Tecnologias Ciberneticas) در دانشگاه لاس پالماس د گران کاناریا انجام داد. پایاننامهاش را در حوزه حضور از راه دور با استفاده از دستگاههای همهجانبه و سکوهای رباتیک آماده کرد. پس از پایان مسیر تحصیلی، در یک برنامه کارآموزی در The Institute for Robotics در دانشگاه یوهانس کپلر در لینتس اتریش شرکت کرد. در این دوره بهعنوان بخشی از تیم توسعه یک سکوی متحرک با ROS و پشته ناوبری کار کرد. پس از آن در چند پروژه مرتبط با رباتیک مشارکت داشت؛ یکی از آنها پروژه AVORA در دانشگاه لاس پالماس د گران کاناریا بود. در این پروژه روی ساخت یک AUV برای شرکت در Student Autonomous Underwater Challenge-Europe (SAUC-E) در ایتالیا کار کرد. در سال ۲۰۱۲ مسئول ساخت این پروژه بود؛ در سال ۲۰۱۳ به تطبیق پشته ناوبری و سایر الگوریتمهای ROS با سکوی رباتیک کمک کرد. اخیراً آرون شرکت خود را با نام SubSeaMechatronics, SL تأسیس کرد. این شرکت روی پروژههای مرتبط با رباتیک زیرآبی و سامانههای کنترل از راه دور کار میکند. آنها همچنین حسگرهای زیرآبی طراحی و تولید میکنند. شرکت دستگاههایی برای شرکتهای دیگر و مؤسسات تحقیق و توسعه میسازد. آرون در بسیاری از زمینهها تجربه دارد؛ از جمله برنامهنویسی، رباتیک، مکاترونیک و ساخت دیجیتال، و همچنین با دستگاههای بسیاری مانند Arduino، BeagleBone، سرورها و LIDAR آشناست. امروزه در SubSeaMechatronics SL چند سکوی رباتیک برای محیطهای زیرآبی و هوایی طراحی میکند.
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 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 PCL## In 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 the Author**Anil Mahtani** is a computer scientist who has dedicated an important part of his career to underwater robotics. He first started working in the field with his master thesis, where he developed a software architecture for a low-cost ROV. During the development of his thesis, he also became the team leader and lead developer of AVORA, a team of university students that designed and developed an autonomous underwater vehicle for the Students Autonomous Underwater Challenge – Europe (SAUC-E) in 2012. That same year, Anil Mahtani completed his thesis and his MSc in Computer Science at the University of Las Palmas de Gran Canaria and then became a Software Engineer at SeeByte Ltd, a world leader in smart software solutions for underwater systems. In 2015, he joined Dell Secureworks as a Software Engineer, where he applies his knowledge and skills toward developing intrusion detection and prevention systems. During his time at SeeByte Ltd, Anil Mahtani played a key role in the development of several semi-autonomous and autonomous underwater systems for the military and oil and gas industries. In those projects, he was heavily involved in the development of autonomy systems, the design of distributed software architectures, and low-level software development and also contributed in providing Computer Vision solutions for front-looking sonar imagery. At SeeByte Ltd, he also achieved the position of project manager, managing a team of engineers developing and maintaining the internal core C++ libraries. His professional interests lie mainly in software engineering, algorithms, data structures, distributed systems, networks, and operating systems. Anil's main role in robotics is to provide efficient and robust software solutions, addressing not only the current problems at hand but also foreseeing future problems or possible enhancements. Given his experience, he is also an asset when dealing with Computer Vision, machine learning, or control problems. Anil has also interests in DIY and electronics, and he has developed several Arduino libraries, which he has contributed back to the community.**Luis Sanchez** has completed his dual master's degree in electronics and telecommunication engineering at the University of Las Palmas de Gran Canaria. He has collaborated with different research groups as the Institute for Technological Development and Innovation (IDETIC), the Oceanic Platform of Canary Islands (PLOCAN), and the Institute of Applied Microelectronics (IUMA) where he actually researches on imaging super-resolution algorithms. His professional interests lie in Computer Vision, signal processing, and electronic design applied on robotics systems. For this reason, he joined the AVORA team, a group of young engineers and students working on the development of Underwater Autonomous Vehicles (AUV) from scratch. Inside this project, Luis has started developing acoustic and Computer Vision systems, extracting information from different sensors such as hydrophones, sonar, or camera. With a strong background gained in marine technology, Luis cofounded Subsea Mechatronics, a young start-up, where he works on developing remotely operated and autonomous vehicles for underwater environments. Here's what Dario Sosa Cabrera, a marine technologies engineer and entrepreneur (and the cofounder and maker of LPA Fabrika: Gran Canaria Maker Space) has to say about Luis: "He is very enthusiastic and an engineer in multiple disciplines. He is responsible for his work. He can manage himself and can take up responsibilities as a team leader, as demonstrated at the euRathlon competition. His background in electronics and telecommunications allows him to cover a wide range of expertise from signal processing and software, to electronic design and fabrication." Luis has participated as a technical reviewer of the previous version of Learning ROS for Robotics Programming and as a cowriter of the second edition.**Enrique Fernandez** has a PhD in computer engineering and an extensive background in robotics. His PhD thesis addressed the problem of Path Planning for Autonomous Underwater Gliders, but he also worked on other robotics projects, including SLAM, perception, vision, and control. During his doctorate, he joined the Center of Underwater Robotics Research in the University of Girona, where he developed Visual SLAM and INS modules in ROS for Autonomous Underwater Vehicles (AUVs), and participated in the Student Autonomous Underwater Challenge, Europe (SAUC-E) in 2012, and collaborated in the 2013 edition; in 2012, he was awarded a prize. During his PhD, Enrique published several conference papers and publications to top robotics conferences, such as the International Conference of Robotics and Automation (ICRA). He has also authored some book chapters and ROS books. Later, Enrique joined PAL Robotics as a SLAM engineer in June 2013. There he worked with the REEM and REEM-C humanoid robots using ROS software and also contributed to the open source community, mainly to ROS Control repository, being one of the maintainers nowadays. In 2015, he joined Clearpath Robotics to work on the Autonomy team, developing perception algorithms. He has worked on the software that runs on the industrial mobile robots OTTO 1500 and OTTO 100, which has been deployed into the facilities of multiple large industry companies, such as General Electric and John Deere.**Aaron Martinez** is a computer engineer, entrepreneur, and expert in digital fabrication. He did his master's thesis in 2010 at the IUCTC (Instituto Universitario de Ciencias y Tecnologias Ciberneticas) in the University of Las Palmas de Gran Canaria. He prepared his master's thesis in the field of telepresence using immersive devices and robotic platforms. After completing his academic career, he attended an internship program at The Institute for Robotics in the Johannes Kepler University in Linz, Austria. During his internship program, he worked as part of a development team of a mobile platform using ROS and the navigation stack. After that, he was involved in some projects related to robotics; one of them is the AVORA project in the University of Las Palmas de Gran Canaria. In this project, he worked on the creation of an AUV to participate in the Student Autonomous Underwater Challenge-Europe (SAUC-E) in Italy. In 2012, he was responsible for manufacturing this project; in 2013, he helped to adapt the navigation stack and other algorithms from ROS to the robotic platform. Recently, Aaron created his own company named SubSeaMechatronics, SL. This company works with projects related with underwater robotics and telecontrol systems. They are also designing and manufacturing subsea sensors. The company manufactures devices for other companies and research and development institutes. Aaron has experience in many fields, such as programming, robotics, mechatronics, and digital fabrication as well as many devices, such as Arduino, BeagleBone, Servers, and LIDAR, and nowadays he is designing in SubSeaMechatronics SL some robotics platforms for underwater and aerial environments.