Skip to content

Feat/free5gc open5gs extension - #9

Merged
phine-richiB merged 6 commits into
mainfrom
feat/free5gc_extension
Mar 25, 2026
Merged

phine-richiB merged 6 commits into
mainfrom
feat/free5gc_extension

Conversation

@phine-richiB

@phine-richiB phine-richiB commented Mar 25, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

This PR introduces full support for multiple 5G Core Network implementations, adding free5GC and Open5GS alongside the existing OAI setup. To support this, the gNB and UE plugins have been updated to accept a new cn_type parameter, allowing seamless switching between core networks. Additionally, the documentation (both main and demo READMEs) has been comprehensively refactored to guide users on choosing, configuring, and launching the appropriate network environments and Gazebo world files.


Changelog KeepA

Added

  • Support for free5GC and Open5GS core networks.
  • cn_type parameter to both gNB_plugin and UE_plugin configurations to explicitly define the target core network.
  • Dedicated launch and kill scripts for free5GC (launch_robot_5G_free5gc.sh, kill_all_free5gc.sh) and Open5GS (launch_robot_5G_open5gs.sh, kill_all_open5gs.sh).
  • doc/5G_CORE_NETWORKS.md documentation for comparing and selecting the right core network.
  • .gitignore rule for containerized Open5GS database data.

Changed

  • Refactored main README.md and demo/README.md to reflect the multi-CN architecture and provide network-specific instructions.
  • Separated Gazebo world files for different CNs (world_only.sdf, world_only_free5gc.sdf, world_only_open5gs.sdf).

Fixed

  • Corrected directory references from open5gs to open5gs_setup.
  • Fixed IP range configurations for the free5GC host communication demo.

Related Issues

Closing: #8


Checklist

  • Code is tested and passes locally
  • Documentation is updated if needed
  • Follows code style and guidelines

[Added]:
- `demo/free5gc_setup/README.md`: Comprehensive setup, architecture, and troubleshooting guide for the free5GC core network.
- `demo/oai_setup/README.md`: Comprehensive setup, configuration, and troubleshooting guide for the OpenAirInterface (OAI) core network.
- `doc/5G_CORE_NETWORKS.md`: Feature comparison, network parameter differences, and selection guide for OAI, free5GC, and Open5GS.
@phine-richiB
phine-richiB merged commit 621628f into main Mar 25, 2026
2 checks passed
@phine-richiB
phine-richiB deleted the feat/free5gc_extension branch March 25, 2026 14:34
phine-richiB added a commit that referenced this pull request Mar 30, 2026
* fix/remove_sleeps (#6)

[Added]:
- **`wait_for_core_network.sh`**: Polling script that monitors MySQL health and critical OAI services (`nrf`, `amf`, `smf`, `upf`).
- **`wait_for_nav_stack.sh`**: Comprehensive ROS 2 readiness check (Lifecycle Manager, Costmaps, TF Map->Base Link, and Action Servers).
- **`create_physical_bridge.sh`**: Dedicated script for standardizing the `ros_gz_net` Docker bridge creation.
- **`dds.xml`**: FastDDS profile configuration for `SUPER_CLIENT` discovery protocols.

[Changed]:
- **`launch_robot_5G.sh` & `launch_robot_5G_docker.sh`**: Refactored the boot sequence to utilize validation scripts, reducing "race condition" failures.
- **README.md**: Added documentation sections explaining the purpose and usage of the new utility scripts.

[Fixed]:
- **Startup Race Conditions**: Eliminated issues where RViz or Navigation would launch before the 5G network or localization were settled.

* add free5gc cn setup (#7)

[Added]:
- free5gc core network setup

* Feat/free5gc open5gs extension (#9)

### Added

* Support for **free5GC** and **Open5GS** core networks.
* `cn_type` parameter to both `gNB_plugin` and `UE_plugin` configurations to explicitly define the target core network.
* Dedicated launch and kill scripts for free5GC (`launch_robot_5G_free5gc.sh`, `kill_all_free5gc.sh`) and Open5GS (`launch_robot_5G_open5gs.sh`, `kill_all_open5gs.sh`).
* `doc/5G_CORE_NETWORKS.md` documentation for comparing and selecting the right core network.
* `.gitignore` rule for containerized Open5GS database data.

### Changed

* Refactored main `README.md` and `demo/README.md` to reflect the multi-CN architecture and provide network-specific instructions.
* Separated Gazebo world files for different CNs (`world_only.sdf`, `world_only_free5gc.sdf`, `world_only_open5gs.sdf`).

### Fixed

* Corrected directory references from `open5gs` to `open5gs_setup`.
* Fixed IP range configurations for the free5GC host communication demo.

---------

Co-authored-by: Lukas Rotheneder <lukas.rotheneder@phine.tech>
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.

1 participant