This guide serves as the recommended entry point for users who are new to MICIPSA, providing a clear starting point for exploring and understanding each part of the project.
Rather than jumping directly into individual packages or launch files, this roadmap introduces the project layer by layer, helping you develop a clear mental model of how the robot is designed before diving into implementation details.
Following the documentation in the order below will make it significantly easier to understand the architecture, navigate the codebase, launch and configure the robot and confidently extend or modify the system.
Provides an overview of the robot's hardware architecture, including the power system, communication interfaces, hardware connections, and the complete list of components used throughout the platform.
Explains how the robot operates as a complete system, covering the overall architecture, boot sequence, high- and low-level processing, network topology, and the interaction between the robot and the base station.
Explains the layered architecture of the MICIPSA software stack, detailing the responsibilities, data flow, and interactions between each software layer in both deployment and simulation environments.
Describes the organization of the MICIPSA ROS 2 workspace, explaining the role of each top-level directory and the rationale behind the project's separation of concerns.
Documents the canonical structure and engineering conventions used throughout the MICIPSA ROS 2 packages, ensuring consistency in package organization, launch files, configuration handling, and dependency management across the workspace.
Documents the naming conventions and organizational standards used across the MICIPSA project to ensure consistency throughout the repository, infrastructure, and ROS 2 workspace.
Defines the robot's physical model, including its kinematics, sensors, inertial properties, TF tree, and ros2_control hardware plugin configuration for simulation and deployment.
Serves as the ROS 2 interface to the robot hardware, implementing a ros2_control hardware plugin that connects the controller manager to the micipsa_core hardware abstraction layer.
Stable hardware device identification layer providing persistent device symlinks, USB device mapping, and installation workflows for MICIPSA sensors and peripherals