Welcome to MicroROS V2 Robot Car repository
2. Must Read Before Use
User Manual
User Manual1. Battery Charging Instructions1.1 Low Battery Threshold Alarm1.2 Battery Charging2. Initial Setup Steps2.1 Assembling the Robot2.2 Downloading the Virtual Machine Image2.3 Configuring the Virtual Machine to Connect to the Robot3. Viewing Source Code3.1 Viewing and Editing Source Code with Visual Studio Code3.2 Directory Structure and Functionality3.4 How to Compile ROS Packages
1. Battery Charging Instructions
1.1 Low Battery Threshold Alarm
When the battery level drops below the threshold (10.2V), the buzzer will emit a "beep-beep-beep" alarm; at this point, you should charge the battery using the charger. Press the button on the right to switch to the BATTERY_INFO panel and view the current voltage and voltage threshold.

1.2 Battery Charging
Plug the included charger into a power outlet; the charger's indicator light will turn green.

Turn off the robot's power and connect the charger plug to the charging port on the control board.

The charger indicator light turns red during charging and switches to green once the battery is fully charged.

2. Initial Setup Steps
Follow the steps below to complete basic configurations, such as robot assembly and virtual machine installation.
2.1 Assembling the Robot
Refer to [2. Assembly Course] to complete the assembly of the robot unit.

2.2 Downloading the Virtual Machine Image
Refer to the tutorial document [3. Preparation — 3. Install VM and Start System] to download the factory-provided virtual machine image. The image file is located in the [Virtual Machine Image] folder within the accompanying materials.
2.3 Configuring the Virtual Machine to Connect to the Robot
Refer to the tutorial document [3. Preparation — 4. Configure VM and Connect Robot] and use the RobotManager tool within the virtual machine to configure basic robot information, such as the robot model, micro-ROS agent address, and camera IP.
3. Viewing Source Code
Note
Visual Studio Visual Studio Code is a lightweight, efficient, and extensible tool that integrates core development features, making it one of the most popular development tools worldwide.
Official website: https://code.visualstudio.com/. If you haven't installed Visual Studio Code yet, you can search for the official site to download and install it.
3.1 Viewing and Editing Source Code with Visual Studio Code
Launch Visual Studio Code, click on the Extensions icon on the left sidebar, and install the following three remote connection extensions: Remote - SSH, Remote - SSH: Editing Configuration Files, and Remote Explorer.

Next, click on the Remote connection icon on the left sidebar and select "New Remote."

In the input box that appears, enter the connection string in the format
username@IP_address(based on your specific board). Press Enter, then enter the passwordyahboomto log in to the device.

Then, click "Open Folder." In the pop-up window, select the folder you wish to view—in this example, select
microros_ws—and click "OK."
The workspace directory structure is as follows:
3.2 Directory Structure and Functionality
📁
src/— Source code directory; contains the source code for all ROS 2 packages and serves as the core of the workspace development:
| Package Name | Functionality |
|---|---|
interfaces/ | Custom message/service/action interface definitions (msg, srv, action) |
microros_v2_bringup/ | Robot bringup package: launch files, configuration files (config), RViz visualization configs |
microros_v2_opencv_visual_pkg/ | OpenCV visual processing node |
microros_v2_opencv_base_pkg/ | OpenCV basic tutorial scripts (geometric transformations, image enhancement, drawing, etc.) |
microros_v2_yolo_pkg/ | YOLO object detection-related node |
yolo_onnx_follow_pkg/ | Visual following based on YOLO ONNX model |
microros_v2_kcf_follow_pkg/ | KCF object tracking and following |
microros_v2_mediapipe_pkg/ | MediaPipe perception functions (human body, gestures, etc.) |
microros_v2_ptz_visual_control_pkg/ | PTZ (Pan-Tilt-Zoom) visual control |
microros_v2_no_ptz_visual_control_pkg/ | Visual control for non-PTZ versions |
multi_brains/ , multi_brains_pre/ | Multi-"brain" decision-making/task planning modules (includes LLM/Dify integration configs) |
roadnet/ | Road network/navigation-related (C++ package, includes graph data) |
robot_description/ | Robot URDF model description |
robot-control/, ros_robot_app/ | Robot control and application layers |
common_demo/ | General-purpose sample code |
scripts/, robot_config/ | Auxiliary scripts and robot configurations |
📁
build/— Intermediate build artifacts
Intermediate files generated during colcon compilation (CMake cache, object files, etc.); these can be deleted and regenerated by recompiling.
📁
install/— Build installation output
The installation directory generated by colcon, containing executables, libraries, Python packages, and launch files. Run source install/setup.bash to use the nodes and commands compiled here.
📁
python_env/— Python virtual environments
Independent Python environments managed by uv, preventing vision-related dependencies (such as onnxruntime, mediapipe, etc.) from polluting the system environment:
mircoros_v2_env/— Main project Python environment;yolo_env/— Dedicated YOLO environment📁
third_party_library/— Independent workspace for third-party libraries
A separate colcon workspace dedicated to compiling and installing third-party SLAM-related libraries (cartographer, cartographer_ros, slam_gmapping, openslam_gmapping); isolated from the main workspace for easier maintenance.
📁
cache/— Runtime cache
Cache files generated during program execution, such as debug images (llm_camera.jpg, grid_images.png), YOLO model inference validation images (bus_predict_yolo11n/), etc. ### 3.3 Symbol Definitions
The symbols
$HOMEand~used in subsequent tutorial documents represent the user's home directory,/home/yahboom. For example:
$HOME/microros_ws/src/microros_v2_bringup/microros_v2_bringup/visual_track.py is equivalent to /home/yahboom/microros_ws/src/microros_v2_bringup/microros_v2_bringup/visual_track.py

3.4 How to Compile ROS Packages
Shortcut Method
Locate the
.vscodefolder within the provided resource package and copy the entire folder to the/home/yahboom/_wspath in the virtual machine. Note that you may need to pressCtrl+Hto make this hidden folder visible.In the Visual Studio Code interface, press
Ctrl+Shift+Bto open the build selection panel. SelectBuild Packagewhen compiling standard packages.

Select the package you wish to compile from the list that appears.

When compiling
microros_v2_bringupandrobot_description, selectBuild Package(symlink). This ensures that any subsequent modifications to launch files or configurations withinmicroros_v2_bringuptake effect immediately without requiring a re-compilation of the package.

Manual Compilation Method
cd ~/microros_ws/colcon build --packages-select <package_name>
Example
