Ros2 Humble on Docker and CoppeliaSim 4.4.0
Ros2 Humble on Docker and CoppeliaSim 4.4.0
Hi all,
how can I interface a docker image of Ros2 (humble) with CoppeliaSim 4.4.0 on Ubuntu 22.10?
I see that libsimExtRos2.so is already in the main directory of CoppeliaSim... so, should I compile something?
Regards
formica
how can I interface a docker image of Ros2 (humble) with CoppeliaSim 4.4.0 on Ubuntu 22.10?
I see that libsimExtRos2.so is already in the main directory of CoppeliaSim... so, should I compile something?
Regards
formica
Re: Ros2 Humble on Docker and CoppeliaSim 4.4.0
No, normally you don't need to compile anything (unless you need to add support for more ROS 2 interfaces).
You should only take care of getting the two boxes to talk with each other (e.g. by configuring network, supplying a configuration for your ROS middleware of choice, etc...).
You should only take care of getting the two boxes to talk with each other (e.g. by configuring network, supplying a configuration for your ROS middleware of choice, etc...).
Re: Ros2 Humble on Docker and CoppeliaSim 4.4.0
I don't have two containers. Ros2 is in a container while CoppeliaSim is on my host machine. So I suppose to expose ros2 to my ubuntu machine.
Any hint?
At this moment, after launching the ros2/osrf container, I obtain this error:
Any hint?
At this moment, after launching the ros2/osrf container, I obtain this error:
[CoppeliaSim:loadinfo] plugin 'ROS2': loading...
error: library ( /home/formica/CoppeliaSim/CoppeliaSim_Edu_V4_4_0_rev0_Ubuntu20_04/libsimExtROS2.so ) load: "Cannot load library /home/formica/CoppeliaSim/CoppeliaSim_Edu_V4_4_0_rev0_Ubuntu20_04/libsimExtROS2.so: (libstd_srvs__rosidl_typesupport_cpp.so: cannot open shared object file: No such file or directory)"
[CoppeliaSim:error] plugin 'ROS2': load failed (could not load). The plugin probably couldn't load dependency libraries. For additional infos, modify the script 'libLoadErrorCheck.sh', run it and inspect the output.
Re: Ros2 Humble on Docker and CoppeliaSim 4.4.0
Before the command executing coppeliaSim you need to source ROS 2 environment (e.g.
source /opt/ros/...
)Re: Ros2 Humble on Docker and CoppeliaSim 4.4.0
Using Giulio Turrisi git repo I'm not able to load the ROS2 plugin interface
This is the error:
Using libLoadErrorCheck.sh all dependencies seems to be satisfied.
Any idea?
This is the error:
Code: Select all
[CoppeliaSim:error] plugin 'ROS2Interface': load failed (could not load). The plugin probably couldn't load dependency libraries. For additional infos, modify the script 'libLoadErrorCheck.sh', run it and inspect the output.
Any idea?
Re: Ros2 Humble on Docker and CoppeliaSim 4.4.0
That is strange, it should load in that case. Are you sure that you have sourced the ROS environment?
Cheers
Cheers
Re: Ros2 Humble on Docker and CoppeliaSim 4.4.0
Yes, it's sourced.
No way.
No way.
Re: Ros2 Humble on Docker and CoppeliaSim 4.4.0
Did you appropriately modify the file libLoadErrorCheck.sh? If yes, that is starting to sound like a mystery to me...Using libLoadErrorCheck.sh all dependencies seems to be satisfied.
Cheers
Re: Ros2 Humble on Docker and CoppeliaSim 4.4.0
This is the output for 'ldd libsimExtROS2Interface.so.
Every lib seems to be satisfied:
Every lib seems to be satisfied:
Code: Select all
linux-vdso.so.1 (0x00007ffef03ac000)
libstd_srvs__rosidl_typesupport_cpp.so => /opt/ros/humble/lib/libstd_srvs__rosidl_typesupport_cpp.so (0x000014a7a7c0e000)
libexample_interfaces__rosidl_typesupport_cpp.so => /opt/ros/humble/lib/libexample_interfaces__rosidl_typesupport_cpp.so (0x000014a7a7bfe000)
libimage_transport.so => /opt/ros/humble/lib/x86_64-linux-gnu/libimage_transport.so (0x000014a7a7b27000)
librclcpp.so => /opt/ros/humble/lib/librclcpp.so (0x000014a7a720d000)
libsensor_msgs__rosidl_typesupport_cpp.so => /opt/ros/humble/lib/libsensor_msgs__rosidl_typesupport_cpp.so (0x000014a7a7b1a000)
librcutils.so => /opt/ros/humble/lib/librcutils.so (0x000014a7a7b02000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x000014a7a7adc000)
libtf2_ros.so => /opt/ros/humble/lib/libtf2_ros.so (0x000014a7a7a41000)
libtf2_msgs__rosidl_typesupport_cpp.so => /opt/ros/humble/lib/libtf2_msgs__rosidl_typesupport_cpp.so (0x000014a7a7a39000)
librclcpp_action.so => /opt/ros/humble/lib/librclcpp_action.so (0x000014a7a71ec000)
librcl_action.so => /opt/ros/humble/lib/librcl_action.so (0x000014a7a71d9000)
liblibstatistics_collector.so => /opt/ros/humble/lib/liblibstatistics_collector.so (0x000014a7a71d2000)
librcl.so => /opt/ros/humble/lib/librcl.so (0x000014a7a7194000)
libstatistics_msgs__rosidl_typesupport_cpp.so => /opt/ros/humble/lib/libstatistics_msgs__rosidl_typesupport_cpp.so (0x000014a7a718f000)
libtracetools.so => /opt/ros/humble/lib/libtracetools.so (0x000014a7a718a000)
libgeometry_msgs__rosidl_typesupport_cpp.so => /opt/ros/humble/lib/libgeometry_msgs__rosidl_typesupport_cpp.so (0x000014a7a717f000)
libstd_msgs__rosidl_typesupport_cpp.so => /opt/ros/humble/lib/libstd_msgs__rosidl_typesupport_cpp.so (0x000014a7a7172000)
libbuiltin_interfaces__rosidl_typesupport_cpp.so => /opt/ros/humble/lib/libbuiltin_interfaces__rosidl_typesupport_cpp.so (0x000014a7a716d000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x000014a7a6f43000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x000014a7a6f23000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x000014a7a6cfb000)
/lib64/ld-linux-x86-64.so.2 (0x000014a7a7c16000)
librosidl_typesupport_cpp.so => /opt/ros/humble/lib/librosidl_typesupport_cpp.so (0x000014a7a6cf5000)
libaction_msgs__rosidl_typesupport_cpp.so => /opt/ros/humble/lib/libaction_msgs__rosidl_typesupport_cpp.so (0x000014a7a6ced000)
libmessage_filters.so => /opt/ros/humble/lib/libmessage_filters.so (0x000014a7a6ce8000)
librmw.so => /opt/ros/humble/lib/librmw.so (0x000014a7a6cdc000)
libament_index_cpp.so => /opt/ros/humble/lib/libament_index_cpp.so (0x000014a7a6cd1000)
libclass_loader.so => /opt/ros/humble/lib/libclass_loader.so (0x000014a7a6cbe000)
librcpputils.so => /opt/ros/humble/lib/librcpputils.so (0x000014a7a6cb0000)
libconsole_bridge.so.1.0 => /lib/x86_64-linux-gnu/libconsole_bridge.so.1.0 (0x000014a7a6ca8000)
libtinyxml2.so.9 => /lib/x86_64-linux-gnu/libtinyxml2.so.9 (0x000014a7a6c90000)
librcl_interfaces__rosidl_typesupport_cpp.so => /opt/ros/humble/lib/librcl_interfaces__rosidl_typesupport_cpp.so (0x000014a7a6c85000)
librcl_yaml_param_parser.so => /opt/ros/humble/lib/librcl_yaml_param_parser.so (0x000014a7a6c79000)
librosgraph_msgs__rosidl_typesupport_cpp.so => /opt/ros/humble/lib/librosgraph_msgs__rosidl_typesupport_cpp.so (0x000014a7a6c74000)
librmw_implementation.so => /opt/ros/humble/lib/librmw_implementation.so (0x000014a7a6c65000)
librcl_logging_interface.so => /opt/ros/humble/lib/librcl_logging_interface.so (0x000014a7a6c60000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x000014a7a6b79000)
libtf2.so => /opt/ros/humble/lib/libtf2.so (0x000014a7a6b5a000)
librcl_logging_spdlog.so => /opt/ros/humble/lib/librcl_logging_spdlog.so (0x000014a7a6b53000)
librcl_interfaces__rosidl_typesupport_c.so => /opt/ros/humble/lib/librcl_interfaces__rosidl_typesupport_c.so (0x000014a7a6b48000)
librcl_interfaces__rosidl_generator_c.so => /opt/ros/humble/lib/librcl_interfaces__rosidl_generator_c.so (0x000014a7a6b2c000)
librosidl_runtime_c.so => /opt/ros/humble/lib/librosidl_runtime_c.so (0x000014a7a6b21000)
libyaml.so => /opt/ros/humble/lib/libyaml.so (0x000014a7a6aff000)
libspdlog.so.1 => /lib/x86_64-linux-gnu/libspdlog.so.1 (0x000014a7a6a82000)
librosidl_typesupport_c.so => /opt/ros/humble/lib/librosidl_typesupport_c.so (0x000014a7a6a7c000)
libbuiltin_interfaces__rosidl_generator_c.so => /opt/ros/humble/lib/libbuiltin_interfaces__rosidl_generator_c.so (0x000014a7a6a77000)
libfmt.so.8 => /lib/x86_64-linux-gnu/libfmt.so.8 (0x000014a7a6a56000)