ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Best point to place base_link in a car-like robot

asked 2018-12-20 06:02:47 -0600

lucascoelho gravatar image

Hi all,

I am building a car-like robot, and now I was thinking about its tf tree and where I should place the frames. When looking for ROS standards, I found the TF tutorials page, that suggests I should place base_link in the rotational center. But the REP 105 (which the TF page actually references) says that I should attach the base_link in any position or orientation of the base. I am a bit confused because the two pages suggest different things. So, considering that I want to make use of the navigation packages of ROS, what would be the ideal spot for base_link? Gravity center? Geometrical center? Center of the rear axle? Any other ideal place? If you could give me examples of tf trees of car_like robots it would be awesome.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
6

answered 2018-12-20 06:17:48 -0600

gvdhoorn gravatar image

updated 2018-12-21 08:16:12 -0600

But the REP 105 [..] says that I should attach the base_link in any position or orientation of the base. I am a bit confused because the two pages suggest different things.

Your confusion may come from a misinterpretation of the REP.

From REP-105 that you link, the exact phrasing is (emphasis mine):

The base_link can be attached to the base in any arbitrary position or orientation; for every hardware platform there will be a different place on the base that provides an obvious point of reference

Note the word "can" there (it should perhaps have been "may"): REP-105 does not dictate any location for base_link. It recognises that the "best" location for that frame will be completely dependent on the kinematics of the robot, and the REP authors do not presume to know best, so they simply say: "as a developer/roboticist you probably know best where to put base_link, so use your experience/insight as a guide and put it in the most logical place".

I am building a car-like robot, and now I was thinking about its tf tree and where I should place the frames.

For Ackermann steering vehicles I've often seen base_link placed on the axle between the two rear wheels, precisely in the centre. That will not be the "rotational centre" as suggested by the TF tutorials, but that would seem to be impossible in this case (as the rotational centre would be outside the vehicle).

You may want to lookup other ROS-ified Ackermann steering vehicles, such as the MIT racecar and compare their setup to yours. That should give you a good idea of what has worked for those projects.

edit flag offensive delete link more

Comments

Brilliant answer, thank you!

lucascoelho gravatar image lucascoelho  ( 2018-12-20 14:15:53 -0600 )edit

Question Tools

3 followers

Stats

Asked: 2018-12-20 06:02:47 -0600

Seen: 1,147 times

Last updated: Dec 21 '18