# niryo_pygame_controller **Repository Path**: JackMoHeiHei/niryo_pygame_controller ## Basic Information - **Project Name**: niryo_pygame_controller - **Description**: niryo_pygame_controller - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-20 - **Last Updated**: 2026-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 使用键盘通过TTL控制niryo机械臂 开始之前需要对电机及舵机进行初始设置 通常把从底部到手部的关节称作 joint1-joint6 - joint1;joint2;joint3 是emm闭环步进电机 - joint4;joint5 是dxl430舵机 - joint6 是dxl320舵机 **需要对emm闭环做以下设置** - P_Serial 为 UART_FUN - P_Pul 为 PUL_FOC - UartBaud 为 115200 - ID_Addr 不能重复(建议使用 `1` `2` `3`) - Checksum 为 0x6B **需要对dxl舵机进行以下设置** - ID 不能重复 (xl430建议使用 `8` `9` xl30建议使用`10`) > dxl_drive默认会把小于10的ID作为xl430 大于10的ID作为320 你可以修改id_split参数进行修改 - 波特率 115200 **修改`pygameControl.py`代码中的参数** - 修改ID emmID1 = 1 对应joint1 电机ID emmID2 = 2 对应joint2 电机ID emmID3 = 3 对应joint3 电机ID dxlID1 = 8 对应joint4 xl430舵机ID dxlID2 = 9 对应joint5 xl430舵机ID dxlID3 = 10 对应joint6 xl320舵机ID ~~dxlID4 = 11 对应夹爪 xl320舵机ID~~ (默认不配置夹爪) - 修改串口和波特率 你可以在初始化控制类中修改串口端口和波特率 EmmV5MotorController(port="COM1", baudrate=115200 DynamixelController(port="COM2", baudrate=115200, id_split=10) **安装python库** ``` pip install pygame serial dynamixel_sdk ``` **运行控制程序** ``` pyton pygameControl.py ``` **通过按键进行控制** > 需要输入法为英文状态 并且pygame窗口为激活状态(获取焦点) ``` 键位 joint1: A D joint2: W S joint3: ↑ ↓ joint4: ← → joint5: 8 5(小键盘) joint6: 6 4(小键盘) 更改速度键位 主键区数字键 1-0 停止程序 ESC ``` > 停止程序后所有关节将失去使能,注意机械臂状态不免高处下落