วันพฤหัสบดีที่ 23 พฤษภาคม พ.ศ. 2567

Remote SSH ROS Robot

ssh เข้าไปที่ user@ip-address


บางทีถ้าเคย ssh user อื่นด้วย ip address เดียวกัน อาจมีการตรวจพบ old ssh key


ลบ old ssh key ด้วยคำสั่ง ssh-keygen -f ''home/user/.ssh/known_hosts" -R "ip-address"


จากนั้น ssh user@ip-address แล้วตอบ yes เพื่อสร้าง new ssh key


Ubuntu จะทำการเพิ่ม known host เข้าไปใน list และเราจะเข้าไปใน terminal ของ robot ได้


ตรวจสอบ ROS package ที่ติดตั้งไปแล้วได้จากคำสั่ง rospack list-names
จากนั้นติดตั้ง package ที่ต้องใช้ด้วยคำสั่ง sudo apt install ros-<distro>-<package-name>


เริ่มต้นใช้งาน ROS ด้วยคำสั่ง roscore จะปรากฏชื่อ distro ที่ติดตั้งไว้



New terminal จากนั้นตรวจสอบพอร์ต USB ที่มีการเชื่อมต่อด้วยคำสั่ง ls /dev/tty*


เปิดโหมด R/W ที่พอร์ต USB0 ด้วยคำสั่ง sudo chmod 777 /dev/ttyUSB0
จากนั้นรัน RPLIDAR ที่พอร์ต USB0 ด้วยคำสั่ง rosrun rplidar_ros rplidarNode _port:=/dev/ttyUSB0


ตรวจสอบ topic จาก RPLIDAR ด้วยคำสั่ง rostopic list จะพบ topic /scan


ลอง echo เพื่อดูค่าที่ได้จาก topic /scan ด้วยคำสั่ง rostopic echo /scan จะพบข้อมูลจำนวนมาก



New terminal จากนั้น ssh แบบแสดงผล UI ด้วยคำสั่ง ssh -X user@ip-address


รัน rviz ด้วยคำสั่ง rosrun rviz rviz


เพิ่ม topic LaserScan เข้ามาใน rviz


เปลี่ยน Fixed Frame เป็น laser_frame จะปรากฏภาพสแกนจาก RPLIDAR


เปลี่ยนขนาดของจุดแสดงผลจากการสแกนให้ใหญ่ขึ้น เพื่อให้ภาพแสกนชัดเจนยิ่งขึ้น


เปิดโหมด R/W ที่พอร์ต USB1 ด้วยคำสั่ง sudo chmod 777 /dev/ttyUSB1
จากนั้นรัน rosserial_arduino ที่พอร์ต USB1 ด้วยคำสั่ง 
rosrun rosserial_arduino serial_node.py _port:=/dev/ttyUSB1


รัน teleop ด้วยคำสั่ง rosrun teleop_twist_keyboard teleop_twist_keyboard.py


ควบคุมหุ่นยนต์ด้วยปุ่มต่างๆ บนคีบอร์ดได้เลย



คลิปตัวอย่างการใช้ teleop + RPLIDAR + rviz

ไม่มีความคิดเห็น:

แสดงความคิดเห็น