yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
ROSMASTER A1📖
01.Robot Configuration and Operation Guide
  • 0.Unboxing & Reviewing
  • 0.Assembly video
  • 1.Standard kit readme
  • 2.Quick start guide
  • 3.First trial
  • 4.Calibrate front wheel servo
  • 5.Enter Docker (For JETSON Nano and RPi 5)
02.AI Model Preparation
  • 1.AI Model Preparation
03.AI Model Basics
  • 1.AI large model types and principles
  • 2.RAG retrieval enhancement and model training samples
  • 3.Embodied intelligent robot system architecture
  • 4.Embodied intelligent functions core source code
04.AI Model Developmentnew
  • 1.Register a model service provider account
  • 2. Configuring API-KEY
  • 3. Introduction to Dify
  • 4. Basic Dify Features
  • 5. Deploy the RAG knowledge base
  • 6. AI Large Model Development - chatbot
  • 7. RAG knowledge base + chatbot
  • 8. AI agent workflow
  • 9. Custom wake-up response
  • 10. Core module testing tools
05.AI Model - Text Version
  • 1.Semantic understand and command follow
  • 2.Multimodal visual understand
  • 3.Multimodal visual understand + PTZ tracking
  • 4.Multimodal visual understand + visual following
  • 5.Multimodal visual understand + visual line patroling
  • 6.Multimodal visual understand + Depth Camera Distance Question Answering
  • 7.Multimodal visual understand+SLAM navigation
  • 8.Multimodal visual understand+SLAM navigation + visual line patroling
  • 9.Intention estimation + Multimodal visual understand + SLAM navigation + visual functions
06.AI Model - Voice Version
  • 1.Semantic understand and command follow
  • 2.Multimodal visual understand
  • 3.Multimodal visual understand + PTZ tracking
  • 4.Multimodal visual understand + visual following
  • 5.Multimodal visual understand + visual line patroling
  • 6.Multimodal visual understand + Depth Camera Distance Question Answering
  • 7.Multimodal visual understand+SLAM navigation
  • 8.Multimodal visual understand+SLAM navigation + visual line patroling
  • 9.Intention estimation + Multimodal visual understand + SLAM navigation + visual functions
07.Chassis Control Course
  • 1.ROS control
  • 2.Handle control
  • 3.Keyboard control
  • 4.Linear velocity calibration
  • 5.Angular velocity calibration
  • 6.URDF Model
08.Mediapipe Visual Course
  • 1.Hand detection
  • 2.Posture detection
  • 3.Overall detection
  • 4.Facial Landmark Detection
  • 5.Face detection
  • 6.Face special effects
  • 7.3D object recognition
  • 8.Brush
  • 9.Finger control
  • 10.Gesture Recognition
  • 11.Palm Targeting
  • 12.Fingertip trajectory recognition
09.Advanced Visual Course
  • 1.QR code
  • 2.Human Pose Estimation
  • 3.Object Detection
  • 4.AR Vision
  • 5.ROS+Opencv Basics
  • 6.Yolov8 Object Detection (ORIN)
  • 7.Deep Learning Object Tracking (ORIN)
10.USB Camera Vision Course
  • 01.Color tracking
  • 02.Face Tracking
  • 03.AprilTag machine code tracking
  • 04.KCF Object Tracking
  • 05.QR code tracking
  • 06.Mediapipe gesture tracking
  • 07.Meidpipe human posture tracking
  • 08.Color Follow
  • 09.Face Following
  • 10.AprilTag machine code following
  • 11.QR code follow
  • 12.Mediapipe gesture recognition and following
  • 13.Meidpipe human posture following
  • 14.Visual tracking autonomous driving
  • 15.QR code motion control
  • 16.Gesture motion control
11.Depth Camera Vision Course
  • 1.Basic use of depth camera
  • 2.Deep pseudo-color image
  • 3.Depth camera ranging
  • 4.Color block volume measurement
  • 5.Color Following
  • 6.Face Following
  • 7.QR code follow
  • 8.Machine code following
  • 9.KCF Object Following
  • 10.Mediapipe gesture following
  • 11.Mediapipe Posture Following
  • 12.Visual tracking autonomous driving
  • 13.Edge Detection
12.LiDAR Course
  • 1.Basic use of Lidar
  • 2.Lidar obstacle avoidance
  • 3.Lidar following
  • 4.Lidar patrol
  • 5.Gmapping-SLAM mapping
  • 6.Cartographer-SLAM mapping
  • 7.slam_toolbox mapping
  • 8.Navigation2 single-point navigation avoid
  • 9.Navigation2 multi-point navigation avoid
  • 10.Cartographer Repositioning navigation
  • 11.RTAB-Map mapping
  • 12.RTAB-Map navigation
  • 13.APP mapping navigation
13.Multi-vehicle Course
  • 1.Multi-vehicle control
  • 2.Multi-vehicle navigation
  • 3.Multi-vehicle platoon
14.Autonomous Driving expand(Need purchase track map)new
Multimodal visual understand+SLAM navigation
  • 1. Multimodal visual understand+SLAM navigation
Orin&RDKX5-Autonomous driving
  • 1. Venue placement and precautions
  • 2. Start testing
  • 3. Identify and debug
  • 4. Lane keeping
  • 5. Road sign detection
  • 6. Traffic light recognition
  • 7. Fixed point parking
  • 8. Steering decision
  • 9. Horn sounding
  • 10. Deceleration
  • 11. Speed limit
  • 12. Autonomous parking
  • 13. Comprehensive application
  • 14. Unmanned driving integrated AI large model
Jetson Nano-Autonomous driving
  • 1. Venue placement and precautions
  • 2. Start testing
  • 3. Identify and debug
  • 4. Lane keeping
  • 5. Road sign detection
  • 6. Traffic light recognition
  • 7. Fixed point parking
  • 8. Steering decision
  • 9. Horn sounding
  • 10. Deceleration
  • 11. Speed limit
  • 12. Autonomous parking
  • 13. Comprehensive application
Road network planning
  • 1. Introduction to Road Network Planning and Navigation
  • 2. Constructing a Pose Map
  • 3. Road Network Labelling
  • 4. Road Network Planning Combined with Sand Table Map Case Study
  • 5. Path Replanning
Model Training
  • 1. Data Collection
  • 2. Dataset Annotation
  • 3. YOLOv11 Model Training
  • 4. Model Format Conversion
15.YOLOv11 Development (ORIN)
  • 1.YOLO environment construction
  • 2.CLI use
  • 3.Object detection
  • 4.Instance segmentation
  • 5.Pose estimation
  • 6.Image classification
  • 7.Oriented object detection
  • 8.Model conversion
  • 9.Dataset annotation
  • 10.Model training conversion
  • 11.Model prediction
16.YOLOv11 Development (Raspberry Pi & Jetson Nano)
  • 1.YOLO environment construction
  • 2.CLI use
  • 3.Object detection
  • 4.Instance segmentation
  • 5.Pose estimation
  • 6.Image classification
  • 7.Oriented object detection
  • 8.Model conversion
  • 9.Model prediction
17.YOLOV11 development course(RDK X5)
  • 1.YOLO environment construction
  • 2.CLI use
  • 3.Object detection
  • 4.Instance segmentation
  • 5.Pose estimation
  • 6.Image classification
  • 7.Oriented object detection
  • 8.Model prediction
  • 9.Model Quantization
18.Main control board course
Jetson Nano B01
  • 1. Introduction to the Jetson Nano B01 SUB Board
  • 2. Burn the system image
  • 3. Re-read the memory card or USB drive that has been burned
  • 4. Startup system
  • 5. Jetson Nano B01 System and Desktop Introduction
  • 6. Memory card or USB flash drive expansion
  • 7. Network Configuration
  • 8. SSH remote login & file transfer
  • 9. VNC Remote Login
  • 10. Jetson Nano B01 system backup
  • 11. Jetson Nano Swap space increased
  • 12. Installation and use of Jtop
  • 13. Third-party board + USB drive to start the car
Jetson Orin Nano_NX
  • 1.Jetson Orin board introduction
  • 2.Restore the factory image system
  • 3.Backup SSD system
  • 4.SSD expansion
  • 5.Network configuration
  • 6.SSH remote login
  • 7.VNC remote control
  • 8.Remote file transfer
  • 9.Jtop tool
  • 10.Exchange space expansion
Raspberry Pi
  • 1. Introduction to Raspberry PI 5
  • 2. Raspberry PI system installation and backup
  • 3. Powering the Raspberry PI 5
  • 4. Startup of Raspberry PI 5
  • 5. Update and upgrade operating system
  • 6. Introduction to raspi-config tool
  • 7. config.txt file description
  • 8. Network Configuration
  • 9. remote access
  • 10. Transfer files remotely
  • 11. Set display resolution and rotation
  • 12. Set screen to sleep
  • 13. Play audio and video
  • 14. Using USB camera
  • 15. Using MIPI camera
  • 16. Get real-time temperature of Raspberry Pi
RDK X5
  • 1.Introduction to RDK X5 board
  • 2.Write system file
  • 3.Hardware interface description
  • 4.Install case and other accessories
  • 5.Network configuration
  • 6.Remote login
  • 7.Update system
  • 8.srpi-config user guide
  • 9.config. txt configuration file
  • 10.Self-startup setting
  • 11.RDK exclusive command usage
  • 12.Linux command usage
  • 13.GPIO readwrite operation
  • 14.Image classification algorithm
  • 15.Use USB camera
  • 16.Use MIPI camera
  • 17.Binocular camera depth algorithm
19.AI large model course(ORIN-Pi-RDK X5)
Offline large model (Text Interaction)
  • 0. AI Large Model Mirroring Explanation
  • 1. Deployment of large-scale AI models
  • 2.Installation of the large-scale model dialogue platform
  • 3. Meta AI Llama 3.2 model
  • 4. Alibaba Cloud Qwen3 Model
  • 5. Microsoft Phi-4 mini model
  • 6. DeepSeek DeepSeek-R1 model
  • 7. Alibaba Cloud Qwen2.5vl Visual Multimodal Large Model
  • 8. Google Gemma3 Visual Multimodal Large Model
  • 9. Llava Visual Multimodal Large Model
  • 10.MiniCPM-V Visual Multimodal Large Model
  • 11. Multimodal Visual Understanding Applications
  • 12. Multimodal Text-Based Image Application
  • 13. Multimodal Video Analysis Application
  • 14. Multimodal visual positioning applications
  • 15. Multimodal table scanning application
  • 16. Multimodal Autonomous Agent Application
Offline large model (Voice Interaction)
  • 0. Voice Interaction Hardware Connection (Must Read)
  • 1. Offline speech-to-text (ASR)
  • 2. Offline Text-to-Speech (TTS)
  • 3. AI large model voice interaction
  • 4. Multimodal visual understanding and voice interaction
  • 5. Multimodal Text-Based Image Application
  • 6. Multimodal Video Analysis Application
  • 7. Multimodal visual positioning applications
  • 8. Multimodal table scanning application
  • 9. Multimodal Autonomous Agent Applications
  • 10. AI large model offline voice assistant
Online large model (Text Interaction)
  • 1. OpenRouter Large Model API Aggregation Platform
  • 2. Multimodal visual understanding applications
  • 3. Multimodal visual positioning applications
  • 4. Multimodal table scanning application
  • 5. Multimodal Autonomous Agent Applications
Online large model (Voice Interaction)
  • 0. Voice Interaction Hardware Connection (Must Read)
  • 1. Online speech-to-text (ASR)
  • 2. Online Text-to-Speech (TTS)
  • 3. AI large model voice interaction
  • 4. Multimodal visual and voice interaction
  • 5. Multimodal visual positioning applications
  • 6. Multimodal table scanning application
  • 7. Multimodal Autonomous Agent Applications
  • 8. AI large model online voice assistant
20.AI large model course(Jetson NANO)
Offline large model (Text Interaction)
  • 4.Multimodal visual understand speech interaction
  • 0.AI large model system image instructions
  • 1.AI large model environment deployment
  • 2.Install large model dialogue platform
  • 3.Meta AI llama 3.2 model
  • 4.Alibaba Cloud Qwen2 model
  • 5.Alibaba Cloud Qwen3 model
  • 6.SUTD TinyLlama
  • 7.DeepSeek DeepSeek-R1 model
  • 8.Microsoft Phi-3
  • 9.Microsoft Orca Mini
  • 10.NVIDIA StarCoder2
  • 11.Google Gemma3 Visual Multimodal Large Model
  • 12.Offline Text to Speech (TTS)
  • 13.Offline Speech to Text (ASR)
Online large model (Text Interaction)
  • 1.OpenRouter large model API aggregation platform
  • 2.Multimodal visual understand application
  • 3.Multimodal visual localization application
  • 4.Multimodal table scanning application
  • 5.Multimodal autonomous proxy application
Online large model (Voice Interaction)
  • 0.Voice interaction hardware connection (ReadMe)
  • 1.Online speech-to-text (ASR)
  • 2.Online Text-to-Speech (TTS)
  • 3.AI large model voice interaction
  • 5.Multimodal visual position application
  • 6.Multimodal table scanning application
  • 7.Multimodal autonomous proxy application
  • 8.AI large model online voice assistant
21.Linux operating system course
  • 1.Introduction to Linux system
  • 2.Ubuntu file system
  • 3.Ubuntu common commands
  • 4.Ubuntu common editors
  • 5.Ubuntu software operation commands
  • 6.Virtual machine installation
  • 7.SSH remote control
  • 8.VNC remote control
  • 9.Transfer files remotely
  • 10.Driver library and communication
  • 11.Static IP and hotspot mode
  • 12.Bind device ID
  • 13.Capacity expansion and resource allocation
  • 14.Update system software sources
  • 15.Set root user password
  • 16.sudo free password
  • 17.Connect to WiFi network
  • 18.View system version
  • 19.Customized service management
  • 20.Back up system image
22.Docker Course
  • 1.Docker Introduction and Installation
  • 2.Docker basic commands
  • 3.Docker Submission and Multi-Terminal Access
  • 4.Docker Startup Script
  • 5.Docker-Vscode environment construction
23.ROS2 Basic Course
  • 1.Introduction to ROS2
  • 2.ROS2 install Humble
  • 3.ROS2 development environment
  • 4.ROS2 workspace
  • 5.ROS2 function package
  • 6.ROS2 node
  • 7.ROS2 topic communication
  • 8.ROS2 service communication
  • 9.ROS2 action communication
  • 10.ROS2 custom interface message
  • 11.ROS2 parameter service case
  • 12.ROS2 meta-function package
  • 13.ROS2 distributed communication
  • 14.ROS2 DDS
  • 15.ROS2 time related API
  • 16.ROS2 common command tools
  • 17.ROS2 rviz2 use
  • 18.ROS2 rqt toolbox
  • 19.ROS2 Launch startup file configuration
  • 20.ROS2 recording and playback tool
  • 21.ROS2 URDF model
  • 22.ROS2 Gazebo simulation platform
  • 23.ROS2 TF2 coordinate transformation
24.Image Processing Basics Course
  • 1. Introduction to Open Source CV
  • 2. Image reading and display
  • 3. Image writing
  • 4. Image quality
  • 5. Pixel Operation
  • 6. Image zoom
  • 7. Image cutting
  • 8. Image translation
  • 9. Image Mirroring
  • 10. Affine Transformation
  • 11. Image Rotation
  • 12. Perspective Transformation
  • 13. Grayscale processing
  • 14. Image Binarization
  • 15. Edge Detection
  • 16. Line drawing
  • 17. Rectangle and circle drawing
  • 18. Drawing text and pictures
25.Control Board STM32 Driver Course
  • 0. Notes (must read)
  • 1. About expansion board
  • 2. STM32 Development environment
  • 3. Button control
  • 4. FreeRTOS application
  • 5. Serial communication
  • 6. SBUS model aircraft remote control
  • 7. CAN bus communication
  • 8. RGB colorful light bar
  • 9. Timer interrupt to control PWM servo
  • 10. Control serial port servos
  • 11. Nine-axis attitude sensor to obtain data
  • 12. Control motor
  • 13. Timer captures the encoder data
  • 14. Robot kinematics analysis theory
  • 15. PID control robot movement
26.Control Board Main Control Communication Course
  • 1. Update the expansion board firmware
  • 2. Install Rosmaster driver library
  • 3. Jupyter lab basic usage tutorial
  • 4. Buzzer whistle
  • 5. Control PWM servo
  • 6. RGB colorful light bar special effects display
  • 7. Control motor
  • 8. Control robot movement
  • 9. Control Serial Servo
Download
  • MainBoard_AI_Pure_System
  • Mapping_APP(iOS_Android)
  • Robot_Image_System_File
  • Code-Firmware
  • VM-File
  • 3D Model File
  • Instruction Manual
  • Software_File
  • Hardware-Info
  • Other_Annex_File
Download ZIP

Welcome to ROSMASTER A1 repository

10. AI large model offline voice assistant

10. AI Large Model Offline Voice Assistant

10. AI Large Model Offline Voice Assistant1. Offline Voice Configuration2. Create a Systemd Service2.1 Raspberry Pi 52.1.1 Creating a Docker Container Startup Script2.1.2 If you are using the factory image of Yabo's AI large model, you do not need to recreate the script. Just run the following command to start the automatic startup service:2.1.3 Related commands:2.1.4 CSI Camera Auto-Start ServiceIf you are using the factory image of Yabo's AI large model, you do not need to recreate the script. Just run the following command to restart the auto-start service:2.2 RDK X52.2.1 Creating a Startup Script2.2.2 Create Systemd service file2.2.3 Managing and Debugging the Service2.3 ORIN2.3.1 Creating a Startup Service (Systemd)2.3.2 Creating a Startup Script2.3.3 Creating the Systemd Service File2.3.4 Managing and Debugging the Service

Note: Raspberry Pi 5 2GB/4GB, RDK X5 4GB, and Jetson Orin Nano 4GB versions cannot run offline due to performance limitations. Please refer to the online large model tutorial.

1. Offline Voice Configuration

Before setting up auto-start, we must ensure that the program itself can work independently offline. This requires modifying the configuration file.

  1. Locate the configuration file:

In your project code, find and open the configuration file:

xxxxxxxxxx
vim ~/yahboom_ws/src/largemodel/config/yahboom.yaml
  1. Modify configuration parameters:

Please check the following parameters in the file and ensure that their values are consistent with those shown below. If the parameters are not present, please add them.

xxxxxxxxxx
 asr:                                    #Voice node parameters
   ros__parameters:
     VAD_MODE: 2                         #vad sensitivity
     sample_rate: 16000                  #asr recording audio sampling rate
     frame_duration_ms:  30              #vad frame size in ms
     use_oline_asr: False                #Whether to use online ASR recognition (True uses online, False uses offline)
     mic_serial_port: "/dev/ttyUSB0"     #Microphone serial port alias
     mic_index: 0                        #Microphone Index
     language: 'zh'                      #asr language
     regional_setting : "China"             #international:International version China:Domestic version
 
 model_service:                          #Model server node parameters
   ros__parameters:
     language: 'zh'                      #Large Model Interface Language
     useolinetts: False                   #Whether to use online speech synthesis (True uses online, False uses offline)
 
      # Large model configuration
     # llm_platform: 'ollama'              # Optional platform: 'ollama', 'tongyi', 'spark', 'qianfan', 'openrouter'
     llm_platform: 'ollama'              # Currently selected large model platform
     regional_setting : "China" 
 
  • use_oline_asr and useolinetts must be set to False.

  • llm_platform must be set to ollama.

    This setting will make everything offline.

  1. Save the file and recompile the project to apply the changes:

    xxxxxxxxxx
    cd ~/yahboom_ws
    colcon build
    source install/setup.bash

After completing this step, the program is now a purely offline voice service.

2. Create a Systemd Service

Now, we will create a systemd service to automatically run largemodel_control.launch.py at system startup.

Note: If you are using the Yabo AI large model factory image, these scripts are already created; you only need to restart the auto-start container.

2.1 Raspberry Pi 5

2.1.1 Creating a Docker Container Startup Script

  1. Creating a Script File:

    In your home directory (~), create a file named ros2_docker_autostart.sh.

    xxxxxxxxxx
     vim ~/ros2_docker_autostart.sh
  2. Write the Script Content: Copy and paste the following content into the script file.

    xxxxxxxxxx
    #!/usr/bin/env bash
    ​
    set -e
    ​
    CN=${CONTAINER_NAME:-ros_humble_ai_service}
    IMG=${IMAGE_NAME:-ros_humble_ai:v1.0}
    WS=${HOST_WS_DIR:-"$HOME/yahboom_ws"}
    ROS=${ROS_DISTRO:-humble}
    CMD=${LAUNCH_CMD:-"ros2 launch largemodel largemodel_control.launch.py"}
    AUID=${AUDIO_UID:-$(id -u)}
    XAUTH=${XAUTHORITY:-"$HOME/.Xauthority"}
    ​
    mkdir -p "$WS"
    ​
    x=()
    if [ -d /tmp/.X11-unix ]; then
      command -v xhost >/dev/null 2>&1 && xhost +local:root || true
      x+=( -e DISPLAY=${DISPLAY:-:0} -e QT_X11_NO_MITSHM=1 -v /tmp/.X11-unix:/tmp/.X11-unix )
      [ -f "$XAUTH" ] && x+=( -v "$XAUTH:/root/.Xauthority" -e XAUTHORITY=/root/.Xauthority )
    fi
    ​
    a=()
    if [ -S "/run/user/$AUID/pulse/native" ]; then
      a+=( -e PULSE_SERVER=unix:/run/user/$AUID/pulse/native -v "/run/user/$AUID/pulse:/run/user/$AUID/pulse:ro" )
      [ -d "$HOME/.config/pulse" ] && a+=( -v "$HOME/.config/pulse:/root/.config/pulse:ro" )
    fi
    ​
    d=()
    [ -e /dev/video0 ] && d+=( --device=/dev/video0 )
    [ -d /dev/bus/usb ] && d+=( --device=/dev/bus/usb )
    [ -d /dev/snd ] && d+=( --device=/dev/snd )
    [ -e /dev/mic ] && d+=( -v /dev/mic:/dev/mic )
    ​
    if docker ps -a --format '{{.Names}}' | grep -qx "$CN"; then
      docker ps --format '{{.Names}}' | grep -qx "$CN" || docker start "$CN" >/dev/null
    else
      docker run -d \
        --name "$CN" --net=host --privileged --restart unless-stopped \
        --security-opt apparmor:unconfined \
        -v "$WS:/root/yahboom_ws:rw" \
        "${d[@]}" "${x[@]}" "${a[@]}" \
        "$IMG" \
        bash -lc "source /opt/ros/$ROS/setup.bash; [ -f /root/yahboom_ws/install/setup.bash ] && source /root/yahboom_ws/install/setup.bash; $CMD"
    fi
    ​
    echo "OK: $CN"
    ​
  3. Save and exit

  4. Confirm that Docker starts at boot:

    xxxxxxxxxx
    sudo systemctl enable --now docker
  5. Give the script execution permissions, then run:

    xxxxxxxxxx
    chmod +x ~/ros2_docker_autostart.sh
    ./ros2_docker_autostart.sh
  6. Verification:

    xxxxxxxxxx
    docker inspect -f '{{.HostConfig.RestartPolicy.Name}}' ros_humble_ai_service

    The output should be "unless-stopped". Docker will automatically start the container each time you boot the computer, enabling the voice assistant to start automatically.

 

2.1.2 If you are using the factory image of Yabo's AI large model, you do not need to recreate the script. Just run the following command to start the automatic startup service:

xxxxxxxxxx
~/ros2_docker_autostart.sh

2.1.3 Related commands:

Stop the container immediately, and also stop it from automatically starting:

xxxxxxxxxx
docker stop ros_humble_ai_service

View the running log of the docker container:

xxxxxxxxxx
docker logs -f ros_humble_ai_service

2.1.4 CSI Camera Auto-Start Service

To access the CSI camera feed in Docker, you need to start host_stream.py on the host machine. Therefore, if you need to access the CSI camera feed during auto-start, you must also add this file to the Systemd startup service.

Note: If you are using the Yabo AI large model factory image, these scripts are already created; you only need to restart the auto-start service.

1.Enter the command to write the file

xxxxxxxxxx
sudo vim /etc/systemd/system/host-stream.service

2.Copy the following content into the file

xxxxxxxxxx
[Unit]
Description=Host stream (runs ~/host_stream.py)
After=network.target
​
[Service]
Type=simple
User=pi
WorkingDirectory=/home/pi
ExecStart=/usr/bin/python3 /home/pi/host_stream.py
Restart=on-failure
RestartSec=5
StandardOutput=append:/home/pi/host_stream.log
StandardError=append:/home/pi/host_stream.log
​
[Install]
WantedBy=multi-user.target

3.Save and exit.

4.Apply and start the service:

xxxxxxxxxx
sudo systemctl daemon-reload
sudo systemctl enable host-stream.service
sudo systemctl start host-stream.service

5.Check the service status:

xxxxxxxxxx
sudo systemctl status host-stream.service
​
如果看到 `Active: active (running)`,the service has started successfully!

6.If you do not need the CSI camera self-start service, run the following command to stop it:

xxxxxxxxxx
sudo systemctl stop host-stream.service
sudo systemctl disable host-stream.service
If you are using the factory image of Yabo's AI large model, you do not need to recreate the script. Just run the following command to restart the auto-start service:
xxxxxxxxxx
sudo systemctl enable host-stream.service
sudo systemctl start host-stream.service

2.2 RDK X5

2.2.1 Creating a Startup Script

To ensure that systemd can correctly load the ROS2 environment, the best practice is to create a simple bash script to encapsulate our startup command.

  1. Creating a script file: In the directory (~/yahboom_ws/src/largemodel/), create a file named start_largemodel.sh.

    xxxxxxxxxx
    vim ~/yahboom_ws/src/largemodel/start_largemodel.sh
  2. Write script content: Copy and paste the following content into the script file.

    xxxxxxxxxx
    #!/bin/bash
    ​
    # Source ROS2 Humble environment
    source /opt/ros/humble/setup.bash
    ​
    # Source Yahboom Workspace Environment
    source /home/sunrise/yahboom_ws/install/setup.bash
    ​
    # Start the largemodel control script
    ros2 launch largemodel largemodel_control.launch.py

    Important Note: Please ensure that /home/sunrise/ in the script is replaced with your own user home directory path.

  3. Save and Exit

  4. Grant script execution permissions:

    xxxxxxxxxx
    chmod +x ~/yahboom_ws/src/largemodel/start_largemodel.sh

2.2.2 Create Systemd service file

  1. Create service file: You need to use sudo privileges to create this file.

    xxxxxxxxxx
    sudo vim /etc/systemd/system/largemodel.service
  2. Write service configuration: Copy and paste the following content into the service file.

    xxxxxxxxxx
    [Unit]
    Description=Robot Service
    After=network.target sound.target graphical.target multi-user.target
    Wants=network.target sound.target graphical.target multi-user.target
    ​
    [Service]
    Type=simple
    User=sunrise
    Group=sunrise
    Environment=DISPLAY=:0
    Environment=XDG_RUNTIME_DIR=/run/user/1000
    Environment=PULSE_SERVER=unix:/run/user/1000/pulse/native
    SupplementaryGroups=audio video
    ExecStartPre=/bin/sleep 10
    ExecStart=/home/sunrise/yahboom_ws/src/largemodel/start_largemodel.sh
    Restart=on-failure
    StandardOutput=journal
    StandardError=journal
    ​
    [Install]
    WantedBy=multi-user.target
    • Environment=DISPLAY=:0 will display a GUI pop-up on the desktop. Users connecting via SSH can change this to Environment=DISPLAY=:10. You can find the specific parameters by typing echo $DISPLAY in the terminal.
    • The path in ExecStart must be exactly the same as the path to the startup script to be executed.
  3. Save and exit.

2.2.3 Managing and Debugging the Service

Now that your service has been created, we need to have systemd load it and set it to start automatically on boot.

  1. Reload the systemd daemon so it reads the service file we just created:
xxxxxxxxxx
sudo systemctl daemon-reload
  1. Set the service to start automatically on boot:
xxxxxxxxxx
sudo systemctl enable largemodel.service
  1. Start the service immediately:
xxxxxxxxxx
sudo systemctl start largemodel.service
  1. Check the service status:

This is the most important command to verify that the service is running successfully.

xxxxxxxxxx
sudo systemctl status largemodel.service
* If you see `Active: active (running)`, congratulations, the service has started successfully!
* If the status is `failed` or something else, please continue to the next step for debugging.
  1. View Service Logs (Essential for Debugging):

If the service fails to start, you can view all real-time logs generated by the ros2 launch command using the following command. This is crucial for troubleshooting.

xxxxxxxxxx
journalctl -u largemodel.service -f

After completing all the above steps, the purely offline largemodel voice service will now start automatically every time you boot up.

To disable the automatic startup service, you can run the following command:

xxxxxxxxxx
sudo systemctl start largemodel.service
sudo systemctl disable largemodel.service

2.3 ORIN

2.3.1 Creating a Startup Service (Systemd)

Now, we will create a systemd service so that largemodel_control.launch.py runs automatically at system startup.

2.3.2 Creating a Startup Script

To ensure that systemd can correctly load the ROS2 environment, the best practice is to create a simple bash script to encapsulate our startup command.

  1. Create the script file:

    In the directory (~/yahboom_ws/src/largemodel/), create a file named start_largemodel.sh.

xxxxxxxxxx
vim ~/yahboom_ws/src/largemodel/start_largemodel.sh
  1. Write the script content:

    Copy and paste the following content into the script file.

xxxxxxxxxx
#!/bin/bash
​
# Source the ROS2 Humble environment
source /opt/ros/humble/setup.bash
​
# Source the Yahboom workspace environment
source /home/jetson/yahboom_ws/install/setup.bash
​
# Launch the largemodel control script
ros2 launch largemodel largemodel_control.launch.py

Important Note: Please ensure that /home/sunrise/ in the script is replaced with your own user home directory path.

  1. Save and Exit
  2. Grant Script Execution Permissions:
xxxxxxxxxx
chmod +x ~/yahboom_ws/src/largemodel/start_largemodel.sh

2.3.3 Creating the Systemd Service File

This is the most crucial step. We will tell the system that we have a new service to manage.

  1. Create the Service File:

    You need to use sudo privileges to create this file.

xxxxxxxxxx
sudo vim /etc/systemd/system/largemodel.service
  1. Write the Service Configuration:

    Copy and paste the following content completely into the service file.

xxxxxxxxxx
[Unit] 
Description=Robot Service 
After=network.target sound.target graphical.target multi-user.target 
Wants=network.target sound.target graphical.target multi-user.target 
​
[Service] 
Type=simple 
User=sunrise 
Group=sunrise 
Environment=DISPLAY=:0 
Environment=XDG_RUNTIME_DIR=/run/user/1000 
Environment=PULSE_SERVER=unix:/run/user/1000/pulse/native 
SupplementaryGroups=audio video 
ExecStartPre=/bin/sleep 10 
ExecStart=/home/sunrise/yahboom_ws/src/largemodel/start_largemodel.sh 
Restart=on-failure 
StandardOutput=journal 
StandardError=journal 
​
[Install] 
WantedBy=multi-user.target 
  • ExecStart The path in the command must be exactly the same as the path to the startup script to be executed.
  1. Save and exit.

2.3.4 Managing and Debugging the Service

Now that your service has been created, we need to get systemd to load it and set it to start automatically on boot.

  1. Reload the systemd daemon so that it reads the service file we just created:
xxxxxxxxxx
sudo systemctl daemon-reload
  1. Set the service to start automatically on boot:
xxxxxxxxxx
sudo systemctl enable largemodel.service
  1. Start the service immediately:
xxxxxxxxxx
sudo systemctl start largemodel.service
  1. Check the service status:

This is the most important command to verify that the service is running successfully.

xxxxxxxxxx
sudo systemctl status largemodel.service
* If you see `Active: active (running)`, congratulations, the service has started successfully!
* If the status is `failed` or something else, please continue to the next step for debugging.
  1. View service logs (essential for debugging):

If the service fails to start, you can view all real-time logs generated by the ros2 launch command using the following command. This is crucial for locating the problem.

xxxxxxxxxx
journalctl -u largemodel.service -f

After completing all the above steps, the purely offline largemodel voice service will now start automatically every time you boot up.

Multimodal Autonomous Agent Applications
OpenRouter Large Model API Aggregation Platform

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文