What problem are we trying to solve with TFs?
You have now seen what TFs are and how you can visualize them for any ROS robot. This is great, but now we come to the final question for this chapter: why do we need to care about this? What problem are we trying to solve?
What we want to achieve
For a robotics application to work, we want to keep track of each 3D coordinate frame over time. We need a structured tree for all the frames of the robot (or robots).
There are two components here: we need to know where things are and when the transformations happened. If you remember, when we checked the /tf
topic, you could see that for each parent and child frame, we had a transformation (translation and rotation in 3D space), and we also had a timestamp.
Here are some concrete examples of some questions you could need to answer in a robotics application:
- For one mobile robot, where is the right wheel relative to the left wheel and to the base of the robot? How does the...