Can't get transform from other machine on network

asked 2017-06-30 12:26:03 -0500

sterlingm gravatar image

Hi,

I have some code that calls lookupTransform, and my node crashes on that line. The TF I am getting is being published on a different machine that the one calling lookupTransform. When I run the node calling lookupTransform on the same machine that publishes the TF, then everything works fine. But when I run the node calling lookupTransform on a different machine, it crashes on lookupTransform with a segmentation fault. What is more weird is that waitForTransform returns true on both machines.

Is this a known issue with lookupTransform? Does anyone else have this problem? Any help is appreciated.

edit retag flag offensive close merge delete

Comments

Something to check (but it definitely shouldn't lead to a SEGFAULT): make sure the clocks on all involved hosts are sufficiently synchronised. TF is very much tied to time, so any skew or desync will lead to trouble.

gvdhoorn gravatar image gvdhoorn  ( 2017-06-30 13:36:38 -0500 )edit

Have you set ROS_MASTER_URI on the machine that you are trying to get the transforms? Are you able to echo tf topics on the machine that you want to call lookupTransform ?

Your problem resembled a connection issue since you have said "When I run the node calling lookupTransform on the same machine that publishes the TF, then everything works fine."

ulashmetalcrush gravatar image ulashmetalcrush  ( 2020-12-28 01:38:43 -0500 )edit