概览#
按开发目标选择接入、仿真或客户端入口。
最小接入示例#
按目的选择只读检查、通信初始化或运动例程,运行前确认脚本操作的设备与配置。
参数化IMU读取#
构建SDK并加载终端环境后,用以下示例读取HIPNUC缓存。参数填写实际IMU ID、接口和速率。
import argparse
import imu_py
parser = argparse.ArgumentParser()
parser.add_argument("--imu-id", type=int, required=True)
parser.add_argument("--interface-type", choices=("serial", "can"), required=True)
parser.add_argument("--interface", required=True)
parser.add_argument("--baudrate", type=int, required=True)
args = parser.parse_args()
imu = imu_py.IMUDriver.create_imu(
args.imu_id, args.interface_type, args.interface, "HIPNUC", args.baudrate
)
print("quat wxyz:", imu.get_quat())
print("angular velocity:", imu.get_ang_vel())
print("linear acceleration:", imu.get_lin_acc())示例会打开通信接口并输出缓存;刚创建时可能还没有有效反馈。在线状态结合通信与持续反馈更新判断。机身坐标转换见 IMU接口。
仓库完整 scripts/imu_py_example.py 使用 can4 和安装外参,并依赖SciPy。使用前替换为实际接口与安装外参。
电机运动例程#
scripts/motors_py_example.py 创建DM驱动并使能,以MIT模式发送目标位置,最后去初始化。目标位置和增益须与实际电机、负载及操作条件匹配。
运行前按适用执行器与交付版本的操作要求确认运动条件,指令参数见 Motors API。
Robot例程适用范围#
上游README的Robot最小例程读取 robots/rpo/robot.yaml,调用初始化、刷新、读取和 apply_action。使用RP1前,核对机器人配置、关节映射与动作输入。
RobotInterface 的缓存和向量约定见 Robot接口。
RP Hand通信初始化#
RP Hand快速开始中的调用顺序为:创建 RP_Hand / canfd / RP_HAND_6DOF 对象;调用 init_hand(False, False, 0.0);检查健康与自由度;最后 deinit_hand()。
这一路径发送初始化配置,不请求使能或回零。随后分别检查反馈更新与运动前提;接口名与单位见 RP Hand。
接入与仿真#
Android客户端#
roboparty_joystick 是Android控制客户端,主要通过UDP/BLE发送认证、控制、技能动作和停止请求,并显示遥测。关节位置与力矩控制使用对应SDK接口。
| 源码接口 | 用途 |
|---|---|
ControlChannel |
连接、断开、控制、停止、销毁 |
AuthPacket |
请求、挑战、签名响应与token结果 |
ControlPacket |
归一化轴值、按键、序列号与时间戳 |
SkillActionPacket |
action_id、request_id及动作确认 |
StopPacket |
软件停止请求与确认 |
认证成功后控制包携带token。动作协议区分ACK1收到与ACK2完成;软件停止确认与硬件停止状态分别检查。连接前确认服务端版本与控制指令映射。
BLE使用专用 connectBle(BluetoothDevice),通用 connect(host, port) 在BLE实现中不适用。UDP与BLE分别按各自生命周期与心跳实现集成。
工具链文件列JDK17、Android minSdk28、compile/target34。main中的versionName为1.0.1,但提交不同于v1.0.1标签;部署时记录实际APK版本与对应提交。