ExistentialRobotics / xarm_ros2

Fork of xarm_ros2
https://www.ufactory.cc/pages/xarm
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

ros2 launch xarm_gazebo _robot_beside_table_gazebo.launch.py #5

Closed NikolaRaicevic2001 closed 1 month ago

NikolaRaicevic2001 commented 1 month ago

1) Error: [ruby $(which ign) gazebo-1] QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' [ruby $(which ign) gazebo-1] MESA: error: Failed to query drm device. [ruby $(which ign) gazebo-1] libGL error: glx: failed to create dri3 screen [ruby $(which ign) gazebo-1] libGL error: failed to load driver: iris [ruby $(which ign) gazebo-1] libGL error: failed to open /dev/dri/card1: No such file or directory [ruby $(which ign) gazebo-1] libGL error: failed to load driver: iris [ruby $(which ign) gazebo-1] Library [/keti_ws/install/ignition-sensors6/lib/libignition-sensors6.so] does not export any plugins. The symbol [IgnitionPluginHook] is missing, or it is not externally visible. [ruby $(which ign) gazebo-1] [Err] [SystemLoader.cc:103] Failed to load system plugin [libignition-sensors6.so] : couldn't load library on path [/keti_ws/install/ignition-sensors6/lib/libignition-sensors6.so].

2) Expected Behavior: To load the camera and robot in the same environment and have camera topics published correctly such that once bridged with ros2 one can visualize correct tf tree and have correct frame_ids for all camera topics

3) Actual Behavior: Fails to load the new sensor plugin built from source that is suppose to fix the frame_id issue for points

lkm1321 commented 1 month ago

I am seeing that the PluginHook definition was changed in https://github.com/gazebosim/gz-plugin/blob/gz-plugin3/loader/src/Loader.cc#L537. Could be a mismatched version of gz-plugin. Need to dissect the .so file to figure out.

lkm1321 commented 1 month ago

Okay, figured it out. What we were missing is that /usr/lib/aarch64-linux-gnu/libignition-sensors6.so is actually NOT a plugin, but merely a shared library that the plugin /usr/lib/aarch64-linux-gnu/ign-gazebo-6/plugins/libignition-gazebo-sensors-system.so links to.

What this means is that we simply run make install from gz-sensors6, WITHOUT any modifications to the SDF file.

NikolaRaicevic2001 commented 1 month ago

Nikola Raicevic 1:37 PM I ran the image, and the camera plugin ran successfully but still have this: ros2 topic echo /camera_01/camera_depth/points | grep "frame" frame_id: sensor_d455/camera_01_link/cameradepth

Nikola Raicevic 1:44 PM Seems like gz_frame ID did not fix it ${prefix}_depth_optical_frame

NikolaRaicevic2001 commented 1 month ago

By the way, this should work for depth image => pointcloud: https://github.com/ros-perception/image_pipeline/blob/rolling/depth_image_proc/launch/point_cloud_xyzrgb.launch.py 4:09 hopefully something we can just apt install