Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
Logo

Installation Manual

  • 1. Linux binary installation
  • 2. Linux installation from sources
  • 3. Docker installation

Overview

  • 1. Vulcanexus Overview
  • 2. Vulcanexus Middleware
  • 3. Developer Tools
    • 3.1. ROS 2 QoS Profiles Manager
    • 3.2. ROS 2 Monitor
    • 3.3. Fast DDS Statistics Backend
    • 3.4. ROS 2 Shapes Demo
    • 3.5. ROS 2 Router
    • 3.6. ROS 2 Record & Replay
    • 3.7. Fast DDS Spy
    • 3.8. Webots
  • 4. Vulcanexus Metapackages
  • 5. ROS 2 Documentation
    • 5.1. About ROS
    • 5.2. Installation
      • 5.2.1. Ubuntu (deb packages)
      • 5.2.2. Windows (binary)
      • 5.2.3. RHEL (RPM packages)
      • 5.2.4. Alternatives
        • 5.2.4.1. Ubuntu (source)
        • 5.2.4.2. Ubuntu (binary)
        • 5.2.4.3. Windows (source)
        • 5.2.4.4. RHEL (source)
        • 5.2.4.5. RHEL (binary)
        • 5.2.4.6. macOS (source)
        • 5.2.4.7. Latest development (source)
      • 5.2.5. Maintain source checkout
      • 5.2.6. Testing with pre-release binaries
      • 5.2.7. RMW implementations
        • 5.2.7.1. DDS implementations
          • 5.2.7.1.1. Eclipse Cyclone DDS
          • 5.2.7.1.2. GurumNetworks GurumDDS
          • 5.2.7.1.3. RTI Connext DDS
          • 5.2.7.1.4. eProsima Fast DDS
        • 5.2.7.2. Non-DDS-Implementations
          • 5.2.7.2.1. Zenoh
      • 5.2.8. Mirrors
    • 5.3. Distributions
      • 5.3.2.1. Lyrical Luth (codename ‘lyrical’; May, 2026)
        • 5.3.2.1.1. ROS 2 Lyrical Luth Complete Changelog
        • 5.3.2.1.2. Lyrical Luth Release Timeline
        • 5.3.2.1.3. Lyrical Luth Supported Platforms
      • 5.3.2.2. Kilted Kaiju (codename ‘kilted’; May, 2025)
        • 5.3.2.2.1. ROS 2 Kilted Kaiju Complete Changelog
      • 5.3.2.3. Jazzy Jalisco (jazzy)
        • 5.3.2.3.1. Jazzy Jalisco changelog
      • 5.3.2.4. Humble Hawksbill (humble)
        • 5.3.2.4.1. Humble Hawksbill changelog
      • 5.3.2.5. Rolling Ridley (rolling)
      • 5.3.2.6. Development Distribution
        • 5.3.2.6.1. Makoa Mata-mata (codename makoa; May, 2027)
          • Makoa Mata-mata Release Timeline
          • Makoa Mata-mata Supported Platforms
      • 5.3.2.7. End-of-Life Distributions
        • 5.3.2.7.1. Iron Irwini (iron)
          • Iron Irwini Changelog
        • 5.3.2.7.2. Galactic Geochelone (galactic)
          • Galactic Geochelone changelog
        • 5.3.2.7.3. Foxy Fitzroy (foxy)
        • 5.3.2.7.4. Eloquent Elusor (eloquent)
        • 5.3.2.7.5. Dashing Diademata (dashing)
        • 5.3.2.7.6. Crystal Clemmys (crystal)
        • 5.3.2.7.7. Bouncy Bolson (bouncy)
        • 5.3.2.7.8. Ardent Apalone (ardent)
        • 5.3.2.7.9. Beta 3 (r2b3)
        • 5.3.2.7.10. Beta 2 (r2b2)
        • 5.3.2.7.11. Beta 1 (Asphalt)
        • 5.3.2.7.12. Alphas
      • 5.3.2.8. Development process for a release
    • 5.4. Tutorials
      • 5.4.1. First steps with ROS - learning path
      • 5.4.2. Beginner: CLI tools
        • 5.4.2.1. Configuring environment
        • 5.4.2.2. Using turtlesim, ros2, and rqt
        • 5.4.2.3. Understanding nodes
        • 5.4.2.4. Understanding topics
        • 5.4.2.5. Understanding services
        • 5.4.2.6. Understanding parameters
        • 5.4.2.7. Understanding actions
        • 5.4.2.8. Using rqt_console to view logs
        • 5.4.2.9. Launching nodes
        • 5.4.2.10. Recording and playing back data
      • 5.4.3. Beginner: Client libraries
        • 5.4.3.1. Using colcon to build packages
        • 5.4.3.2. Creating a workspace
        • 5.4.3.3. Creating a package
        • 5.4.3.4. Writing a simple publisher and subscriber (C++)
        • 5.4.3.5. Writing a simple publisher and subscriber (Python)
        • 5.4.3.6. Writing a simple service and client (C++)
        • 5.4.3.7. Writing a simple service and client (Python)
        • 5.4.3.8. Creating custom msg and srv files
        • 5.4.3.9. Implementing custom interfaces
        • 5.4.3.10. Using parameters in a class (C++)
        • 5.4.3.11. Using parameters in a class (Python)
        • 5.4.3.12. Using ros2doctor to identify issues
        • 5.4.3.13. Creating and using plugins (C++)
      • 5.4.4. Intermediate
        • 5.4.4.1. Managing Dependencies with rosdep
        • 5.4.4.2. Creating an action
        • 5.4.4.3. Writing an action server and client (C++)
        • 5.4.4.4. Writing an action server and client (Python)
        • 5.4.4.5. Writing a Composable Node (C++)
        • 5.4.4.6. Composing multiple nodes in a single process
        • 5.4.4.7. Using the Node Interfaces Template Class (C++)
        • 5.4.4.8. Monitoring for parameter changes (C++)
        • 5.4.4.9. Monitoring for parameter changes (Python)
        • 5.4.4.10. Launch
          • 5.4.4.10.1. Creating a launch file
          • 5.4.4.10.2. Integrating launch files into ROS 2 packages
          • 5.4.4.10.3. Using substitutions
          • 5.4.4.10.4. Using event handlers
          • 5.4.4.10.5. Managing large projects
        • 5.4.4.11. tf2
          • 5.4.4.11.1. Introducing tf2
          • 5.4.4.11.2. Writing a static broadcaster (Python)
          • 5.4.4.11.3. Writing a static broadcaster (C++)
          • 5.4.4.11.4. Writing a broadcaster (Python)
          • 5.4.4.11.5. Writing a broadcaster (C++)
          • 5.4.4.11.6. Writing a listener (Python)
          • 5.4.4.11.7. Writing a listener (C++)
          • 5.4.4.11.8. Adding a frame (Python)
          • 5.4.4.11.9. Adding a frame (C++)
          • 5.4.4.11.10. Using time (C++)
          • 5.4.4.11.11. Traveling in time (C++)
          • 5.4.4.11.12. Debugging
          • 5.4.4.11.13. Quaternion fundamentals
          • 5.4.4.11.14. Using stamped datatypes with tf2_ros::MessageFilter
        • 5.4.4.12. Testing
          • Running Tests in ROS 2 from the Command Line
          • Writing Basic Tests with C++ with GTest
          • Writing Basic Tests with Python
          • Writing Basic Integration Tests with launch_testing
          • Testing Your Code with the ROS Build Farm
        • 5.4.4.13. URDF
          • 5.4.4.13.1. Building a visual robot model from scratch
          • 5.4.4.13.2. Building a movable robot model
          • 5.4.4.13.3. Adding physical and collision properties
          • 5.4.4.13.4. Using Xacro to clean up your code
          • 5.4.4.13.5. Using URDF with robot_state_publisher (C++)
          • 5.4.4.13.6. Using URDF with robot_state_publisher (Python)
          • 5.4.4.13.7. Generating an URDF File
        • 5.4.4.14. RViz
          • 5.4.4.14.1. RViz User Guide
          • 5.4.4.14.2. Marker: Sending Basic Shapes (C++)
          • 5.4.4.14.3. Marker: Points and Lines (C++)
          • 5.4.4.14.4. Marker: Display types
          • 5.4.4.14.5. Building a Custom RViz Display
          • 5.4.4.14.6. Building a Custom RViz Panel
      • 5.4.5. Advanced
        • 5.4.5.1. Supplementing custom rosdep keys
        • 5.4.5.2. Enabling topic statistics (C++)
        • 5.4.5.3. Using Fast DDS Discovery Server as discovery protocol [community-contributed]
        • 5.4.5.4. Implementing a custom memory allocator
        • 5.4.5.5. Ament Lint CLI Utilities
        • 5.4.5.6. Unlocking the potential of Fast DDS middleware [community-contributed]
        • 5.4.5.7. Improved Dynamic Discovery
        • 5.4.5.8. Recording a bag from a node (C++)
        • 5.4.5.9. Recording a bag from a node (Python)
        • 5.4.5.10. Reading from a bag file (C++)
        • 5.4.5.11. Create an rqt_bag Plugin
        • 5.4.5.12. How to use ros2_tracing to trace and analyze an application
        • 5.4.5.13. Creating an rmw implementation
        • 5.4.5.14. Simulators
          • 5.4.5.14.1. Webots
            • Installation (Ubuntu)
            • Installation (Windows)
            • Installation (macOS)
            • Setting up a robot simulation (Basic)
            • Setting up a robot simulation (Advanced)
            • Setting up a Reset Handler
            • The Ros2Supervisor Node
          • 5.4.5.14.2. Gazebo
            • Setting up a robot simulation (Gazebo)
          • 5.4.5.14.3. MVSim
            • Installation (Ubuntu)
            • Getting started with MVSim
            • Defining worlds, robots, and sensors
        • 5.4.5.15. Security
          • 5.4.5.15.1. Setting up security
          • 5.4.5.15.2. Understanding the security keystore
          • 5.4.5.15.3. Ensuring security across machines
          • 5.4.5.15.4. Examining network traffic
          • 5.4.5.15.5. Setting access controls
          • 5.4.5.15.6. Deployment Guidelines
      • 5.4.6. Demos
        • 5.4.6.1. Using quality-of-service settings for lossy networks
        • 5.4.6.2. Managing node lifecycles - example
        • 5.4.6.3. Setting up efficient intra-process communication
        • 5.4.6.4. Recording and playing back data with rosbag using the ROS 1 bridge
        • 5.4.6.5. Understanding real-time programming
        • 5.4.6.6. Experimenting with a dummy robot
        • 5.4.6.7. Logging
        • 5.4.6.8. Creating a content filtering subscription
        • 5.4.6.9. Configure service introspection
        • 5.4.6.10. Wait for acknowledgment
      • 5.4.7. Miscellaneous
        • 5.4.7.1. Deploying on IBM Cloud Kubernetes [community-contributed]
        • 5.4.7.2. Using Eclipse Oxygen with rviz2 [community-contributed]
        • 5.4.7.3. Building a real-time Linux kernel [community-contributed]
        • 5.4.7.4. Building a package with Eclipse 2021-06
    • 5.5. How-to Guides
      • 5.5.1. Installation troubleshooting
      • 5.5.2. Developing a ROS 2 package
      • 5.5.3. Documenting a ROS 2 package
      • 5.5.4. ament_cmake user documentation
      • 5.5.5. ament_cmake_python user documentation
      • 5.5.6. Migrating from ROS 1 to ROS 2
        • 5.5.6.1. Migrating Packages
        • 5.5.6.2. Migrating your package.xml to format 2
        • 5.5.6.3. Migrating Interfaces
        • 5.5.6.4. Migrating a C++ Package Example
        • 5.5.6.5. Migrating C++ Packages Reference
        • 5.5.6.6. Migrating a Python Package Example
        • 5.5.6.7. Migrating Python Packages Reference
        • 5.5.6.8. Migrating Launch Files
        • 5.5.6.9. Migrating Parameters
        • 5.5.6.10. Migrating Scripts
      • 5.5.7. Using XML, YAML, and Python for ROS 2 Launch Files
      • 5.5.8. Using ROS 2 launch to launch composable nodes
      • 5.5.9. Passing ROS arguments to nodes via the command-line
      • 5.5.10. Synchronous vs. asynchronous service clients
      • 5.5.11. DDS tuning information
      • 5.5.12. rosbag2: Overriding QoS Policies
      • 5.5.13. Working with multiple ROS 2 middleware implementations
      • 5.5.14. Cross-compilation
      • 5.5.15. Releasing a Package
        • 5.5.15.1. Index Your Packages
        • 5.5.15.2. First Time Release
        • 5.5.15.3. Subsequent Releases
        • 5.5.15.4. Release Team / Repository
        • 5.5.15.5. Release Track
      • 5.5.16. Using Python Packages with ROS 2
      • 5.5.17. Running ROS 2 nodes in Docker [community-contributed]
      • 5.5.18. Visualizing ROS 2 data with Foxglove Studio
      • 5.5.19. ROS 2 Core Maintainer Guide
      • 5.5.20. Building a custom deb package
      • 5.5.21. Building ROS 2 with tracing
      • 5.5.22. Using variants
      • 5.5.23. Using the ros2 param command-line tool
      • 5.5.24. Using ros1_bridge with upstream ROS on Ubuntu 22.04
      • 5.5.25. Configure Zero Copy Loaned Messages
      • 5.5.26. ROS 2 on Raspberry Pi
      • 5.5.27. Using Callback Groups
      • 5.5.28. Getting Backtraces in ROS 2
      • 5.5.29. IDEs and Debugging [community-contributed]
      • 5.5.30. Setup ROS 2 with VSCode and Docker [community-contributed]
      • 5.5.31. Using Custom Rosdistro Version
    • 5.6. Concepts
      • 5.6.1. Basic Concepts
        • 5.6.1.1. Interfaces (topics, services, actions)
          • 5.6.1.1.1. Interfaces
          • 5.6.1.1.2. Topics
          • 5.6.1.1.3. Services
          • 5.6.1.1.4. Actions
        • 5.6.1.2. Nodes
        • 5.6.1.3. Discovery
        • 5.6.1.4. Parameters
        • 5.6.1.5. Introspection with command line tools
        • 5.6.1.6. Launch
        • 5.6.1.7. Client libraries
      • 5.6.2. Intermediate Concepts
        • 5.6.2.1. The ROS_DOMAIN_ID
        • 5.6.2.2. Different ROS 2 DDS/RTPS vendors
        • 5.6.2.3. Logging and logger configuration
        • 5.6.2.4. Quality of Service settings
        • 5.6.2.5. Executors
        • 5.6.2.6. Topic statistics
        • 5.6.2.7. Overview and usage of RQt
        • 5.6.2.8. Composition
        • 5.6.2.9. Cross-compilation
        • 5.6.2.10. ROS 2 Security
        • 5.6.2.11. Tf2
      • 5.6.3. Advanced Concepts
        • 5.6.3.1. The build system
        • 5.6.3.2. Internal ROS 2 interfaces
        • 5.6.3.3. ROS 2 middleware implementations
    • 5.7. Contact
    • 5.8. The ROS 2 Project
      • 5.8.1. Contributing
        • ROS 2 developer guide
        • Code style and language versions
        • Quality guide: ensuring code quality
        • ROS Build Farms
        • Windows Tips and Tricks
        • Contributing to ROS 2 Documentation
      • 5.8.2. Features Status
      • 5.8.3. Feature Ideas
      • 5.8.4. Roadmap
      • 5.8.5. ROSCon Talks
      • 5.8.6. Project Governance
      • 5.8.7. Platform EOL Policy
      • 5.8.8. Platform Support Tiers
      • 5.8.9. Release Schedule
      • 5.8.10. Marketing
      • 5.8.11. Metrics
      • 5.8.12. ROS 2 Adopters
        • 5.8.12.1. Add Your Project
    • 5.9. Package Docs
    • 5.10. Related Projects
      • 5.10.4.1. Intel ROS 2 Projects
      • 5.10.4.2. NVIDIA ROS 2 Projects
      • 5.10.4.3. Visualizing Data and Teleoperating with Phantom Bridge
    • 5.11. Glossary
    • 5.12. Citations
  • 6. micro-ROS Documentation
    • 6.1. Getting started micro-ROS
    • 6.2. Build System Components
    • 6.3. micro-ROS User API
      • 6.3.1. Nodes
      • 6.3.2. Publishers and subscribers
      • 6.3.3. Services
      • 6.3.4. Executor and timers
      • 6.3.5. Actions
      • 6.3.6. Parameter Server
      • 6.3.7. Middleware API
      • 6.3.8. micro-ROS Utilities
      • 6.3.9. QoS configuration
      • 6.3.10. Multithreading
    • 6.4. Benchmarking
  • 7. Vulcanexus Enhancements
    • 7.1. Support for Fast DDS v3
    • 7.2. Topic Keys
    • 7.3. Easy Mode
    • 7.4. HRI Message Definitions
  • 8. Vulcanexus HRI Overview
  • 9. VulcanAI Overview
    • 9.1. VulcanAI Installation
    • 9.2. VulcanAI Tools

Tutorials

  • 1. Vulcanexus Core Tutorials
    • 1.1. Vulcanexus WiFi & Large Data Tutorials
      • 1.1.1. Easy Mode Tutorial
      • 1.1.2. Easy Mode CLI Tutorial
      • 1.1.3. How to solve wireless network issues in ROS 2
      • 1.1.4. How to handle large data video streaming in ROS 2
      • 1.1.5. How to compress images for video streaming in ROS 2
    • 1.2. Scalability and Large Scale Networks Tutorials
      • 1.2.1. How to Use a Discovery Server to Optimize ROS 2 Node Discovery
      • 1.2.2. How to Use DDS Router for Scalable ROS 2 Network Communication
    • 1.3. Discovery Server Tutorials
      • 1.3.1. Discovery Server Minimal Example
    • 1.4. Vulcanexus Security Tutorials
      • 1.4.1. Storing private keys in Hardware Secure Modules (HSM)
    • 1.5. Vulcanexus QoS Tutorials
      • 1.5.1. Configuring Fast-DDS QoS via XML profiles
      • 1.5.2. Modifying Ownership and Ownership Strength QoS Policy
      • 1.5.3. Modifying Partition QoS Policy
      • 1.5.4. Persistent Data using Durability QoS
      • 1.5.5. Static discovery between ROS 2 nodes with Initial Peers
      • 1.5.6. Change mutable QoS through get native API
    • 1.6. Vulcanexus Deployment Tutorials
      • 1.6.1. Communication between Vulcanexus and Fast DDS using ROS 2 generated IDLs
      • 1.6.2. Customizing Network Transports
      • 1.6.3. Connecting Nodes over an External Network
      • 1.6.4. Fast DDS - Vulcanexus Topic Intercommunication
      • 1.6.5. Static Discovery
      • 1.6.6. Modify Discovery Server locators on run-time
      • 1.6.7. TCP over WAN with Discovery Server
      • 1.6.8. Enabling multicast communication
      • 1.6.9. Topic Keys Tutorial
      • 1.6.10. Topic Instances Subscription Filtering Tutorial
  • 2. Vulcanexus Tools Tutorials
    • 2.1. ROS 2 network statistics inspection with ROS 2 Monitor
    • 2.2. ROS 2 recording with DDS Record & Replay
    • 2.3. Monitoring ROS 2 with Fast DDS Statistics Backend
    • 2.4. Fast DDS Statistics Backend Monitoring to SQL
    • 2.5. Hand-on ROS 2 Shapes Demo
    • 2.6. ROS 2 network statistics inspection with Prometheus
  • 3. Vulcanexus Cloud Tutorials
    • 3.1. Change ROS 2 Domain Id
    • 3.2. Change ROS 2 Domain to Discovery Server
    • 3.3. Debugging ROS 2 Router
    • 3.4. Configuring ROS 2 Router’s Topic QoS
    • 3.5. Vulcanexus Cloud and Kubernetes
    • 3.6. Edge-Cloud communication on WAN
    • 3.7. Edge-Cloud TLS communication on WAN
    • 3.8. Edge-Edge communication via Repeater
    • 3.9. Cloud ROS 2 MicroServices
    • 3.10. ROS 2 Router configuration via XML profiles
    • 3.11. ROS 2 Router configuration with Forwarding Routes
    • 3.12. Secure communications with ROS 2 Router
  • 4. Vulcanexus Micro Tutorials
    • 4.1. Custom Transports
    • 4.2. Creating custom types
    • 4.3. Reconnections and liveliness
    • 4.4. Integrating micro-ROS
    • 4.5. Memory management
    • 4.6. micro-ROS and Discovery Server
  • 5. Vulcanexus HRI Tutorials
    • 5.1. Vulcanexus HRI Installation Tutorial
    • 5.2. Vulcanexus HRI Face Detection Tutorial
    • 5.3. Vulcanexus HRI Pose Detection Tutorial
    • 5.4. Vulcanexus HRI Emotion Detection Tutorial
    • 5.5. Vulcanexus HRI Speech-to-Text (STT) Tutorial
    • 5.6. Vulcanexus HRI Text-to-Speech (TTS) Tutorial
    • 5.7. Migration from ROS4HRI to Vulcanexus HRI Tutorial
  • 6. Vulcanexus VulcanAI
    • 6.1. VulcanAI with TurtleSim
      • 6.1.1. Requisites
      • 6.1.2. Tools for Turtlesim
      • 6.1.3. VulcanAI Console and manager
      • 6.1.4. Using VulcanAI to control TurtleSim

Use cases

  • 1. Vulcanexus Use Cases
    • 1.1. Mapping Webots environment with ROSbot 2R teleoperation
    • 1.2. Large data communication with ROS 2 (a practical example)
    • 1.3. Keyed Topics in ROS 2 Turtlesim Demo

Support

  • 1. Supported platforms
  • 2. Vulcanexus Releases
    • 2.1. Jazzy Jolo (v4.4.1)
    • 2.2. Jazzy Jolo previous versions
    • 2.3. Iron Imagination (v3.4.0)
    • 2.4. Iron Imagination previous versions
    • 2.5. Humble Hierro (v2.9.0)
    • 2.6. Humble Hierro previous versions
    • 2.7. Galactic Gamble

Appendixes

  • Glossary
Back to top

5.3.2.6.1. Makoa Mata-mata (codename makoa; May, 2027)¶

Makoa Mata-mata is the thirtienth release of ROS 2. It is a regular release, and is supported until December 2028.

  • TODO - link installation docs

  • Makoa Mata-mata Release Timeline

  • Makoa Mata-mata Supported Platforms

New Features in Makoa¶

TODO

Next
Makoa Mata-mata Release Timeline
Previous
5.3.2.6. Development Distribution
Copyright © 2022, eProsima
Made with Furo
On this page
  • 5.3.2.6.1. Makoa Mata-mata (codename makoa; May, 2027)
    • New Features in Makoa