INTRODUCTION
Mobile robotics is a technological field and a research area which has witnessed incredible advances for the last decades. It finds application in areas like automatic cleaning, agriculture, support to medical services, hazard environments, space exploration, military, intelligent transportation, social robotics, and entertainment [1]. In robotics research, the need for practical integration tools to implement valuable scientific contributions is felt frequently. However, roboticists end up spending excessive time with engineering solutions for their particular hardware setup, often reinventing the wheel. For that purpose, several different mobile robotic platforms have emerged with the ability to support research work focusing on applications like search and rescue, security applications, human interaction or robotics soccer and, nowadays, almost every major engineering institute has one or more laboratories focusing on mobile robotics research.
Earlier, the focus of research was especially on large and medium systems. However, with recent advances in sensor miniaturization and the increasing computational power and capability of microcontrollers in the past years, the emphasis has been put on the development of smaller and lower cost robots. Such low-cost platforms make affordable the experimentation with a larger number of robots (e.g., in cooperative robotics and swarm robotics) and are also ideal for educational purposes. With such assumptions in mind, we have been doing engineering and research work with two Arduino-based mobile platforms [2]: the TraxBot [3] and the StingBot1. The choice fell upon Arduino solutions, since it presents an easy-to-learn programming language (derived from C++) that incorporates various complex programming functions into simple commands that are much easier for students to learn. Moreover, the simplicity of the Arduino to create, modify and improve projects, as well as its open-source and reduced cost makes it among the most used microcontroller solutions in the educational context
Following the trend of research, in this work the focus is on educational, open-source platforms that enable researchers, students and robot enthusiasts to quickly perform real world experimentation, having access to the tools provided by the Robotic Operating System (ROS) [4]. ROS is currently the most trending and popular robotic framework in the world, reaching critical mass and being the closest one to become the standard that the robotics community urgently needed. With the exponential growth of robotics, some difficulties have been found in terms of writing software for robots. Different types of robots can have wildly varying hardware, making code reuse nontrivial. Opposing this tendency, ROS provides libraries and tools to help software developers to create robot applications. The major goals of ROS are hardware abstraction, low-level device control, implementation of commonly-used functionally, message-passing between processes and package management. One of its gold marks is the amount of tools available for the community like the Stage simulator [5], navigation capabilities 2 , visual SLAM [6] and 3D point cloud based object recognition [7], among others. Regular updates enable the users to obtain, build, write and run ROS code across multiple computers.
In the next section, we review general purpose and educational mobile robots, focusing on those already integrated in ROS and briefly describe our Arduino-based robot platforms. In section III, the main contributions of this work are revealed and details on the development of the ROS driver and its features are presented. In the subsequent section, preliminary results with physical Arduino-based robots and a team of mixed real and virtual cooperating agents are presented. Finally, the article ends with conclusions and future work.
บทนำ
มือถือหุ่นยนต์เป็นเขตเทคโนโลยีและการวิจัยพื้นที่ที่ได้เห็นความก้าวหน้าที่น่าทึ่งสำหรับทศวรรษที่ผ่านมา พบการประยุกต์ใช้ในพื้นที่เช่นการทำความสะอาดอัตโนมัติ , การเกษตร , การสนับสนุนการบริการทางการแพทย์ ภัยสิ่งแวดล้อม , สำรวจ , ทหาร , ฉลาดขนส่งอวกาศ หุ่นยนต์ ทางสังคมและความบันเทิง [ 1 ] งานวิจัยหุ่นยนต์ต้องการเครื่องมือที่บูรณาการการปฏิบัติเพื่อใช้คุณค่าทางวิทยาศาสตร์ให้รู้สึกบ่อย อย่างไรก็ตาม , CMU สิ้นสุดการใช้จ่ายเวลามากเกินไปกับการแก้ปัญหาทางวิศวกรรมสำหรับการติดตั้งฮาร์ดแวร์ของตนเองโดยเฉพาะ มักจะ reinventing ล้อ สำหรับวัตถุประสงค์ที่หลายแพลตฟอร์มโทรศัพท์มือถือได้กลายเป็นหุ่นยนต์ที่มีความสามารถเพื่อสนับสนุนงานวิจัยที่เน้นการใช้งาน เช่น การค้นหาและกู้ภัย , การรักษาความปลอดภัยการปฏิสัมพันธ์ของมนุษย์ หรือ หุ่นยนต์ และ ฟุตบอล ทุกวันนี้ เกือบทุกสาขาวิศวกรรมศาสตร์สถาบันมีห้องปฏิบัติการที่เน้นการวิจัยหุ่นยนต์เคลื่อนที่
ก่อนหน้านี้เน้นการวิจัย โดยเฉพาะอย่างยิ่งในระบบขนาดใหญ่และขนาดกลาง อย่างไรก็ตาม กับความก้าวหน้าใน miniaturization เซ็นเซอร์และเพิ่มการคำนวณพลังงานและความสามารถของเอ็ดมันด์ ฮัลเลย์ในปีที่ผ่านมา โดยได้รับการวางในการพัฒนาหุ่นยนต์ขนาดเล็ก และราคาถูกกว่า แพลตฟอร์มดังกล่าวทำให้ราคาไม่แพง การทดลอง ด้วยตัวเลขขนาดใหญ่ของหุ่นยนต์ ( เช่นหุ่นยนต์และหุ่นยนต์ Swarm สหกรณ์ ) และยังเหมาะสำหรับการศึกษา ด้วยเช่นสมมติฐานในใจเราได้ทำงานด้านวิศวกรรมและการวิจัยกับสอง Arduino ใช้แพลตฟอร์มโทรศัพท์มือถือ [ 2 ] : traxbot [ 3 ] และ stingbot1 . ทางเลือกที่ลดลงเมื่อ Arduino โซลูชั่นเนื่องจากมันสามารถง่ายต่อการเรียนรู้ภาษาการเขียนโปรแกรม ( มาจาก ซี ) ต่าง ๆโปรแกรมที่ซับซ้อนที่ประกอบด้วยฟังก์ชันเป็นคำสั่งง่ายๆที่ง่ายขึ้นสำหรับนักเรียนที่จะเรียนรู้ นอกจากนี้ ความเรียบง่ายของ Arduino เพื่อสร้าง , แก้ไขและปรับปรุงโครงการเป็นแหล่งเปิดและลดต้นทุนให้กับไมโครคอนโทรลเลอร์ที่ใช้มากที่สุดโซลูชั่นในบริบททางการศึกษา
ดังต่อไปนี้แนวโน้มของการวิจัย ในงานนี้เน้นการศึกษาโอเพนซอร์สแพลตฟอร์มที่ช่วยให้นักวิจัย นักเรียน และผู้ที่ชื่นชอบหุ่นยนต์ได้อย่างรวดเร็วแสดงการทดลองโลกที่แท้จริงการเข้าถึงเครื่องมือที่ให้โดยระบบปฏิบัติการหุ่นยนต์ ( ROS ) [ 4 ] ผลตอบแทนในปัจจุบันมากที่สุดและเป็นที่นิยมในกรอบแนวโน้มหุ่นยนต์โลกถึงมวลวิกฤตและใกล้จะกลายเป็นมาตรฐานที่หุ่นยนต์ชุมชนต้องการอย่างเร่งด่วน กับการเจริญเติบโตของหุ่นยนต์ บางปัญหาได้รับการพบในแง่ของการเขียนซอฟแวร์สำหรับหุ่นยนต์ประเภทของหุ่นยนต์สามารถมีป่าแตกต่างฮาร์ดแวร์ การสร้างรหัสใหม่นอนทริเวียล . ต่อต้านแนวโน้มนี้ รอส มีห้องสมุดและเครื่องมือที่จะช่วยให้นักพัฒนาซอฟต์แวร์ในการสร้างโปรแกรมหุ่นยนต์ เป้าหมายหลักของรอสเป็น abstraction ฮาร์ดแวร์ควบคุมอุปกรณ์ในการใช้โดยทั่วไปโดยข้อความผ่านระหว่างกระบวนการและการจัดการแพคเกจหนึ่งในเครื่องหมายทองคือจำนวนของเครื่องมือที่สามารถใช้ได้สำหรับชุมชน เช่น จำลองเวที [ 5 ] , นำร่องใน 2 ภาพ , กระแทก [ 6 ] และ 3D เมฆตามการรับรู้วัตถุ [ 7 ] , หมู่คนอื่น ๆ การปรับปรุงปกติช่วยให้ผู้ใช้ที่จะได้รับ สร้าง เขียน และใช้รหัสรอสในคอมพิวเตอร์หลายเครื่อง
ในส่วนถัดไป เราทบทวนวัตถุประสงค์ทั่วไป และหุ่นยนต์เคลื่อนที่ศึกษาเน้นที่บูรณาการอยู่แล้วในผลตอบแทน และอธิบายสั้น ๆแพลตฟอร์มของเราจาก Arduino หุ่นยนต์ ในส่วนที่ 3 ผลงานหลักของงานนี้จะเปิดเผยรายละเอียดเกี่ยวกับการพัฒนาของรอส คนขับรถและคุณลักษณะของมันจะนำเสนอ ในส่วนที่ตามมา , ผลลัพธ์เบื้องต้นกับหุ่นยนต์ Arduino ใช้ทีมผสมทางกายภาพและเสมือนจริงและประสานงานตัวแทนนำเสนอในที่สุด บทความจบลงด้วยข้อสรุปและการทำงานในอนาคต .
การแปล กรุณารอสักครู่..
