![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
px4
文章平均质量分 81
集智飞行
机器人,无人机,集群协同控制领域,软硬件经验分享
展开
-
PX4经纬度转东北天坐标c++代码
附上geo.h和geo.cpp,编译的时候可以把geo.cpp编译成一个library再链接到你的程序,或者和你的程序一起编译。float的精度是不能满足小数点后七到八位的要求的。原创 2024-01-25 22:30:52 · 529 阅读 · 0 评论 -
mavros和PX4中的海拔高与椭球高转换
同一个位置的两种高度值一般可以相差几十米,只是因为当地平均海平面是和地形有关的,凹凸不平没有规律。而ellipsoid height采用的基准是地球标准椭球模型,它的高度值和地形没有关系,只和到地心的距离有关。下文的mavros指ros1 noetic版本的,ros2版本的我还没研究。原创 2024-01-25 22:13:40 · 1237 阅读 · 0 评论 -
旋翼无人机常用仿真工具
可能需要运行在gazebo上,和无人机的接口也是个问题,可以参考PX4和Ardupilot中关于airsim仿真的描述。简单的质点(也可以加上动力学姿态),用urdf模型在rviz中显示无人机和飞行轨迹、地图等。由于每架飞机真的在运行PX4飞控固件仿真,因此比较占用cpu,一般一台电脑顶多仿真10架(这也是PX4 SITL支持的上限)。支持gazebo、flightgear、jMAVSim、AirSim等仿真软件。利用gazebo仿真,提供gazebo中的简单四旋翼模型。采用虚幻引擎,戴博士搭建的?原创 2023-05-24 18:30:59 · 1613 阅读 · 0 评论 -
四旋翼利用mavros进行GPS坐标指点飞行
先介绍一般px4飞控的xyz坐标指点飞行:利用mavros的 /mavros/setpoint_raw/local 话题可以发送东北天(ENU)坐标给px4飞控进行指点飞行。ENU坐标原点在起飞点,东向为x坐标,北向为y坐标,天向为z坐标。z坐标高度对应/mavros/local_position/local 中的z坐标,根据px4设置的不同可能是气压计、高度传感器或者差分GPS高度。下面介绍如何进行gps坐标指点飞行:户外我们往往希望给定一个gps坐标让四旋翼飞过去,而不是给定一个相对于起..原创 2021-11-23 17:34:13 · 5845 阅读 · 2 评论 -
阿木p200四旋翼配置经验笔记
本文初次写于2021/06/09我做编队试验用的阿木P200四旋翼,完成了机载计算机控制的编队飞行以及二维码引导降落。记录一下对到手的P200飞机仍需要更改调试的配置:原创 2021-06-09 18:21:47 · 2488 阅读 · 8 评论 -
PX4 offboard模式能接收的mavros指令
px4 offboard模式下可以接收上位机发送来的setpoint值,可以利用ROS包mavros来发送这些setpoint(期望值)。ps: 如果只是要用上位机发送消息来切换px4模式、解锁等,不需要切换到offboard模式,因为上位机也是利用mavlink给px4发送这些指令,和地面站发送指令是一样的。本文暂时只讨论mavros中的/mavros/setpoint_raw/local话题,这个话题可以同时发送位置、速度、“加速度”指令,如果要发送姿态角和油门指令还是要用/mavros/set原创 2021-04-16 10:51:52 · 3930 阅读 · 1 评论 -
四旋翼与四元数学习笔记
为了实现四旋翼无人机的编队控制,重点学习了四旋翼加速度转换为姿态角和推力指令的具体手段,详细学习了四元数、旋转矩阵、欧拉角在四旋翼上的应用,学习了四旋翼的几何控制法、姿态角控制器设计,学习了mavros、c++中四元数有关内容。1、学习了四元数在四旋翼无人机上的应用常见的加速度指令并不是转换为姿态角来控制四旋翼,而是转化为四元数。在mavros的控制程序中,也没有使用欧拉角,而是采用了四元数。这是因为欧拉角存在多种表达方式难以统一定义,而且存在奇异点(俯仰角为90度时),无人机进行大机动时欧拉角容易原创 2021-03-22 17:52:11 · 3062 阅读 · 0 评论 -
mavros坐标系转换与方向
本文写于2021年1月21日,以后mavros的坐标系方向可能还会变动。mavros的坐标系真的比较乱,而且和px4所常用的坐标系不同。px4使用的坐标系为NED(北东地)坐标系或者FRD(前右下)坐标系。然而mavros中常使用的是ENU(东北天)坐标系或者body系(下面细讲),mavros会自动将输入的ENU坐标值或者body系坐标值转换到NED坐标系中,再通过mavlink发送给飞控。mavros的话题中常见的坐标系有global系、local系、body系global系好理解,是g原创 2021-01-21 20:18:19 · 5121 阅读 · 5 评论