Welcome to Muto RS Robot repository
0.MutoRS Model Setup & Details
MutoRS-Specific Large Model Configuration and Related Content Explanation
MutoRS-Specific Large Model Configuration and Related Content ExplanationIntroductionConfiguring the Startup FileStart the Dify environmentStart the Docker environmentConfigure Radar ModelSpeed Calibration1. Why calibrate the speed?2. PreparationHardware Preparation3. Quick Start4. Detailed Operation ProcessMode 1: Linear Speed CalibrationMode Two: Angular Speed Calibration5. Data Processing and Activation6. Verifying Results
Introduction
In previous chapters, we learned some general configuration basics for large AI models. In MutoRS, these configuration methods are slightly different. This tutorial will explain in detail how to configure the MutoRS large model.
Configuring the Startup File
Here we need to prepare the API Key for the Bailian Large Model Platform, in the format "sk-xxxxxxxxxxxxx".
In VNC, enter the Raspberry Pi mainboard.
Enter the following command:
x
sudo gedit /usr/bin/start_muto_docker
①: Enter your API Key here
②: Language selection: set to zh_cn for Chinese, en for English
Overseas users need to change this configuration item to "xunfei"

After setting, click the save button in the upper right corner to save the script.
Start the Dify environment
On the host machine, enter
xxxxxxxxxxbringup_dify

If you don't need to start Dify, you can enter the following command to shut it down:
xxxxxxxxxxshut_dify
Start the Docker environment
On the host machine, enter
xxxxxxxxxxstart_muto_docker

Configure Radar Model
(Configuration is required for 4ROS radar; A1 radar does not require configuration)
Edit the ~/.bashrc file. You can use any editor you prefer, such as vim or nano.
Locate the section shown in the image and select either a1 or 4ROS according to the radar type (note capitalization).

After configuration, you need to source the file.
xxxxxxxxxxsource ~/.bashrc
Navigate to the muto-llm-2.0 directory and run the rebuild_and_launch.sh script.
xxxxxxxxxxcd muto-llm-2.0/ && ./rebuild_and_launch.shThe following interface indicates successful startup.

Supplement: Regarding the rebuild_and_launch startup script, you can use the --no-voice parameter to start the plain text version.
Speed Calibration
1. Why calibrate the speed?
Due to differences in motors, fine-tuning of mechanical structures, and variations in ground friction, the actual movement speed of each hexapod robot will deviate slightly. This script (speed_calibration_30_levels.py) is used to establish a precise mapping between gear levels (Level 1-30) and actual physical speed (m/s or deg/s) through field testing.
If you don't need the Muto to move with extremely precise distance/speed, you can skip this step.
2. Preparation
Hardware Preparation
- Field: An open, flat surface (3m x 2m or larger recommended). The surface material should be consistent with the actual operating environment (different friction surfaces such as tiles and carpets will greatly affect speed).
- Tools: Measuring tape (at least 0.5 meters), marking tape (for marking start and end points).
- Muto: Ensure battery is fully charged
3. Quick Start
Ensure you are in the Docker environment. Open a terminal and run:
xxxxxxxxxxcd ~/muto-llm-2.0python speed_calibration_30_levels.py
The main menu will be displayed after the program starts:
xxxxxxxxxx📋 Please select a function mode:1. Linear velocity calibration (m/s) - Test forward, backward, left, and right translation speed2. Angular velocity calibration (deg/s) - Test rotation speed3. Load angular velocity calibration file into configuration4. Load linear velocity calibration file into configuration4. Detailed Operation Process
Mode 1: Linear Speed Calibration
This mode is used to calibrate the robot's movement speed. The system will select key speed ranges (e.g., 1, 5, 10, 15, 20, 25, 30) for testing.
- Enter
1to enter mode. - Test Procedure (for each speed range):
- Placement: Place the robot in the starting position and mark the front of the robot with tape.
- Running: Press Enter, and the robot will automatically move forward for 3 seconds before stopping.
- Measurement: Measure the actual distance traveled (in meters) using a measuring tape.
- Input: Enter the distance value in the terminal (e.g.,
0.45) and press Enter to confirm.
- Loop: The system will automatically switch to the next speed range and repeat the above steps.
Tip: If a test goes astray or a measurement error occurs, enter
uto undo the previous step; enterrto re-enter the distance.
Mode Two: Angular Speed Calibration
This mode is used to calibrate the robot's spin speed.
- Enter
2to enter mode. - Test Procedure (for each gear):
- Positioning: Record the robot's current orientation (as the 0-degree reference line).
- Start: Press Enter, and the robot will begin to rotate continuously in place.
- Stop: Observe the robot. When it completes exactly one full rotation (360 degrees) and returns to its original orientation, immediately press the Enter key.
- Record: The system will automatically calculate the time and angular velocity; no manual input is required.
5. Data Processing and Activation
After completing the tests for all key gears, the script will automatically process the data:
- Intelligent Interpolation:
- When the system asks whether to interpolate, enter
y. - The script uses an algorithm to calculate the speed values for untested gears (middle gears) and completes the data for gears 1-30.
- Saving and Applying:
- The system will generate a
.jsonbackup file. - Crucial Step: When asked whether to write to
robot_config.json, be sure to entery. - Only after writing the configuration will the calibration data take effect on the robot's navigation program.
6. Verifying Results
You can open config/robot_config.json to view the updated data:
- Linear Velocity: View the
linear_speed_calibration_30_levelsfield. - Angular Velocity: View the
angular_speed_calibration_30_levelsfield.
Example:
xxxxxxxxxx"linear_speed_calibration_30_levels": { "1": 0.02, "5": 0.08, "30": 0.55}- If calibrated on a smooth floor but operated on a carpet, the robot may not travel the expected distance due to increased friction, resulting in navigation errors. Please always calibrate in an actual operating environment.