IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Raspberry Pi 4B 通过 MAVROS 实现从地面站远程连接飞控板 -> 正文阅读

[系统运维]Raspberry Pi 4B 通过 MAVROS 实现从地面站远程连接飞控板

0x00 为 RPi 刷写系统

  1. 准备好您的 MicroSD 卡和读卡器
  2. https://ubuntu.com/download/raspberry-pi 下载 Ubuntu Server 20.04.3 64-bit 的镜像文件
  3. https://www.balena.io/etcher/ 下载 Etcher for Windows (x86|x64) (Portable) 的 exe 文件
  4. 使用 Etcher 向 MicroSD 卡中刷写下载好的 .img.xz 文件

0x01 启动 Ubuntu

  1. 准备好刷写完毕的 MicroSD 卡、Micro-HDMI to HDMI 转接线、电源及 Type-C 电源线、显示屏等
  2. 将 MicroSD 卡插入 RPi
  3. 将 RPi 接上显示屏
  4. 上电
  5. 等待 RPi 启动
  6. 默认用户名 ubuntu 密码 ubuntu
  7. 按照提示设置新的密码
  8. 输入 ip addr 查看 eth0 的 IP 地址

0x02 使用 SSH 连接至 RPi

  1. 使用带有 SSH 功能的 Windows 操作系统(Windows 10 开始自带此功能)
  2. 打开 Windows TerminalPowershellCMD
  3. 输入 ssh ubuntu@ip,其中 ip0x01 第 8 步获取到的地址
  4. 输入 0x01 第 7 步 的密码
  5. 此时应该已经连接成功

0x03 更换软件源

sudo sed -i 's#ports.ubuntu.com#mirrors.aliyun.com#g' /etc/apt/sources.list
sudo apt update

0x04 安装桌面环境(可选)

sudo apt install ubuntu-desktop

0x05 安装 ROS

此处参照官方文档 http://wiki.ros.org/cn/noetic/Installation/Ubuntu,以下内容做了一些修改以提高舒适性

sudo sh -c 'echo "deb http://mirrors.aliyun.com/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-noetic-desktop-full

# 设置环境
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

0x06 配置 ROS

此处操作相对较为复杂,由于众所周知的网络环境,需要修改一些源代码以正常安装。

此方案是目前全网相对完美的解决方法之一,由本文作者参考众多资料、实践多次得出。

sudo apt install python3-rosdep

此时应替换源码中的 URL 至 GitHub 镜像,特别感谢 FastGit UK 提供的镜像。

sudo sed -i 's#raw.githubusercontent.com#raw.fastgit.org#g' /usr/lib/python3/dist-packages/rosdep2/rep3.py
sudo sed -i 's#raw.githubusercontent.com#raw.fastgit.org#g' /usr/lib/python3/dist-packages/rosdistro/__init__.py
sudo sed -i 's#raw.githubusercontent.com#raw.fastgit.org#g' /usr/lib/python3/dist-packages/rosdep2/sources_list.py

此时执行 ROS 初始化,并替换源。

sudo rosdep init
sudo sed -i 's#raw.githubusercontent.com#raw.fastgit.org#g' /etc/ros/rosdep/sources.list.d/20-default.list

此时,ROS 初始化完成,可以执行 rosdep update 来更新源。

到此 ROS 基本配置完毕。

0x07 安装 MAVROS

cd ~
sudo apt install ros-noetic-mavros ros-noetic-mavros-extras
wget https://raw.fastgit.org/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
chmod a+x install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh

0x08 启用 MAVROS 节点

# 安装 Catkin Tools
sudo apt install python3-catkin-tools

mkdir -p ~/ardupilot_ws/src && cd ~/ardupilot_ws
catkin init
cd src && mkdir launch && cd launch

roscp mavros apm.launch apm.launch

使用 Vim 修改 apm.launch 中的内容,如果没有 Vim,请先安装它。(可选,你也可以用 nano 代替)

Vim 使用方法不再赘述。

sudo apt install vim

按以下示例修改文件中的两行

    <arg name="fcu_url" default="/dev/ttyUSB0:57600" />
    <arg name="gcs_url" default="udp://:14550@" />

此时请将飞控板的串口通信频率设置为 57600,将 USB to TTL 线接入飞控板的 UART0 接口,并正确连接 RX 和 TX 两线。

将 USB 口接入 RPi 的 USB 口,并给予串口可读写权限。

sudo chmod 666 /dev/ttyUSB0

注意:请根据实际情况修改上文中的 /dev/ttyUSB0

通过外置电源给飞控板上电。此时可启动 MAVROS 节点。

roslaunch apm.launch

若连接成功,飞控板会作出相应提示。

0x09 通过地面站连接飞控板

使用地面站新建一个连接,协议选择 UDP,端口号填入 14550,服务器填入 0x01 第 8 步中的 IP 地址,并附带端口号 14550,如 192.168.1.101:14550。此时应该可以通过地面站连接至飞控板。

0x10 常见问题

  1. RPi 和地面站不处于同一个局域网:无论你采取何种方案,请确保地面站和 RPi 可以互相通信。
  2. 所有配置都正确但始终无法连接到 RPi:请尝试关闭 RPi 的防火墙
    sudo systemctl stop ufw
    
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-25 10:59:37  更:2022-01-25 10:59:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 7:39:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码