Quick Start
Get SDK
gitee: https://gitee.com/FourierIntelligence/fourieractuatorsdk/tree/v3/
github: https://github.com/FFTAI/fourier_actuator_sdk/tree/v3/
Operational Steps
Step 1: Hardware Setup
-
Connect Power and Network
- Connect the 48V DC power supply to the FSA
- Connect the network cable to the FSA
- Observe the FSA indicator light status after powering on
-
Check Indicator Light Status
- ✅ Purple breathing light: Normal status
- ⚠️ Yellow/Red breathing light: Error occurred, need to query error code through host computer
-
Confirm IP Address
- Check if the FSA IP is
192.168.137.101 -
💡 Tip: cpp example uses
192.168.137.101as the default target FSA address
- Check if the FSA IP is
Step 2: Environment Configuration
Linux Environment
# Install build tools
sudo apt install build-essential cmake
# Install Python dependencies
pip install fi_fsa_v3 --break-system-packages
Windows Environment
# Install Python dependencies
pip install fi_fsa_v3
Step 3: Run Example
C++ - Linux
# Navigate to example directory
cd example/cpp
# Build
cmake -S . -B build_linux_cpp && cmake --build build_linux_cpp -j
# Run example
./build_linux_cpp/demo_get_info
C++ - Windows
# Navigate to example directory
cd example\cpp
# Build (requires MSVC)
cmake -S . -B build_windows_cpp; cmake --build build_windows_cpp --config Release
# Run example
.\build_windows_cpp\Debug\demo_get_info.exe
Note: Only the Release configuration can be used during the build process.
C++ Example Output
If successful, you should see output similar to the following:
Hello, FSA!
FSA initialized
p: -0.733910, v: 0.003944, c: 0.000000, t: 0.370531, te: 0.000000
mos: 24.196949, coil: 26.697445, vbus: 39.140625
err_code[0]: 0x0
err_code[1]: 0x2
err_code[2]: 0x8
err_code[3]: 0x0
err_code[4]: 0x0
err_code[5]: 0x0
err_code[6]: 0x0
err_code[7]: 0xC
parsed_err_codes size: 3
err_level: 1, err_u32_index: 2, err_bit_index: 3, parsed_code: 0x3303, str_for_log: WARNING3_DOUBLE_ENCODER
err_level: -2, err_u32_index: 7, err_bit_index: 2, parsed_code: 0x3802, str_for_log: INFO8_M4_FW_CHANGED
err_level: -2, err_u32_index: 7, err_bit_index: 3, parsed_code: 0x3803, str_for_log: INFO8_M4_VER_CHANGED
FSA: pos_kp: 0.0000, vel_kp: 0.0000, vel_ki: 0.0000
FSA: pd_kp: 0.0100, pd_kd: 0.0000
type: , sub_version:
name: , type: , mcu_fw_version: , mac_address: , uid: , sn: , PCBA_sn: , gearbox_sn: , static_IP: , gateway: , subnet_mask: , dns_1: , dns_2: , DHCP_enable: 195
⚠️ Troubleshooting: If an error code is returned, please refer to the C++ API Documentation to query the corresponding status code and troubleshoot.
Python - Linux
# Navigate to example directory
cd example/python
# Run example
python3 ./demo_get_info.py
Python - Windows
# Navigate to example directory
cd example\python
# Run example
python .\demo_get_info.py
Python Example Output
If successful, you should see output similar to the following:
Hello, FSA!
FSA initialized
p: -0.7339, v: 0.0005, c: 0.0000, t: 0.0641, te: 0.0000
mos: 34.316509, coil: 28.619947, vbus: 39.147949
err_code[0]: 0x0
err_code[1]: 0x2
err_code[2]: 0x8
err_code[3]: 0x0
err_code[4]: 0x0
err_code[5]: 0x0
err_code[6]: 0x0
err_code[7]: 0xC
parsed_err_codes size: 3
err_level: 1, err_u32_index: 2, err_bit_index: 3, parsed_code: 0x3303, str_for_log: WARNING3_DOUBLE_ENCODER
err_level: -2, err_u32_index: 7, err_bit_index: 2, parsed_code: 0x3802, str_for_log: INFO8_M4_FW_CHANGED
err_level: -2, err_u32_index: 7, err_bit_index: 3, parsed_code: 0x3803, str_for_log: INFO8_M4_VER_CHANGED
PID: pos_kp=0.0000, vel_kp=0.0000, vel_ki=0.0000
PD: kp=0.0100, kd=0.0000
type: , sub_version:
name: , type: , mcu_fw_version: , mac_address: , uid: , sn: , PCBA_sn: , gearbox_sn: , static_IP: , gateway: , subnet_mask: , dns_1: , dns_2: , DHCP_enable: False
Step 4: Make FSA Rotate
⚠️ Safety Warning:
- Secure the FSA before making it rotate
- Ensure the DC power supply current limit threshold is set appropriately (no-load current can be limited within 2A)
- If the FSA response is slow, you may need to adjust PID/PD parameters
Position Control Example - C++ (Linux)
# Navigate to example directory
cd example/cpp/build_linux_cpp
# Run example
./demo_position_control
Position Control Example - C++ (Windows)
# Navigate to example directory
cd example\cpp\build_windows_cpp
# Run example
.\Debug\demo_position_control.exe
Position Control Example - Python (Linux)
# Navigate to example directory
cd example/python
# Run example
python3 ./demo_position_control.py
Position Control Example - Python (Windows)
# Navigate to example directory
cd example\python
# Run example
python .\demo_position_control.py
📚 Related Documentation
For more detailed documentation, please refer to:
-
📖 Actuator Introduction - Learn about FSA actuator basic concepts and control modes
-
🔧 C++ API Documentation - C++ interface function descriptions and examples
-
🐍 Python API Documentation - Python interface function descriptions and examples
💡 Tips
-
If you encounter issues, first check hardware connections and IP address configuration
-
For error code queries, please refer to the corresponding API documentation
-
It is recommended to secure the FSA before performing motion control tests