ข้อมูลเบื้องต้นเกี่ยวกับ ROS tf
1. ตั้งค่าการสาธิต
sudo apt-get install ros-melodic-ros-tutorials ros-melodic-geometry-tutorials ros-melodic-rviz ros-melodic-rosbash ros-melodic-rqt-tf-tree
2. เปิดการสาธิต
roslaunch turtle_tf turtle_tf_demo.launch
เมื่อเต่าจำลองเริ่มต้นขึ้น คุณสามารถขับเต่าตัวกลางไปรอบๆ เต่าได้โดยใช้ปุ่มลูกศรบนแป้นพิมพ์ เลือกหน้าต่างเทอร์มินัล roslaunch เพื่อให้การกดแป้นพิมพ์ของคุณถูกจับเพื่อขับเคลื่อนเต่า
3. เกิดอะไรขึ้น
การสาธิตนี้ใช้ไลบรารี tf เพื่อสร้างเฟรมพิกัดสามเฟรม: เฟรมโลก เฟรมเต่า1 และเฟรมเต่า2 บทช่วยสอนนี้ใช้ ผู้ถ่ายทอด tf เพื่อเผยแพร่เฟรมพิกัดเต่า และ ผู้ฟัง tf เพื่อคำนวณความแตกต่างในเฟรมเต่า และย้ายเต่าตัวหนึ่งเพื่อติดตามอีกตัว
4. หลายวิธีในการตรวจสอบเฟรม tf
- view_frames
view_frames สร้างไดอะแกรมของเฟรมที่ออกอากาศโดย tf บน ROS
rosrun tf view_frames
ที่นี่ผู้ฟัง tf กำลังฟังเฟรมที่ออกอากาศผ่าน ROS และวาดแผนผังว่าเฟรมเชื่อมต่อกันอย่างไร หากต้องการดูต้นไม้:
evince frames.pdf
ไฟล์จะปรากฏบนเดสก์ท็อปโดยอัตโนมัติ
<แข็งแกร่ง>2. ใช้ rqt_tf_tree
rqt_tf_tree เป็นเครื่องมือรันไทม์สำหรับการแสดงภาพแผนผังของเฟรมที่ออกอากาศผ่าน ROS คุณสามารถรีเฟรชทรีได้ง่ายๆ ด้วยการรีเฟรชด้านล่างที่มุมซ้ายบนของไดอะแกรม
rosrun rqt_tf_tree rqt_tf_tree
หรือเพียงแค่:
rqt &
จากนั้นเลือก "rqt_tf_tree" จากแท็บปลั๊กอิน
<แข็งแกร่ง>3. ใช้ tf_echo
tf_echo รายงานการแปลงระหว่างสองเฟรมใด ๆ ที่ออกอากาศผ่าน ROS
ไวยากรณ์เป็นเหมือนด้านล่าง:
rosrun tf tf_echo [reference_frame] [target_frame]
สำหรับบทช่วยสอนนี้ คุณสามารถดำเนินการดังต่อไปนี้:
rosrun tf tf_echo turtle1 turtle2
เมื่อคุณขับเต่าไปรอบๆ คุณจะเห็นการเปลี่ยนแปลงเมื่อเต่าสองตัวเคลื่อนที่โดยสัมพันธ์กัน
5. rviz และ tf
rviz เป็นเครื่องมือแสดงภาพที่มีประโยชน์สำหรับการตรวจสอบเฟรม tf มาดูเฟรมเต่าของเราโดยใช้ rviz กัน
rosrun rviz rviz -d `rospack find turtle_tf`/rviz/turtle_rviz.rviz