行走机器人¶
ArduPilot Rover 4.1(及更高版本)包含对四足行走机器人的基本支持。更多详情可参阅 这篇 GSoC 2020 博文
警告
本页面仍在制作中
所需硬件¶
1x Lynxmotion Phoenix 3DOF 六角脚架框架 (只连接 4 条腿)
12x 海泰克 HS-645MG 伺服器
1x 2200mAh 2S 锂电池
1x 15 安培 UBEC
与 ArduPilot 兼容的(飞行)控制器 至少有 12 个 PWM 输出,最好配备功能强大的 STM32H7 CPU,以提供足够的内存来运行 Lua 脚本 动辄
硬件设置¶
正面图
ArduPilot 知道伺服器居中时每条腿的方向至关重要。代码假定,当所有伺服器都处于中心位置时,髋关节直接朝向远离身体的方向,股骨与地面持平,胫骨与股骨成 90 度角。
图片可供参考。
腿的方向
俯视图
将 AutoPilot 的 pwm 输出连接到每个舵机,如下所示:
输出 |
伺服 |
1 |
前右髋关节伺服器 |
2 |
前右股(大腿)伺服器 |
3 |
前右胫骨(胫骨)伺服器 |
4 |
前左髋关节伺服器 |
5 |
前左股骨(大腿)伺服器 |
6 |
前左胫骨(胫骨)伺服器 |
7 |
左后髋关节伺服器 |
8 |
后左股骨(大腿)伺服器 |
9 |
左后胫骨(胫骨)伺服器 |
10 |
右后髋关节伺服器 |
11 |
右后腿(大腿)伺服器 |
12 |
右后胫骨(胫骨)伺服器 |
配置和设置¶
1) 连接、固件和校准¶
参考 (飞行)控制器系统组装说明 用于连接(飞行)控制器电路板和每个组件:
电源模块
伺服系统
遥控接收器
GPS(可选)
遥测(可选)
使用地面站将 Rover-4.1(或更高版本)加载到(飞行)控制器 #。 安装全球监控系统 (建议使用Mission Planner地面站)和 上传漫游车固件如果已安装 ArduPilot 固件,或 将固件加载到没有现有 ArduPilot 固件的电路板上(仅限首次使用) #.执行所有 硬件校准 步骤:
2) 为 ardupilot 载入 lua 脚本¶
连接地面站并设置 SCR_ENABLE = 1 启用 Lua 脚本并重启(飞行)控制器
下载 quadruped.lua 从 ArduPilot Github repo 安装到电脑上
使用 MAVFTP 将 quadruped.lua 脚本加载到(飞行)控制器,或直接复制到 SD 卡的 APM/scripts 目录 (观看视频)
3) 附加参数配置¶
设置 RCx_OPTION 参数
设置任何未使用的频道以访问这些功能
支持的功能¶
RCx_OPTION 值 |
功能描述 |
201 |
卷轴 |
202 |
间距 |
211 |
行走高度 |
4) 上膛¶
设置一个 发射开关 进行上膛。确保用于开关的通道已被 校准.要配置上膛通道(例如通道 7),请设置参数:
RC7_OPTION =41(将通道 7 的功能设置为上膛/撤膛)
连接电池。通过 USB 或遥测技术将(飞行)控制器板与 GCS 连接。
保持机器人腹部着地,然后进行上膛。如果上膛不成功,请检查 GCS 上的错误信息,并从下列信息中找出问题所在 漫游车上膛页面.
自动驾驶板启动后,机器人应自行站立起来
使用 SITL 和 pyBullet 进行仿真¶
以下步骤将帮助您运行四足动物示例。
确保电脑运行的是 Ubuntu 18.04(其他版本也可运行,但尚未得到确认)。
安装 pybullet
管道3 安装 pybullet
cd 到 ardupilot/Rover 目录
创建 "脚本 "目录并复制 quadruped.lua 融入其中
打开终端,进入 /ardupilot/Rover 目录,启动 ArduPilot SITL
模拟载具.py --地图 --游戏机 -D -f JSON
启用脚本,然后重启 SITL
停止 设置 SCR_ENABLE 1
- 设置滚动、俯仰和高度通道
例如
停止 设置 RCx_OPTION 202
打开另一个终端,启动 pyBullet
CD ardupilot/图书馆/SITL/例子/JSON/pybullet
python3 walking_robot.py