lucasw / webots_ros_example

ROS robot vehicle in webots
0 stars 0 forks source link

Visualize with rerun.io #1

Open lucasw opened 5 months ago

lucasw commented 5 months ago

Similar to https://github.com/lucasw/o3de_ros_example/issues/4

lucasw commented 5 months ago

Unrelated issue- ros2 rolling pollutes the ros1 system somehow, even when I haven't sourced ros2_rolling setup.bash

rosmsg show TransformStamped
[geometry_msgs/TransformStamped]:
Unable to load msg [geometry_msgs/TransformStamped]: /home/lucasw/ros/ros2_rolling/install/geometry_msgs/share/geometry_msgs/msg/Quaternion.msg: Invalid declaration: float64 x 0

(I think I ran into this elsewhere, probably documented in a ros_from_src issue)

lucasw commented 5 months ago

https://github.com/rerun-io/cpp-example-ros-bridge

it does a fetch content on rerun 0.13 - does 0.14 work? Try it after getting default to work. The files go into catkin_ws/build/rerun_bridge/_deps/rerun_sdk-src

Download this: http://rpg.ifi.uzh.ch/datasets/uzh-fpv-newer-versions/v3/indoor_forward_3_snapdragon_with_gt.bag

cpp-example-ros-bridge/rerun_bridge$ rosbag info indoor_forward_3_snapdragon_with_gt.bag 
path:        indoor_forward_3_snapdragon_with_gt.bag
version:     2.0
duration:    1:19s (79s)
start:       Dec 31 1969 17:21:18.79 (4878.79)
end:         Dec 31 1969 17:22:38.29 (4958.29)
size:        1.5 GB
messages:    100657
compression: none [1730/1730 chunks]
types:       geometry_msgs/PoseStamped [d3812c3cbc69362b77dc0b19b345f8f5]
             nav_msgs/Odometry         [cd5e73d190d741a2f92e81eda573aca7]
             sensor_msgs/Image         [060021388200f6f0f447d0fcd9c64743]
             sensor_msgs/Imu           [6a62c6daae103f4ff57a132d6f95cec2]
topics:      /groundtruth/odometry   24750 msgs    : nav_msgs/Odometry        
             /groundtruth/pose       24750 msgs    : geometry_msgs/PoseStamped
             /snappy_cam/stereo_l     2552 msgs    : sensor_msgs/Image        
             /snappy_cam/stereo_r     2552 msgs    : sensor_msgs/Image        
             /snappy_imu             46053 msgs    : sensor_msgs/Imu
Rerun ERROR: Failed to find Rerun Viewer executable in PATH.

    You can install an appropriate version of the Rerun Viewer via binary releases:
    * Using `cargo`: `cargo binstall --force rerun-cli@0.13.0` (see https://github.com/cargo-bins/cargo-binstall)
    * Via direct download from our release assets: https://github.com/rerun-io/rerun/releases/0.13.0/
    * Using `pip`: `pip3 install rerun-sdk==0.13.0`

    For more information, refer to our complete install documentation over at:
    https://rerun.io/docs/getting-started/installing-viewer

Try setting FetchContent to 0.14.1

Rerun ERROR: Rerun_c SDK version and SDK header/source versions don't match. Make sure to link against the correct version of the rerun_c library.
rerun_c binary version:
0.14.1
rerun_c header version:
0.13.0

It didn't automatically re-run fetch content (DOWNLOAD_EXTRACT_TIMESTAMP true is needed?), so manually

lucasw commented 5 months ago

rerun ros bridge seems to work fine with 0.14.1 (already a PR for this https://github.com/rerun-io/cpp-example-ros-bridge/pull/3)

[2024-04-08T15:09:46Z INFO  winit::platform_impl::platform::x11::window] Guessed window scale factor: 1
[I] [1712588986.227 /rerun_bridge_node ...run_bridge/visualizer_node.cpp:24]: Read yaml config at /home/lucasw/catkin_ws/src/other/cpp-example-ros-bridge/rerun_bridge/launch/example_params.yaml
[I] [1712588986.230 /rerun_bridge_node ...run_bridge/visualizer_node.cpp:46]: Mapping topic /snappy_cam/stereo_l to entity path /groundtruth/pose/snappy_cam/stereo_l
[I] [1712588986.230 /rerun_bridge_node ...run_bridge/visualizer_node.cpp:46]: Mapping topic /snappy_cam/stereo_r to entity path /groundtruth/pose/snappy_cam/stereo_r
[2024-04-08T15:09:48Z INFO  egui_wgpu] There were 3 available wgpu adapters: {backend: Vulkan, device_type: IntegratedGpu, name: "Intel(R) UHD Graphics (CML GT2)", driver: "Intel open-source Mesa driver", driver_info: "Mesa 23.2.1-1ubuntu3.1", vendor: 0x8086, device: 0x9BC4}, {backend: Vulkan, device_type: DiscreteGpu, name: "NVIDIA GeForce RTX 3070 Laptop GPU", driver: "NVIDIA", driver_info: "535.161.07", vendor: 0x10DE, device: 0x249D}, {backend: Vulkan, device_type: Cpu, name: "llvmpipe (LLVM 15.0.7, 256 bits)", driver: "llvmpipe", driver_info: "Mesa 23.2.1-1ubuntu3.1 (LLVM 15.0.7)", vendor: 0x10005}
[2024-04-08T15:09:48Z INFO  tracing::span] perform;
[2024-04-08T15:09:48Z INFO  zbus::handshake] write_command; command=Auth(Some(External), Some([49, 48, 48, 48]))
[2024-04-08T15:09:48Z INFO  tracing::span] read_command;
[2024-04-08T15:09:48Z INFO  zbus::handshake] write_command; command=NegotiateUnixFD
[2024-04-08T15:09:48Z INFO  tracing::span] read_command;
[2024-04-08T15:09:48Z INFO  zbus::handshake] write_command; command=Begin
[2024-04-08T15:09:48Z INFO  tracing::span] socket reader;
[2024-04-08T15:09:48Z INFO  tracing::span] perform;
[2024-04-08T15:09:48Z INFO  zbus::handshake] write_command; command=Auth(Some(External), Some([49, 48, 48, 48]))
[2024-04-08T15:09:48Z INFO  tracing::span] read_command;
[2024-04-08T15:09:48Z INFO  zbus::handshake] write_command; command=NegotiateUnixFD
[2024-04-08T15:09:48Z INFO  tracing::span] read_command;
[2024-04-08T15:09:48Z INFO  zbus::handshake] write_command; command=Begin
[2024-04-08T15:09:48Z INFO  tracing::span] socket reader;
[2024-04-08T15:09:48Z INFO  zbus::connection] {}; obj_server_task_name="ObjectServer task"
[2024-04-08T15:09:48Z INFO  zbus::object_server] dispatch_message; msg=Msg { type: MethodCall, sender: UniqueName(Str(Borrowed(":1.2"))), path: ObjectPath("/org/a11y/atspi/accessible/root"), iface: InterfaceName(Str(Borrowed("org.freedesktop.DBus.Properties"))), member: MemberName(Str(Borrowed("Set"))), body: Signature("ssv") }
[2024-04-08T15:09:48Z INFO  zbus::object_server] dispatch_method_call; msg=Msg { type: MethodCall, sender: UniqueName(Str(Borrowed(":1.2"))), path: ObjectPath("/org/a11y/atspi/accessible/root"), iface: InterfaceName(Str(Borrowed("org.freedesktop.DBus.Properties"))), member: MemberName(Str(Borrowed("Set"))), body: Signature("ssv") }
[2024-04-08T15:09:48Z INFO  zbus::object_server] dispatch_method_call_try; msg=Msg { type: MethodCall, sender: UniqueName(Str(Borrowed(":1.2"))), path: ObjectPath("/org/a11y/atspi/accessible/root"), iface: InterfaceName(Str(Borrowed("org.freedesktop.DBus.Properties"))), member: MemberName(Str(Borrowed("Set"))), body: Signature("ssv") }

https://github.com/lucasw/webots_ros_example/assets/1334122/9ef9243f-67cf-4474-bad7-016b4953b080

lucasw commented 5 months ago

Use these changes: https://github.com/rerun-io/cpp-example-ros-bridge/pull/4