Turtlebot3th beta

Page 1

1. Overview TURTLEBOT3 เป็นหุ่นยนต์เคลื่อนที่ในรูปแบบระบบโมดูลาร์หรือ ระบบประสานทางพิกัด (Modular System) คือ ระบบที่ประกอบด้วยหน่ว ยแยกต่างๆ ที่สามารถรวมกันเป็นหน่วยรวมขนาดหนึ่ง โดยขนาด หน่วยแยกแต่ละส่วนจะมีระยะสัดส่วนที่มีความสัมพันธ์กั น ระบบโมดูลาร์ถูกนามาใช้ใน TURTLEBOT3 เพื่อ ช่วยในเรื่องของการลดระยะเวลาในการทางานในขั้นตอนของการค้นหาพิกัดเพื่อให้เกิดผลลัพธ์ที่ดีที่สุด เป้าหมายของ TURTLEBOT3 คือการลดขนาดของอุปกรณ์ฮาร์ดแวร์และซอฟแวร์โดยไม่ต้องสูญเสีย คุ ณ ภาพหรื อ ความสามารถในการท างานของชิ้ น ส่ ว นอุ ป กรณ์ เ สริ ม เช่ น ตั ว ถั ง หรื อ เซนเซอร์ ที่ มี อ ยู่ TURTLEBOT3 สามารถปรับแต่งในรูปแบบต่างๆ โดยใช้เทคโนลียี ความก้าวหน้าของ SBC (Single Board Computer) เพื่อควบคุมอุปกรณ์วัดความลึกและเทคโนโลยีการพิมพ์ภาพ 3 มิติ TURTLEBOT3 เป็นโครงการความร่ว มมือระหว่าง Open Robotics, Robotis และหน่วยงานที่ให้ ความร่วมมือเช่น Intel, Onshape, Oroca เป็นต้น โดยบริษัท Open Robotics เป็นผู้ดูแลซอฟแวร์ ทั้งหมด และ บริษัท Robotis เป็นผู้ผลิตรวมถึงจัดจาหน่ายสินค้าออกตลาดทั่วโลก


2. Features 2.1 แพลตฟอร์ม ROS Turtlebot เป็นหุ่นยนต์การศึกษาและการวิจัย โดยมีหุ่นยนต์รุ่นใหม่คือ TurtleBot3 ที่มีขนาดเล็ก ต้นทุนต่า, ROS ออกแบบตามหุ่นยนต์เคลื่อนที่ โดยมีจุดมุ่งหมายที่จะใช้สาหรับการศึกษาการวิจัยและงาน อดิเรกเพื่อการสร้างต้นแบบผลิตภัณฑ์ในรูปแบบต่างๆ 2.2 ต้นทุน Turtlebot3 Turtlebot พัฒ นาขึ้ น เพื่ อ ตอบสนองในเรื่ อ งของราคาที่ต่ า และความต้อ งการของโรงเรี ย นหรื อ ห้ อ งปฎิ บั ติ ก ารต่ า งๆ โดย Tutlebot3 เป็ น หุ่ น ยนต์ ที่ แ พงที่ สุ ด ในกลุ่ ม ของ Mobile Robot แต่ จ ะมี ความสามารถพิเศษกว่าหุ่นยนต์ชนิดอื่นๆ คือการรองรับแรงกระแทกและ เทคโนโลยี Lidar คือ เทคโนโลยีการ สารวจงานภูมิประเทศแบบใหม่ ซึ่ งมีเทคโนโลยีที่เหมือนกันกับการทางานของ Radar กล่าวคือ เป็นการวัด ระยะจากระยะเวลาในการเดินทางของลาแสงเลเซอร์ ที่เดินทางจาก Sensor ไปยังวัตถุเป้าหมาย และเดินทาง กลับมายัง Sensor เป็นต้น 2.3 ขนาดของ Turtlebot3 Turtlebot3 มีขนาดเพียง 138mm x 178mm x 192mm (กว้าง*ยาว*สูง) มีขนาดประมาณ ¼ ของ รุ่นก่อนๆ 2.4 มาตราฐาน ROS ROS ของ Turtlebot มี ก ารดู แ ลและพั ฒ นาด้ ว ยบริ ษั ท Open Robotics โดยปั จ จุ บั น ROS ได้ กลายเป็นแพลตฟอร์มสาหรับ Robotics ไปทั่วโลก Turtlebot สามารถพัฒนากับ ROS เพื่อสร้างหุ่นยนต์ใน รูปแบบต่างๆ แต่ Turtlebot3 สามารถเป็นแพลตฟอร์มที่เหมาะสมสาหรับผู้เริ่มต้นที่ต้องการจะศึกษา 2.5 ความสามารถ Turtlebot3 สนับสนุนให้ผู้ใช้ปรับแต่งโครงสร้างทางกลไกอื่นๆ ด้วยบอร์ดควบคุมและเซนเซอร์ต่างๆ โดย Turtlebot3 จะมีแพลตฟอร์มในการขับเคลื่อนล้อ 2 ล้อ ที่แตกต่างกัน แต่สามารถปรับแต่งกลไกในการ เคลื่อนที่ได้หลากหลายรูปแบบ เช่น การเคลื่อนที่ในรูปแบบของรถยนต์ เป็นต้น


2.6. โมดูลมอเตอร์สาหรับ MOBILE ROBOT Turtlebot3 สามารถรับข้อมูลเชิงพื้นฐานได้อย่างแม่นยา โดยการใช้ 2 DYNAMIXELs ของล้อทั้งสอง ข้างรวมกัน DYNAMIXEL XM series สามารถทางานได้ตั้งแต่ -6 โหมดของโหมดการทางาน เช่นโหมดควบคุม ความเร็วล้อ, โหมดควบคุมตาแหน่ง เป็นต้น DYNAMIXEL สามารถใช้ในการทาหุ่นนต์ที่มีน้าหนักเบา แต่ในที่นี้ สามารถควบคุมได้อย่างแม่นยา โดยการควบคุมความเร็ว แรงบิด และการควบคุมตาแหน่ง DYNAMIXEL เป็น ส่วนประกอบหลักในการทาให้ Tuttlebot3 สมบูรณ์แบบ ซึ่งการตั้งค่าและการดูแลรักษาจะไม่ยากเช่นกัน

2.7. การควบคุมบอร์ดจาก ROS การควบคุมบอร์ดจะมี open-sourced ของฮาร์ดแวร์และซอฟแวร์จาก ROS ซอฟแวร์ในการควบคุม บอร์ด OpenCR ไม่ได้มีหน้าที่เพียงเพื่อหารควบคุมการเคลื่อนที่ แต่ยังสามารถนามาเพื่อการควบคุมเซนเซอร์ ของ ROBOTIS เพื่อให้มีประสิทธิภาพมากขึ้น เช่น เซ็นเซอร์สัมผัส , เซ็นเซอร์สี , เซ็นเซอแสง เป็นต้น โดย บอร์ด มีขาต่อไฟเลี้ยง 3.3V, 5V, 2V เพื่อรองรับอุปกรณ์ในหลากหลายรูปแบบ

2.8. เซ็นเซอร์สาหรับการทา LINEUPS TurtleBot3 ในส่วนของ Burger สามารถหมุนรอบตัวเองได้ 360° โดยใช้เทคโนโลยี LiDAR, ในการ วิเคราะห์วัดแรงเฉื่อยรวมถึงการเข้ารหัสสาหรับการวัยและพัฒนา TurtleBot3 Waffle เป็นอุปกรณ์ที่สามารถหมุนรอบตัวเองได้ 360° โดยใช้เทคโนโลยี LiDAR เช่นกัน แต่จะใช้ได้ดีกับการแก้ปัญหาสาหรับฮาร์ดแวร์ มากกว่าเช่นนามาสาหรัการควบคุมการเคลื่อนที่ของหุ่นยนต์ เป็นต้น 2.9. Source code ฮาร์ดแวร์, เฟิร์มแวร์ และซอฟแวร์ ของ Turtlebot3 สามารถดาวน์โหลดและพัฒนาได้จากเว็ปไซด์ ของ Turtlebot ส่วนประกอบทั้งหมดของ Turtlebot ทามาจากพลาสติก โดยพิมพ์จาก 3D ปริ้นเตอร์ ส่วน ของซอฟแวร์ 3D CAD มีการเผยแพร่อยู่ใน Onshape ซึ่งเป็นเวอร์ชั่นสมบูรณ์แบบ ผู้ ใช้งานสามารถเข้าไป ดาวน์ โ หลดได้จ ากเว็บ ไซด์ Onshape ช่ว ยให้ ก ารวาดรู ป 3D ทางานบนอุปกรณ์ในหลายๆส่ ว นได้อย่างมี ประสิทธิภาพ


3. รายละเอียด

3.1. รายละเอียด Hardware ข้อมูล ความเร็วสูงสุดของการเคลื่อนที่ ความเร็วสูงสุดในการหมุน น้าหนักสูงสุดที่รองรับ ขนาด (ก x ย x ส) น้าหนัก เวลาในการทางาน เวลาในการชาร์ตแบตเตอรี่ หน่วยประมวลผล เซนเซอร์

พลังงานที่ใช้

ขาที่รองรับการใช้งาน

Burger Waffle 0.22 m/s 0.26 m/s 2.84 rad/s 1.82 rad/s 5 kg 30 kg 38mm x 178mm x 192mm 281mm x 306mm x 141mm kg 1.8 kg 2 h 30m 2h 2h 30m 32-bit ARM Cortex-M7 with FPU (216 MHz, 462 DMIPS) Gyroscope 3 Axis Accelerometer 3 Axis Magnetometer 3 Axis 3.3V / 800mA 5V / 4A 12V / 1A GPIO 18 pins Arduino 32 pin


อุปกรณ์ต่อพ่วง Dynamixel พอร์ต รายการ สถานะ LEDs

ปุ่มกดและสวิตท์ แบตเตอรี่ การเชื่อมต่อ เฟิร์มแวร์ พลังงาน Adapter

3.2. ขนาดและนาหนัก 3.2.1. ข้อมูล TurtleBot3 Burger

UART x3, CAN x1, SPI x1, I2C x1, ADC x5, 5pin OLLO x4 RS485 x 3, TTL x3 Burger Waffle Board status LED x1 Arduino LED x1 Power LED x1 Push buttons x 2, Reset button x , Dip switch x 2 Lithium polymer . V 800mAh / 9.98Wh 5C USB via USB / via JTAG Input : 100-240V, AC 50/60Hz, 1.5A @max Output : 12V DC, 5A


3.2.2. ข้อมูล TurtleBot3 Waffle

4. การติดตัง Hardware


4.1. ส่วนประกอบหลัก


4.2. พืนฐานการทางาน

ปุ่มสวิตซ์ SW1 และ SW2 จะเป็นปุ่มสาหรับการตรวจสอบการต่ออุปกรณ์ว่าถูกต้องหรือไม่ โดยการ ตรวจสอบจะตรวจสอบด้วยการหมุนล้อซ้ายและขวา ขันตอนการตรวจสอบอุปกรณ์พืนฐาน 1. 2. 3. 4.

หลังจากประกอบอุปกรณ์ฮาร์ดแวร์และเชื่อมต่อแบตเตอรี่ จะสามารถดูไฟสถานะได้จาก Power LED วางหุ่นยนต์ไว้กับพื้นที่มีรัศมีมากกว่า เมตรเพื่อความปลอดภัยในการทดสอบ กดปุ่มสวิตซ์ SW1 ค้างไว้ เพื่อสั่งการให้หุ่นยนต์เคลื่อนที่ไปข้างหน้าระยะทางประมาณ 30 เซนติเมตร กดปุ่มสวิตซ์ SW2 ค้างไว้ เพื่อสั่งการให้หุ่นยนต์หมุนรอบตัวเอง 80 องศา

4.3. Open Source Hardware ส่วนประกอบหลักของ Turtlebot3 จะมีดังนี้ เพลา, มอเตอร์, ล้อ, OpenCR, SBC Computer, เซนเซอร์ และ แบตเตอรี่ โดยตัวถังจะเป็นแผ่นวาฟเฟิลที่มีส่วนประกอบอื่นๆ แผ่นวาฟเฟิลจะเป็นส่วนประกอบที่สาคัญ ที่จะใช้ประกอบหุ่นยนต์ Turtlebot3 ซึ่งจะมีล้อทั้งหมด 2 ล้อ แต่สามารถปรับแต่งการเคลื่อนไหวให้มีลักษณะ การเคลื่อนที่ตามความต้องการ เช่น การเคลื่อนที่แบบรถยนต์ เป็นต้น


5. การติดตัง PC Software

คาเตือน เนื ้อหานี ้จะเป็ นการเชื่อมต่อกับคอมพิวเตอร์ ระยะไกล ซึง่ การควบคุม Turtlebot3 ในรูปแบบแสายจะไม่สามารถ ใช้ งานคาสัง่ ในรูปแบบนี ้ได้

หมายเหตุ คาแนะนานี้ได้รับการทดสอบบน Ubuntu 6.04 และ ROS Kinetic Kame 5.1. Install Ubuntu on Remote PC (Desktop or Laptop PC) การควบคุมระยะไกล สามารถดาวน์โหลด Ubuntu 16.04 และติดตังได้ ้ จากลิ ้งค์ดงั นี ้

-

https://www.ubuntu.com/download/desktop

หากต้ องการความช่วยเหลือในการติดตังสามารถติ ้ ดตามได้ จากลิ ้งดังนี ้

-

https://www.ubuntu.com/download/desktop/install-ubuntu-desktop

5.2. Install ROS on Remote PC การติดตั้ง Ros บน Remote PC จะมีด้วยกัน 2 วิธี


5.2.1. First Method วิธีการติดตั้งโปรแกรม ROS สามารถทาได้ด้วยตัวอย่าง script ดังต่อไปนี้ sudo apt-get update sudo apt-get upgrade wget https://raw.githubusercontent.com/ROBOTISGIT/robotis_tools/master/install_ros_kinetic.sh && chmod 755 ./install_ros_kinetic.sh && bash ./install_ros_kinetic.sh 5.2.2. Second Method การติดตั้งสามารถติดตามได้จากหัวข้อ .2 setup your sources.list ไปจนถึงหัวข้อที่ .7 Getting rosinstall จากลิ้งค์ดังต่อไปนี้ http://wiki.ros.org/kinetic/Installation/Ubuntu

-

5.3. Install dependent packages [Remote PC] ขั้นตอนการติดตั้งแพคเกจการควบคุม Turtlebot3 sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twistkeyboard ros-kinetic-laser-proc ros-kinetic-rgbd-launch ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserial-arduino ros-kinetic-rosserial-python ros-kinetic-rosserial-server roskinetic-rosserial-client ros-kinetic-rosserial-msgs ros-kinetic-amcl ros-kinetic-map-server roskinetic-move-base ros-kinetic-urdf ros-kinetic-xacro ros-kinetic-compressed-image-transport ros-kinetic-rqt-image-view ros-kinetic-gmapping ros-kinetic-navigation cd ~/catkin_ws/src/ git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone https://github.com/ROBOTIS-GIT/turtlebot3.git cd ~/catkin_ws && catkin_make หมายเหตุ การติดตั้งเสร็จสิ้น


5.4. การตังค่า Network

ROS ต้องมีที่อยู่ IP เพื่อการสื่อสารระหว่าง Turtlebot3 กับ Remote PC [Remote PC] พิมพ์คาสั่ง ifconfig จะมีหน้าจอแสดง IP address บนจอ


[Remote PC] พิมพ์คาสั่ง gedit ~/.bashrc ปรับเปลี่ยนที่อยู่ของ Localhost กับที่อยู่ IP ที่ได้จากหน้าจอข้างต้น


6. การติดตัง Software SBC

หมายเหตุ คาแนะนานี้ได้รับการทดสอบบน Ubuntu 6.04 และ ROS Kinetic Kame 6.1. การติดตัง Linux บน TurtleBot3 Burger (Raspberry Pi 3) คำเตือน

SDcard ควรมีพื้นที่ว่างอย่างน้อย 8 GB ในการติดตั้ง Linux บน Turtlebot3


[Remote PC] สามารถดาวโหลด Ubuntu MATE 16.04 บน Raspberry Pi 3 จากลิ้งดังต่อไปนี้ - https://ubuntu-mate.org/download/

ในการติดตั้ง Ubuntu MATE จากไฟล์ แนะนาให้ใช้ Disk GNOME ในการติดตั้ง แต่โปรแกรม อื่นๆ ก็สามารถใช้ได้ใน Linux - https://sourceforge.net/projects/win32diskimager/


6.2. การติดตัง Linux บน TurtleBot3 Waffle (Intel® Joule™) Ubuntu Desktop 16.04 LTS จะถูกติดตั้งบน Intel Joule [Remote PC] ดาวน์โหลด Ubuntu image ช่องทางการดาวน์โหลด Ubuntu 16.04 for Intel® Joule™ จากลิ้งค์ดังต่อไปนี้ - http://people.canonical.com/~platform/snappy/tuchuck/desktop-final/tuchuckxenial-desktop-iso-20170317-0.iso [Remote PC] การติดตั้งในรูปแบบ USB ช่องทางการดาวน์โหลด การติดตั้ง (Ubuntu Desktop 6.04 LTS) จากลิ้งค์ดังต่อไปนี้ - https://developer.ubuntu.com/core/get-started/intel-joule [Remote PC] ก่อนเริ่มต้นการติดตั้งควรปรับปรุงและอัพเดตซอฟแวร์ให้มีเวอร์ชั่นที่ล่าสุดโดยทาตาม คาแนะนาจากลิ้งค์ดังต่อไปนี้ - https://software.intel.com/en-us/flashing-the-bios-on-joule 6.3. การติดตัง ROS และ Packages (Burger และ Waffle) เนื้อหาในส่วนนี้จะสอดคล้องกับ SBC ของ Turtlebot3 (Raspberry Pi 3 or Intel® Joule™) ซึง่ คาสั่งต่อไปนี้ไม่สามารถใช้กับ Laptop หมายเหตุ การติดตั้งอาจใช้เวลานานถึง 2 ชั่วโมง ในการติดตั้ง ROS และ Packages Turtlebot3 เวลาในการ ติดตั้งขึ้นอยู่กบั ทรัพยากรของเครือข่ายด้วยเช่นกัน


6.3.1. First Method [TurtleBot] ติดตัง้ ROS โดยการทดลองติดตั้งไฟล์ script ต่อไปนี้ คาแนะนา แอปพลิเคชั่น ในการพัฒนามีคีย์ลัดในการเรียกใช้งานโดยการกด Ctrl-Alt-T [TurtleBot Burger] sudo apt-get update sudo apt-get upgrade wget https://raw.githubusercontent.com/ROBOTISGIT/robotis_tools/master/install_ros_kinetic.sh && chmod 755 ./install_ros_kinetic.sh && bash ./install_ros_kinetic.sh หมายเหตุ หลังจากติดตั้ง ROS เสร็จสิ้นให้ทาการรีบูต Raspberry Pi or Intel® Joule™. 6.3.2. Second Method [TurtleBot] ผู้ ใ ช้ ง านสามารถ เริ่ ม จากหั ว ข้ อ “1.2 Setup your sources.list” จนถึ ง หั ว ข้ อ “1.7 Getting rosinstall” จากลิ้งค์การติดตั้ง ROS ดังต่อไปนี้ - http://wiki.ros.org/kinetic/Installation/Ubuntu หายเหตุ -

เพื่อตรวจสอบการติดตั้งแพคเก็จสามารถทาการตรวจสอบได้จากลิ้งค์ดังต่อไปนี้ https://raw.githubusercontent.com/oroca/oroca-ros-pkg/kinetic/ros_install.sh


6.3.3. การติดตัง Packages [TurtleBot] ขั้นตอนต่อไปจะเป็นส่วนของการติดตั้งแพคเก็ตในการควบคุม Turtlebot3 sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twistkeyboard ros-kinetic-laser-proc ros-kinetic-rgbd-launch ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserial-arduino ros-kinetic-rosserial-python ros-kinetic-rosserial-server roskinetic-rosserial-client ros-kinetic-rosserial-msgs ros-kinetic-amcl ros-kinetic-map-server roskinetic-move-base ros-kinetic-urdf ros-kinetic-xacro ros-kinetic-compressed-image-transport ros-kinetic-rqt-image-view ros-kinetic-gmapping ros-kinetic-navigation cd ~/catkin_ws/src git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone https://github.com/ROBOTIS-GIT/turtlebot3.git cd ~/catkin_ws && catkin_make

6.4. การตังค่า USB (Burger และ Waffle) [TurtleBot] คาสั่งต่อไปนี้อนุญาติให้พอร์ต USB ทางานร่วมกับ OpenCR โดยการอนุญาติต้อง ได้รับการเข้าใช้สิทธิ์จาก Root cd ~/catkin_ws/src/turtlebot3 sudo cp ./99-turtlebot3-cdc.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules sudo udevadm trigger


6.5. การตังค่า Network (Burger และ Waffle)

ROS ต้องมี IP addresses เพื่อการติดต่อสื่อสารระหว่าง Turtlebot3 กับ laptop [TurtleBot] ระบุคาสั่งต่อไปนี้เพื่อดูที่อยู่ของ IP address ของ Turtlebot3 ifconfig รูปภาพแสดงตัวอย่าง IP address ของ Turtlebot3

[TurtleBot] ระบุคาสั่งดังต่อไปนี้ gedit ~/.bashrc


[TurtleBot] แ ท น ที่ localhost ใ น ROS_MASTER_URI ด้ ว ย IP address จ า ก Remote PC Network Configuration และแทน localhost ใน ROS_HOSTNAME ด้วย IP address จาก terminal window ของ IP address จาก TurtleBot3.

[TurtleBot] จากนั้นระบุคาสั่งดังต่อไปนี้ source ~/.bashrc


7. การติดตัง Software OpenCR

คาเตือน คาสั่งต่อไปนี้เกี่ยวข้องกับ Laptop ไม่สามารถใช้คาสั่งต่อไปนี้ใน Turtulbot3 หมายเหตุ OpenCR เป็ น ซอฟแวร์ ที่ จ าเป็ น ในการท างานร่ ว มกั บ Turtlebot3 หากต้ อ งการพั ฒ นาหรื อ ปรับเปลี่ยนซอฟแวร์ที่มีอยู่สามารถดูข้อมูลด้านล้างต่อไปนี้ หมายเหตุ ค าสั่ ง ต่ อ ไปนี้ ใ ช้ ง านบน Ubuntu 16.04, ROS Kinetic Kame และติ ด ตั้ ง ซอฟแวร์ OpenCR ได้ สมบูรณ์ OpenCR ในการควบคุม DYNAMIXELs คาแนะนาจาก SBC เพื่อให้สามารถควบคุม DYNAMIXELs ควรติดตั้งบนบอร์ดและดูการติดตั้งและคาอธิบายดังต่อไปนี้


7.1. การตังค่า ArduinoIDE จาก OpenCR ขั้นตอนการติดตั้ง OpenCR บน Laptop 7.1.1. การตังค่า USB Port

คาแนะนา แอปพลิเคชั่น ในการพัฒนามีคีย์ลัดในการเรียกใช้งานโดยการกด Ctrl-Alt-T [Remote PC] การระบุคาสั่งให้อนุญาติใช้งานพอร์ต OpenCR USB port สาหรับการอัพโหลด Arduino IDE program จะต้องทาผ่าน Root เท่านั้น wget https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/99-opencr-cdc.rules sudo cp ./99-opencr-cdc.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules sudo udevadm trigger

7.1.2. การตั้งค่า Compiler [Remote PC] OpenCR library จะมี ใ นรู ป แบบ 32-bit และ 64-bit แต่ PC ต้ อ งการ 32-bit ส าหรั บ compiler ของ Arduino IDE. sudo apt-get install libncurses5-dev:i386


7.1.3. การติดตัง Arduino IDE

[Remote PC] ดาวน์โ หลด Arduino IDE ล่ าสุดจากเว็บไซด์ของ Arduino และติดตั้งงโปรแกรม OpenCR สนับสนุน Arduino IDE 1.6.12 หรือ (OpenCR มีการทดสอบบน Arduino IDE 1.8.1.). -

https://www.arduino.cc/en/Main/Software

[Remote PC] เมื่อดาวน์โหลดไฟล์เสร็จสิ้น ระบุคาสั่งดังต่อไปนี้ลงในโฟลเดอร์ Arduino IDE cd ~/tools/arduino-1.8.1 ./install.sh

[Remote PC] ระบุคาสั่งดังต่อไปนี้ gedit ~/.bashrc

[Remote PC] ระบุคาสั่งต่อนี้ในไฟล์ Bashrc ด้านล่างสุดของ Code export PATH=$PATH:$HOME/tools/arduino-1.8.1 [Remote PC] หลังจากเสร็จสิ้นให้ทาการ source ไฟล์ bashrc source ~/.bashrc


7.1.4. RUN Arduino IDE [Remote PC] เพื่อการใช้งาน Arduino IDE ให้ป้อนคาสั่งดังต่อไปนี้บน terminal. arduino [Remote PC] หากโปรแกรมติดตั้งถูกต้องจะมี GUI ดังรูปดังต่อไปนี้


7.1.5. Porting OpenCR to Arduino IDE 7.1.5.1. การตังค่า [Remote PC] เมื่ อ Arduino IDE ท างาน กดไฟล์ File → Preferences จาก menu ของโปรแกรม ให้ คัดลอกลิ้งค์ URLs จากด้านล่างดังต่อไปนี้ (อาจใช้เวลาประมานณ 20 นาที)

https://raw.githubusercontent.com/ROBOTISGIT/OpenCR/master/arduino/opencr_release/package_opencr_index.json


7.1.5.2. การติดตัง OpenCR Package จาก Boards Manager [Remote PC] ไปที่ Tools → Board → Boards Manager.

[Remote PC] ประเภท OpenCR ในกรอบที่ปรากฎ ถ้าพบเจอแพคเกจให้กดติดตั้งทันที


[Remote PC] หากติดตั้งแพคเก็ตเสร็จสิ้น หากมีแพคเก็ตอื่นจะปรากฎขึ้นต่อไป

[Remote PC] กดเลือก tools → Board “OpenCR Board” → OpenCR Board


7.1.5.3. การตังค่า Port [Remote PC] ส่วนนี้จะแสดงวิธีการติดตั้งพอร์ต USB สาหรับอัพโหลดโปรแกรม OpenCR เพื่อเชื่อมต่อกับ Laptop [Remote PC] กดเลือก Tools → Port → /dev/ttyACM0. คาเตือน หากค่าที่แสดงเป็นศูนย์ /dev/ttyACM0 อาจมีความแตกต่างระหว่าง USB หรือการเชื่อมต่อที่ผิดพลาด


7.1.6. Writing Bootloader (สามารถข้ามขันตอน) Note ส่วนนี้ไม่มีความจาเป็นจนกว่าจะมีการปรับปรุง OpenCR bootloader ใหม่

7.1.6.1. การเข้าสู่โหมด DFU [Remote PC] กดปุ่ม Boot จากนั้นกดปุ่ม Reset หลังจากไม่กี่วินาทีในขณะที่กดปุ่ม Boot ให้กดปุ่ม reset สุดท้ายปล่อยปุ่ม Boot จะทาให้ผู้ใช้สามารถเปิดใช้งานโหมด DFU


[Remote PC] หากคุณเข้าสู่โหมด DFU เรียบร้อยแล้วผู้ใช้จะสามารถหา STMicroelectronics STM Device ในรูปแบบข้อความ DFU Mode เมื่อ lsusb ถูกป้อนเข้าไปใน Terminal


7.1.6.2. Download the Bootloader [Remote PC] กดปุ่มเมนู Tools → Burn Bootloader เพื่อการดาวน์โหลด bootloader.

[Remote PC] เมื่อดาวน์โหลดเสร็จสิ้น ทาการกดปุ่ม reset อีกครั้ง


7.2. การตังค่า OpenCR Firmware สาหรับ ROS 7.2.1. เพิ่ม TurtleBot3 Firmware ใน OpenCR เฟิร์มแวร์ OpenCR สาหรับ ROS คือการควบคุม DYNAMIXEL และ Sensors ใน ROS จะมีเฟิร์ม แวร์ตัวอย่างนี้อยู่ใน OpenCR ซึ่งสามารถดาวน์โหลด หากผู้ใช้งานมีTurtleBot3 Burger

[Remote PC] ไปที่ File → Examples → turtlebot3 → turtlebot3_burger → turtlebot3_core.

[Remote PC] กดปุ่มอัพโหลดเพื่ออัพโหลดเฟิร์มแวร์ไปสู่ OpenCR


หมายเหตุ หากเกิดข้อผิดพลาดขณะอัปโหลดเฟิร์มแวร์ให้ไปที่ Tools → Port และตรวจสอบว่ามีการเลือก พอร์ตที่ถูกต้องหรือไม่ กดปุ่ม Reset บน OpenCR แล้วลองอัพโหลดเฟิร์มอีกครั้ง [Remote PC] เมื่ออัพโหลดเสร็จสิ้นจะมีข้อความแสดงผล


8. Bringup

หมายเหตุ คาแนะนานี้ได้รับการทดสอบบน Ubuntu 6.04 และ ROS Kinetic Kame คาเตือน คาสั่งนี้มีวัตถุประสงค์เพื่อให้ทางานบน PC หากต้องการปฏิบัติตามคาแนะนาใน TurtleBot โปรดอย่า ใช้คาสั่ง roscore

คาเตือน ตรวจสอบ IP address ว่าอยู่บนอุปกรณ์เดียวกันแล้ว คาเตือน เมื่อแรงดันไฟฟ้าของแบตเตอรี่ต่ากว่า 11V สัญญาณเสียงเตือนจะดังขึ้นการทางานของระบบจะถูกปิด ใช้งาน เมื่อแบตเตอรี่ชาร์จใหม่สัญญาณเสียงจะดับลง


คาแนะนา ก่ อ นที่ จ ะเริ่ ม TurtleBot3 แนะน าให้ ผู้ ใ ช้ ง านเพิ่ ม ค าสั่ ง export โดยไปที่ bashrc ขึ้ น อยู่ กั บ ว่ า TurtleBot3 จะเป็นแบบเบอร์เกอร์หรือวาฟเฟิล gedit ~/.bashrc

source ~/.bashrc


8.1. Bringup TurtleBot3 คาแนะนา แอปพลิเคชัน Terminal สามารถพบได้จากไอคอนค้นหา Ubuntu ที่มุมซ้ายบนของหน้าจอ ปุ่มลัดสาหรับ Terminal คือ Ctrl-Alt-T [Remote PC] เรียกใช้ roscore. roscore 8.1.1. TurtleBot3 Burger

[TurtleBot] การเข้าสู่ packages พื้นฐานเพื่อนเริ่มการใช้งาน TurtleBot3 roslaunch turtlebot3_bringup turtlebot3_robot.launch คาแนะนา หากผู้ใช้งานต้องการเปิดการใช้งาน Lidar sensor และ core ที่แยกต่างหากสามารถใช้คาสั่งด้านล่างต่อไปนี้ roslaunch turtlebot3_bringup turtlebot3_lidar.launch roslaunch turtlebot3_bringup turtlebot3_core.launch


หมายเหตุ หากการซิงค์ ข้อ มูล หายไปพร้ อมกับข้ อความแสดงข้อ ผิ ด พลาดเกี่ ยวกับอุ ปกรณ์ จ ะปรากฏขึ้น ที่ หน้าต่าง Terminal อุปกรณ์ตรวจจับ TurtleBot3 อาจไม่สามารถเชื่อมต่อกับอุปกรณ์ [Remote PC] เรียกใช้งาน RViz export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_bringup turtlebot3_model.launch

8.1.2. TurtleBot3 Waffle

[TurtleBot] การเข้าสู่ packages พื้นฐานเพื่อนเริ่มการใช้งาน TurtleBot3. roslaunch turtlebot3_bringup turtlebot3_robot.launch


คาแนะนา หากผู้ใช้งานต้องการเปิดใช้เซ็นเซอร์ Lidar, Intel® RealSense ™ R200 และ core แยกต่างหาก สามารถใช้คาสั่งด้านล่างดังต่อไปนี้ roslaunch turtlebot3_bringup turtlebot3_lidar.launch roslaunch turtlebot3_bringup turtlebot3_realsense.launch roslaunch turtlebot3_bringup turtlebot3_core.launch หมายเหตุ หากการซิงค์ ข้อ มูล หายไปพร้ อมกับข้ อความแสดงข้อ ผิ ด พลาดเกี่ ยวกับอุ ปกรณ์จ ะปรากฏขึ้น ที่ หน้าต่าง Terminal อุปกรณ์ตรวจจับ TurtleBot3 อาจไม่สามารถเชื่อมต่อกับอุปกรณ์ [Remote PC] Run RViz export TURTLEBOT3_MODEL=waffle roslaunch turtlebot3_bringup turtlebot3_model.launch ในบทถัดไป ผู้ใช้งานจะสามารถทดสอบ TurtleBot3 กับ teleoperation ด้วยวิธีการต่าง ๆ

.


9. Teleoperation หมายเหตุ คาแนะนานี้ได้รับการทดสอบบน Ubuntu 6.04 และ ROS Kinetic Kame

คาเตือน ตรวจสอบให้แน่ใจว่าได้เรียกใช้คาสั่ง Bringup ก่อนดาเนินการ Teleoperation

คาเตือน โปรดใช้ความระมัดระวังเมื่อทดสอบหุ่นยนต์บนโต๊ะเนื่องจากหุ่นยนต์อาจตก คาแนะนา Teleoperation ควรจะทางานบนเครื่องคอมพิวเตอร์ PC ควรทาตามคาแนะนาใน Remote PC ของ ผู้ใช้งาน TurtleBot3 สามารถ teleoperated โดยอุปกรณ์ต่างๆ มีการทดสอบอุปกรณ์ไร้สายต่างๆเช่น PS3, XBOX 360, ROBOTIS RC100 เป็ น ต้น ตัวอย่ างที่แสดงไว้ที่นี่ (ยกเว้น LEAP Motion) สามารถเปิด โดย ROS บน Ubuntu mate 16.04 พร้อม Raspberry Pi 3 และ OpenCR

9.1. Keyboard คำแนะนำ

แอ็พพลิเคชัน Terminal สามารถพบได้จากไอคอนการค้นหาของ Ubuntu ที่มุมซ้ายบนของหน้าจอ ปุ่มลัดสาหรับ Terminal คือ Ctrl-Alt-T [Remote PC] การเปิดไฟล์สาหรับการทดสอบ teleoperation. roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch


[Remote PC] หากโปรแกรมถูกเปิดใช้งานคาสั่งต่อไปนี้จะปรากฏขึ้นที่หน้าต่าง Terminal Control Your Turtlebot3! --------------------------Moving around: w a s d x w/x : increase/decrease linear velocity a/d : increase/decrease angular velocity space key, s : force stop CTRL-C to quit

9.2. RC100 การตั้งค่าสาหรับ ROBOTIS RC100 การควบคุมจะรวมอยู่ในเฟิร์มแวร์ของ OpenCR

9.3. PS3 Joystick [Remote PC] ต่อจอยสติ๊กของ PS3 เข้ากับคอมพิวเตอร์ PC ผ่านทางบลูทูธ หรือด้วยสาย USB [Remote PC] การติดตั้งแพกเกจสาหรับ teleoperation โดยใช้จอยสติ๊ก PS3 sudo apt-get install ros-kinetic-joy ros-kinetic-joystick-drivers ros-kinetic-teleop-twist-joy [Remote PC] การเปิดแพ็คเกจ teleoperation สาหรับจอยสติ๊ก PS3 roslaunch teleop_twist_joy teleop.launch


9.4. XBOX 360 Joystick [Remote PC] เชื่อมต่อจอยสติ๊ก XBOX 360 กับคอมพิวเตอร์ PC ด้วย Wireless Adapter หรือสาย USB [Remote PC] Install packages for teleoperation using XBOX 360 joystick. sudo apt-get install xboxdrv ros-kinetic-joy ros-kinetic-joystick-drivers ros-kinetic-teleoptwist-joy [Remote PC] ติดตั้งแพกเกจสาหรับ teleoperation โดยใช้จอยสติ๊ก XBOX 360 sudo xboxdrv --silent roslaunch teleop_twist_joy teleop.launch

9.5. Wii Remote [Remote PC] เชื่อมต่อ Wii remote เข้ากับคอมพิวเตอร์ PC ผ่านทาง Bluetooth [Remote PC] ติดตั้งแพ็คเกจสาหรับ teleoperation โดยใช้ Wii remote sudo apt-get install ros-kinetic-wiimote libbluetooth-dev libcwiid-dev cd ~/catkin_ws/src git clone https://github.com/ros-drivers/joystick_drivers.git cd ~/catkin_ws && catkin_make [Remote PC] เรียกใช้แพ็คเกจ teleoperation สาหรับ Wii Remote rosrun wiimote wiimote_node rosrun wiimote teleop_wiimote


9.6. Android App ดาวน์โหลด ROS Teleop และเรียกใช้แอพพลิเคชัน

9.7. LEAP Motion [Remote PC] เชื่อมต่อ LEAP กับคอมพิวเตอร์ PC ผ่านทาง Bluetooth [Remote PC] ติดตั้งแพ็คเกจสาหรับ teleoperation โดยใช้ LEAP motion -

https://www.leapmotion.com/setup https://developer.leapmotion.com/downloads/sdk-preview

leapd LeapCommandPanel git clone git@github.com:warp1337/rosleapmotion.git [Remote PC] เรียกใช้แพ็คเกจ teleoperation สาหรับการเคลื่อนไหว LEAP rosrun leap_motion sender.py


10. SLAM หมายเหตุ คาแนะนานี้ได้รับการทดสอบบน Ubuntu 16.04 และ ROS Kinetic Kame คาเตือน ตรวจสอบให้แน่ใจว่าได้เรียกใช้คาสั่ง Bringup ก่อนทา SLAM คาแนะนา ขอแนะนาให้ใช้แป้นจอยสติ๊กแทนแป้นพิมพ์เพื่อการควบคุมที่ง่ายขึ้น

การรองรับการทางานที่หลากหลายและการทาแผนที่พร้อมกันหรือที่เรียกว่า SLAM เป็นเทคนิคในการ วาดแผนที่โดยการประมาณที่ตั้งปัจจุบันในพื้นที่ที่กาหนดไว้เท่านั้น

10.1. Create a Map with Teleoperation คาแนะนา แอพพลิ เคชัน Terminal สามารถค้นหาได้จากไอคอนการค้นหาของ Ubuntu ที่มุมซ้ายบนของ หน้าจอ ปุ่มลัดสาหรับเทอร์มินัลคือ Ctrl-Alt-T

[Remote PC] เรียกใช้งาน terminal และเปิดไฟล์ SLAM หากผู้ใช้งานมี TurtleBot3 Burger, export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_slam turtlebot3_slam.launch

.


ถ้าผู้ใช้งานมี TurtleBot3 Waffle, export TURTLEBOT3_MODEL=waffle roslaunch turtlebot3_slam turtlebot3_slam.launch [Remote PC] แสดงภาพในรูปแบบ 3D ด้วย RViz. rosrun rviz rviz -d `rospack find turtlebot3_slam`/rviz/turtlebot3_slam.rviz [Remote PC] Teleoperation ด้วย Keyboard roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

10.2. Save the Map [Remote PC] เปิด Terminal และเรียกใช้งาน map saver node. rosrun map_server map_saver -f ~/map map.pgm และ map.yaml ไฟล์จะถูกสร้างขึ้นใน ~/ directory ($HOME directory, /home/<username>).


11. Navigation หมายเหตุ คาแนะนานี้ได้รับการทดสอบบน Ubuntu 16.04 และ ROS Kinetic Kame คาเตือน ตรวจสอบให้แน่ใจว่าได้เรียกใช้คาสั่ง [Bringup] ก่อนดาเนินการ Navigation คาเตือน การใช้งาน navigation โดยการใช้ข้อมูลที่สร้างขึ้นจาก SLAM ควรตรวจสอบว่ามีข้อมูลแผนที่หรือไม่ คาเตือน โปรดใช้ความระมัดระวังเมื่อทดสอบหุ่นยนต์บนโต๊ะเนื่องจากหุ่นยนต์อาจตกหล่น

ตาแหน่งการนาทางควรตั้งตาแหน่งของ TurtleBot3 ให้อยู่ในตาแหน่งที่คานวณได้ ในแผนที่โดยการ รวบรวมข้อมูลของเซ็นเซอร์จริงและข้อมูลตาแหน่งที่คาดไว้ควรใกล้เคียงกัน

11.1. Perform Navigation คาแนะนา แอพพลิ เคชัน Terminal สามารถค้นหาได้จากไอคอนการค้นหาของ Ubuntu ที่มุมซ้ายบนของ หน้าจอ ปุ่มลัดสาหรับเทอร์มินัลคือ Ctrl-Alt-T [Remote PC] เปิดไฟล์ navigation หากผู้ใช้งานมี TurtleBot3 Burger, export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml


ถ้าหากผู้ใช้งานมมี TurtleBot3 Waffle, export TURTLEBOT3_MODEL=waffle roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml [Remote PC] เรียกใช้งาน Rviz. rosrun rviz rviz -d `rospack find turtlebot3_navigation`/rviz/turtlebot3_nav.rviz [Remote PC] ก่อนที่จะเริ่มการนาทาง RViz ควรได้รับการปรับปรุงด้วยตาแหน่งเริ่มต้นและข้อมูลท่าทางของ TurtleBot3 หากต้องการเพิ่มข้อมูลเริ่มต้นให้ทาตามคาแนะนาด้านล่างดังนี้ -

คลิ๊กปุ่ม 2D Pose Estimate คลิ๊กจุดที่เหมาะสมในแผนที่ ที่ TurtleBot3 ตั้งอยู่และลากเคอร์เซอร์เพื่อระบุทิศทางด้านหน้าให้กับ TurtleBot3

ลู ก ศรสี เ ขี ย วทุ ก ตั ว หมายถึ ง ต าแหน่ ง ที่ ค าดไว้ ข อง TurtleBot3 เลเซอร์ ส แกนเนอร์ จ ะวาดภาพ โดยประมาณของผนังบนแผนที่ ถ้ารูปวาดไม่แสดงตัวเลขอย่างไม่ถูกต้องให้ทาซ้าแบบเดิม โดยการกดปุ่ม 2D Pose Estimate

[Remote PC] ถ้า TurtleBot3 มีพื้นที่จากัด มันจะสร้างเส้นทางไปยังตาแหน่งเป้าหมายโดยอัตโนมัติ ในการ กาหนดตาแหน่งเป้าหมายให้ทาตามคาแนะนาด้านล่างดังนี้ -

คลิ๊กปุ่ม 2D Nav Goal. คลิ๊กจุดที่เหมาะสมในแผนที่ เพื่อระบุตาแหน่งเป้าหมายและลากเคอร์เซอร์ไปยังทิศทางที่ TurtleBot3 หันหน้าอยู่

การกาหนดตาแหน่งเป้าหมายอาจล้มเหลวหากไม่สามารถสร้างเส้นทางไปยังตาแหน่งเป้าหมายได้ หาก ผู้ใช้งานต้องการหยุดหุ่น ยนต์ ก่อนที่จะถึงตาแหน่งเป้าหมาย ให้ ตั้งตาแหน่งปัจจุบันของ TurtleBot3 เป็น ตาแหน่งเป้าหมาย


12. Simulation

คาเตือน เนื้อหาในบทนี้เกี่ยวข้องกับ Remote PC ซึ่งใช้ควบคุม TurtleBot3 ห้ามใช้คาสั่งนี้กับ TurtleBot หมายเหตุ คาแนะนานี้ได้รับการทดสอบบน Ubuntu 16.04 และ ROS Kinetic Kame

12.1. TurtleBot3 Fake Node Implementation คาแนะนา แอพพลิเคชัน Terminal สามารถค้นหาได้จากไอคอนการค้นหาของ Ubuntu ที่มุมซ้ายบนของ หน้าจอ ปุ่มลัดสาหรับเทอร์มินัลคือ Ctrl-Alt-T

การติดตั้งแพคเก็จสาหรับ TurtleBot3 Simulation หมายเหตุ turtlebot3_simulation package requires TurtleBot3 (http://turtlebot3.robotis.com/en/latest/pc_software.html#install-dependent-packages) แพค เก็จเบื้องต้น cd ~/catkin_ws/src/ git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git cd ~/catkin_ws && catkin_make


การจาลองการควบคุม TurtleBot3 เป็นการจาลองที่เรียบง่ายซึ่งสามารถทางานได้โดยไม่ต้องมี หุ่นยนต์ตัวจริง ผู้ใช้งานสามารถควบคุม TurtleBot3 เสมือนใน RViz ได้ด้วยการ teleop export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_fake turtlebot3_fake.launch roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

12.3. Gazebo (3D) คาแนะนา แอพพลิเคชัน Terminal สามารถค้นหาได้จากไอคอนการค้นหาของ Ubuntu ที่มุมซ้ายบนของหน้าจอ ปุ่มลัด สาหรับเทอร์มินัลคือ Ctrl-Alt-T คาเตือน ถ้าเรียกใช้งาน Gazebo เป็นครั้งแรกบน Remote PC อาจใช้เวลานานกว่าปกติ ผู้ใช้งานควรตั้งค่า Turtlebot3 ว่าหุ่นยนต์เป็นรูปแบบ Burger หรือ Waffle export TURTLEBOT3_MODEL=burger


คาสั่งต่อไปนี้จะเป็นส่วนของการดาวน์โหลด Turtlebot และสภาวะแวดล้อมที่ว่างเปล่าให้กับ Gazebo roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch

หากผู้ใช้งานต้องการโหลดแผนที่ที่น่าสนใจมากขึ้น จงป้อนคาสั่งด้านล่างแทนคาสั่งข้างต้น export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_gazebo turtlebot3_world.launch


ในการควบคุม TurtleBot3 ด้วยแป้นพิมพ์ ควรเปิดใช้การทางานแบบ Teleoperation โดยใช้คาสั่ง ด้านล่างในหน้าต่าง Terminal roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch ในการจาลองการทางานของ TurtleBot3 ในรูปแบบอัตโนมัติไปยังแผนที่ที่กาหนดไว้ได้ด้วยการป้อนคาสั่งดังนี้ export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_gazebo turtlebot3_simulation.launch RViz visualizes สามารถเรียกใช้งาน ขณะการจาลองกาลังทางานอยู่ ผู้ใช้งานสามารถเปิด RViz ในหน้าต่าง Terminal ใหม่โดยการป้อนคาสั่งด้านล่าง export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch


13. Manipulation หมายเหตุ คาแนะนานี้ได้รับการทดสอบบน Ubuntu 16.04 และ ROS Kinetic Kame

คาแนะนา แอพพลิ เคชัน Terminal สามารถค้ นหาได้ จากไอคอนการค้ นหาของ Ubuntu ที่มุ มซ้ายบนของ หน้าจอ ปุ่มลัดสาหรับเทอร์มินัลคือ Ctrl-Alt-T

การติดตั้งแพคเก็ตจะขึ้นอยู่กับลักษณะของ Open-Manipulator. sudo apt-get install ros-kinetic-desktop-full ros-kinetic-rqt* ros-kinetic-moveit* ros-kineticdynamixel-sdk ros-kinetic-dynamixel-workbench-toolbox ros-kinetic-robotis-math roskinetic-industrial-core cd ~/catkin_ws/src/ git clone https://github.com/ROBOTIS-GIT/open_manipulator.git cd ~/catkin_ws && catkin_make ถ้าคาสั่ง catkin_make เสร็จสมบูรณ์โดยไม่มีข้อผิดพลาดใด ๆ การเตรียมการ Open-Manipulator จะ เสร็จสิ้น.


13.1 Gazebo (3D) คาสั่งด้านล่างนี้จะเป็นการดาวน์โหลดสภาพแวดล้อมให้กับ Gazebo roslaunch open_manipulator_gazebo open_manipulator_gazebo.launch

rostopic pub /open_manipulator_chain/joint2_position/command std_msgs/Float64 "data: 1.0" --once


การเรี ย กใช้ งานการจ าลอง Manipulator โดยการเปิ ดด้ ว ย MoveIt! วิ ธี ก ารเรี ย กใช้ ง านคือ เปิ ด หน้ า ต่ า ง Terminal ใหม่และป้อนคาสั่งด้านล่างดังนี้ roslaunch open_manipulator_moveit open_manipulator_demo.launch use_gazebo:=true


13.2. Platform คาสั่งด้านล่างจะเป็นการดาวน์โหลด Open Manipulator พร้อมกับ DYNAMIXEL X-series roslaunch open_manipulator_dynamixel_ctrl dynamixel_controller.launch การเรี ย กใช้ งานการจ าลอง Manipulator โดยการเปิ ดด้ ว ย MoveIt! วิ ธี ก ารเรี ย กใช้ ง านคือ เปิ ด หน้ า ต่ า ง Terminal ใหม่และป้อนคาสั่งด้านล่างดังนี้. roslaunch open_manipulator_moveit open_manipulator_demo.launch


13.3. TurtleBot3 Waffle with Open-Manipulator การติดตั้งแพคเก็ตจะขึ้นอยู่กับลักษณะของ Open-Manipulator. cd ~/catkin_ws/src git clone https://github.com/ROBOTIS-GIT/turtlebot3.git cd ~/catkin_ws && catkin_make คาสั่งข้างล่างนี้จะเป็นการดาวน์โหลด TurtleBot3 Waffle พร้อม Open-Manipulator ใน Rviz roslaunch open_manipulator_with_tb3 open_manipulator_chain_with_tb3_rviz.launch


14. Autonomous Driving หมายเหตุ คาแนะนานี้ได้รับการทดสอบบน Ubuntu 16.04 และ ROS Kinetic Kame

นักพัฒนาได้เริ่มโครงการ TurtleBot3 Auto สาหรับ Autonomous Driving สาหรับ TurtleBot3 ในวิดีโอ TurtleBot3 ได้รับภาพวิดิโอด้วยการติดตั้งกล้อง Raspberry pi และใช้โอเพ่นซอร์สจาก MIT DuckieTown engineering เพื่อติดตามเลนเส้นทาง โดยสามารถติดตามวิดิโอได้จากลิ้งค์ดังนี้ -

https://www.youtube.com/watch?v= V33iEu4ylw


15. Applications เนื้อหาต่อไปนี้จะแสดงการสาธิตวิธีอื่นๆโดยใช้ Turtlebot3 เพื่อใช้งานในครั้งนี้ผู้ใช้งานต้องติดตั้งแพคเกจ turtlebot3_applications หมายเหตุ คาแนะนานี้ได้รับการทดสอบบน Ubuntu 16.04 และ ROS Kinetic Kame คาแนะนา แอพพลิ เคชัน Terminal สามารถค้ นหาได้ จากไอคอนการค้ นหาของ Ubuntu ที่มุ มซ้ายบนของ หน้าจอ ปุ่มลัดสาหรับเทอร์มินัลคือ Ctrl-Alt-T [Remote PC] ไปที่ไดเร็กทอรีต้นทางของ ROS (/ home / <user_name> / catkin_ws / src) และทาการ โคลนนิ่งข้อมูลของ turtlebot3_applications cd ~/catkin_ws/src git clone https://github.com/ROBOTIS-GIT/turtlebot3_applications.git [Remote PC] catkin_make เพื่อทาการติดตั้งแพคเกจใหม่ cd ~/catkin_ws && catkin_make

15.1. TurtleBot Follower Demo หมายเหตุ การสาธิตโดยการติดตามถูกใช้เฉพาะใน HLS-LFCD LDS โดยอัลกอริทึมการจาแนกประเภทจะใช้คะแนนจาก ก่อนหน้านี้ที่เหมาะสมกับตัวอย่างของตาแหน่งบุคคลและอุปสรรค ซึ่งการดาเนินการของการเคลื่อนที่มันจะ เคลื่อนที่ตามคนด้านหน้า โดยหุ่นยนต์จะทางานภายในช่วง 50 เซนติเมตร และ 140 องศา สามารถติดตามวิดิ โอได้จากลิ้งค์ต่อไปนี้ - https://www.youtube.com/watch?v=w9YTxZVY6yQ


หมายเหตุ การสาธิตผู้ติดตามในพื้นที่ที่มีอุปสรรคอาจทางานได้ไม่ดี ดังนั้นจึงขอแนะนาให้ใช้พื้นที่ในการสาธิตที่ ไม่มีอุปสรรคใดๆ ในการเรียกใช้การสาธิตต้องแก้ไขพารามิเตอร์ในไฟล์การเริ่ม ต้นของ LIDAR ดังตัวอย่างด้านล่างนี้ ซึ่ง Pluma ใช้ในการแก้ไขไฟล์ launch ในแท็ก param ที่มี frame_id เป็นชื่อให้แทนที่ base_scan ด้วย odom และบันทึกไฟล์ดังที่แสดงในรูปภาพด้านล่าง pluma ~/catkin_ws/src/turtlebot3/turtlebot3_bringup/launch/turtlebot3_lidar.launch หมายเหตุ การเรียกใช้งานการติดตามของ Turtlebot จะต้องใช้ Scikit-learn, NumPy และ ScyPy packages


[Remote PC] การติดตัง้ scikit-learn, NumPy และ ScyPy packages สามารถทาได้ด้วยคาสั่งด้านล่างนี้ sudo apt-get install python-pip sudo pip install -U scikit-learn numpy scipy sudo pip install --upgrade pip [Remote PC] เมื่อทาการติดตั้งเสร็จสิ้นให้รัน roscore บน Remote PC ด้วยคาสั่งด้านล่างนี้ roscore [TurtleBot] เรียกใช้งาน Turtlebot3_bringup roslaunch turtlebot3_bringup turtlebot3_robot.launch [Remote PC] ย้ายไปยังไดเรกทอรี่ต้นทางของ turtlebot3_follower cd ~/catkin_ws/src/turtlebot3_applications/turtlebot3_follower/src [Remote PC] เปิดใช้งาน turtlebot3_follow_filter โดยใช้คาสั่งด้านล่างนี้ roslaunch turtlebot3_follow_filter turtlebot3_follow_filter.launch [Remote PC] เปิดใช้งาน turtlebot3_follower โดยมีคาสั่งด้านล่าง rosrun turtlebot3_follower follower.py


15.2. TurtleBot Panorama Demo Using Raspberry Pi Camera Module หมายเหตุ การสาธิต turtlebot3_panorama โดยใช้ pano_ROS เพื่อถ่ายภาพและรวบรวมเป็นภาพเดียวกัน เพื่อสร้างในลักษณะพาโนรามา หมายเหตุ การใช้งานพาโนรามาจาเป็นต้องติดตั้งแพคเกจ Raspicam โดยคาแนะนาสาหรับการติดตั้งสามารถดู ได้จากลิ้งต่อไปนี้ https://github.com/UbiquityRobotics/raspicam_node หมายเหตุ การสาธิตพาโนรามาจาเป็นตองติดตั้ง Opencv และ cvbridge packages ซึ่งคาแนะนาสาหรับการ ติดตั้ง Opencv สามารถดูได้จากลิ้งต่อไปนี้ http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html [TurtleBot] เรียกใช้งาน Raspberry Pi cam V2 roslaunch raspicam_node camerav2_1280x960.launch [Remote PC] เรียกใช้งาน Panorama ด้วยคาสั่งต่อไปนี้ roslaunch turtlebot3_panorama panorama.launch [Remote PC] หากต้องการเริ่มต้นการสาธิตการทาพาโนรามา ป้อนคาสั่งด้านล่างต่อไปนี้ rosservice call turtlebot3_panorama/take_pano 0 360.0 30.0 0.3


พารามิเตอร์ที่สามารถส่งไปยัง ROS service เพื่อรับภาพพาโนรามา คือ -

โหมดสาหรับถ่ายภาพ ผลรวมของมุมจากภาพในรูปแบบองศา ช่วงของมุมในรูปแบบองศา เมื่อสร้างภาพพาโนรามาในโหมด snap&rotate ความเร็วในการหมุน (in radians/s)

[Remote PC] หากต้องการดูภาพผลลัพธ์โปรดป้อนคาสั่งด้านล่างดังนี้ rqt_image_view image:=/turtlebot3_panorama/panorama


16. Appendix #OpenCR

16.1. Overview OpenCR เป็ นบอร์ ดควบคุมหลักของ TurtleBot3 โดยมี OpenCR เป็น โมดูล ควบคุม ที่โ อเพนซอร์ส สาหรับ ROS ได้รับการพัฒนาขึ้นสาหรับระบบฝังตัว ROS เพื่อจัดหาฮาร์ดแวร์และซอฟต์แวร์โอเพนซอร์สอย่าง สมบูรณ์ ทุกอย่างเกี่ยวกับบอร์ด Schematics, PCB Gerber, BOM และเฟิร์มแวร์สาหรับ TurtleBot3 มีให้ ดาวน์โหลดฟรีภายใต้ใบอนุญาตโอเพนซอร์สสาหรับผู้ใช้และนักพัฒนา ROS STM32F7 เป็ น ชิ ป หลั กภายในบอร์ ด OpenCR ซึ่ง ใช้ ARM Cortex-M7 ที่มี ป ระสิ ท ธิ ภ าพกั บ หน่ ว ย ควบคุมย่อยต่างๆ การพัฒนาสาหรับ OpenCR เปิดกว้างจาก Arduino IDE และ Scratch สาหรับนักเรียนที่ สนใจการพัฒนาเฟิร์มแวร์จนกระทั่งสาหรับผู้ทเี่ ชี่ยวชาญ OpenCR มีขาเข้า,ขาออกแบบดิจิตอลและอะนาล็อกที่สามารถเชื่อมต่อกับบอร์ ดเสริมหรือเซ็นเซอร์ ต่างๆ นอกจากนี้ OpenCR ยั งมีอิน เตอร์ เฟซการสื่ อสารที่ห ลากหลาย เช่น USB ส าหรับเชื่อมต่อกับ PC, UART, SPI, I2C, CAN สาหรับอุปกรณ์ฝังตัวอื่น ๆ เป็นต้น OpenCR สามารถใช้งานได้ดีเมื่อใช้งานร่ว มกับ SBC ที่ส นับสนุน ไฟเลี้ยงขนาด 12V, 5V, 3.3V และ เซ็นเซอร์ นอกจากนี้ยังสนับสนุนอินพุต ที่เป็นพลังงานความร้อนสลับระหว่างแบตเตอรี่และ SMPS อีกด้วย OpenCR จะเป็นทางออกที่ดีที่สุดสาหรับการใช้งานการออกแบบระบบควบคุมแบบฝังตัว


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.