BASCORRO
Software

Software Stack

Arsitektur software dan modul-modul BASCORRO

Software Stack

Dokumentasi lengkap software stack yang digunakan dalam project BASCORRO. Sistem ini dibangun di atas ROS 2 Humble dengan berbagai modul untuk vision, locomotion, localization, dan strategy.


Overview

┌──────────────────────────────────────────────────────────┐
│                    BASCORRO Software                     │
├──────────────────────────────────────────────────────────┤
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐ │
│  │  Vision  │  │Locomotion│  │Localizatn│  │ Strategy │ │
│  │  System  │  │  Module  │  │  Stack   │  │    AI    │ │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘  └────┬─────┘ │
│       │             │             │             │        │
│       └─────────────┴─────────────┴─────────────┘        │
│                          │                               │
│                    ┌─────┴─────┐                        │
│                    │ ROS 2     │                        │
│                    │ Humble    │                        │
│                    └───────────┘                        │
└──────────────────────────────────────────────────────────┘

Modules


Technology Stack

LayerTechnology
FrameworkROS 2 Humble Hawksbill
LanguagesC++ (ament_cmake), Python 3 (ament_python)
VisionOpenCV, YOLO (optional)
MotionDynamixel SDK, robotis_framework
SimulationWebots, Gazebo
MathEigen3, robotis_math
NavigationSBPL, PCL, OctoMap

Package Categories

Core Packages (52 total)

CategoryCountExamples
Motion Control10+op3_walking_module, op3_balance_control
Vision2soccer_vision, face_detection
Localization5+op3_localization, humanoid_localization
Hardware3dynamixel_sdk, robotis_controller
Simulation2op3_webots_ros2, op3_gazebo_ros2
Messages10+op3_*_msgs packages

Data Flow

Sensors (Camera, IMU)


┌───────────────┐
│ Perception    │ ← Vision, Sensor Processing
│ (What do I see?)
└───────┬───────┘


┌───────────────┐
│ Localization  │ ← Where am I?
│ (Position)    │
└───────┬───────┘


┌───────────────┐
│ Strategy      │ ← What should I do?
│ (Decision)    │
└───────┬───────┘


┌───────────────┐
│ Motion        │ ← How do I move?
│ (Execution)   │
└───────┬───────┘


    Actuators (Servos)

Getting Started with Development

1. Clone & Build

git clone https://github.com/ProgramBascorro/motion_webots.git
cd motion_webots/ros_ws
source /opt/ros/humble/setup.bash
colcon build --continue-on-error
source install/setup.bash

2. Launch Simulation

ros2 launch op3_webots_ros2 robot_launch.py world:=worlds/op3_env.wbt

3. Launch Vision

ros2 launch soccer_vision soccer_vision.launch.py publish_debug_image:=true

Key Configuration Files

FileLocationPurpose
soccer_vision.launch.pysoccer_vision/launch/Vision parameters
robot_launch.pyop3_webots_ros2/launch/Simulation setup
walking_module.yamlop3_walking_module/config/Walking parameters

Dokumentasi parameter launch file ada di masing-masing package README atau di comment dalam file launch.


Development Guidelines

  • Follow Coding Standards
  • Test with simulation before deploying to real robot
  • Use colcon test untuk menjalankan unit tests
  • Document all new parameters in launch files

On this page