【PX4 飞控剖析】06 树莓派加载安装ROS,Mavros以及PX4固件

2023-05-16

【PX4 飞控剖析】06 树莓派加载安装Mavros以及PX4固件

  • 1.树莓派.刷镜像
    • 1.1.用Win32DiskImager刷入ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi的镜像。
    • 1.2.开机配置
  • 2.树莓派.远程连接
    • 2.2.1.远程桌面
    • 2.2.安装putty
      • 1、安装ssh服务
      • 2、启动、停止、重启ssh服务
      • 3启动putty
    • 3.树莓派.安装ros和mavros
    • 3.3.1.系统更新
    • 3.2.安装ros
      • 1.添加源
      • 2.验证密钥
      • 3.更新软件包
    • 4.2.编辑启动文件
    • 4.3.按照之前仿真的说明,生成ros的节点,配置好相关信息。启动也
    • 4.4.文件传输
    • 4.5.编译
    • 4.6.启动验证

  • 标题 : PX4二次开发教程:
  • 起源: 根据阿木实验室讲解课程整理的学习笔记,推荐大家学习无人机的去学习这个课程,俗话说的好:问渠那得清如许,唯有源头活水来 -
    在这里插入图片描述
  • PX4智能无人机开发课程:https://bbs.amovlab.com/plugin.php?id=zhanmishu_video:video&mod=video&cid=39
  • 在这里插入图片描述

1.树莓派.刷镜像

  • 1.1.用Win32DiskImager刷入ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi的镜像。

Ubuntu mate是测试过最好的。
在这里插入图片描述

1.2.开机配置

语言:英语
注意:设置用户名和密码的时候,设置为开机自启动,以后通电就进入桌面了。不然要是将树莓派安装到设备上,到时候用起来不方便。
wifi要是找不到,将现有的wifi配置删除,重启即可

2.树莓派.远程连接

2.2.1.远程桌面

sudo apt-get install xrdp
win8打开远程桌面连接。
输入你树莓派或者linux系统的用户名密码。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

来自 http://blog.csdn.net/summerdj/article/details/51433546

2.2.安装putty

1、安装ssh服务

sudo apt-get install openssh-server

2、启动、停止、重启ssh服务

/etc/init.d/ssh start #开始服务
/etc/init.d/ssh stop #停止服务
/etc/init.d/ssh restart #重启服务
在这里插入图片描述

来自 https://www.cnblogs.com/sovagxa/p/7527496.html

3启动putty

输入树莓派的ip(可在远程桌面通过ifconfig或者路由器查看)
在这里插入图片描述

输入账号密码登陆。
4.putt自启动
编辑启动文件

sudo nano /etc/rc.local

添加

sudo /etc/init.d/ssh start 

在这里插入图片描述

Ctrl+x保存 退出

3.树莓派.安装ros和mavros

由于树莓派的源国内支持的参差不齐,不建议换源,起码阿里巴巴的源不行。
在这里插入图片描述

接下来的操作和pc的一致

3.3.1.系统更新

sudo apt update 
sudo apt full-upgrade 

在这里插入图片描述
在这里插入图片描述

3.2.安装ros

根据官网的步骤安装

1.添加源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

在这里插入图片描述

2.验证密钥

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

在这里插入图片描述

3.更新软件包

sudo apt-get update

4.安装ros(因为树莓派性能较弱,所以安装ros-kinetic-ros-base)

sudo apt-get install ros-kinetic-ros-base

在这里插入图片描述

5.初始化 rosdep

sudo rosdep init
rosdep update

在这里插入图片描述

6.环境设置

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
source /opt/ros/kinetic/setup.bash

7.安装依赖包

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

8.验证安装结果

roscore

安装完毕
具体安装过程详见官网:http://wiki.ros.org/kinetic/Installation/Ubuntu

9.mavros安装
源码安装有点问题,估计是系统编译环境不全,直接apt安装
sudo apt-get install ros-kinetic-mavros ros-kinetic-mavros-extras
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo chmod +x install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh

来自 https://github.com/mavlink/mavros/blob/master/mavros/README.md#installation

4.树莓派.与飞控运行

4.4.1.配置串口(pin脚的串口比较麻烦,默认给了蓝牙了)在这里插入图片描述

进入树莓派串口配置:

sudo raspi-config

在这里插入图片描述

选择接口配置
在这里插入图片描述

配置串口
在这里插入图片描述

关闭shell
在这里插入图片描述

打开串口
在这里插入图片描述

结束后重启
其次,编辑文档 /boot/config.txt,命令如下:

 sudo nano /boot/config.txt

在文档的末尾,添加语句:

dtoverlay=pi3-miniuart-bt  

接着,我们编辑文档 /boot/cmdline.txt,命令如下:

sudo nano /boot/cmdline.txt

将文档内容用以下内容完全替换(具体操作时是删除原文档中多余的语句):

dwc_otg.lpm_enable=0  console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4  elevator=deadline fsck.repair=yes   rootwait  

添加用户组:

sudo gpasswd --add user_name dialout

(否则没有使用串口的权限)

sudo gpasswd --add  pi dialout
 
sudo apt-get update
sudo apt-get upgrade
sudo reboot

完成以上步骤后,我们现在可以通过"ttyAMA0"与外部设备进行连接了。

来自 http://blog.csdn.net/berryfish/article/details/60147631

4.2.编辑启动文件

 sudo nano /opt/ros/kinetic/share/mavros/launch/px4.launch

在这里插入图片描述

将默认的端口改为

ttyAMA0:57600
 default="/dev/ttyAMA0:57600" />

在这里插入图片描述

4.3.按照之前仿真的说明,生成ros的节点,配置好相关信息。启动也

是一样的
参考创建workspace

4.4.文件传输

使用FIleZilla软件进行传输,比较方便,sftp://ip即可
在这里插入图片描述

4.5.编译

在这里插入图片描述

source devel/setup.bash

在这里插入图片描述

4.6.启动验证

roslaunch mavros px4.launch

这个是有串口配置问题,默认串口被蓝牙用了(按照1进行修改)
这个是正常的:
在这里插入图片描述

另一个窗口

cd amov_ros/
source devel/setup.bash
rosrun demo demo_node

在这里插入图片描述

地面站上飞行模式已经变为offbord模式
在这里插入图片描述

具体ros和飞控的代码,google上面有很多,有控制姿态的,有控制位置的。参考这个:
https://404warehouse.net/2015/12/20/autopilot-offboard-control-using-mavros-package-on-ros/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【PX4 飞控剖析】06 树莓派加载安装ROS,Mavros以及PX4固件 的相关文章

随机推荐

  • 基于百问网imx6ull-qemu开发板的linux驱动开发体验

    目录 1 安装kvm2 获取百问网imx6ull qemu开发镜像3 运行百问网imx6ull qemu开发镜像4 获取百问网imx6ull qemu开发板内核源码和工具链5 下载百问网快速入门资料6 设置环境变量7 为了后续编译驱动 xf
  • ubuntu 更新源详细操作步骤

    由于linux系统自带的镜像源都在国外 xff0c 国内用户下载或更新软件会比较慢 xff0c 有时是非常慢 xff0c 所以国内某些机构 xff0c 如大学 xff0c 研究院所 xff0c 就在国内建了linux的镜像源服务器供国内li
  • error LNK2019: 无法解析的外部符号

    错误描述 1 gt 11 ObjectDetection obj error LNK2019 无法解析的外部符号 public cdecl cv VideoCapture VideoCapture void 0VideoCapture 64
  • windows下OpenCV的安装配置部署详细教程

    零 简介 OpenCV的全称是Open Source Computer Vision Library xff0c 是一个跨平台的计算机视觉库 OpenCV是由英特尔公司发起并参与开发 xff0c 以BSD许可证授权发行 xff0c 可以在商
  • linux安装软件报错:有未能满足的依赖关系

    一 问题描述 解决了上一个问题 另外一个进程已经为 dpkg 状态数据库 加锁 又一个问题接踵而来 xff08 真是深得命运宠爱呀 xff09 二 问题分析 很明显 xff0c 这不是重启能解决的问题了 xff0c 继续向命运抗争吧 1 依
  • rviz显示urdf模型:No transform from [base_link] to [base_footprint]

    问题描述 No transform from base link to base footprint 创建URDF模型在rviz中显示时 xff0c 可以显示模型形状 xff0c 但不显示颜色 xff0c 如下图 xff1a 问题分析 rv
  • Error: Error document empty. ERROR: Model Parsing the xml failed

    问题描述 创建urdf模型时想检查一下模型结构 xff0c 结构出现了以下错误 xff1a Error Error document empty at line 72 in build urdfdom UJ3kd6 urdfdom 0 4
  • CMake Error: The current CMakeCache.txt directory is different...

    零 问题描述 开始学ROS时 xff0c 需要编译别人的功能包 xff0c 常常把别人的工作空间拿过来使用 xff0c 但编译时会出现各种错误 xff0c 如下的目录问题 xff1a CMake Error The current CMak
  • Could not find a package configuration file provided by “slam_karto” with any of the following names

    零 问题描述 使用ROS时 xff0c 需要编译别人的功能包 xff0c 但编译时会出现各种错误 xff0c 如下的缺少功能包的问题 xff1a CMake Error at opt ros kinetic share catkin cma
  • AS5047开发简介

    本文有麦粒电子撰写 xff0c 并提供相应产品服务 AS5047是ams公司研发的14bit精度的磁传感器 xff0c 只需要一个磁铁悬于芯片上方就可以检测出相应的角度信息 针对不同的应用场景 xff0c 该芯片还配置了不同的输出接口 xf
  • 舵机PWM转模拟电压(带正反控制)

    舵机PWM转模拟电压 xff08 带正反控制 xff09 本文由 麦粒电子 撰写 xff0c 并提供相应产品服务 叙述 上文讲到讲遥控器接收机信号转换成模拟电压 xff0c 用于驱动直流无刷电机的案例 其中的信号转换器4路转换信号可用于DI
  • mbedtls加密组件使用示例

    目录 1 mbedtls aes组件的使用1 1 AES ECB加解密接口使用1 2 AEC CBC加解密接口使用1 3 AES 使用CFB加解密接口使用1 4 AES 使用OFB加解密接口使用1 4 AES 使用CTR加解密接口使用1 2
  • 2021-10-07

    舵机PWM信号转继电器开关信号 本文由 麦粒电子 撰写 xff0c 并提供相应产品服务 叙述 航模玩家经常需要DIY改装 譬如飞行器做一个投弹的开关 xff0c 船用模型做一个投食机关 再或者弄一些彩灯控制 往往这些功能只需要有一个简单的开
  • 舵机PWM信号转互斥继电器开关信号

    本文由 麦粒电子 撰写 xff0c 并提供相应产品服务 叙述 上次的PWM转继电器开关方案得到大家的不少好评 xff08 博客链接 xff09 xff0c 但是发现有些玩家需要一路PWM同时去控制两路继电器开关通断 xff0c 并且两者是互
  • AMS5601开发 AB角度磁编码器

    AMS5601的ardunio和STM32驱动开发 本文有麦粒电子撰写 xff0c 并提供相应硬件产品服务 前言 目前ams关于磁编码芯片用的比较多的可能是ams5600 xff0c 能够输出pwm信号 xff0c 电压信号以及I2C通信数
  • Spring Security 登录密码验证过程(UsernamePasswordAuthenticationFilter)

    Spring Security主要是一个由一堆Filter组成的过滤器链 每个Filter做自己的事情 今天我跟一下登录的密码认证过程 主要是UsernamePasswordAuthenticationFilter这个类 1 web xml
  • ROS-虚拟CAN通讯/实质CAN通信

    xff11 xff0e 源码安装canopen 从官网下载canopen至Ubuntu xff0c 下载地址 xff1a https github com ros industrial ros canopen tree kinetic de
  • 无人机集群任务规划方法研究综述&论文解读

    无人机集群任务规划方法研究综述 amp 论文解读 参考文献引言 任务规划理论模型 xff1a 分布式任务规划理论分布式智能规划方法的出现 xff1a 无人机集群应用的核心技术集中式 xff1a 分布式集散式 基于逻辑与规则的多无人机任务规划
  • 【无人机设计与开发】推荐几个无人机网址

    本文 也是转载于 北航可靠飞行组的课件 北航官网 xff1a http rfly buaa edu cn index html 官方名网址推荐理由51IMXhttp www 5imx com portal php遥控模型分享ArduPilo
  • 【PX4 飞控剖析】06 树莓派加载安装ROS,Mavros以及PX4固件

    PX4 飞控剖析 06 树莓派加载安装Mavros以及PX4固件 1 树莓派 刷镜像1 1 用Win32DiskImager刷入ubuntu mate 16 04 2 desktop armhf raspberry pi的镜像 1 2 开机