-
Notifications
You must be signed in to change notification settings - Fork 1
TF Cheatsheet
Convention: Rigid transformations always follow the right-hand rule when defining reference frames. When representing the base_link
of a robot, we generally follow a X-forward, Y-Left, X-Up convention. Usually, when visualizing TFs, the X-axis is red, the Y-axis is green and the Z-axis is blue.
![](https://private-user-images.githubusercontent.com/25142624/350460839-abebb25f-a6e0-455d-824e-078b68235e66.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NzUzMjcsIm5iZiI6MTcyNTk3NTAyNywicGF0aCI6Ii8yNTE0MjYyNC8zNTA0NjA4MzktYWJlYmIyNWYtYTZlMC00NTVkLTgyNGUtMDc4YjY4MjM1ZTY2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTEwVDEzMzAyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFhMGFiNWQzZWE3OWJmMmJjNzY3ZWZjMjQzNjkzOWY2OTgxM2ZlYjZhYzRjNTVhMjBjODA5YjdlNGE3YWM1MTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.DS52wEi_zUgGAoUBbVU-99qPQF5AbtnR7bwjYQMPylw)
Logic: When you want to define the transformation (
URDF: In a URDF, a joint defines the relationship between two links. We define the pose of the child frame, in the parent frame, which corresponds to the transform from child to parent (
RViz: In RViz, joints are represented as arrows and diplayed between reference frames, showing the relation from child to parent in URDF (
Cameras/OpenCV: Camera frames are defined differently from the usual convention, with the Z-axis going out of the camera, the Y-axis pointing downward and the X-axis pointing to the right. OpenCV's methods follow this convention, although indexing images directly reverses the x and y, because of the numpy standard (row, column).
Rotations: In general, we recommend the use of SciPy Rotations for all your rotations in Python. It streamlines the conversions from euler / axis-angle / quaternion / matrix, to avoid stupid errors in manually handling these.
- Warthog Teach and Repeat (ROS1)
- Warthog Teach and Repeat (ROS2)
- Time Synchronization
- Deployment of Robotic Total Stations (RTS)
- Deployment of the backpack GPS
- Warthog Emlid GPS
- Atlans-C INS
- How to use a CB Radio when going in the forest
- IP forwarding
- Lessons Learned
- Robots' 3D Models
- Order Management
- Fast track Master → PhD
- Intellectual Property
- Repository Guidelines
- TF Cheatsheet
- Montmorency Forest Wintertime Dataset
- RTS-GT Dataset 2023
- Deschenes2021 Dataset
- TIGS Dataset
- DRIVE Datasets
- BorealHDR
- TimberSeg 1.0
- DARPA Subterranean Challenge - Urban Dataset
- How to upload a dataset to VALERIA
- ROS1 Bridge
- Migrating a repository to ROS2 (Humble)
- ROS2 and rosbags
- MCAP rosbags
- DDS Configuration (work in progress)
- Using a USB Microphone with ROS2
- ROS2 in VSCode
- ROS2 Troubleshooting