You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Below is a comprehensive list of packages that need to be migrated from ROS 1 to ROS 2, separated by system. Issues should be made for each package that needs to be converted, with a reference to such issue here!
To avoid having our inboxes and issue page flooded with new issues, only a few issues relevant to this project will be made at any one time!
Helpful Tools
There are several helpful tools and pages that we will use when migrating from ROS 1 to ROS 2. They are listed here:
ROS 2 is the next major version of ROS. It serves as a successor to ROS 1 (what we are currently using right now), and features some significant changes that would break compatibility with previous versions of ROS 1. You should know that ROS 1 and ROS 2 are very similar, but many of the names and styles of creating nodes have changed.
More and more ROS development is focusing on ROS 2 (VRX, Gazebo, etc.). We want to update our code to work well with these tools so that we can use the most recent, up-to-date versions of ROS and ROS-related tools.
Versioning and your setup
There are several versions of ROS 2. We will be targeting Humble (with support until May 2027) on Ubuntu 22.04. For now, you do not need to upgrade your installation of Ubuntu 20.04 if you would not like to do so. You will still be able to assist in the migration, you just cannot run any of the converted code yet. That's totally okay, since usually we verify big migrations like this at the end of the migration, since it's hard to test the workings of a codebase that half supports ROS 1 and ROS 2.
Alternatively, you may want to install ROS 2 on your existing Ubuntu 20.04 setup, or you may want to setup Ubuntu 22.04 with a ROS 2 install. It shouldn't be required, but you may want to do so for your convenience, curiosity, or interest.
Required readings
Before getting started, please skim over the following documents: (it will take you like 20 minutes)
Great! So you're ready to start migration your package. How do you get started?
Choose a package from the list below that still needs to be migrated (:x:)
Create a new branch off of the existing ros2 branch.
Migrate it by hand, or using the automated tools in the links above if you prefer. Remember that if you use the automated tools, they may convert too much/too little, and you'll need to verify their output.
Create a new pull request of your branch back into ros2.
Development Guide
After migrating a package, please immediately open a pull request into the ros2 branch. Once everything has been verified as being stable/when all packages have been migrated, we will merge the ros2 branch into main. That will likely be towards the end of the semester!
π€ ROS 1 β 2 Migration Plan
Below is a comprehensive list of packages that need to be migrated from ROS 1 to ROS 2, separated by system. Issues should be made for each package that needs to be converted, with a reference to such issue here!
To avoid having our inboxes and issue page flooded with new issues, only a few issues relevant to this project will be made at any one time!
Helpful Tools
There are several helpful tools and pages that we will use when migrating from ROS 1 to ROS 2. They are listed here:
Introduction to ROS 2, and why are we migrating?
ROS 2 is the next major version of ROS. It serves as a successor to ROS 1 (what we are currently using right now), and features some significant changes that would break compatibility with previous versions of ROS 1. You should know that ROS 1 and ROS 2 are very similar, but many of the names and styles of creating nodes have changed.
More and more ROS development is focusing on ROS 2 (VRX, Gazebo, etc.). We want to update our code to work well with these tools so that we can use the most recent, up-to-date versions of ROS and ROS-related tools.
Versioning and your setup
There are several versions of ROS 2. We will be targeting Humble (with support until May 2027) on Ubuntu 22.04. For now, you do not need to upgrade your installation of Ubuntu 20.04 if you would not like to do so. You will still be able to assist in the migration, you just cannot run any of the converted code yet. That's totally okay, since usually we verify big migrations like this at the end of the migration, since it's hard to test the workings of a codebase that half supports ROS 1 and ROS 2.
Alternatively, you may want to install ROS 2 on your existing Ubuntu 20.04 setup, or you may want to setup Ubuntu 22.04 with a ROS 2 install. It shouldn't be required, but you may want to do so for your convenience, curiosity, or interest.
Required readings
Before getting started, please skim over the following documents: (it will take you like 20 minutes)
Migration Guide
Great! So you're ready to start migration your package. How do you get started?
ros2
branch.ros2
.Development Guide
After migrating a package, please immediately open a pull request into the
ros2
branch. Once everything has been verified as being stable/when all packages have been migrated, we will merge theros2
branch intomain
. That will likely be towards the end of the semester!Navigator (30 packages)
NaviGator/gnc/navigator_msg_multiplexer
NaviGator/gnc/navigator_thrust_mapper
NaviGator/gnc/navigator_path_planner
NaviGator/gnc/navigator_controller
NaviGator/hardware_drivers/navigator_kill_board
NaviGator/mission_control/navigator_alarm
NaviGator/mission_control/navigator_launch
NaviGator/mission_control/navigator_missions
NaviGator/mission_systems/navigator_scan_the_code
(#733)NaviGator/perception/navigator_vision
NaviGator/satellite/rviz_satellite
NaviGator/simulation/VRX/vrx/usv_gazebo_plugins
(OSRF code)NaviGator/simulation/VRX/vrx/usv_msgs
(OSRF code)NaviGator/simulation/VRX/vrx/vrx_gazebo
(OSRF code)NaviGator/simulation/VRX/vrx/wamv_description
(OSRF code)NaviGator/simulation/VRX/vrx/wamv_gazebo
(OSRF code)NaviGator/simulation/VRX/vrx/wave_gazebo
(OSRF code)NaviGator/simulation/navigator_2dsim
NaviGator/simulation/navigator_gazebo
NaviGator/test/navigator_test
NaviGator/utils/navigator_battery_monitor
NaviGator/utils/navigator_gui
NaviGator/utils/navigator_judgepanel
NaviGator/utils/navigator_msgs
NaviGator/utils/navigator_robotx_comms
NaviGator/utils/navigator_tools
NaviGator/utils/remote_control/navigator_emergency_control
NaviGator/utils/remote_control/navigator_joystick_control
NaviGator/utils/remote_control/navigator_keyboard_control
NaviGator/utils/voltage_gui
Subjugator (15 packages)
SubjuGator/command/sub8_alarm
SubjuGator/command/sub8_launch
SubjuGator/command/sub8_missions
SubjuGator/drivers/sub8_actuator_board
SubjuGator/drivers/sub8_thrust_and_kill_board
SubjuGator/perception/sub8_perception
SubjuGator/perception/sub8_pointcloud
SubjuGator/simulation/sub8_gazebo
SubjuGator/simulation/sub8_simulation
SubjuGator/utils/sub8_diagnostics
SubjuGator/gnc/c3_trajectory_generator
SubjuGator/gnc/rise_6dof
SubjuGator/gnc/sub8_controller
SubjuGator/gnc/sub8_system_id
SubjuGator/gnc/sub8_thruster_mapper
mil_common
(15 packages)mil_common/drivers/mil_pneumatic_actuator
mil_common/drivers/sabertooth2x12
mil_common/drivers/mil_passive_sonar
mil_common/drivers/mil_usb_to_can
mil_common/gnc/odometry_utils
mil_common/gnc/rawgps_common
mil_common/gnc/mil_bounds
mil_common/mil_missions
mil_common/perception/mil_mlp
(Deprecated)mil_common/perception/mil_vision
mil_common/ros_alarms
mil_common/axros
mil_common/utils/mil_poi
mil_common/utils/mil_tools
The text was updated successfully, but these errors were encountered: