BeagleBone Blue
该飞行控制器支持 PX4 试验性.
BeagleBone Blue 是一款基于 Linux 的一体化计算机。虽然它是为机器人技术而优化的,但这块小巧而廉价的电路板拥有飞行控制器所需的所有传感器和外围设备。本主题将介绍如何设置电路板以运行 PX4,其中包括 librobotcontrol 机器人软件包。
操作系统图像
BeagleBone Blue 图片可在此处找到:
- 最新稳定的操作系统镜像.
- 测试操作系统图像 (经常更新)。
有关闪存操作系统图像的信息,请访问 本页.其他有用信息可参见 常见问题.
您也可以选择更新到实时内核。 librobotcontrol 能与实时内核正常运行。
更新本文档时的最新操作系统图像是 bone-debian-9.9-iot-armhf-2019-08-03-4gb.img.xz.
跨编译器构建(推荐)
推荐的 PX4 制作方法 BeagleBone Blue 在开发计算机上编译,然后将 PX4 可执行二进制文件直接上传到 BeagleBone Blue。
建议采用这种方法 本地构建 由于部署速度快、使用方便。
构建 PX4 需要 librobotcontrol 会自动包含在构建过程中(但如果需要,也可以单独安装和测试)。
Beaglebone Blue WIFI 设置
为了方便访问电路板,您可以通过无线网络将其连接到家庭网络。
步骤是(在黑板上执行):
sudo su connmanctl connmanctl>扫描 wifi connmanctl>服务
#(此时,你会看到网络 SSID 出现。)
connmanctl>agent on connmanctl>connect <SSID> connmanctl>quit
在 Beaglebone 上使用 SSH root 登录
可以通过以下方式在电路板上启用 Root 登录:
sudo su
回响 "允许根登录 yes"; /etc/ssh/sshd_config &&systemctl restart sshd
交叉编译器设置
首次设置 rsync (用于通过网络(WiFi 或以太网)将文件从开发计算机传输到目标板)。对于 rsync 在 SSH 上使用密钥身份验证,请按照此处(在开发机器上)的步骤操作:
如果之前未生成 SSH 密钥,则生成该密钥:
ssh-keygen -t rsa
- 输入 //无密码
- 输入
- 输入
将 BeagleBone Blue 板定义为
Beaglebone
于 /etc/hosts 并将 SSH 公钥复制到板上,以实现无密码 SSH 访问:ssh-copy-id root@beaglebone
- 或者,您也可以直接使用 beaglebone 的 IP:
ssh-copy-id root@<IP>;
- 当提示您是否信任时:是
- 输入根密码
- 交叉编译设置
- 工具链下载
- 首先将工具链安装到 /opt/bbblue_toolchain/gcc-arm-linux-gnueabihf.下面是使用软链接选择要使用的工具链版本的示例:
ARM 交叉编译器 BeagleBone Blue 请访问 Linaro 工具链二进制文件网站.mkdir -p /opt/bbblue_toolchain/gcc-arm-linux-gnueabihf chmod -R 777 /opt/bbblue_toolchain
- 首先将工具链安装到 /opt/bbblue_toolchain/gcc-arm-linux-gnueabihf.下面是使用软链接选择要使用的工具链版本的示例:
- 工具链下载
提示** 工具链中的 GCC 应与 *BeagleBone Blue* 中的内核兼容。一般经验法则是选择 GCC 版本不高于 *BeagleBone Blue* 上操作系统映像自带的 GCC 版本的工具链。下载并解压 [gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf](https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz) 到 bbblue_toolchain 文件夹。适用于 *BeagleBone Blue* 的不同 ARM 交叉编译器版本可在【Linaro 工具链二进制文件网站】(http://www.linaro.org/downloads/) 上找到。> **提示** 工具链的 GCC 版本应与 *BeagleBone Blue* 中的内核兼容。一般经验法则是选择 GCC 版本不高于 *BeagleBone Blue* 上操作系统映像自带的 GCC 版本的工具链。1.将其添加到 ~/.profile 中的 PATH,如下所示 ```sh export PATH=$PATH:/opt/bbblue_toolchain/gcc-arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin ``` > **注** 注销并登录以应用更改,或在当前 shell 上执行相同的行。按照 [Development Environment Setup](https://dev.px4.io/master/en/setup/dev_env_linux_ubuntu.html) 的说明操作。您可能需要编辑上传目标,以便与您的设置相匹配:```nano Firmware/boards/beaglebone/blue/cmake/upload.cmake #在第 37 行更改 [email protected] --> root@beaglebone (或 root@<IP>) ````
交叉编译和上传
编译和上传
使 beaglebone_blue_default 上传
不上传时,文件存储在本地的构建文件夹中。
要测试上传的文件,请在 BeagleBone Blue 董事会:
CD /home/debian/px4 sudo ./bin/px4 -s px4.config
目前 librobotcontrol 需要 root 访问权限。
本地构建(可选)
您还可以在 BeagleBone Blue 上直接构建 PX4 版本。
获取预置库后、
- 选择 librobotcontrol 安装目录,并在
librobotcontrol_install_dir
环境变量,这样就不会包含其他不需要的标头 - 安装 robotcontrol.h 和 rc/* 成
$LIBROBOTCONTROL_INSTALL_DIR/include
- 将预构建的本地(ARM)版本 librobotcontrol.* 安装到
$LIBROBOTCONTROL_INSTALL_DIR/lib
在 BeagleBone Blue 上运行以下命令(即通过 SSH):
- 安装依赖项:
sudo apt-get update sudo apt-get install cmake python-empy
- 将 PX4 固件直接克隆到 BeagleBone Blue 上。
- 继续 标准构建系统安装.
更改配置
所有更改都可以直接在 beaglebone 上的 de px4.config 文件中进行。例如,可以将 WIFI 更改为 wlan。
如果你想永久改变,就必须改变 Firmware/posix-configs/bbblue/px4.config 然后再在构建机上进行构建。
启动时自动启动
下面是一个示例 [/etc/rc.local]:
#!/bin/sh -e
#
# rc.local
#
# 该脚本在每个多用户运行级别结束时执行。
# 确保脚本在成功或任何其他情况下都会 "exit 0" 退出。
# 出错时的值。
#
# 要启用或禁用此脚本,只需更改执行
# bits.
#
# 默认情况下,该脚本什么也不做。
# 等待服务启动
/bin/sleep 25
CD /home/debian/px4 /home/debian/px4/bin/px4 -d -s /home/debian/px4/px4.config > /home/debian/px4/PX4.log &;
出口 0
以下是 systemd 服务示例 [/lib/systemd/system/px4-quad-copter.service]:
[Unit] Description=PX4 Quadcopter Service After=networking.service network-online.target StartLimitIntervalSec=0 Conflicts=px4-fixed-wing.service [Service] WorkingDirectory=/home/debian/px4 User=root ExecStart=/home/debian/px4/bin/px4 -d -s /home/debian/px4/px4.config Restart=on-failure RestartSec=1 [Install] WantedBy=multi-user.target
杂项
动力伺服导轨
PX4 启动时,会自动为舵机供电。
独特功能
BeagleBone Blue 具有一些独特的功能,如多种 WiFi 接口和电源选择。请参阅 /home/debian/px4/px4.config 以使用这些功能。
SBUS 信号转换器
来自接收器(如 FrSky X8R)的 SBUS 信号是反相信号。BeagleBone Blue 上的 UART 只能与非反相的 3.3V 信号一起工作。 本教程 包含一个 SBUS 信号逆变电路。
典型连接
对于带有 GPS 和 SBUS 接收器的四旋翼飞行器,以下是典型的连接方式:
将电机 1、2、3 和 4 的电调分别连接至 BeagleBone Blue 的伺服输出通道 1、2、3 和 4。如果您的电调连接器包含电源输出引脚,请将其移除,不要将其连接到 BeagleBone Blue 上伺服通道的电源输出引脚上。
如果您有与 dsm2 匹配的连接器,请将上述转换后的 SBUS 信号连接到 dsm2 端口,否则请将其连接到任何其他可用的 UART 端口,并在 "UART "中更改相应的端口。 /home/debian/px4/px4.config 因此。
将 GPS 模块的信号连接到 BeagleBone Blue 上的 GPS 端口。请注意,BeagleBone Blue 上 GPS 端口的信号引脚只有 3.3V 容差,因此请选择相应的 GPS 模块。