Skip to content

Port to ROS 2 Jazzy / Gazebo Harmonic#4

Open
Ryujiyasu wants to merge 3 commits into
jaxa:melodicfrom
Ryujiyasu:feature/migration-to-ros2
Open

Port to ROS 2 Jazzy / Gazebo Harmonic#4
Ryujiyasu wants to merge 3 commits into
jaxa:melodicfrom
Ryujiyasu:feature/migration-to-ros2

Conversation

@Ryujiyasu
Copy link
Copy Markdown

Summary

Complete migration of the Int-Ball2 simulator from ROS 1 Melodic / Gazebo 9 to ROS 2 Jazzy / Gazebo Harmonic.

Changes

Platform Simulator (30+ packages)

  • All Gazebo plugins ported to gz-sim8 (Harmonic) with ROS 2 interfaces
  • Parameter loading via ament_index_cpp + --params-file NodeOptions
  • URDF collision shapes changed to primitives (DAE mesh DART segfault workaround)
  • PosePublisher publish_nested_model_pose=true (gz-sim#2690 workaround)
  • ctl_only / up_ctl_only: rclcpp::Time source fix, reachGoal() zero-division fix
  • user_program_interface: MultiThreadedExecutor + ReentrantCallbackGroup
  • New launch files for ctl_only, up_ctl_only, user_program_interface

GSE Ground System (5 packages)

  • communication_software: ROS 2 service/message interfaces, bridge scripts
  • gui_common: ROS 2 API migration, config install
  • debug_gui: ROS 2 node lifecycle
  • platform_gui: spdlog ABI conflict fix (CMAKE_CXX_VISIBILITY_PRESET hidden)
  • operator_gui: Full rviz2 porting
    • Show-then-create VM pattern for QStackedWidget + rviz2 VisualizationManager
    • CameraViewPanel lazy initialization (avoids PropertyTreeModel SIGSEGV)
    • spdlog version script, pluginlib-based rviz tool/controller registration
    • QApplication::exec() + QTimer pattern for ROS 2 spin

Test Results

  • All 30+ platform simulator packages: build successful
  • Integration test (sim.launch.py): All 9 Gazebo plugins loaded, 40+ topics verified
  • Closed-loop control: nav → ctl_only → fsm → prop → thr fully operational
  • 8/8 sample tests passed (simple_test, force/torque, LED, navigation, camera, SLAM)
  • Flight software bringup: all nodes running, 0 errors
  • All 4 GSE GUIs: launch successful (communication_software, debug_gui, platform_gui, operator_gui)

Environment

  • Ubuntu 24.04 LTS
  • ROS 2 Jazzy
  • Gazebo Harmonic (gz-sim8 via ros_gz vendor packages)
  • Qt 5.15 / rviz2

Closes #2

🤖 Generated with Claude Code

Ryujiyasu and others added 3 commits February 26, 2026 07:40
- Removed old Python scripts for force and torque and LED color tests.
- Added new setup.py and setup.cfg for package configuration.
- Created launch file in Python format for user_template node.
- Implemented user_template_node with ROS 2 conventions.
- Updated package.xml to reflect dependencies and build type.
- Added resource files for package indexing.
…Harmonic

Migrate all 5 GSE ground system packages (communication_software, gui_common,
debug_gui, operator_gui, platform_gui) from ROS 1 Melodic to ROS 2 Jazzy,
and fix remaining platform simulator issues for full system integration.

GSE packages:
- communication_software: ROS 2 service/message interfaces, launch file
- gui_common: ROS 2 API migration, config install, ament build
- debug_gui: ROS 2 node lifecycle, config/launch setup
- platform_gui: ROS 2 migration, spdlog ABI conflict fix (visibility hidden)
- operator_gui: Full rviz2 porting with show-then-create VM pattern to fix
  SIGSEGV in PropertyTreeModel::propertyHiddenChanged, CameraViewPanel lazy
  initialization, spdlog version script, QApplication::exec()+QTimer for
  ROS 2 spin, pluginlib-based rviz tool/view controller registration

Platform simulator fixes:
- ctl_only/up_ctl_only: rclcpp::Time source fix, reachGoal() zero-division fix
- user_program_interface: MultiThreadedExecutor, ReentrantCallbackGroup
- simple_test: ROS 2 action client migration
- New launch files for ctl_only, up_ctl_only, user_program_interface

Closes jaxa#2

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…bo Harmonic

Update all documentation to reflect the migration from ROS 1 Melodic / Gazebo 9
to ROS 2 Jazzy / Gazebo Harmonic, including badges, requirements, build
instructions (colcon), launch commands (ros2 launch), and user program templates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ROS 2 対応

1 participant