rostopic echo /tf works, but rosrun tf tf_echo base_link odom doesn't
The setup:
robot (pc(ubuntu) + wifi AP), laptop(ubuntu + wifi), windows(WSL ubuntu + wifi).
Everything works just fine between robot and ubuntu laptop, but following happens with WSL:
rosrun tf tf_echo odom base_link
gives:
Exception thrown:"odom" passed to lookupTransform argument target_frame does not exist.
My tf tree here.
"rostopic echo /tf " works fine, odom and base_link frames exists.
EDIT 1:
Full output of tf_echo
Failure at 1570007845.665726500 Exception thrown:"base_link" passed to lookupTransform argument target_frame does not exist. The current list of frames is:
Failure at 1570007845.665942100 Exception thrown:"base_link" passed to lookupTransform argument target_frame does not exist. The current list of frames is:
roswtf:
WARNING Received out-of-date/future transforms:
- receiving transform from [/ekf_se_odom] that differed from ROS time by -2.15499711s
- receiving transform from [/ekf_se_map] that differed from ROS time by -2.135234117s
- receiving transform from [/robot_state_publisher] that differed from ROS time by -2.10908103s
tf_monitor:
RESULTS: for all Frames
Frames:
All Broadcasters:
Tried everything with the firewall.
Connectivity might be the problem, but I don't know where to start scratching. Went through [http://wiki.ros.org/ROS/NetworkSetup] and there were no problem.
EDIT 2:
Just tried to connect WSL to the robots AP via cable, and all works as it should. The laptop with Ubuntu works via wifi as before.
EDIT 3:
I was too fast on EDIT 2.
tf_monitor is able to get only a part of the tf tree - only the urdf links, but no ekf provided links(odom, map).
Any suggestions?
Is this the only output of
rosrun tf tf_echo
? Usually the full error is something like :To complete the comment above, you can use multiple commands to debug tf :
roswtf
rosrun tf tf_monitor
rosrun tf view_frames
Also you can check this wiki page : http://wiki.ros.org/tf/Tutorials/Debu...
My though is that tf on WSL cannot access the topics on the rest of the hardware because of connectivity problem .
Do you have any firewall blocking ports on Windows that can prevent WSL from accessing the remote rosmaster ? Can you disable the firewall and test again ? (remember to reactivate the firewall after if you do this test)