Skip to content

Network Configuration and Build

The Motion SDK uses UDP for bidirectional communication with the robot firmware:

graph LR
A["SDK (Development Host)"] -->|"UDP: 192.168.x.x:43893"| B["Robot Firmware (Motion Host)"]
B -->|"UDP Broadcast: port 43897"| A
DirectionPortDescription
Robot → SDK43897 (local listen)Robot firmware broadcasts status data to this port
SDK → Robot43893 (target port)Sent to 192.168.x.x:43893
  • When connected via WiFi:
    • Subnet 1 → Motion host IP: 192.168.1.120
    • Subnet 2 → Motion host IP: 192.168.2.1
  • When connected via rear Ethernet port: Motion host IP: 192.168.1.120
UsernamePasswordDescription
ysc' (English single quote)Default configuration
user123456Alternative
fireflyfireflyAlternative

Configure Motion Host Data Reporting Address

Section titled “Configure Motion Host Data Reporting Address”

After SSH login to the motion host, edit the network configuration file:

Terminal window
cd ~/jy_exe/conf
vim network.toml

Configuration file content:

ip = '192.168.1.102' # Motion host sends data to this IP
target_port = 43897
local_port = 43893

Modify ip to the IP address of the host running the SDK:

  • SDK runs inside the motion host → Set to 192.168.1.120 or 192.168.2.1
  • SDK runs on the development host → Set to the development host’s static IP (e.g., 192.168.1.xxx)

Check the motion program version:

Terminal window
cd ~/jy_exe/scripts
./stop.sh
./run.sh

Check Version

If the username is user and Deeprcs Version is earlier than 1.4.24(97), or the username is firefly and the version is earlier than 1.4.21(94), the model configuration needs to be modified:

Terminal window
cd ~/jy_exe/conf
vim name.toml

Change the name value to standard_2.

If the terminal shows the new version interface as below, no modification is needed:

New Version Interface

Restart the motion program after configuration:

Terminal window
cd ~/jy_exe/scripts
sudo ./stop.sh
sudo ./restart.sh

When creating a Sender in main.cpp, specify the motion host IP:

Sender* send_cmd = new Sender("192.168.1.120", 43893); ///< Modify according to actual host address
ItemRequirement
OSLinux (Ubuntu recommended)
CMake≥ 2.8.3
CompilerC++11 compiler
Pre-compiled librariesAlready included in the lib/ directory

Enter the project directory, create the build folder, and compile:

Terminal window
cd Lite3_MotionSDK
mkdir build && cd build

x86 platform build:

Terminal window
cmake .. -DBUILD_PLATFORM=x86
make -j

ARM platform build (for running on the motion host):

Terminal window
cmake .. -DBUILD_PLATFORM=arm
make -j

After compilation, the executable Lite_motion is generated in the build directory.

CMakeLists.txt selects the corresponding pre-compiled library for the target platform via the BUILD_PLATFORM parameter:

if (BUILD_PLATFORM STREQUAL arm)
target_link_libraries(${PROJECT_NAME} libdeeprobotics_legged_sdk_aarch64.so)
else()
target_link_libraries(${PROJECT_NAME} libdeeprobotics_legged_sdk_x86_64.so)
endif()

Pre-compiled library list:

FileArchitecturePurpose
libdeeprobotics_legged_sdk_x86_64.sox86_64Development host
libdeeprobotics_legged_sdk_aarch64.soARM64Lite3 onboard host

Ensure the development host is connected to the robot network, then execute:

Terminal window
./Lite_motion

To ensure the robot returns to zero position smoothly, please adjust the robot to the ready posture before running the program.