阿木实验室普罗米修斯项目环境配置

引言

普罗米修斯项目其实只是个大ROS功能包, 里面每个模块就是每个ROS功能包,比如控制模块,视觉模块等等。对PX4配置的与这个一样,另外他是使用自己的P系列无人机(我个人是P450),所以你得去下载他自己的适配的PX4的代码,他叫prometheus_px4,其实本质也是PX4的代码,里面修改一些参数和配置。

prometheus_px4环境配置

为什么要配置prometheus_px4,因为使用的是适配P系列无人机的PX4代码,他换个了名字,叫做prometheus_px4,其实里面还是PX4.

git clone -b Prometheus_PX4_1.11.1 https://gitee.com/amovlab/prometheus_px4.git
#进入目录检查一下分支
cd prometheus_px4/
git branch
#显示* Prometheus_PX4_1.11.1代表分支下载正确

如果你是第一次安装PX4的话,是需要安装PX4环境的(主要是编译环境)

#更新一下
cd prometheus_px4
git submodule update --init --recursive
#开始安装编译环境
cd prometheus_px4/Tools/setup
 ## 请在运行此脚本时注意终端的打印信息,保证每一项均顺利安装
 ## 这一步问题最多,一定仔细检查是否正确安装!!!   
 ## 若有某一项失败或一直卡住,请重新运行即可!
source ./ubuntu.sh

Prometheus配置

git clone -b v1.1 https://gitee.com/amovlab/Prometheus.git

#进入目录检查一下分支
cd Prometheus
git branch
#显示* v1.1代表分支下载正确

下载完毕之后,进行编译,因为Prometheus本质是个ROS功能包,这个看你需要使用什么模块儿了,就编译什么模块。

cd Prometheus
sudo chmod 777 ./compile_all.sh (第一次运行才需要执行此赋权命令)
./compile_all.sh

特别强调说明:

目前每个模块都是一个独立的ros包,编译脚本会负责全部或部分编译模块代码,每个包的命名规则为prometheus_xxx
因此如果你只做控制或者只做视觉,只需要编译对应的脚本即可,极大降低开发难度(比如你编译的时候你不感兴趣的代码报错了,也许这个报错你完全不需要考虑)
编译脚本说明:

compile_all.sh默认编译项目中所有代码,因此编译时请确认每个模块都没有报错
compile_control.sh则只编译控制部分代码,若只需要使用控制部分代码,运行./compile_control.sh即可,其他编译脚本其自行查阅理解

在这里插入图片描述

Gazebo仿真测试

记得打开QGC地面站

#启动仿真环境
roslaunch prometheus_gazebo sitl.launch

此时,第一个终端同时运行了PX4仿真、Mavros、px4_pos_estimator、px4_pos_controller四个节点,第二个终端则运行了ground_station节点。因此,若第一个终端无报错,第二个终端显示[Connected]并能够查看到飞机状态,且Gazebo成功运行,代表成功运行。

在Gazebo仿真环境中,根据仿真目的不同提供以下方式控制无人机飞行:


启动普罗米修斯功能包
运行之后需要选择使用command input control(通过输入目标点的方式控制) 或者keyboard input control(通过键盘控制)两种方式

command input control

​ 一般情况下,首先输入999解锁并切换至offboard模式,然后输入1起飞,然后再根据提示输入其他指令(悬停、降落、机体系移动、惯性系移动、轨迹追踪等等)

rosrun prometheus_control terminal_control

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

系统延时函数的实现

滴答定时器的工作原理 STM32F103的内核时钟由AHB总线时钟(72M)经过8分频得到,即72/89M LOAD的取值范围是0-1677215,也就是VAL最多可以计2^24次。 滴答定时器的寄存器 系统延时函数的配置 当需要计1us(1/100 0000)时,9M的时钟就要计9次&#x…

TOWE 高品质220V/380V工业插头插座:插座篇

在不同工业场合和环境中,对工业用插头插座和耦合器的配置有着不同的要求。在实际应用中,我们要根据用途、工作环境、规格大小、外观造型、安装形式、功能等方面进行选择。只有确保正确选择产品,才能确保现实用电环境的安全、高效。 同为科技&…

AntDB-M的审计功能

数据库的审计功能是指对数据库访问行为进行监管,记录数据库里面发生了什么操作,是数据库系统安全功能的组成部分。 AntDB-M的审计功能关注客户端的连接信息,比如:用户名和主机地址、客户端发送的SQL语句、SQL执行访问的对象、修改…

CSS3颜色渐变选择-可以自由拖动DIV的渐变颜色,并直接复制代码即可,方便快捷,供大家学习研究参考

用CSS3实现DIV渐变 可以自由拖动DIV的渐变颜色,并直接复制代码的一款插件 <script src="lib/js/jquery.js"></script> <!-- <script src="lib/js/jquery-ui.js"></script> --> <!-- <link type="text/css"…

Leetcode—713.乘积小于 K 的子数组【中等】

2023每日刷题&#xff08;五十六&#xff09; Leetcode—713.乘积小于 K 的子数组 实现代码 class Solution { public:int numSubarrayProductLessThanK(vector<int>& nums, int k) {int ans 0;int len nums.size();int l 0, r 0;int prod 1;if(k < 1) {re…

TailwindCSS 如何设置 placeholder 的样式

前言 placeholder 在前端多用于 input、textarea 等任何输入或者文本区域的标签&#xff0c;它用户在用户输入内容之前显示一些提示。浏览器自带的 placeholder 样式可能不符合设计规范&#xff0c;此时就需要通过 css 进行样式美化。 当项目中使用 TailwindCSS 处理样式时&a…

知网查重重复率多少标红 神码ai

大家好&#xff0c;今天来聊聊知网查重重复率多少标红&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff1a; 知网查重重复率多少标红 在论文撰写过程中&#xff0c;我们常常需要使用各种查重工具来检测论文的…

在我们日常生活有哪些东西是激光切割机做的

激光加工技术是当前最先进的切割技术&#xff0c;在工业生产中&#xff0c;能解决许多常规方法无法解决的难题&#xff0c;而且应用非常广。让人意想不到的是&#xff0c;很多生活中常见的物品&#xff0c;都是靠激光切割完成的。 它具备精密制造、柔性切割、异形加工、一次成型…

攻防世界题目练习——Web引导模式(五)(持续更新)

题目目录 1. FlatScience2. bug3. Confusion1 1. FlatScience 参考博客&#xff1a; 攻防世界web进阶区FlatScience详解 题目点进去如图&#xff0c;点击链接只能看到一些论文pdf 用dirsearch和御剑扫描出一些隐藏文件&#xff1a; robots.txt: admin.php: login.php: f…

音频APP商业化指南及广告收益提升攻略 | TopOn变现干货

注&#xff1a;声音类娱乐细分行业包括在线音乐、网络音频和网络K歌&#xff0c;本文主要探讨狭义的网络音频行业&#xff0c;其形式包括有声书、相声评书、知识课程、广播剧等版权内容、播客以及语音直播和社交形式。 近年来&#xff0c;音频赛道步入高速增长期。艾媒咨询的最…

破译模式:模式识别在计算机视觉中的作用

一、介绍 在当代数字领域&#xff0c;计算机视觉中的模式识别是关键的基石&#xff0c;推动着众多技术进步和应用。本文探讨了计算机视觉中模式识别的本质、方法、应用、挑战和未来趋势。通过使机器能够识别和解释视觉数据中的模式&#xff0c;模式识别不仅推动了计算机视觉领域…

嵌入式系统复习--概述

文章目录 基本概念嵌入式系统的组成结构嵌入式操作系统嵌入式软件开发环境硬件基础简介下一篇 基本概念 嵌入式计算机&#xff1a;把嵌入到对象体系中、实现对象体系智能化控制的带有微控制器的计算机&#xff0c;称作嵌入式计算机 嵌入式系统&#xff1a;以应用为中心&#…

4年外包终上岸,我只能说这类公司能不去就不去......

我大学学的是计算机专业&#xff0c;毕业的时候&#xff0c;对于找工作比较迷茫&#xff0c;也不知道当时怎么想的&#xff0c;一头就扎进了一家外包公司&#xff0c;一干就是4年。现在终于跳槽到了互联网公司了&#xff0c;我想说的是&#xff0c;但凡有点机会&#xff0c;千万…

LeetCode-654. 最大二叉树【栈 树 数组 分治 二叉树 单调栈】

LeetCode-654. 最大二叉树【栈 树 数组 分治 二叉树 单调栈】 题目描述&#xff1a;解题思路一&#xff1a;递归&#xff0c;这个问题的难点在于如何找到每个子数组的最大值。此处用的是暴力查找最大值&#xff0c;然后递归构建左右子树。解题思路二&#xff1a;单调栈&#xf…

AOP跨模块捕获异常遭CGLIB拦截而继续向上抛出异常

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、BUG详情 1.1 报错信息 1.2 接口响应信息 1.3 全局异常处理器的定义 二、排查过程 三、解决方案 四、总结 前言 最近&…

element table表格内进行表单验证(简单例子,一看就会,亲测有用~)开箱即用!!

效果图&#xff1a; 代码&#xff1a; <div> <el-form ref"form" :model"form" ><el-table :data"form.tableData" align"center" border><el-table-column label"名称"><template slot-scope&…

nuitka Unknown property box-shadow,transition,transform

nuitka 打包后&#xff0c;控制台的错误解决方法 nuitka --standalone --show-memory --show-progress --nofollow-imports --follow-import-toneed --output-dirout --windows-icon-from-ico./static/test.ico mainUI2.py 由于Qt样式表不是CSS&#xff0c;QSS基于CSS2.1&…

Java | Cannot resolve symbol ‘XXX‘

解决办法 (4种解决方案) 1、先检查pom文件依赖是否报错&#xff0c;报错需重新导入 2、检查jdk版本是否与导入项目的版本一致 Ctrlshiftalts打开 3、重启IDEA&#xff0c;清理缓存 IDEA 无法识别同一个 package 里的其他类&#xff0c;将其显示为红色&#xff0c;但…

【SpringBoot】入门精简

目录 一、初识 SpringBoot 1.1 介绍 1.2 项目创建 1.3 目录结构 1.4 修改配置 二、SpringBoot 集成 2.1 集成 Mybatis框架 2.2 集成 Pagehepler分页插件 2.3 集成 Druid数据库连接池 2.4 集成 Log日志管理 一、初识 SpringBoot 1.1 介绍 Spring Boot是一个用于简化Sp…

Vision Transformer模型架构详解

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…