yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
DOFBOT-Ultra📖
1. Get Started Quickly
  • 0.Unboxing Video
  • 1. Get Started Quickly
  • 2. Access the Terminal
  • 3. Calibration offset(Depth Camera)
  • 4. Calibration offset(USB Camera)
2. Assembly Course
  • 1. Installation Steps
  • 2. Calibrate the Robotic Arm
  • 3. Install the Map
3. Remote Control Course
  • 1. Mobile Phone Control
  • 2. USB Handle Control
  • 3. PC Web Page Programming
4. Preparation
  • 1. Manage Web control services
  • 2. Manage JupyterLab services
  • 3. Manage OLED services
5. 2D Visual Tracking Course
  • 1. Color block positioning
  • 2. Color block tracking
  • 3. Face positioning
  • 4. Face tracking
  • 5. Label code positioning
  • 6. Label code tracking
6. 2D Visual Grasping Course
  • 1. Identify grab color block
  • 2. Catch game
  • 3. Color sorting
  • 4. Color stacking
  • 5. Label code sorting
  • 6. Label code stacking
  • 7. Gesture grasping color blocks
  • 8. Gesture stacking color blocks
  • 9. Single garbage sorting
  • 10. Garbage sorting
  • 11. Tracking game
7. 2D Mediapipe Course
  • 1. Hand detection
  • 2. Posture detection
  • 3. Overall detection
  • 4. Facial Detection
  • 5. Face Detection
  • 6. Face effects
  • 7. 3D Object Recognition
  • 8. Paintbrush
  • 9. Finger control
  • 10. Gesture Recognition
  • 11. Gesture control robotic arm action group
  • 12. Arm posture control robotic arm
  • 13. Palm Targeting
  • 14. Robotic arm tracks the palm
  • 15. Fingertip trajectory recognition
  • 16. Fingertip trajectory control robotic arm
  • 17. Gesture Grasp and Release Objects
  • 18. Finger Control Robot Arm
8. AI Large Model Voice Module (Must Read)
  • 1. Introduction to AI Large Model Voice Module
  • 2. Flash the firmware (Must read)
  • 3. Modify the wake-up word and command word
9. 2D Voice Control Course
  • 1. Simple Voice Control
  • 2. Smart Voice Control
  • 3. Voice Action Control
  • 4. Memory Learning Mode
  • 5. Color Recognition with Voice Broadcast
  • 6. Color Recognition and Grasping with Voice Broadcast
  • 7. Color Recognition and Sorting with Voice Broadcast
  • 8. Voice Recognition Target Tracking
  • 9. Voice Control Stacking
  • 10. Voice Control Sorting
  • 11. Garbage Recognition with Voice Broadcast
  • 12. Garbage Sorting with Voice Broadcast
10. 3D Depth Camera Course
  • 1. Dabai_DCW2 camera
  • 2. Deep pseudo-color image
  • 3. Depth camera ranging
  • 4. Color block volume measurement
11. 3D Robotic Arm Control and Inverse Kinematics
  • 1. Robotic arm ROS control
  • 2. Inverse solution
12. 3D Sorting and Grasping Course
  • 1. AprilTag ID sorting
  • 2. AprilTag abnormal height sorting
  • 3. MediaPipe Gesture-AprilTag ID sorting
  • 4. MediaPipe Gesture-AprilTag height sorting
  • 5. MediaPipe Gesture-AprilTag distance sorting
  • 6. Block color sorting
  • 7. Block abnormal height sorting
  • 8. Block different shape sorting
  • 9. Block shape abnormal height sorting
  • 10. Yolov26 garbage sorting
13. 3D Tracking and Grasping Course
  • 1. AprilTag Tracking and Grasping
  • 2. Color Block Tracking and Grasping
  • 3. KCF Object Tracking and Grasping
14. 3D Voice Control for Grasping Course (Sorting & Tracking)
  • 1. Voice Control AprilTag ID Sorting
  • 2. Voice Control Remove Height Abnormal AprilTag
  • 3. Voice Control Tracking and Grasping AprilTag
  • 4. Voice Control Color Block Sorting
  • 5. Voice Control Remove Height Abnormal Color Block
  • 6. Voice Control Tracking and Grasping Color Block
  • 7. Voice Control Yolov26 Garbage Recognition Sorting
  • 8. Voice Control Object Tracking and Grasping
15. 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
16. AI Model Development
  • 0. DofbotUltra Large Model Development Quick Start Guide
  • 1. Register a Model Service Provider Account
  • 2. Configure API-KEY
  • 3. Introduction to Dify
  • 4. Basic Dify Features
  • 5. AI Large Model Development - chatbot
  • 6. Deploy the RAG knowledge base
  • 7. RAG knowledge base + chatbot
  • 8. AI agent workflow
17. AI Model – Text Version
  • 1. Semantic understand instruction following
  • 2. Multimodal visual understand
  • 3. Text Large Model + robotic arm control
  • 4. Multimodal Large Model + Video Understanding
  • 5. Multimodal Large Model + Robotic Arm Gripping
  • 6. Multimodal Large Model + Robotic Arm Tracking
  • 7. Multimodal Large Model + Robotic Arm Sorting
  • 8. Multimodal Large Model + Robotic Arm Handling
  • 9. Multimodal Large Model + Color Blocks Back In Place
  • 10. Multimodal Large Model + Intent Prediction + Robotic Arm Gripping
  • 11. Text Large Model + YOLOv26 + Intelligent Garbage Classification
18. AI Model – Voice Version
  • 1. Semantic understand instruction following
  • 2. Multimodal visual understand
  • 3. Text Large Model + robotic arm control
  • 4. Multimodal Large Model + Video Understanding
  • 5. Multimodal Large Model + Robotic Arm Gripping
  • 6. Multimodal Large Model + Robotic Arm Tracking
  • 7. Multimodal Large Model + Robotic Arm Sorting
  • 8. Multimodal Large Model + Robotic Arm Handling
  • 9. Multimodal Large Model + Color Blocks Back In Place
  • 10. Multimodal Large Model + Intent Prediction + Robotic Arm Gripping
  • 11. Text Large Model + YOLOv26 + Intelligent Garbage Classification
19. AI Model – Fun Applications
  • 1. AI Butler-Intent Inference
  • 2. AI Encyclopedia-Arithmetic Master
  • 3. AI Encyclopedia-You asked I Pointed
  • 4. AI Encyclopedia-Nutritional Analysis
  • 5. AI Encyclopedia-Problem Solving Expert
  • 6. AI Encyclopedia-English Spelling
  • 7. AI Butler-Garbage Sorting
  • 8. AI Top Chef
20. MoveIt Course
  • 1. MoveIt Configuration
  • 2. MoveIt Usage
  • 3. MoveIt Drive Real Robot
  • 4. MoveIt Random Movement
  • 5. MoveIt Forward Kinematics Design
  • 6. MoveIt Inverse Kinematics Design
  • 7. MoveIt Cartesian Path
  • 8. MoveIt Scene Design
  • 9. MoveIt Trajectory Planning
  • 10. MoveIt Collision Detection
21. YOLOv11 Development Course
PI 5
  • 1. YOLO Environment Setup
  • 2. CLI Usage
  • 3. Object Detection
  • 4. Instance Segmentation
  • 5. Pose Estimation
  • 6. Image Classification
  • 7. Oriented Bounding Boxes Object Detection
  • 8. Model Conversion
  • 9. Dataset Annotation
  • 10. Model Training and Conversion
  • 11. Model Prediction
RDK X5
  • 1. YOLO Environment Setup
  • 2. CLI Usage
  • 3. Object Detection
  • 4. Instance Segmentation
  • 5. Pose Estimation
  • 6. Image Classification
  • 7. Oriented Bounding Boxes Object Detection
  • 8. Model Prediction
  • 9. Model Conversion
22. YOLOv26 Development Course
PI 5
  • 6. Image Classification
  • 1. YOLO Environment Setup
  • 2. CLI Usage
  • 3. Object Detection
  • 4. Instance Segmentation
  • 5. Pose Estimation
  • 6. Image Classification
  • 7. Oriented Bounding Boxes Object Detection
  • 8. Model Conversion
  • 9. Dataset Annotation
  • 10. Model Training and Conversion
  • 11. Model Prediction
RDK X5
  • 1. YOLO Environment Setup
  • 2. CLI Usage
  • 3. Object Detection
  • 4. Instance Segmentation
  • 5. Pose Estimation
  • 7. Oriented Bounding Boxes Object Detection
  • 8. Model Conversion
  • 9. Dataset Annotation
  • 10. Model Training and Conversion
  • 11. Model Prediction
23.Linux Operating System
  • 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.Capacity expansion and resource allocation
  • 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
24. Basic Control Course
  • 1. Control RGB Light
  • 2. Control Buzzer
  • 3. Control Single Servo
  • 4. Read Servo Angle
  • 5. Control All Servos
  • 6. DOFBOT Up Down Left Right Movement
  • 7. DOFBOT Dancing
  • 8. DOFBOT Memory Actions
  • 9. DOFBOT Grab Blocks
  • 10. Porter
  • 11. Stack Blocks
  • 12. Two DOFBOT Synchronized Actions
25.RDKx5 Board Basic Course
  • 1.Introduction to RDK X5 board
  • 2.Write system file
  • 3.Hardware interface description
  • 4.Install case and other accessories
  • 5.Use 7-inch display
  • 6.SD card expansion
  • 7.Network configuration
  • 8.Remote login
  • 9.Update system
  • 10.srpi-config user guide
  • 11.config. txt configuration file
  • 12.Self-startup setting
  • 13.RDK exclusive command usage
  • 14.Linux command usage
  • 15.GPIO readwrite operation
  • 16.Image classification algorithm
  • 17.Use USB camera
  • 18.Use MIPI camera
  • 19.Binocular camera depth algorithm
26.PI5 Board Basic Course
  • 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.Installation and introduction of shell and active radiator
  • 6.GPIO and 40-pin pins
  • 7.Tips for using Raspberry PI 5
  • 8.Raspberry PI PCIe connector
  • 9.MIPI CSI DSI connector
  • 10.UART connector
  • 11.Real-time clock
  • 12.Power over Ethernet (PoE) connector
  • 13.Update and upgrade operating system
  • 14.Introduction to raspi-config tool
  • 15.config.txt file description
  • 16.Network Configuration
  • 17.remote access
  • 18.Transfer files remotely
  • 19.Set display resolution and rotation
  • 20.Set screen to sleep
  • 21.Get real-time temperature of Raspberry Pi
  • 22.Play audio and video
  • 23.Using USB camera
  • 24.Using MIPI camera
27. Visual 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. Picture Cut
  • 8. Picture Pan
  • 9. Picture Mirroring
  • 10. Affine Transformation
  • 11. Picture Rotation
  • 12. Perspective Transformation
  • 13. Grayscale Processing
  • 14. Binary Image
  • 15. Edge Detection
  • 16. Line Segment Drawing
  • 17. Rectangular Circle Drawing
  • 18. Text and Picture Drawing
28. 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
29. Jupyter Lab Usage Course
  • 1. Read the document before operation
  • 2. Jupyter lab environment construction tutorial
  • 3. Basic tutorial of Jupyter lab
  • 4. Jupyter widgets configuration tutorial
  • 5. Getting Started Tutorial for JupyterWidgets Controls
Download
  • System_File
  • VM_File
  • Instruction Manual
  • Code
  • Software Tools
  • Communication_Protocols
  • Hardware_Info
Download ZIP

Welcome to DOFBOT-Ultra repository

3. Embodied Intelligent Robot System Architecture

Embodied Intelligent Robot System Architecture

Please ensure that the web control program backend process is not running in the background. To close it, refer to the [Get Started Quickly - 2. Access the Terminal] section in [Disable the Auto-Start Web Control Backend Process]. After closing, please restart DofbotUltra!!!

Before starting this feature, you need to close the web control program backend process.

1. Course Content

  1. Explain the large model inference architecture of AI embodied intelligent robots.

  2. Explain the basic concepts in the system, laying the groundwork for subsequent hands-on courses.

2. System Components

image-20251201142321815

3. AI Large Model Inference Architecture Diagram

The robot adopts a dual-model inference and dynamic feedback inference design in its programming, improving the robot's ability to handle long-flow complex tasks and providing stronger system robustness compared to single-model architecture. Here are several key concepts: decision layer large model, execution layer large model, task cycle, and dialogue history, which will be explained one by one below.

yahboom_m3大模型推理架构.drawio

4. Large Model Inference Architecture Explanation

4.1 Dual Model Architecture Principle

  • The robot's large model control system is designed based on a text generation large model and a multimodal large model. The text generation large model serves as the decision layer, acting as a high-level task planner that decomposes complex, abstract human instructions into tasks.

  • The multimodal large model serves as the execution layer, receiving the task steps generated by the decision layer and the user's temporary instructions (generally simple instructions asking the robot to end a task or rest), supervising the robot's task execution progress, adjusting execution actions in real-time, and generating action function lists that the robot can parse as well as responses to the user.

  • The action function list contains pre-written basic action functions that can directly output parameters to control the robot's movement.

4.2 Advantages of the Dual Model Inference Architecture

4.2.1 Decoupling of Decision Logic and Action Control

  • Multimodal large models are inferior to text generation large models in natural language semantic understanding and logical reasoning, and are prone to modality interference when executing complex tasks. Therefore, the system design decouples decision logic from action control.

  • The text generation large model focuses on semantic understanding and task planning (e.g., parsing "Can you help me get the blue block in room A?" and breaking it down into task steps: "Record current position -> Navigate to room A -> Get current robot perspective image -> Locate blue block coordinates -> Grasp blue block -> Return to starting position -> Place blue block"), avoiding the complexity of simultaneously handling action details during semantic parsing in traditional single models.

  • The multimodal large model is responsible for action generation and environment interaction (e.g., obtaining visual images to locate object coordinates, outputting action functions and parameters), reducing the likelihood of action logic confusion and large deviations caused by task complexity in single models.

4.2.2 Reducing Model Training Sample Complexity

When using a single model for inference, the multimodal large model must simultaneously perform "natural language understanding + environment perception + process decomposition + action function output," which is prone to modality interference (language ambiguity or overly long instructions leading to comprehension errors). The dual model handles this through phased processing, allowing the decision layer to focus on language space mapping and the execution layer to focus on visual-motion space mapping.

4.2.3 Flexible Expansion

The decision layer and execution layer large models can be flexibly paired with various large models on the Alibaba Bailian Large Model Platform (sometimes called the Tongyi Qianwen platform). Through customized training samples and RAG knowledge bases, the models can adapt to tasks in different scenarios, greatly increasing the generalization ability of AI embodied intelligent robots across various scenarios.

4.3 Decision Layer Large Model

4.3.1 Role of the Decision Layer Model

  • The robot's decision layer large model defaults to using the Tongyi Qianwen-Max series model.

  • The decision layer large model is primarily responsible for task planning. It can understand complex human instructions and decompose them into specific task steps.

  • Each task step corresponds to the smallest action the robot can perform, which is then executed by the execution layer large model by calling API functions from the robot's action function library.

4.3.2 Robot Action Function Library (Simplified)

The robot action library specifies all the smallest actions the robot can physically perform. When planning task steps, the decision layer model selects appropriate actions from this library for combination.

Basic Action Class

  • Turn on red light

  • Turn on green light

  • Turn on blue light

  • Activate alarm

  • Deactivate alarm

  • Turn off light

Robotic Arm Class

  • Adjust joint x to y degrees

    Adjust the specified servo to the specified angle.

  • Move robotic arm Description: Move the end of the robotic arm a specified distance in a specified direction.

  • Move robotic arm upward

  • Nod robotic arm

  • Shake robotic arm

  • Dance robotic arm Similar semantics: Shake head, wave head.

  • Applaud robotic arm Similar semantics: Clap, applaud.

  • Grip, grasp object with robotic arm Similar semantics: Pick up, grab.

  • Release item from robotic arm Description: Release the grasped item from the robotic arm.

  • Open gripper of robotic arm Description: Adjust the angle of servo 6 to 0 degrees.

  • Close gripper of robotic arm Description: Adjust the angle of servo 6 to 180 degrees.

  • Sort, grasp machine code x Description: Sort and grasp the specified machine code.

  • Track object, Description: Track the specified object.

  • Remove machine code of specified height

  • Remove color block of specified height. Description: Automatically remove the specified color whose height exceeds x cm. color values: 'red', 'green', 'blue', 'yellow'.

  • Sort garbage of type x Description: Call the garbage sorting function to sort garbage of type x. x values are 'rec', 'tox', 'wet', or 'dry'.

  • Move A to the side of B Description: Change the spatial position of grasped object A to the left side of object B. Parameters: (x1, y1) are the pixel coordinates of the top-left corner of object A's outer bounding box, (x2, y2) are the pixel coordinates of the bottom-right corner of object A's outer bounding box, (x3, y3) are the pixel coordinates of the top-left corner of object B's outer bounding box, (x4, y4) are the pixel coordinates of the bottom-right corner of object B's outer bounding box. src represents the name of object A; if A is a color block, src represents the color of the block. tar represents the name of object B; similarly, if B is a color block, tar represents the color of the block. side represents one of five directions: front, back, left, right, top. Values correspond to 1=front, 2=back, 3=left, 4=right, 5=top. Similar semantics: Place A on the side of B, put A on the side of B.

  • Stack color blocks Description: Grasp the color blocks in the image in the specified order.

  • Return color block to original position Description: Return the color block to its original position. Similar semantics: Return the color block to its place, put the color block back.

  • Track object

  • Track machine code

  • Cancel tracking machine code

  • Cancel tracking object

  • Remember current position of object

  • Point with robotic arm

  • Sort garbage

  • Clean garbage

  • Sort color blocks in given order

Image Acquisition Class

  • Get current perspective image Description: Get the current perspective image for observing the environment or locating objects.

  • Record x-second video Description: Record a video of the specified duration. x represents the duration in seconds.

  • Play a guessing/small ball game Description: Record a 20-second video.

  • Video understanding Description: Parse the content of the recorded 20-second video.

Other Classes

  • Query weather

  • Calculate math problem

  • Guess object English name

  • Tell a joke

4.4 Execution Layer Large Model

  • The robot's execution layer large model defaults to using the Tongyi Qianwen-VL series model.

  • The execution layer large model is primarily responsible for generating the action list for controlling the robot and the response to the user. During the execution of the action list, it continuously receives feedback (success/failure) from the robot about action results and visual images, inferring the next action to execute based on the action execution status.

  • The execution layer large model acts as a supervisor, constantly monitoring the robot's progress in executing task steps. Based on feedback from action results and environmental information, it determines the next action to execute, until the task is successfully completed or prematurely terminated due to special circumstances.

4.4.1 Task Cycle

  • In a new task cycle, the user's instruction first goes through the decision layer large model, then the execution layer large model. If the execution layer large model determines that the robot has completed all task steps, it enters the waiting state. At this point, subsequent user instructions are directly passed to the execution layer large model.

  • For example: When the user asks to end the current task or tells the robot to rest, the robot resets the dialogue history and robotic arm state, starting a new task cycle. At this point, the user's instruction starts from the decision layer large model. Below is an illustration of the waiting state:

机器人的等待状态.drawio

4.4.2 Historical Context

The robot maintains a dialogue history context locally in its program. The dialogue history context includes the user's instructions, task steps generated by the decision layer model, action lists generated by the execution layer model, and robot feedback status information. Each time the robot requests the execution layer large model, it sends the complete dialogue history, allowing the execution layer large model to understand the robot's task execution progress. The execution layer large model combines the dialogue history context to infer the next action to execute. In summary, the execution layer large model derives the next future action based on the sum of past states.

对话上下文历史.drawio

Under normal circumstances, the execution layer large model determines task progress based on dialogue history. When it determines that the robot has completed all task steps, it enters the waiting state, awaiting temporary instructions from the user. Temporary instructions no longer pass through the decision layer large model but are directly sent to the execution layer large model. There are three situations that cause the robot to clear the dialogue history context, end the current task cycle, and start a new task cycle.

  • Situation 1: The user actively requests to end the task cycle. In the waiting state, if the user says something like "Take a rest now" or "You may leave" indicating the robot is no longer needed, the execution layer large model calls the finish_dialogue() function to end the current task cycle, reset the dialogue history, and start a new task cycle. The same applies to the following situations.

  • Situation 2: The robot fails twice consecutively when executing a certain action. If an action fails, the execution layer large model controls the robot to retry at most once. If it fails again, the execution layer large model controls the robot to prematurely end the task cycle and start a new one.

  • Situation 3: The robot encounters an impossible task, e.g., when the user asks the robot to go to a location not mentioned in the "map mapping", the robot will request to prematurely end the task cycle and inform the user that the task cannot be completed.

提前结束任务情况.drawio

4.4.4 Robot Action Function Library

The API functions in the robot's action function library serve as the bridge for the large model to control the robot's interaction with the real world. These API functions specify the smallest actions the physical robot can perform in the physical world. The principle of the API functions is to control the underlying hardware of the physical robot through the ROS2 system to perform various functions.

动作函数库

All action functions and their corresponding functionalities are shown in the table below:

Function NameParametersImplementation FunctionInvocation Instruction
arm_dance()-Trigger robotic arm dance actionRobotic arm dance
arm_up()-Move robotic arm upwardRobotic arm up
arm_down()-Move robotic arm downwardRobotic arm down
arm_nod()-Nod robotic armNod
arm_shake()-Shake robotic armShake head
arm_applaud()-Applaud robotic armApplaud
grip_pose()-Robotic arm grasping postureAdjust arm to grasping posture
track_pose()-Robotic arm tracking postureAdjust arm to tracking posture
cancel_KCF_follow-Cancel object trackingCancel tracking object
grasp_obj(x1, y1, x2, y2)(x1, y1, x2, y2): top-left and bottom-right corner coordinates of the target object's outer bounding boxRobotic arm grasp an objectGrasp xxx
remove_obj(x1, y1, x2, y2,color)(x1, y1, x2, y2): top-left and bottom-right corner coordinates of the top color block's outer bounding box. color: color of the obstacle color block.Remove obstacle color blockRemove x color block
putdown()-Release the grasped item from the robotic armPut down xxx
apriltag_sort(x)x: machine code numberSort and retrieve the specified machine codeSort out machine code x
track(x1, y1, x2, y2)(x1, y1, x2, y2): top-left and bottom-right corner coordinates of the target object's outer bounding boxTrack the specified object within viewTrack xx
apriltag_remove_higher(x)x: heightRemove machine code above specified heightRemove machine code higher than x cm
color_remove_higher(color, target_high)color: color target_high: heightRemove color block of specified heightRemove color block higher than target_high cm
garbage_sort(type_)type_: type of garbage to sortSort specified type of garbageSort recyclable garbage
change_pose(x1, y1, x2, y2, x3, y3, x4, y4, src, tar, side)x1, y1, x2, y2, x3, y3, x4, y4: coordinates of top-left and bottom-right corners of target color block and target placement color block; src: color of target color block; tar: color of target placement color block; side: placement directionMove color block to the side of another color blockPlace blue block above yellow block
record_video(time_)time_: video recording durationRecord videoRecord a x-second video
apriltag_follow(target_id)target_id: machine code IDTrack the machine code with specified IDTrack machine code x
compute_pose(x1, y1, x2, y2, name)x1, y1, x2, y2: top-left and bottom-right corner coordinates of the color block whose position needs to be recorded; name: color of the color blockRecord the current position of the specified color blockRecord current position of x color block
compute_pose_order(x1, y1, x2, y2, name, order)x1, y1, x2, y2: top-left and bottom-right corner coordinates of the top color block; name: color of the top color block; order: stacking order from top to bottomRecord the position of each stacked color blockRecord current position of desktop color blocks
return_to_orin(name)name: color of the color block to returnReturn the specified color block to its original positionReturn x color block to original position
light_on(color)color: LED light colorTurn on LED lightTurn on x color light
light_off()-Turn off LED lightTurn off light
beep_on()-Turn on buzzerBuzzer alarm
beep_off()-Turn off buzzerTurn off buzzer
adjust_joint(joint_id, angle)joint_id: servo ID, angle: servo angleSet servo angleSet servo x to y degrees
gripper_open()-Open gripperOpen gripper
gripper_close()-Close gripperClose gripper
color_back_to_orin()-Publish color block return orderReturn desktop color blocks to original positions
grasp_from_rm_list(color)color: color block colorGrasp color block from the removal listGrasp x color block from removal list
arm_move(Dir, Dist)Dir: direction for adjusting the end of the robotic arm (up, down, left, right, front, back); Dist: adjustment distance in cmAdjust the position of the end of the robotic armMove robotic arm x by y cm
point_to(x1, y1, x2, y2)x1, y1, x2, y2: top-left and bottom-right corner coordinates of the object to point toRobotic arm points to objectPoint robotic arm to x
garbage_sort_all()-Sort garbage labelsClean desktop garbage
grasp_from_down_list(color)color: color block colorGrasp color block from the placement listGrasp x color block from placement list
check_remove(color)-Check if the specified color block exists in the removal listCheck if x color block exists in removal list
seewhat()-Take a photo of the robot's current perspective and upload it to the execution layer large modelObserve environment
video_understanding()-Understand video contentWhat is the content of the video just recorded?
finish_dialogue()-Reset history context, start a new task cycle-
wait(x)x: time in secondsWait for a period of time, perform no actionWait x seconds
finishtask()-Automatically called after the robot completes a task to stop sending status feedback to the execution layer model-

5. Application of Voice Models in the System

5.1 Speech Recognition

Since the decision layer and execution layer large models are respectively a text generation model and a vision multimodal model, they cannot directly receive voice information from the user. Therefore, a speech recognition large model is needed to convert the user's voice instructions into corresponding text before passing it to the AI large model.

语音转文字.drawio

5.2 VAD Voice Activity Detection

VAD (Voice Activity Detection) is a technology that automatically identifies speech segments and non-speech segments (such as silence, noise) in a speech signal. It locates the start and end positions of speech from the audio stream and filters out irrelevant background sounds.

In subsequent hands-on courses, when the user uses the wake word "Hello yahboom" to wake up the robot, it will enter VAD voice activity detection. The system automatically detects the user's speaking duration, saves the valid sound segment as a WAV audio file, and then sends the audio file to the speech recognition model for conversion to text.

5.3 Speech Synthesis

The text response generated by the large model for the user is converted into audio through a speech synthesis model, which is then played through the hardware speaker.

语音合成drawio

 

RAG Retrieval Enhancement and Model Training Samples
Embodied Intelligent Functions Core Source Code

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/中文