-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate to ROS2 #373
base: master
Are you sure you want to change the base?
Migrate to ROS2 #373
Conversation
* Remove docker push * Update dockerfiles to ROS2 * Remove catkin install * Update numpy version * Fix build order * Remove pytorch installation * Update core ws to ROS2 * Add ROS2 test pub and sub * Temporarily change image tag for convenience * Clean up installs * Migrate joystick package to ROS2
@muthuArivoli I'd like to ask for some advice on migrating
Here, killing To get around this, my naive solution is to kill all PIDs larger than the "source" |
Instead of doing a SIGTERM, have you tried doing a SIGINT (I think use send_signal and signal.SIGINT)? I think that should work, they have different behavior. If it doesn't, have you considered using the python interface that ros2 provides for launching stuff itself instead of using the cmd line? The package is located here: https://github.com/ros2/launch/tree/rolling/launch. The ros2launch command eventually calls this and you can sort of mock that. So, I think you might be able to create a LaunchDescription based on the parameters you are given from the service. You can then create a LaunchService and add that description to it, and the LaunchService appears to have run and shutdown. Though they don't seem to directly support threading, so not sure about that. If those don't work, then yeah, go with whatever works. I'll give it a bit more thought. Also, awesome work on this ROS2 stuff, I know it can be quite a headache. Excited to see this go through! |
I recall trying this when I started a node via
I did look at |
Good news, SIGINT works for launch files. Unfortunately, that means that nodes ran with |
Reverting the docker images back to the original name so the builds will move past that step. Also updated test_launch and blocked arduino_upload so we can get meaningful ci results while we wait for offboard_comms to be migrated.
Working PR to track ROS2 migration progress.
Closes #350
Closes #288 (ROS2 has no ros master)
Important Notes
Once this PR is ready for review, we will have to extensively test every use case locally and on the robot. Testing will likely be a month-long effort. Even after everything is tested we should choose when to merge this carefully. The entire testing workflow and onboarding process will need to be recreated, and any active development branches will have to migrate their changes to ROS2 syntax.