ardupilot开发 --- ROS 篇

news2025/1/20 3:40:57

0. 前言

关于机载计算机;
关于ROS;
关于基于ROS的视觉SLAM和避障;

1. APSync

  • 说到机载计算机Companion computer就不得不提另一个关键词APSync;
  • APSync简化了机载计算机的设置,以便它可以为ArduPilot提供额外的功能,并简化与互联网服务的集成;
  • 提供日志下载和视频流转发到地面站的功能;
  • 机载计算机通过串口与飞控连接,将飞控的log转存到自己的文件系统中,并创建一个网络热点,用于给运行地面站的PC连接,PC连接该热点后可以:1)从机载计算机下载日志;2)查看视频流;3)连接热点后地面站可以通过UDP连接到飞控;
  • http://10.0.1.128 (Configuration pages)
  • http://10.0.1.128:8000 (Which shows a video streaming on/off button)
  • PC连接到网络热点后(网络热点名称为ardupilot,密码也是ardupilot),地面站可通过UDP,port 14550来连接到飞控;
  • 关于下载log:可以用这个脚本来下载机载计算机的日志到PC:apsync-download-logs,或者从机载计算机上拔下SD卡来读取;
  • 关于视频流:视频流被发送到请求遥测数据的第一个地面站的IP地址;地面站查看视频流:右击Hub ~> Video ~> Set GSreamer Source;
  • PC连接热点后可通过SSH工具来连接到机载计算机的cmd;
  • 飞控的数据如何路由到各种程序的?
    How flight controller data is routed to various programs:
    https://ardupilot.org/dev/docs/apsync-intro.html#how-flight-controller-data-is-routed-to-various-programs
  • Installing APSync and setting the autopilot:https://ardupilot.org/dev/docs/apsync-intro.html#installing-apsync
    在这里插入图片描述
    在这里插入图片描述

2. ROS/ROS2

2.1 概念碎片

  • LTS:long term support ,一般指长期支持的版本;
  • LTS 版本意味着更稳定,Latest 版本意味着键兼更多的platforms和拥有更新更多的ROS packages;
  • 尽管已经有了LTS版本,每年还是会发布新版本;
  • ROS版本与操作系统版、工具包版本(如QT、PCL、openCV等)、软件版本等相关性很大,建议新手使用推荐的 tier 1,否者容易出现 issues;
  • tier 1:官方推荐的运行某ROS版本的制定操作系统和工具包版本:please read REP-2000;
  • 在Docker container上安装ROS:https://hub.docker.com/_/ros/
  • ROS? ROS2? ROS已被ROS2取代;

2.2 ROS2安装

if installing on a desktop PC, install ROS Desktop-Full, on a companion computer ROS-Base is enough。
官方教程:https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html#uninstall

2.3 ROS安装

建议安装ROS Noetic Ninjemys 版本;
建议在wsl上安装,wsl安装Ubuntu-20.04
官方教程:https://wiki.ros.org/cn/ROS/Installation

  • 配置Ubuntu软件仓库:基本上不需要更改!可跳过此步骤直接安装ROS!
    页面配置:https://help.ubuntu.com/community/Repositories/Ubuntu
    命令行配置:https://help.ubuntu.com/community/Repositories/CommandLine
  • 安装:https://wiki.ros.org/cn/ROS/Installation
  • 文档:https://wiki.ros.org/
    可以切换成中文页面:
    在这里插入图片描述

3. ROS 与 Ardupilot

  • ArduPilot功能可以通过ROS进行扩展。
  • 对于ROS2,目Humble是唯一支持的ROS2版本。

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

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

相关文章

Debian arm系统安装wxPython

一、系统版本 二、安装wxPython-4.0.4.tar.gz 1、下载依赖 >sudo apt update >sudo apt-get install build-essential libgtk-3-dev libwebkit2gtk-4.0-dev libssl-dev libcurl4-openssl-dev libgstreamer-plugins-base1.0-dev libnotify-dev freeglut3 freeglut3-dev …

Python爬虫遇到重定向URL问题时如何解决?

什么是重定向 重定向是指当用户请求一个URL时,服务器返回一个中断请求的URL的响应。这种情况通常发生在网站对URL进行了修改或者重定向到其他页面的情况下。其中,如果处理不当开发,可能会导致爬虫无法获取所需的数据,从而影响爬虫…

激光切割机切割工件出现锯齿是什么原因?

金属激光切割机因切割速度快,效率高,切割效果好受到广大金属加工需求的厂家追捧,但在使用时不免出现一些小问题,如:在激光切割加工的时候出现锯齿的问题。 编辑搜图 请点击输入图片描述(最多18字&#xff…

传感器:探索Android中的传感器功能与使用

传感器:探索Android中的传感器功能与使用 一、传感器介绍1.1 Android 平台三大类传感器1.2 Android 平台支持的传感器1.3 传感器框架 二、传感器的使用2.1 识别传感器和传感器特性2.2 针对不同制造商的传感器或传感器的不同版本优化2.3 监控传感器事件2.4 处理不同的…

Docker中Alpine容器中配置MariaDB

1.更新镜像源 apk update2.安装 Mysql apk add --no-cache mysql mysql-client # 安装命令也可使用 apk add mariadb mariadb-client,alpine 中 mysql 就是 mariadb3. 安装openrc openrc是Alpine服务控制器,负责Alpine服务启动,添加、删除…

Linux 基本语句_13_消息队列

概念: 不同进程能通过消息队列来进行通信,不同进程也能获取或发送特定类型的消息,即选择性的收发消息。 一般一个程序采取子进程发消息,父进程收消息的模式 常用函数功能: fork(); // 创建子进程 struct msgbuf{ …

探索测试开发工程师的通往成功的秘密路径!

「作者说」随着近几年国内IT行业高速发展,对测试工程师的要求也越来越高,其作用也越来越重要,但很多测试工程师也迎来了个人发展的瓶颈,下一步该向哪个方向发展,该如何发展?本文将概述测试工程师的现状及发…

图片伪装,将RAR文件隐藏到图片里

下载链接 效果图: 代码: ECHO OFF TITLE PtoR MODE con COLS55 LINES25 color 0A:main cls echo.当前时间:%date% %time% echo.欢迎使用图片伪装,本脚本可以将RAR文件隐藏到图片里. echo.set /p "imagefile①请拖入图像文件…

Condition原码分析及实现原理

一、引言 Java作为一种广泛应用于企业级开发的编程语言,其内部机制和特性被许多开发者所关注。本文将深入分析Java Condition原码,以及Condition接口的实现原理,为大家提供一个更深入的了解。 二、Condition概述 Condition是Java并发编程中一…

tcp/ip协议 error=10022 Winsock.reg Winsock2.reg

tcp/ip协议 error10022 这2个注册表选项千万不能删除,否则上不了网。 按下windows键R键,输入regedit,打开注册表,在文件目录里找到如下两个文件夹,删除这两个文件夹。 路径:HKEY_LOCAL_MACHINE\System\C…

Python---练习:求某同学成绩的总分及平均分

需求: 已知某同学的语文(70)、数学(90) 、英语(80)、历史(75)、地理(85)五门课的成绩,编程求该同学的总分以及平均分。 思考: 要求是算总分和平均分,先看总分,已经知道了各科成绩,那么可以用把成绩赋值给每个学科的…

JVM——内存溢出和内存泄漏

目录 1. 内存溢出和内存泄漏内存泄漏的常见场景解决内存溢出的思路1.发现问题 – Top命令2.发现问题 – VisualVM3.发现问题 – Arthas4.发现问题 – Prometheus Grafana5.发现问题 – 堆内存状况的对比![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/058d113715b…

手机厂商集体入局大模型:谁在抢占「新高地」?

手机这个赛道,已然迎来了新的排位赛。大模型这条路上固然走的艰难,但也必须迎头赶上。大模型背后,手机厂商锚定的更是下一个入口战。 作者|斗斗 编辑|皮爷 出品|产业家 手机厂商们开始在大模型领域“卷”起来了。 今年8月,小米…

“Install Js dependencies failed“JS SDK安装失败【Bug已解决-鸿蒙开发】

文章目录 项目场景:问题描述原因分析:解决方案:解决措施1解决方案2:其他解决方案解决方案3:此Bug解决方案总结项目场景: 在下载JS SDK时,出现下载失败的情况,并显示“Install Js dependencies failed”。 在使用版本为DevEco Studio 3.0.0.601 Beta1进行低代码开发时…

你了解vue的diff算法吗?

​🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue中的diff算法 目录 一、是什么 二、比较方式 三、原理分析 小结 一、是什么 diff 算法是一…

低调使用。推荐一个 GPT4 Turbo、Vision、GPTs、DELL·E3 等所有最新功能同步可用国内网站

在 11 月 6 日,万众期待的 OpenAI DevDay,ChatGPT 发布了一系列新的产品,其中推出了 GPT4 Turbo,并且将GPT4 Vision,DELLE3 等等能力全部集合到一起,不需要再分开使用,原来的局限的文本聊天也进…

[Linux] linux防火墙

一、防火墙是什么 防火墙(FireWall):隔离功能,工作在网络或主机的边缘,数据包的匹配规则与由一组功能定义的操作组件处理的规则相匹配,根据特定规则检查网络或主机的入口和出口 当要这样做时,基…

机器学习实验四:决策树-隐形眼镜分类(计算信息增益和信息熵以及模型准确率)

决策树-隐形眼镜分类(计算信息增益和信息熵以及准确率) Title : 使用决策树预测隐形眼镜类型 # Description :隐形眼镜数据是非常著名的数据集 ,它包含很多患者眼部状况的观察条件以及医生推荐的隐形眼镜类型 。 # 隐形眼镜类型包括硬材质 、…

MySQL根据binlog恢复数据

简介 本文介绍了使用mysqlbinlog导出数据,根据binlog恢复数据,和导出数据时报需要super权限的解决方法。 环境 MySQL: 5.7.40 说明 MySQL的binlog是数据库服务器在运行过程中产生的日志文件,记录了数据库增删改的操作,可用于恢复和…

YOLOv5独家原创改进:自研独家创新MSAM注意力,通道注意力升级,魔改CBAM

💡💡💡本文自研创新改进:MSAM(CBAM升级版):通道注意力具备多尺度性能,多分支深度卷积更好的提取多尺度特征,最后高效结合空间注意力 1)作为注意力MSAM使用; 推荐指数:五星 MSCA | 亲测在多个数据集能够实现涨点,对标CBAM。 在道路缺陷检测任务中,原始ma…