Dev/ros2 fix
Breaking Changes
A lot of code has changed. The only known breaking change is the median_noise_dB field in the LinkStatsFeedbackMessage has been changed to median_noise_db due to ROS2 not supporting the original name.
New Features / Improvements
- Updated clock generator to use tick/tock, this significantly speeds up simulation (sometimes it is almost to fast). Added a registration service so that the modem sim can register / unregister with the clock. Clock increments after rendezvous from every connected modem sim.
- Updated unit tests to work with ROS2, mostly involved swapping rospy for armw. added conftest to call init before starting unit tests
- Improved test stability by removing helper classes wherever possible, also made use of futures where needed.
- Skipped some tests that often result in failures due to race conditions
- Updated gitlab CI yml to use parallel matrix for ROS 1 & 2 testing, also swapped to using a local registry to share images between multiple CI machines
- Moved location of docker images to docker directory at root of project to keep all dockerfiles together
- Added new dockerfile for ROS2
- Switched from loop_once back to spin called in thread.
Bugfixes
Fixed a number of bugs including:
- Replacing headers with armw fill time
- Publishers / Services using None (rclpy will not autofill None)
- Concurrency bugs (such as those related to using loop_once)
If I am not a WHOI employee, I agree to the terms in the WHOI Contributor Agreement (CONTRIBUTING.md
) in this repository.
Edited by Brennan Miller-Klugman