ardupilot开发 --- ROS 与 Ardupilot 篇

news2024/11/26 13:34:04

1. ROS 与 Ardupilot

  • ArduPilot功能可以通过ROS进行扩展;
  • 推荐使用ROS Noetic 版本,而非ROS2;
  • 对于ROS2,目Humble是唯一支持的ROS2版本;

2. ROS with SITL

系统环境:win11,wsl2,Ubuntu20.04

  • 安装ROS
    https://blog.csdn.net/weixin_43321489/article/details/134681758
  • 安装MAVROS
    https://ardupilot.org/dev/docs/ros-install.html#installing-mavros
  • 初始化ROS工作空间(ros需要工作空间)
    创建一个目录ardupilot_ros_ws/src,并初始化:
mkdir -p ardupilot_ros_ws/src
cd ardupilot_ws
catkin init
cd src
  • 启动SITL仿真,并添加一个UDP Forwarding: 127.0.0.1:14550
cd ~/code/ardupilot/ArduCopter
sim_vehicle.py -v ArduCopter --console --map -w --out=127.0.0.1:14550
  • 启动MAVROS并通过UDP连接到SITL
    1)新建一个新的bash terminal
    2)拷贝一个.launch文件进工作空间并修改连接方式
cd ~/ardupilot_ros_ws/src/
mkdir launch
cd launch
roscp mavros apm.launch apm.launch
sudo apt-get install gedit
gedit apm.launch

将代码的第一行改为UDP连接:

<arg name="fcu_url" default="/dev/ttyACM0:57600" />

改为:

<arg name="fcu_url" default="udp://127.0.0.1:14550@14555" />

保存并退出。

  • 使用roslaunch 命令启动相关的ROS节点以连接到SITL
cd ~/ardupilot_ros_ws/src/launch
roslaunch apm.launch
  • 启动rqt工具以查看MAVROS与SITL的连接状态,通过MAVROS节点、主题、消息等控制SITL中的飞机
    1)新建一个新的bash terminal;
    2)输入命令
cd ~/ardupilot_ros_ws
rqt

  3)通过MAVROS查看飞机状态

plugins ~> topics ~> topics monitor ~> 勾选下面的topic可以看到通过MAVROS获取的飞机的位置信息:

在这里插入图片描述

  4)通过MAVROS操控飞机切换GUIDED模式、解锁、起飞

plugins ~> services ~> services caller ~>

在这里插入图片描述

3. mavros 使用

使用文档:https://index.ros.org/p/mavros/github-mavlink-mavros/#noetic-overview
开发文档:https://wiki.ros.org/mavros#Usage

3.1 知识碎片

  • 可以串口、TCP、UDP连接到飞控;
  • 关于坐标系
    飞控使用的是NED坐标系,ROS系统使用的是ENU坐标系,注意转换关系;
    坐标转换实现在:src/lib/ftf_frame_conversions.cpp 、src/lib/ftf_quaternion_utils.cpp 中;
  • mavros_extras – extra plugins & node for mavros
  • 要看懂mavros 的使用先回ros的基本使用;
  • mavros 文档中并没有现成的例子可用和借鉴;

待续…

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

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

相关文章

C //例10.2 将一个磁盘文件中的信息复制到另一个磁盘文件中。

C程序设计 &#xff08;第四版&#xff09; 谭浩强 例10.2 例10.2 将一个磁盘文件中的信息复制到另一个磁盘文件中。 IDE工具&#xff1a;VS2010 Note: 使用不同的IDE工具可能有部分差异。 代码块 方法&#xff1a;使用指针&#xff0c;函数的模块化设计&#xff0c;动态分…

Java多线程:代码不只是在‘Hello World‘

Java线程好书推荐 概述01 多线程对于Java的意义02 为什么Java工程师必须掌握多线程03 Java多线程使用方式04 如何学好Java多线程写在末尾&#xff1a; 主页传送门&#xff1a;&#x1f4c0; 传送 概述 摘要&#xff1a;互联网的每一个角落&#xff0c;无论是大型电商平台的秒杀…

【离散数学】——期末刷题题库(等价关系与划分)

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

“无忧文件安全!上海迅软DSE文件加密软件助您轻松管控分公司数据!

许多大型企业集团由于旗下有着分布在不同城市的分支机构&#xff0c;因此在规划数据安全解决方案时&#xff0c;不适合采用市面上常见的集中式部署方式来管控各分部服务器&#xff0c;而迅软DSE文件加密软件支持采用分布式部署的方式来解决这一问题。 企业用户只需在总部内部署…

【Proteus仿真】【STM32单片机】简易计算器

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器&#xff0c;使动态数码管、矩阵按键、蜂鸣器等。 主要功能&#xff1a; 系统运行后&#xff0c;数码管默认显示0&#xff0c;输入对应的操作数进行四则运算&…

Java爬虫攻略:应对JavaScript登录表单

问题背景 在进行网络抓取数据时&#xff0c;经常会遇到需要登录的网站&#xff0c;特别是使用JavaScript动态生成登录表单的情况。传统的爬虫工具可能无法直接处理这种情况&#xff0c;因此需要一种能够模拟用户行为登录的情况解决方案。 在实际项目中&#xff0c;我们可能需要…

⭐Unity 搭建UDP客户端(01) 配合网络调试助手测试

1.接收来自服务器的消息 using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using UnityEngine;public class UDPManager:MonoBehaviour {public string recvStr; //服务器返回值public string UDPClientAddRess "192.168.2.39&q…

高速风筒解决方案,基于高性价比的普冉单片机开发

高速风筒也就是高速吹风机&#xff0c;与传统的吹风机相比&#xff0c;高速吹风机具有更强大的风力和更快的干燥速度&#xff0c;可以更快地干燥头发或其他物体表面的水分。它通常由一个电动机驱动&#xff0c;并通过旋转的叶片来产生气流。高速风筒广泛应用于个人护理、美容、…

低代码平台和数据中台存在异曲同工之妙

低代码开发是近年来迅速崛起的软件开发方法&#xff0c;让编写应用程序变得更快、更简单。有人说它是美味的膳食&#xff0c;让开发过程高效而满足&#xff0c;但也有人质疑它是垃圾食品&#xff0c;缺乏定制性与深度。你认为低代码到底是美味的膳食还是垃圾食品呢&#xff0c;…

常见动物经济手术3d模拟交互演示教学实现了教育资源的共享

动物常见病防治是兽医必备的技能&#xff0c;为了让实习兽医在上岗作业前拥有丰富的常见病防治经验。借助动物常见病防治VR虚拟仿真技术开展动物常见病防治VR模拟实操培训&#xff0c;能极大方便院校实训。 提高教学质量 传统的动物医学教学往往依赖于理论知识和实验室实践&…

Ngxin实现301重定向映射

要实现将abc.love域名映射到http://baidu.com网站&#xff0c;并进行重定向&#xff0c;你需要在Nginx的配置文件中添加一个新的server块&#xff0c;如下所示&#xff1a; server {listen 80;server_name abc.com; #替换成自己的域名&#xff0c;记得要映射到这台服务器&…

来了!轻量对象存储重磅上线

轻量对象存储 Lighthouse-COS 是腾讯云专为中小企业开发者打造的轻量级数据存储服务&#xff0c;适用于云端网站、小程序、课堂演示、云盘/图床等场景下的数据存储和处理任务。针对图像、音视频等对象类型数据进行可视化一键管理。相比传统的对象存储服务更加开箱即用&#xff…

2024黑龙江省职业院校技能大赛信息安全管理与评估样题第二三阶段

2024黑龙江省职业院校技能大赛暨国赛选拔赛 "信息安全管理与评估"样题 *第二阶段竞赛项目试题* 本文件为信息安全管理与评估项目竞赛-第二阶段试题&#xff0c;第二阶段内容包括&#xff1a;网络安全事件响应、数字取证调查和应用程序安全。 极安云科专注技能竞赛…

CCF编程能力等级认证GESP—C++1级—20230611

CCF编程能力等级认证GESP—C1级—20230611 单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09;判断题&#xff08;每题 2 分&#xff0c;共 20 分&#xff09;编程题 (每题 25 分&#xff0c;共 50 分)时间规划累计相加 答案及解析单选题判断题编程题1编程题2 单选题…

如何编写元描述?

您是否正在寻找提高网站知名度和吸引更多客户的方法&#xff1f;撰写引人入胜的元描述就是一个有效的策略。元描述是出现在搜索引擎结果中网页标题下的简短文本片段。它们为潜在访客提供信息&#xff0c;让他们了解点击进入后会显示哪些页面内容。利用这些标签撰写正确的信息可…

01-SDV软件定义汽车思考

前言&#xff1a; 随着汽车产业“新四化”(电动化、网联化、智能化、共享化)的加速推动&#xff0c;智能汽车已成为各国科技发展战略重点&#xff0c;在社会数字化转型的浪潮下逐渐形成跨领域协作、多技术融合的汽车产业新赛道。 软件定义汽车已成为行业趋势与共识&#xff…

热烈祝贺许战海老师成为北京湖南商会特聘专家!

在北京的初冬时节&#xff0c;一股商业的暖流在世纪华天大酒店的湖南厅中涌动。2023年12月3日下午&#xff0c;这里迎来了一场盛大的聚会——北京湖南企业商会成立20周年的预热活动之一&#xff1a;“湘商大讲堂”。这不仅是一次庆祝&#xff0c;更是一次对未来的展望&#xff…

【改进YOLOv8】融合重参数结构DiverseBranchBlock的冬小麦物候期检测系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 近年来&#xff0c;随着计算机视觉技术的迅速发展&#xff0c;物体检测成为了计算机视觉领域的一个重要研究方向。物体检测的目标是在给定图像中准确地识别和定位…

2023-12-07 LeetCode每日一题(重新规划路线)

2023-12-07每日一题 一、题目编号 1466. 重新规划路线二、题目链接 点击跳转到题目位置 三、题目描述 n 座城市&#xff0c;从 0 到 n-1 编号&#xff0c;其间共有 n-1 条路线。因此&#xff0c;要想在两座不同城市之间旅行只有唯一一条路线可供选择&#xff08;路线网形成…

Pytorch线性回归教程

import torch import numpy as np import torch.nn as nn import matplotlib.pyplot as plt生成测试数据 # 长期趋势 def trend(time, slope0):return slope * time# 季节趋势 def seasonal_pattern(season_time):return np.where(season_time < 0.4,np.cos(season_time * …