通过 MAVLink 与 ODroid 通信¶
概述¶
本页介绍了如何连接和配置 ODROID U3 (已停产) , ODROID-C1+ 或 ORDOID-XU4 使其能够通过串行连接使用 MAVLink 协议与 Pixhawk 飞行控制器通信。其功能与 树莓派 只不过 ODroid 的 CPU 速度更快(性能大约是 RPi 的 10 倍)。
推荐部件¶
需要这些部件:
ODROID 板 (ODROID-C1+, ORDOID-XU4 或 ODROID U3 (已停产))
8GB MicroSD 卡 或 8GB eMMC 模块 预装 Linux(EMMC 模块的速度约为 4 倍,可能对图像处理有用)
FTDI 电缆 <;https://www.amazon.com/ftdi-adapter/s?k=ftdi+ 适配器或 USB 转串行接口,如 此.这 链接 概述了 USB-TTL 模块。
这些可选项目可能也很有用:
罗技高清专业网络摄像头 C920 是图像处理应用的推荐相机,因为它使用 h264 格式对图像进行本地编码。
备注
这款网络摄像头的可用分辨率仅限于 640 x 480(也可能是 1280 x 720),因为还没有为这款摄像头编写正式的 Linux 驱动程序。
HDMI A 型电缆 如果您希望将 ODroid 连接到电脑显示器上
无线模块 如果您希望使用 WiFi 从台式电脑连接到 ODroid
串行调试电缆 如果您希望通过直接连接台式电脑来连接 ODroid 控制台
用于地面连接的 Cat6 电缆
ODROID 初始设置¶
与网络连接后,管理 odroid 会变得更加容易。我们使用以下步骤完成电路板的初始设置:
发现 IP 地址¶
使用键盘/鼠标/显示器¶
将预装的 eMMC 或 MicroSD 卡插入电路板
(临时)在 USB 端口上安装鼠标和键盘
将电源插头插入电路板(此时,启动 LED 指示灯应亮起蓝光)
将微型 HDMI 电缆连接到电路板上(必须这样做 后 如果出现以下情况,则可能需要重新启动主板:主板开始启动,或者监视器可能使主板背电/无法启动)。
将出现一个文本菜单
选择高级设置并启用 SSH 服务器
选择选项来扩展根文件系统,以填充存储卡
选择保存并重新启动
电路板重新启动后,会进入一个外观相当标准的 Ubuntu
转到右上角的网络设置图标,加入你的 WIFI 网络
键入 "ifconfig "查看分配给电路板的 IP 地址
使用命令行¶
您可以使用名为 nmap 的实用程序发现网络上设备的 IP 地址
$ sudo nmap -sn 10.0.1.0/24
这将返回已发现的网络设备列表,您将看到类似以下的条目
*(本例为 RPi - 将更新为 ODROID)
Nmap 扫描 报告 对于 10.0.1.17
主持人 是 向上 (0.00056s 潜伏期).
媒体访问控制 地址: B8:27:EB:0A:26:9D (覆盆子 Pi 基金会)
已知 IP 地址的常见设置¶
从其他计算机键入 "ssh -Y 机器人@IP 地址",并输入密码 odroid。确认可以登录并获得 ssh shell
在 odroid shell 中键入 "sudo adduser odroid dialout"--这样 odroid 账户就能访问串行(pixhawk)端口。
在 odroid shell 中键入 "sudo adduser odroid plugdev"--这将赋予 odroid 账户访问 USB 摄像头的权限。
现在,你可以拔掉键盘/鼠标/HDMI 电缆,想用 ssh 就用 ssh。只要使用 SSH 的 -Y 选项,你甚至可以在 odroid 上运行图形应用程序,它们也会出现在你的台式电脑上(假设你运行的是能理解 X-Windows 的系统)。
连接 Pixhawk 和 ODroid¶
如果使用 FTDI 电缆,请按下图所示连接,切勿连接电源线。
如果使用 USB 转串行接口,请按下图连接。
电源连接如下所示:
使用 SSH/Telnet 客户端连接 ODroid¶
安装所需软件包¶
假设您已通过 SSH 连接到 Pi。
参见 MAVProxy 文档 获取安装说明
测试连接¶
在尝试之前,您需要用 USB 电缆通过Mission Planner地面站连接 Pixhawk。
将 SERIAL2_BAUD(遥测 2 波特率)设为 1500(1.5Mbit)。
要测试 ODroid 和 Pixhawk 能否相互通信,首先要确保两者都有电源,然后在 Odroid 类型的控制台中进行测试:
mavproxy.py --master=/dev/ttyUSB0 --波特率 1500000 --飞机 我的旋翼飞行器
一旦 mavproxy 启动,您就可以输入以下命令来上膛和撤膛旋翼飞行器。
上膛 throttle
撤膛
配置 mavproxy 始终运行¶
在"/home/odroid/.bashrc "文件末尾添加以下内容即可。Pixhawk 通过 "ttyUSB0 "连接。文件最后部分应如下所示。 将 IP 地址更改为地面站的 IP 地址 (这也会启动气球搜索器,如果不想让它运行,请注释掉这一行)。
export PATH=$PATH:$HOME/GitHub/ardupilot-balloonfinder export PATH=$PATH:$HOME/GitHub/ardupilot-balloonfinder/scripts export PYTHONPATH=$PYTHONPATH:$HOME/GitHub/ardupilot-balloonfinder/scripts if screen -list | grep -q "MavProxy"; then echo "MavProxy is already running" else cd /home/odroid screen -S MavProxy -d -m -s /bin/bash mavproxy.py --master=/dev/ttyUSB0 --baudrate 1500000 --out 192.168.1.11:14550 --aircraft MyCopter python /home/odroid/GitHub/ardupilot-balloon-finder/scripts/colour_finder_web.py echo "started MavProxy type screen -x to view" fi
与Mission Planner地面站联系¶
项目实例¶
红气球查找器¶
编写红气球搜寻器项目的目的是让 Odroid 控制基于 Copter 的四旋翼飞行器,以搜寻并戳破 1 米长的红气球。 Sparkfun 2014 AVC.在 odroid 上运行的 python 代码如下所示 这里.稍作修改后的 Copter-3.2 代码如下所示 这里.安装说明如下。
在 Pixhawk 上设置以下参数:
SERIAL2_BAUD 至 921(每秒 921600 比特)
SR2_EXTRA1 至 20(Pixhawk 至 Odroid 的姿态更新率为 20 赫兹)
创建 home/odroid/GitHub 目录,我们将在其中安装所需的源代码:
CD /首页/机器人/
mkdir GitHub
CD GitHub
键入以下命令下载 ardupilot-balloon-finder 源代码:
git 复制 https://github.网/rmackay9/ardupilot-球囊-搜索器.git
通过以下操作将 ardupilot-balloon-finder 添加到 PATH 和 PYTHONPATH:
CD /首页/机器人/
纳米 .bashrc #注意,"nano"可以用你喜欢的编辑器(如"vi")代替;
滚动到文件底部,在最后一项中添加以下内容
export PATH=$PATH:$HOME/GitHub/ardupilot-balloonfinder export PATH=$PATH:$HOME/GitHub/ardupilot-balloonfinder/scripts export PYTHONPATH=$PYTHONPATH:$HOME/GitHub/ardupilot-balloonfinder/scripts
无人机应用程序接口¶
要安装最新的 无人机应用程序接口运行以下程序
苏都 核心 安装 --升级 droneapi
接下来设置 mavproxy,以便每次启动时都启动 DroneAPI:
纳米 /首页/机器人/我的旋翼飞行器/.袦袝袥袗袥袗.擦洗
然后在文件中添加以下内容(将 balloon_strategy.py 的路径改为您的路径)
模块 负荷 droneapi.模块.应用程序接口
应用程序接口 启动 /首页/机器人/GitHub/ardupilot-球囊-搜索器/脚本/气球战略.py
Cherrypy¶
Cherrypy 是 ardupilot-balloon-finder 使用的简单 python 网络服务器,用于在网页上显示摄像头当前看到的内容。在 Odroid 终端中输入以下内容安装 Cherrypy:
苏都 核心 安装 樱桃核
无法正常工作?请尝试在 同伴电脑讨论区.