ROS(5)PX4仿真安装及运行

news2024/10/7 12:18:36

1、配置,提升下载速度

启动

  • $ cd clash-for-linux
  • $ sudo bash start.sh
  • $ source /etc/profile.d/clash.sh
  • $ proxy_on

关闭

  • $ cd clash-for-linux
  • $ sudo bash shutdown.sh
  • $ proxy_off

2、安装PX4开源无人机

git clone https://github.com/PX4/PX4-Autopilot.git --recursive

 在PX4根目录执行

安装时如果下载较慢,则需要加快下载速度

bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --no-sim-tools --no-nuttx
sudo apt-get install protobuf-compiler libeigen3-dev libopencv-dev -y

如果有安装失败的情况,执行

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --fix-missing

 更新并重启系统

**注意:下方命令为继续下载未下载完的组件,如在github执行clone时出错可执行命令

git submodule update --init --recursive

打开gazebo

重启后

make distclean

打开gazebo

make px4_sitl_default gazebo

加载px4 v3部件

加载px4 v3部件

make px4_fmu-v3_default

**报错:arm-none-eabi-gcc

sudo apt-get install gcc-arm-none-eabi

3、利用ros查看无人机飞行

  • cd PX4-Autopilot
  • make px4_sitl_default gazebo
  • 终端输入 commander takeoff ,可以看到无人机起飞
  • 终端输入 commander land , 可以看到无人机降落

添加环境变量

  • source ~/px4/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash ~/px4/PX4-Autopilot ~/px4/PX4-Autopilot/build/px4_sitl_default
  • export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/px4/PX4-Autopilot
  • export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/px4/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic

安装mavros

sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
sudo /opt/ros/noetic/lib/mavros/install_geographiclib_datasets.sh

**注意:如果未执行上方安装命令,则会报错 UAS:GeographicLib exception: File not readable

执行命令

roslaunch mavros px4.launch

如果出现FCU: DeviceError:serial:open: No such file or directory报错,是由于没有链接硬件所致。

也可以参考树莓派串口通信设置 - 知乎,解决serial0和ttyAMA0映射关系问题

4、安装QGC

Download and Install · QGroundControl User Guideicon-default.png?t=N7T8https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html

  1. On the command prompt enter:
    sudo usermod -a -G dialout $USER
    sudo apt-get remove modemmanager -y
    sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y
    sudo apt install libqt5gui5 -y
    sudo apt install libfuse2 -y
    
  2. Logout and login again to enable the change to user permissions.
  1. Download QGroundControl.AppImage.(下载后的文件放到指定文件夹中)
  2. Install (and run) using the terminal commands:
    chmod +x ./QGroundControl.AppImage
    ./QGroundControl.AppImage  (or double click)
    

5、px4仿真

启动gazebo、mavros、px4.launch等

roslaunch px4 mavros_posix_sitl.launch

如果启动成功,可以使用commander takeoff / commander land执行起飞和降落

查看话题列表

rostopic list

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1059899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全栈开发笔记1:首个项目的收获

本文为编程导航实战项目学习笔记。 文章目录 7.跨域问题解决 2023.10.26.项目部署 2023.10.15.统一处理返回值 2023.10.14.开发注册和用户管理 2023.09303.开发登陆注册接口 2023.09.172.数据库设计1.前后端初始化 2023.9.16 7.跨域问题解决 2023.10.2 三种方式: …

ps插件:alpaca增效工具 (完美替代AI创成式填充) 2.8.1 中文版

Alpaca是一个Photoshop插件,提供了多种功能,帮助用户更高效地进行图像处理和设计。可以进行模型训练并无缝地融入图像中。同时还提供文本到图像的生成、图像到图像的变化、涂色、放大、深度图创建等功能,极大地提升了设计和艺术创作的效率和创…

Go,从命名开始!Go的关键字和标识符全列表手册和代码示例!

目录 一、Go的关键字列表和分类介绍关键字在Go中的定位语言的基石简洁与高效可扩展性和灵活性 关键字分类声明各种代码元素组合类型的字面表示基本流程控制语法协程和延迟函数调用 二、Go的关键字全代码示例关键字全代码示例 三、Go的标识符定义基础定义特殊规定关键字与标识符…

【Aseprite像素画】如何取巧做到各种画面效果(小工具的各种技巧)

文章目录 参考链接:具体如下1、水中倒影2、参考图片3多个帧添加动画物品4多个帧删除动画物品5六毛钱受击效果6添加标签7导出特定标志的gif图8忽略标志帧,然后播放9轮廓线10多个图层轮廓线11洋葱皮12替换多个不同帧的色块簇13连接细胞14快速连续删除15冻结…

战火使命兑换码最新,战火使命礼包码

战火使命手游是一款二次元卡牌游戏,玩家可以通过使用兑换码来获取礼包奖励。如果你还不知道如何获取兑换码,下面为你提供最新的礼包码合集。 关注【娱乐天梯】,获取内部福利号 战火使命兑换码最新: 1、兑换码:ZHSM0421…

安装matplotlib_

安装pip 安装matplotlib 安装完毕 导入出现bug......

C++算法 —— 动态规划(10)二维费用背包

文章目录 1、动规思路简介2、一和零3、盈利计划 背包问题需要读者先明白动态规划是什么,理解动规的思路,并不能给刚接触动规的人学习。所以最好是看了之前的动规博客,以及两个背包博客,或者你本人就已经懂得动规了。 1、动规思路简…

弧度、圆弧上的点、圆的半径(r)、弧长(s)之间的关系

要计算弧度和圆弧上的点,需要知道以下几个要素: 圆的半径(r):即圆的中心到圆周上任意一点的距离。 弧长(s):从圆周上的一个点到另一个点所经过的弧长。 弧度(θ&#x…

为什么Spring不建议使用基于字段的依赖注入

在我们通过IDEA编写Spring的代码的时候,假如我们编写了如下代码: IDEA会给我们一个warning警告: 翻阅官方文档;我们会发现: 大意就是强制依赖使用构造器注入,可选依赖使用setter注入那么这是为什么呢&am…

App测试时常用的adb命令你都掌握了哪些呢?

adb 全称为 Android Debug Bridge(Android 调试桥),是 Android SDK 中提供的用于管理 Android 模拟器或真机的工具。 adb 是一种功能强大的命令行工具,可让 PC 端与 Android 设备进行通信。adb 命令可执行各种设备操作&#xff0…

【服务器】在 Linux CLI 下安装 Anaconda

【服务器】在 Linux CLI 下安装 Anaconda 1 系统环境2 下载安装包3 安装 1 系统环境 查看系统信息 cat /etc/os-release2. 查看架构 uname -a # output # Linux localhost.localdomain 4.18.0-193.28.1.el8_2.x86_64 #1 SMP Thu Oct 22 00:20:22 UTC 2020 x86_64 x86_64 x86…

4.Tensors For Beginners-Vector Definition

在上一节,已经了解了前向和后向转换。 什么是向量? 定义1:向量是一个数字列表 这很简洁,也通俗易懂。 现有两个向量: 如果要把这两个向量给加起来,只需把对应位置的元素(组件)给加起来。 而要缩放向量&…

angularjs开发环境搭建

Angularjs是一个前端页面应用开发框架,其使用TypeScript作为开发语言,Angularjs的特性包括,使用组件、模板以及依赖注入的开发框架构建可扩展的web应用,使用易于集成的类库支持页面路由、页面表单、前后端接口交互等各种不同特性&…

MySQL5.7版本与8.0版本在CentOS系统安装

目录 前置要求 1. MySQL5.7版本在CentOS系统安装 1.1 安装 1.1.1 配置yum仓库 1.1.2 使用yum安装MySQL 1.1.3 安装完成后,启动MySQL并配置开机自启动 1.1.4 检查MySQL的运行状态 1.2 配置 1.2.1 获取MySQL的初始密码 1.2.2 登陆MySQL数据库系统 …

Python爬取诗词名句网中三国演义的乱码问题

一、乱码问题 为解决中文乱码问题,可使用chardet.detect()检测文本编码格式 详细: Python爬虫解决中文乱码_脑子不好真君的博客-CSDN博客 二、代码 #爬取三国演义 import requests import chardet from bs4 import BeautifulSoupurlhttps://www.shicim…

【Vue3】自定义指令

除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外&#xff0c;Vue 还允许你注册自定义的指令 (Custom Directives)。 1. 生命周期钩子函数 一个自定义指令由一个包含类似组件生命周期钩子的对象来定义。钩子函数会接收到指令所绑定元素作为其参数。 在 <script …

多通道反向字典模型

方法 将单词的definition embedding输入Bi-LSTM模型&#xff0c;经过处理得到5个分数并加权求和得到最终的置信分数 最后对分数向量进行降序排序&#xff0c;得到word rank 代码实现&#xff1a; _, indices torch.sort(score, descendingTrue) 辅助信息 这是AAAI 2020的论…

【多模态融合】TransFusion学习笔记(1)

工作上主要还是以纯lidar的算法开发,部署以及系统架构设计为主。对于多模态融合(这里主要是只指Lidar和Camer的融合)这方面研究甚少。最近借助和朋友们讨论论文的契机接触了一下这方面的知识&#xff0c;起步是晚了一点&#xff0c;但好歹是开了个头。下面就借助TransFusion论文…

Scapy样例三则

1. 演示ls()/lsc()用法: ##Exec1.pyfrom scapy.all import *## 列出scapy支持的命令 def ListScapyCmd():lsc()## 列出指定协议的各个字段, 用于构成packet def ListProtocolField(protoclName):ls(protoclName)if __name__ "__main__":print("\nexample of …

【项目开发 | C语言项目 | C语言薪资管理系统】

本项目是一个简单的薪资管理系统&#xff0c;旨在为用户提供方便的员工薪资管理功能&#xff0c;如添加、查询、修改、删除员工薪资信息等。系统通过命令行交互界面与用户进行交互&#xff0c;并使用 txt 文件存储员工数据。 一&#xff0c;开发环境需求 操作系统&#xff1a;w…