I imported derverbles from choreonoid/choreonoid_ros2 and added some fixes.
With this pull-request, this repository is configured to be buildable on both ROS 1 and ROS 2.
The major differences between ROS 1 version and ROS 2 version are as follows.
ROS configuration
ROS 1
A choreonoid app containing a ROS plugin behaves as a single ROS context, a node.
The plugin initialization blocks the choreonoid app launch if there is no connection to roscore.
ROS 2
Since there is no ROS 2-related processing in plugin initialization, it does not block the app launch.
ROS 2 plugin can be loaded and used in choreonoid app without modification for the plugin.
Each of WorldROS2Item and BodyROS2Item operates as its own ROS 2 context and node for each instance of the item.
ros_control support
ROS 1
ros_control support is available now.
ROS 2
ros_control support is not available now.
However, we plan to support it in the future.
abstruct
I imported derverbles from choreonoid/choreonoid_ros2 and added some fixes. With this pull-request, this repository is configured to be buildable on both ROS 1 and ROS 2.
The major differences between ROS 1 version and ROS 2 version are as follows.
ROS configuration
ROS 1
ROS 2
ros_control support
ROS 1
ros_control support is available now.
ROS 2
ros_control support is not available now. However, we plan to support it in the future.
Build instruction for ROS 2 (Humble, Ubuntu22.04)
Note: Please ignore the error from choreonoid with catkin, when running rosdep (Fixed in https://github.com/choreonoid/choreonoid/pull/36)