-
Notifications
You must be signed in to change notification settings - Fork 75
[WIP][Robotics][RVC] ROS2 Jazzy Jalisco support for Stationary Robot Vision & Control #1038
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
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Lazar, Madalina <[email protected]>
Signed-off-by: Lazar, Madalina <[email protected]>
Signed-off-by: Lazar, Madalina <[email protected]>
Signed-off-by: Lazar, Madalina <[email protected]>
Signed-off-by: Lazar, Madalina <[email protected]>
Signed-off-by: Lazar, Madalina <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR migrates the Robot Vision & Control (RVC) system from ROS2 Humble to ROS2 Jazzy Jalisco, updating the base OS from Ubuntu 22.04 to Ubuntu 24.04 (Noble) with Python 3.12. The migration includes comprehensive updates to Debian packaging configurations, refactoring C++ code to use Jazzy-compatible MoveIt2 APIs (.h to .hpp header transitions), and adapting to breaking API changes in the servo control and hardware interface libraries.
Key changes:
- Migration from ROS2 Humble to Jazzy across all packages
- Updated MoveIt2 Servo API usage with new parameter listener pattern and command type configuration
- Header file updates from
.hto.hppextensions for modern C++ standards - Replaced deprecated APIs with standard C++ alternatives
Reviewed Changes
Copilot reviewed 86 out of 86 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| Debian control/rules/changelog files | Updated all package metadata from humble to jazzy, jammy to noble distribution |
| .devcontainer/Dockerfile | Updated base image to Ubuntu 24.04, ROS jazzy packages, Python 3.12, and user UID |
| moveit2_servo_motion_controller | Refactored to use new Servo ParamListener API and retrieve frames from IK solver |
| robotiq_driver | Removed deprecated get_name() override and visibility_control.h include |
| rvc_pose_detector | Updated tf2_sensor_msgs header to .hpp extension |
| rvc_object_detection_engine | Added OpenVINO package dependency and updated cv_bridge header |
| trac_ik plugin headers | Updated MoveIt headers from .h to .hpp extensions |
| rvc_panel_rviz2_plugin | Replaced rmw_qos_profile_services_default with rclcpp::ServicesQoS() |
| rotated_object_detection_parameters.py | Auto-generated parameter code with new helper methods and renamed loop variables |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...vc_dynamic_motion_controller/inverse_kinematics_plugins/trac_ik/trac_ik_lib/debian/changelog
Outdated
Show resolved
Hide resolved
...n_controller_plugins/moveit2_servo_motion_controller/src/moveit2_servo_motion_controller.cpp
Outdated
Show resolved
Hide resolved
...-vision-control/src/robotiq_2f_gripper/robotiq_controller/src/robotiq_sensor_broadcaster.cpp
Outdated
Show resolved
Hide resolved
...ics-ai-suite/robot-vision-control/src/robotiq_2f_gripper/robotiq_controller/debian/changelog
Outdated
Show resolved
Hide resolved
| bool Moveit2ServoMotionController::init ( rclcpp::Node::SharedPtr node ) | ||
| { | ||
| auto res = RVCMotionControllerInterface::init(node); | ||
| res = true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if super fails why force to true?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I remember seeing this is various examples and for some reason at the time it seemed like a good thing. But you're absolutely right it completely ignores the previous init. Will revert
| auto servo_params = servo_param_listener->get_params(); | ||
|
|
||
| // Load the planning scene monitor | ||
| planning_scene_monitor::PlanningSceneMonitorPtr planning_scene_monitor = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this still works in jazzy? i have a reference of a planning_scene_monitor on the stack in the hpp, and here " planning_scene_monitor = moveit_servo::createPlanningSceneMonitor(node, servo_param_listener->get_params());"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried to look into this a bit more and I'm inclined to say it should work. This is the constructor I expect us to be using: https://github.com/moveit/moveit2/blob/ca2bb1ba4581b7213d68094458f2649de17d237e/moveit_ros/planning/planning_scene_monitor/src/planning_scene_monitor.cpp#L78C1-L82C2.
From what I can see createPlanningSceneMonitor and the code will make use of the same c-tor (https://github.com/moveit/moveit2/blob/ca2bb1ba4581b7213d68094458f2649de17d237e/moveit_ros/moveit_servo/src/utils/common.cpp#L483-L490).
The difference I can see is with createPlanningSceneMonitor we're adding some extra set-up to the planning_scene_monitor that we're not doing in code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm also now looking through an older change of yours where you're using createPlanningSceneMonitor. Is this what we should be using?
Signed-off-by: Lazar, Madalina <[email protected]>
Signed-off-by: Lazar, Madalina <[email protected]>
Description
Introduce
ROS2 Jazzy Jaliscosupport for Stationary Robot Vision & Control:Any Newly Introduced Dependencies
...
How Has This Been Tested?
colcon testfor all packaged. Fuzz test/unit tests run successfully forrvc_rotated_object_detection, in the other packages we either have no tests or the target is failing due to linting/code-styleran
./docker_build_rvc_img.shand./docker_build_rvc_img.shsuccessfullyChecklist: