Atlas Robotics
Bài 6/6 · khoảng 25 phút

Bài tập: cây TF của Atlas

Áp dụng Frame/Transform, TF tree, REP-105 — làm bài này trước khi đọc Module 3, nơi URDF thật của Atlas sẽ "lộ" đáp án.

Đề bài

Atlas là robot diff-drive gồm: một khung chính (base_link), 2 bánh chủ động trái/phải, 2 bánh đỡ (caster) trước/sau, 1 LiDAR, 1 IMU. Chọn frame cha cho từng frame bên dưới rồi bấm "Kiểm tra" — đã cố tình để sẵn 1 lựa chọn sai, giống nhầm lẫn người mới hay gặp:

map và odom (REP-105) KHÔNG nằm trong bài tập này — chúng chỉ xuất hiện khi có slam_toolbox/amcl chạy (Module 8-9), chưa liên quan tới URDF tĩnh của robot.

Hai câu hỏi suy luận

1. Joint nối các frame trên với base_link nên là loại chuyển động được hay cố định? Bánh chủ động phải quay được (joint continuous — xoay không giới hạn góc). LiDAR và IMU không di chuyển so với khung robot (joint fixed — liên hệ static_transform_publisher ở bài trước). Bánh đỡ (caster) trong URDF thật của Atlas cũng khai báo fixed — mô phỏng không model việc viên bi/bánh đỡ tự xoay tự do, chỉ quan tâm vị trí GẮN của nó trên khung.

2. Nếu robot đứng yên tại chỗ nhưng 2 bánh vẫn quay (kẹt trên mặt trơn): transform base_link → bánh xe có đổi theo thời gian (góc quay của khớp đổi liên tục). Transform map → base_link thì không đổi (robot không di chuyển trong không gian thật) — phân biệt "transform đổi vì khớp xoay tại chỗ" và "transform đổi vì cả cụm dịch chuyển".

Tự kiểm tra

Đã xong khi

  • Công cụ ở trên báo đúng cả 6/6
  • Giải thích được (không chỉ đoán) vì sao cả 6 frame cùng một cha, không phân cấp qua nhau
  • Trả lời được 2 câu hỏi suy luận ở trên bằng lời của riêng bạn
  • Sau khi đọc Module 3, so cây vừa chọn với atlas_description/urdf/atlas.urdf.xacro thật

Tự kiểm tra trước khi qua Module 3

  • Giải thích được frame khác transform ở điểm nào
  • Vẽ được (nói bằng lời) cây TF bất kỳ chỉ từ mô tả một robot khác, không cần đúng của Atlas
  • Dùng được view_frames + tf2_echo để debug một launch file TF bất kỳ, không cần nhớ cú pháp
  • Giải thích được (không cần thuộc công thức) vì sao map→odom nhảy bậc còn odom→base_link mượt, và hậu quả nếu gộp làm một

Xong hết → sang Module 3 — Mô hình hóa robot với URDF/XACRO (sắp có trên trang này), nơi cây TF bạn vừa chọn sẽ được đối chiếu với URDF thật của Atlas.