Jetson的mavros使用offboard模式,终端按键控制无人机飞行

2023-05-16

基于Promethues根据wiki配置好之后可以实现使用终端控制,起飞;降落;前后左右飞行;上升下降左转右转;

开始我基于仿真测试实机不成功,是因为某个运行节点没有打开,仔细看gazebo.launch文件里仿真部分还加载了一个sitl.launch文件,它里面启动了相关节点。

仿真

终端1:make px4_sitl gazebo

终端2:roslaunch my_px4.launch

实机

修改mavros的fcu_url为/dev/ttyTHS1,然后运行

sudo chmod 777 /dev/ttyTHS1

roslaunch my_px4.launch

<launch>
	<!-- 启动MAVROS -->
	<!-- 不同机载电脑,注意修改fcu_url至正确的端口号及波特率 -->
	<node pkg="mavros" type="mavros_node" name="mavros" output="screen">
		<!-- 与飞控连接方式,需要配置 -->
        <param name="fcu_url" value="udp://:14540@127.0.0.1:14557" />
		<param name="gcs_url" value="" />
		<param name="target_system_id" value="1" />
		<param name="target_component_id" value="1" />
		<rosparam command="load" file="$(find prometheus_experiment)/config/mavros_config/px4_pluginlists.yaml" />
		<rosparam command="load" file="$(find prometheus_experiment)/config/mavros_config/px4_config.yaml" />
	</node> 
    
    <!-- Spawn vehicle model -->
	<!-- https://github.com/ros-simulation/gazebo_ros_pkgs/blob/kinetic-devel/gazebo_ros/scripts/spawn_model -->
    <!-- 初始位置 -->
	<arg name="x" default="0.0"/>
    <arg name="y" default="0.0"/>
    <arg name="z" default="0.2"/>
	<arg name="R" default="0.0"/>
    <arg name="P" default="0.0"/>
    <arg name="Y" default="0.0"/>
	
	<!-- TF transform -->
	<include file="$(find prometheus_gazebo)/launch_basic/tf_transform.launch">
		<arg name="x" value="$(arg x)"/>
    	<arg name="y" value="$(arg y)"/>
    	<arg name="z" value="$(arg z)"/>
    </include>

	<!-- 启动Prometheus代码 -->
	<!-- run the px4_pos_estimator.cpp -->
	<arg name="input_source" default="2"/>
	<arg name="rate_hz" default="30"/>
	<node pkg="prometheus_control" type="px4_pos_estimator" name="px4_pos_estimator" output="screen">
		<!-- 定位数据输入源 0 for vicon, 1 for 激光SLAM, 2 for gazebo ground truth, 3 for T265 -->
		<param name="input_source" value="$(arg input_source)" />
		<param name="rate_hz" value="$(arg rate_hz)" />
		<param name="offset_x" value="$(arg x)" />
		<param name="offset_y" value="$(arg y)" />
		<param name="offset_z" value="$(arg z)" />
	</node>
	
	<node pkg="prometheus_control" type="px4_sender" name="px4_sender" output="screen">
		<rosparam command="load" file="$(find prometheus_gazebo)/config/prometheus_control_config/px4_sender.yaml"/>
	</node>

	<!-- run the ground_station.cpp -->
	<node pkg="prometheus_station" type="ground_station" name="ground_station" output="screen" launch-prefix="gnome-terminal --tab --">	
	</node>

	<!-- run the ground_station_msg.cpp -->
	<node pkg="prometheus_station" type="ground_station_msg" name="ground_station_msg" output="screen" launch-prefix="gnome-terminal --tab --">	
	</node>

    <!-- run the terminal_control.cpp -->
	<node pkg="prometheus_control" type="terminal_control" name="terminal_control" output="screen" launch-prefix="gnome-terminal --">	
		<rosparam command="load" file="$(find prometheus_gazebo)/config/prometheus_control_config/terminal_control.yaml" />
	</node>	

</launch>

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

Jetson的mavros使用offboard模式,终端按键控制无人机飞行 的相关文章

  • 韦东山嵌入式学习视频完整目录

    此文档不定期更新 xff0c 请到百度网盘 xff1a https eyun baidu com s 3b1UtLc 下载 xff0c 不再另行通知 韦东山视频总体介绍 ARM裸机1期加强版 新1期 与旧1期的区别 旧1期 xff0c 20
  • 高版本的angular cli(2以上)如何使用ng eject

    在creact react中有eject来暴露出配置文件 xff0c 但是在angular cli中却只有1 X版本的cli有这个功能 https github com angular angular cli wiki 1 x home 2
  • 嵌入式学习十-- uC/OS-III&FreeRTOS区别

    在阅读完uC OS III xff08 V3 03 01 xff09 和FreeRTOS xff08 V10 0 1 xff09 的源码后 xff0c 我对RTOS有了较深的认识 现将它们之间的一些区别总结出来 xff0c 有利于大家理解这
  • 嵌入式学习论坛公告

    一个人学习时 xff0c 是孤家寡人 xff0c 学习效率可想而知 xff1b 十个人一起学习时 xff0c 是团队作战 xff0c 进步显著提升 xff1b 一群人在学习时 xff0c 那是时代潮流 xff0c 气势澎湃 xff0c 你不
  • C++实践项目一:学生信息管理系统(内附完整代码)

    引言 这几乎是任何一门语言的经典案例 管理信息系统 MIS xff08 管理信息系统 Management Information System xff09 系统 xff0c 是一个由人 计算机及其他外围设备等组成的能进行信息的收集 传递
  • Matlab中meshgrid的用法简介

    meshgrid xff1a 网格 1 主要使用的函数为 X Y 61 meshgrid xgv ygv meshgrid函数生成的X xff0c Y是大小相等的矩阵 xff0c xgv xff0c ygv是两个网格矢量 xff0c xgv
  • 如何解决Chrome插件安装时出现的“.crx程序包无效”问题

    最近由于要写论文 xff0c 就尝试着使用Google浏览器插件 xff0c 访问外网 xff1b 但是有时候网络会不稳定 xff0c 就要重新添加插件 xff0c 当删除旧的插件后 xff0c 却发现无法登录Google应用商店了 不得已
  • 网络空间安全专业大学排名 网络空间安全专业就业前景

    我们都知道这几年互联网的发展可谓是日新月异 xff0c 所以很多的大学都开设了网络空间安全这个专业 xff0c 同时 xff0c 市场上对于这类专业人员的需求也是很稀缺的 xff0c 如果有兴趣报考这个专业的可以看看下面的学校 网络空间安全
  • Matlab神经网络(一)

    一 xff1a 从生物角度开始 几乎地球上每一种动物都有其特定的神经系统 xff0c 都是由简单的神经元组合成神经网络 xff0c 然后完成其特定的功能 比如 xff0c 简单的低等动物 xff0c 就像蚂蚁 可能只有几十万个神经元 但可以
  • 2019 年经典Python 面试 100 问

    0 遇到过得反爬虫策略以及解决方法 1 通过headers反爬虫 2 基于用户行为的发爬虫 xff1a 同一IP短时间内访问的频率 3 动态网页反爬虫 通过ajax请求数据 xff0c 或者通过JavaScript生成 4 对部分数据进行加
  • 数模常用算法——图论算法简介&代码实现

    图与网络优化概述 目录 1 求 两个指定顶点之间的最短路径 xff08 Dijkstra算法 xff09 2 求每对顶点之间的最短距离 xff08 Floyd算法 xff09 3 最小代价生成树 3 1 prim算法模板 xff0c 当前测
  • 华为的鸿蒙系统与谷歌的Android系统,究竟还有多大差距?

    摘要 xff1a 近期 xff0c 美国商务部宣布正式把华为列入 实体名单 xff0c 华为不能在未经美国政府批准下与美国公司有业务往来 随后迫于压力 xff0c 谷歌已暂停与华为部分业务往来 xff0c 最要命的是使用Android系统的
  • npm设置代理

    npm设置仓库 1 npm config set registry https registry npm taobao org npm config list 查看npm当前配置 2 命令行指定 每次执行命令前加入 registry指定仓库
  • CSDN 博客添加无水印图片的方法

    文章目录 前言Markdown编辑器方法一 xff1a 删除水印相关代码Markdown编辑器方法二 xff1a 修改水印相关代码中的参数富文本编辑器类似方法 前言 湛蓝的湖水 xff0c 远处隐约可见的雪山 xff0c 这就是人们梦中的神
  • RT-Thread(1)简介_笔记

    RT Thread 愿景和目标 做世界级的 OS xff0c 让万物互联 xff0c 信息畅通无阻 成为未来 AIoT 领域最为主流的操作系统平台 主要特点为RT Thread是一个组件完善丰富 高度可伸缩 简易开发 xff0c 超低功耗
  • vscode保存后代码自动格式化配置

    1 最近接手第二个项目 xff0c 之前的项目是基于vue 43 element 43 admin这个优秀的后台管理平台搭建的 xff0c 由公司大佬直接搭建 xff0c 接手的时候只是做一些简单的业务开发 最近接手了一个外包公司帮忙写的系
  • 安装laravel

    安装laravel之前首先应该设置好安装好php xff0c 配置好环境变量 之后安装好compser 1 安装php环境变量 我使用的php环境安装包是upupw xff0c xff08 php环境安装包有很多 xff0c 例如phpst
  • git关联远程仓库(本地库被其他远程库占用解决方案)

    关联远程库两种方式 1 你现在文件夹里有项目 xff0c 远程库还没建 xff0c 这个情况 先在远程库新建项目 xff0c 然后git clone git 64 github com xxxx lzzz git 到本地文件夹空文件夹内 然
  • 无人机坐标系定义与转换

    x 作者简介 xff1a 热爱科研的无人机 xff08 机器人 xff09 导航 制导 控制开发者 如有错误 xff0c 请指正 xff0c 不吝感谢 xff01 1 前言 我们在研究无人机 机器人 无人车等相关领域的导航 制导与控制算法时
  • PX4 EKF模块解读含matlab代码

    这里主要介绍px4里面的定位模块 xff0c 即EKF库 1 状态向量与协方差的预测 1 Px4的状态向量为24维 xff0c 其如下所示 xff1a x 61

随机推荐