23 ตุลาคม 2561

ทดสอบการเคลื่อนที่ของหุ่นยนต์ ROS


เริ่มต้นจากการเปิด Terminal  โดย คลิกขวา ที่ Home แล้ว เลือก Open in Terminal


สร้าง Package ใหม่ ชื่อ robot_pkg ขึ้นมา ซึ่ง Package จะต้องอยู่ใน src ของ Workspace



cd catkin_ws/src
catkin_create_pkg robot_pkg std_msgs rospy


แล้วสร้างโฟลเดอร์ ที่มีชื่อว่า  scripts ให้อยู่ภายใต้ โฟลเดอร์ robot_pkg


mkdir catkin_ws/src/robot_pkg/scripts



เปิดโปรแกรม IDLE (using Python-2.7)



คลิก New File เพื่อสร้างไฟล์ใหม่ เขียนโค้ดเสร็จแล้ว Save As.. เก็บไฟล์ไว้ที่ โฟลเดอร์ robot_pkg/scripts



เขียนโค้ดดังนี้

ไฟล์ : test_motor.py

#!/usr/bin/env python
import rospy
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setup(11,GPIO.OUT)
GPIO.setup(13,GPIO.OUT)
GPIO.setup(35,GPIO.OUT)
GPIO.setup(37,GPIO.OUT)
#ForWard
GPIO.output(11,True)
GPIO.output(13,False)
GPIO.output(35,True)
GPIO.output(37,False)
time.sleep(0.4)
#Stop
GPIO.output(11,False)
GPIO.output(13,False)
GPIO.output(35,False)
GPIO.output(37,False)
time.sleep(0.6)
#BackWard
GPIO.output(11,False)
GPIO.output(13,True)
GPIO.output(35,False)
GPIO.output(37,True)
time.sleep(0.4)
#TurnLeft
GPIO.output(11,True)
GPIO.output(13,False)
GPIO.output(35,False)
GPIO.output(37,False)
time.sleep(0.6)
#Stop
GPIO.output(11,False)
GPIO.output(13,False)
GPIO.output(35,False)
GPIO.output(37,False)
time.sleep(0.6)
#TurnRight
GPIO.output(11,False)
GPIO.output(13,False)
GPIO.output(35,True)
GPIO.output(37,False)
time.sleep(0.6)
GPIO.cleanup()




ต้องการให้เป็นไฟล์ที่ ROS  เรียกใช้งานได้ โดยคำสั่ง:

cd catkin_ws/src/robot_pkg/scripts
chmod u+x test_motor.py


หลังจากเขียนโค้ดเสร็จแล้ว ให้ทำการ Build

cd catkin_ws
catkin_make


ทดสอบการทำงาน

 เปิด เพาเวอร์สวิตซ์ จะมีไฟสีแดงติดที่ Motor Driver 



หาอุปกรณ์ เช่น แก้วน้ำ ยกตัวหุ่นยนต์ให้สูงขึ้น เพื่อให้ล้อของหุ่นยนต์หมุนได้



หน้าต่างที่1 เราจะ RUN ระบบ ROS จะต้องมี Core ที่ทำหน้าที่เป็นหัวใจของระบบ

roscore

หลังจากนั้นจึง Run Node ของเราได้

หน้าต่างที่ 2 เปิดการทำงาน test_motor.py


rosrun robot_pkg test_motor.py


ผลลัพธ์การทำงาน ที่ควรจะเป็น

1. ล้อทั้ง 4 ล้อ หมุนเดินหน้า

2. ล้อทั้ง 4 ล้อ หมุนถอยหลัง

3. ล้อทั้ง 2 ล้อ ด้านขวาของหุ่นยนต์หมุน

4. ล้อทั้ง 2 ล้อ ด้านซ้ายของหุ่นยนต์หมุน


จากนั้น ให้ Shutdown หุ่นยนต์ และถอดอุปกรณ์ต่อพ่วงคอมพิวเตอร์ออก หาพื้นที่ ทดสอบการเคลื่อนที่ของหุ่นยนต์ ROS  แล้ว เปิดไฟเข้าระบบ

เสียบ Power Bank เข้ากับ Raspberry Pi

เปิด เพาเวอร์สวิตซ์ จะมีไฟสีแดงติดที่ Motor Driver


เปิดใช้งาน Remote Desktop หุ่นยนต์ ROS ขั้นตอนตามลิงค์ด้านล่าง

เปิดใช้งาน Remote Desktop หุ่นยนต์ ROS


หน้าต่างที่1 เราจะ RUN ระบบ ROS จะต้องมี Core ที่ทำหน้าที่เป็นหัวใจของระบบ


roscore


หน้าต่างที่ 2 เปิดการทำงาน test_motor.py

rosrun robot_pkg test_motor.py


ผลลัพธ์การทำงาน




Shutdown หุ่นยนต์ ด้วยคำสั่ง

sudo poweroff