任务描述
本章汇总 Fourier-GRX-N1 SDK 中常用任务与模块的说明,适合在查找任务值(TID)、模块值(MID)及任务切换方式时快速参考。
⚠️ 注意:
本章中未列出的任务功能,在使用手柄进行机器人控制,选择任务时仍可能会查看到,表明该任务可能仍处于开发中,或部份已废弃使用(未及时删去)。 因此,建议开发者在使用手柄进行机器人操作时,谨慎选择本章中未列出的任务进行执行,推荐只尝试本技术文档中 任务描述 部分中列出的任务指令。
任务和模块
机器人任务指令列表 🎏:
- 任务指令通过整数
任务值 (TID)传递,具体定义如下: - 具体
任务值 (TID)可能会根据机器人的不同,或fourier-grx版本的不同而有所变化,具体值以实际任务信息为准。
N1 机器人任务指令示例:
| 任务名称 | 任务值 (TID) | 适用机型 | 任务描述 |
|---|---|---|---|
| 全关节下电失能 | 36 | All | 机器人全关节下电失能 |
| 全关节上电使能 | 35 | All | 机器人全关节上电使能 |
| 全关节重启 | 41 | All | 机器人全关节上电使能并重启 |
| 远程控制 | 43 | All | 机器人释放内部关节控制,接受外部(Developer / PubSub)关节指令 |
| 清除全关节报警 | 34 | All | 清除机器人全关节报警 |
| 设置全关节零位 | 999 | All | 设置机器人全关节零位位置为当前位置 |
| 关节运动功能测试 | 902 | All | 机器人关节运动功能测试,用于检测机器人关节是否能够正常运动 |
| 准备姿态 | 960 | All | 机器人运行到 准备状态,为微曲膝关节的站立姿态 |
| 站立/行走 | 965 | All | 机器人运动到 行走状态,可以用手柄控制机器人行走 |
| 站立/行走/跑步 | 966 | N1 | 机器人运动到 跑步状态,可以用手柄控制机器人行走/跑步 |
| 自动爬起 | 968 | N1 | 机器人 自动爬起,自动判断使用前向爬起或后向爬起 |
| 站立/行走/快跑(固定步频) | 3223 | N1 | 机器人 站立/行走/快跑(固定步频) 任务 |
| 站立/行走/快跑(动态步频) | 3241 | N1 | 机器人 站立/行走/快跑(动态步频) 任务 |
| 屈膝 | 3601 | N1 | 机器人 屈膝 任务 |
| 前向爬起 | 3602 | N1 | 机器人 前向爬起 任务 |
| 单腿站立 | 3603 | N1 | 机器人 单腿站立 任务 |
| 后向爬起 | 3607 | N1 | 机器人 后向爬起 任务 |
| 双手支撑前向爬起 | 3608 | N1 | 机器人 双手支撑前向爬起 任务 |
| 深蹲 | 3609 | N1 | 机器人 深蹲 任务 |
| 后向躺下 | 3610 | N1 | 机器人 后向躺下 任务 |
| 前向趴下 | 3611 | N1 | 机器人 前向趴下 任务 |
- All:表示所有傅利叶智能生产机型
- N1:表示傅利叶 N1 系列机型
机器人模块指令列表 🎏:
- 模块任务可以理解为任务下面的子任务模块,但是由于子任务之间可能存在 互斥、组合 的关系,因此,我们并不称其为子任务,而是以 模块 的形式进行管理。
- 相互互斥的几个模块其中一个被调用时,另一个在程序中自动被 挂起。(由控制程序自动管理)
- 相互组合的模块,对方的调用和切换不会互相影响。
- 模块的运行管理全在控制程序中完成,上层无需关心模块的吊起切换过程是否有风险。
模块值 (MID)跟机型绑定关系密切,因此,可能随版本变动,如果发现模块任务未正常执行,建议及时更新到最新固件并 以具体任务中关于模块信息的描述为准。
N1 机器人模块指令示例:
| 任务名称 | 任务值 (TID) | 模块名称 | 模块值 (MID) | 模块描述 |
|---|---|---|---|---|
| 站立/行走 | 965 | 自然摆臂 | 3407 | 自然摆臂 |
| 站立/行走 | 965 | 左手打招呼 | 3412 | 左手打招呼 |
| 站立/行走 | 965 | 右手打招呼 | 3411 | 右手打招呼 |
| 站立/行走 | 965 | 右手握拳 | 3408 | 右手握拳 |
| 站立/行走 | 965 | 右手举起 | 3409 | 右手举起 |
| 站立/行走 | 965 | 双手张开 | 3410 | 双手张开 |
| 站立/行走 | 965 | 上肢托举 | 3403 | 上肢托举动作 |
| 站立/行走 | 965 | 上肢放下 | 3405 | 上肢放下动作 |
| 站立/行走 | 965 | 抱球 | 3413 | 抱球动作 |
| 任务名称 | 任务值 (TID) | 模块名称 | 模块值 (MID) | 模块描述 |
|---|---|---|---|---|
| 站立/行走/跑步 | 966 | 自然摆臂 | 3407 | 自然摆臂 |
| 站立/行走/跑步 | 966 | 左手打招呼 | 3412 | 左手打招呼 |
| 站立/行走/跑步 | 966 | 右手打招呼 | 3411 | 右手打招呼 |
| 站立/行走/跑步 | 966 | 右手握拳 | 3408 | 右手握拳 |
| 站立/行走/跑步 | 966 | 右手举起 | 3409 | 右手举起 |
| 站立/行走/跑步 | 966 | 双手张开 | 3410 | 双手张开 |
| 站立/行走/跑步 | 966 | 抱球 | 3413 | 抱球动作 |
ℹ️ 说明:
部分模块值 (MID) 在代码中同时注册为可独立触发的任务指令 (TID),即可以不依赖行走/跑步任务,直接以任务指令的方式单独触发:
模块值 (MID)3216 / 3221(下身 RL 行走 mix / encoder mix):可直接作为 TID 触发,仅执行下身行走(含上身保持),无上肢动作。模块值 (MID)3407 - 3412(上肢动作):可直接作为 TID 触发对应的上肢固定动作(自然摆臂、右手握拳、右手举起、双手张开、右手打招呼、左手打招呼)。
任务切换
在使用不同方式进行机器人控制时,任务切换的方式可能会有所不同,以下是常见的任务切换方式:
| 物理手柄 | 物理键盘 | 通信 User 接口 | 通信 Developer 接口 | |
|---|---|---|---|---|
| 任务选择 | L1 按键 | up/down 键 | task.robot_task_command 发送 任务值 (TID) | |
| 任务确认 | L2 按键 | enter 键 | task.flag_task_command_update 发送 1 确认更新 | control_system.robot_control_set_task_command(TID) 发送 任务值 (TID) |
| 模块选择 | R1 按键 | task.robot_component_command 发送 模块值 (MID) | ||
| 模块确认 | R2 按键 | task.flag_component_command_update 发送 1 确认更新 | control_system.robot_control_set_task_component(MID) 发送 模块值 (MID) |
ℹ️ 说明:
除上述选择/确认方式外,物理手柄还支持通过快捷键直接触发预设的快捷任务(如准备姿态、行走、跑步、急停等)。 快捷任务需要通过双击对应按键触发(两次按下的间隔需在 0.3 秒以内),单击不会触发任务。