ข้อมูลเบื้องต้นเกี่ยวกับ 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

  1. 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