Not able to use frame_id from rosserial arduino in rviz
I am publishing a LaserScan Message from a teensy3.2 to a Raspberry Pi 3 running Kinetic, the scan is published via USB and received by the Pi Node.
When attempting to visualize just the scan in RViz I don't get any results. I have changed global options -> fixed frame to laser_frame as instructed by the wiki. However I still receive "No tf data. Actual error: Fixed frame [laser_frame] does not exist.
/Laser_scan
header:
seq: 13
stamp:
secs: 1455210523
nsecs: 855981927
frame_id: "laser_frame"
angle_min: 0.0
angle_max: 0.0
angle_increment: 0.0
time_increment: 0.0
scan_time: 0.0390000008047
range_min: 0.0500000007451
range_max: 1.20000004768
ranges: [0.12399999797344208, 0.12399999797344208, 0.12399999797344208, 0.12399999797344208, 0.12399999797344208, 0.12399999797344208, 0.12399999797344208, 0.12399999797344208, 0.12399999797344208, 0.12399999797344208]
intensities: []
When I run tf_monitor this is the result, no frames are shown.
$ rosrun tf tf_monitor
RESULTS: for all Frames
Frames:
All Broadcasters:
Any help would be appreciated I have been at this for sometime now, and to no avail.
EDIT: I believe the issue resides with ROS & RViz running on Windows Subsystem Linux (Ubuntu). the issue, I think I have pinpointed is RViz, and ROS not being able to read tf_frames, or frame_ids from a remote system (Raspberry Pi). On the master node I can run rostopic echo /tf_static and rostopic echo /laser_scan and see the Laser Message above and a transform being published. sample transform(Master Node):
transforms:
header:
seq: 0
stamp:
secs: 1527363010
nsecs: 747170163
frame_id: "base_footprint"
child_frame_id: "base_link"
transform:
translation:
x: 0.0
y: 0.0
z: 0.017
rotation:
x: 0.0
y: 0.0
z: 0.0
w: 1.0
rosrun tf tf_monitor(Master Node):
RESULTS: for all Frames
Frames:
Frame: base_link published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
Frame: front_wheel_link published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
Frame: gyro_link published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
Frame: left_cliff_sensor_link published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
Frame: leftfront_cliff_sensor_link published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
Frame: right_cliff_sensor_link published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
Frame: rightfront_cliff_sensor_link published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
Frame: wall_sensor_link published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
on the remote node(Windows 10) I can run rostopic echo /tf_static and rostopic echo /laser_scan and see the Laser Message above and a transform being published.
sample transform(Remote Node):
transforms:
header:
seq: 0
stamp:
secs: 1527363010
nsecs: 747170163
frame_id: "base_footprint"
child_frame_id: "base_link"
transform:
translation:
x: 0.0
y: 0.0
z: 0.017
rotation:
x: 0.0
y: 0.0
z: 0.0
w: 1.0
rosrun tf tf_monitor(Remote Node):
RESULTS: for all Frames
Frames:
All Broadcasters:
I can ping both remote and master from each other, I can telnet between the two and receive messages. Both Master and Remote /etc/hosts list each.
Env variables are set to individual names, and to point at the master
Master Node ...