在 Snapdragon 上安装软件

高通骁龙飞行器 已停用(已被取代,但 PX4 尚不支持更新版本)。本文档是为现有用户提供的,但将在未来版本中删除。

要让平台运行完整的 VIO 系统,需要多个组件。下文概述了所使用的不同版本。下面提供了详细的安装说明。

软件 测试版本 链接/提交 ID
ROS 靛蓝 这里
马弗罗斯 0.23.1 这里
MAVLink release/kinetic/mavlink/2018.5.5-0 这里
PX4 这里
Snap VIO 这里
骁龙 Linux 3.1.3.1 这里
DSP 固件 3.1.3.1 这里
高通 MV 1.0.2 这里

防止烧砖

为防止因 ADSP 固件出错而导致系统在启动时挂起,请在继续操作前进行以下更改。通过 USB 将 Snapdragon 插入电脑,然后打开 Android 调试外壳:

adb shell

请注意,骁龙 Flight 需要由外部电源供电。USB 供电是不够的。请一如既往地在接通电源前取下道具!

编辑文件 /usr/local/qr-linux/q6-admin.sh:

vim /usr/local/qr-linux/q6-admin.sh

注释掉以下几行:

# 等待 adsp.mdt 出现 #while [ ! -s /lib/firmware/adsp.mdt ]; do # sleep 0.1 #done

最后

# Don't leave until ADSP is up #while [ "`cat /sys/kernel/debug/msm_subsys/adsp`" != "2" ]; do # sleep 0.1 #done

更新 Linux 映像

更新 Snapdragon 上的 Linux 映像会删除所有内容。

获取最新 Flight_x.x_JFlash.zip这里 并解压缩。在解压后的文件夹中有一个必须用于更新 Linux 映像的脚本。为 Snapdragon Flight 供电,使用微型 USB 电缆连接并运行:

sudo ./jflash.sh

更新 DSP 处理器固件

获取最新 Flight_x.x_qcom_flight_controller_hexagon_sdk_add_on.zip这里 并解压缩。

在解压后的文件夹中,运行

./installfcaddon.sh adb shell sudo reboot

克隆 PX4 固件和版本

在电脑上克隆 PX4 固件 repo,并按下文所述进行构建。

如果您尚未克隆固件 repo:

cd ~ mkdir src cd src git clone [email protected]:PX4/Firmware.git

一旦进入固件的本地副本:

cd Firmware git submodule update --init --recursive export FC_ADDON=<location-of-extracted-flight-controller-addon> make clean make atlflight_eagle_default make atlflight_eagle_default upload adb push ROMFS/px4fmu_common/mixers/quad_x.main.mix /usr/share/data/adsp

安装 ROS

设置 Snapdragon Flight 连接到本地 Wi-Fi 网络,这样就能轻松地直接克隆 git 仓库。为此,请打开 adb shell 并编辑文件 /etc/wpa_supplicant/wpa_supplicant.conf 并添加本地网络设置:

adb shell vim /etc/wpa_supplicant/wpa_supplicant.conf

在这里,添加 Wi-Fi 设置:

network={ ssid="我现有的网络 ssid" psk="我现有的密码" }

最后,将系统设置为工作站模式。此外,编辑站网络接口配置文件还能防止 ssh 终端滞后:(所有操作均在 adb shell 中进行)

/usr/local/qr-linux/wificonfig.sh -s station echo 'wireless-power off' |sudo tee -a /etc/network/interfaces.d/.qca6234.cfg.station sudo reboot

现在,要安装 ROS,首先要设置本地语言、 来源列表 和密钥(在 adb 或 ssh shell)

export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 sudo locale-gen en_US.UTF-8 sudo dpkg-reconfigure locales sudo update-locale LANG=C LANGUAGE=C LC_ALL=C LC_MESSAGES=POSIX sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 sudo apt-get update sudo apt-get install ros-indigo-ros-base #(产生错误) sudo apt-get -f -o Dpkg::Options::="--force-overwrite" install

编辑您的 ~/.bashrc 以获取 ros 环境的源代码:

sudo chown -R linaro /home/linaro echo "source /opt/ros/indigo/setup.bash" >> /home/linaro/.bashrc source .bashrc

安装一些额外的软件包

在使用 ROS 之前,你需要初始化 Rosdep。Rosdep 可以让你轻松地为要编译的源代码安装系统依赖项,也是运行 ROS 中某些核心组件所必需的:

sudo rosdep init rosdep update

安装 ROS 后,OpenCL 库也会被 ROS 安装,从而导致与摄像头管道发生冲突。要解决这个问题,请执行以下操作:

sudo dpkg -r libhwloc-plugins sudo dpkg -r ocl-icd-libopencl1:armhf

现在,设置你的工作区:

source .bashrc mkdir -p /home/linaro/ros_ws/src cd ros_ws/src catkin_init_workspace cd .

在 Snapdragon 上创建交换目录

为了避免在编译 MAVROS 时内存不足,需要创建一个交换文件:

sudo fallocate -l 1G /mnt/1GB.swap sudo mkswap /mnt/1GB.swap sudo swapon /mnt/1GB.swap echo '/mnt/1GB.swap none swap sw 0 0' |sudo tee -a /etc/fstab

为了运行 MAVROS 和 MAVLink,您需要安装一些 Python 工具,然后克隆代码并查看适当的提交以确保兼容性。

sudo apt-get install python-pip sudo apt-get install python-rosinstall sudo apt-get update sudo apt-get install python-rosinstall-generator sudo apt-get install python-catkin-tools rosinstall_generator --rosdistro kinetic mavlink | tee /tmp/mavros.rosinstall rosinstall_generator --rosdistro kinetic --upstream mavros | tee -a /tmp/mavros.rosinstall wstool init src wstool merge -t src /tmp/mavros.rosinstall wstool update -t src -j4 rosdep update sudo rosdep install --rosdistro indigo --from-paths src --ignore-src -y cd src/mavros git checkout 0.23.1 cd .../catkin build echo 'source /home/linaro/ros_ws/devel/setup.bash' >> /home/linaro/.bashrc source .../bashrc

柔荑花序 是必要的,因为它创建了 /home/linaro/ros_ws/devel 目录。这里将生成生成库和可执行文件。它还会生成一个新的 bash 安装脚本,其中包括使用 "ros_ws" 工作区的相应环境变量。

安装地理信息系统

MAVROS 需要在系统中安装地理信息系统。请按照以下步骤在 Snapdragon 上安装:

mkdir -p /usr/share/geographiclib /home/linaro/ros_ws/src/mavros/mavros/scripts/install_geographiclib_datasets.sh mkdir /usr/share/geographiclib/GeographicLib cd /usr/share/geographiclib mv geoids/ GeographicLib/

安装 Snap VIO

首先,下载(到电脑)1.0.2 版 骁龙机器视觉 SDK这里.软件包名称为 mv<version>.deb.

将 deb 软件包推送到 Snapdragon 并安装:

adb push mv<version>.deb /home/linaro adb shell sync adb shell dpkg -i /home/linaro/mv<version>.deb mkdir /opt/qcom-licenses

机器视觉 SDK 运行需要许可证文件。从以下地址获取研发许可证文件 这里.许可证文件需要放在目标上的以下文件夹中: /opt/qcom-licenses/.

使用以下命令将许可证文件推送到目标机:

adb push snapdragon-flight-license.bin /opt/qcom-licenses/ adb shell sync

现在,我们准备克隆 snap vislam 节点:

adb shell cd ~/ros_ws/src git clone https://github.com/PX4/ros-examples catkin build
© PX4 开发团队。许可证 CC BY 4.0            已更新:2024-02-13 22:49:01

与" "匹配的结果"

    没有与""匹配的结果"