PX4学习
文章平均质量分 59
Chasing中的小强
自信悠然,不争,不端,实事求是
展开
-
PX4 Position_Control RC_Remoter引入
PX4飞控位置环控制中如何引入遥控器的控制量, 本文基于PX4 1.12版本, 相比于之前的版本, 多引入了Flight Task这么一个模块.主要的程序位于mc_pos_control_main.cpp中, 毕竟这个是位置环的主体部分. 每次循环下面的Run()函数voidMulticopterPositionControl::Run(){ if (should_exit()) { _local_pos_sub.unregisterCallback(); exit_and_cleanup原创 2022-05-28 15:57:28 · 721 阅读 · 0 评论 -
PX4 混控部分分析
PX4的混控部分大体思路和ardupilot是一致的, 更多的PX4采用的是脚本读取的形式完成其中的读取,转换以及最后的应用.首先从机型选择后,对应为toml文件, 如下图所示:采用对应的px_generate_mixers.py来自动生成对应的文件, 该脚本提取toml中的参数, 进行生成, 脚本如下图所示对应python代码中的主函数是通过解析附带的输入参数完成识别, 具体可以参看同级路径下的CMakeLists.txt完成if __name__ == '__main__': imp原创 2022-04-15 12:49:22 · 1003 阅读 · 0 评论 -
Python_mavros_manual_contoller
利用python完成mavros与PX4的通信工程,同时也完成了对应的PX4中对应消息代码的调试查看。from __future__ import print_functionimport rospy from mavros_msgs.msg import AttitudeTarget, State, ManualControl, OverrideRCInfrom geometry_msgs.msg import PoseStampedfrom mavros_msgs.srv import Com原创 2021-11-02 12:58:53 · 939 阅读 · 0 评论 -
简易mavgcs制作
视频链接自制科研简易地面站采用的python包有mavsdk, tkinter, asyncio, threading,dronekit实现方式 tkinter制作UIUIUI界面,采用多线程实现数据的读取与显示通过mavsdk或者dronekit完成与无人机之间的通信通常mavsdk对应PX4固件友好一点,dronekit对APM代码友好一点。这次两个都用了。dronekit对mavlink协议支持的全面一些。mavsdk仅支持部分mavlink协议内容,对offboard模式比较友好。mav原创 2021-06-19 21:17:17 · 1555 阅读 · 0 评论 -
PX4_jmavsim仿真之问题解决篇
1.安装鼠标,键盘同步软件Synergy而导致在linux中删去了部分ros包。2. 尝试使用mavsdk与PX4进行通信需要一个仿真环境。于是尝试采用PX4自带的仿真环境jmavsim。遇到的问题:Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertionversion->filename == NULL || ! _dl_name_match_p (version->filenam`解决方法,检查原创 2021-05-05 10:15:40 · 3183 阅读 · 0 评论 -
C语言实现mavlink库与px4通信仿真
参照网址:http://mavlink.io/en/mavgen_c/首先从github上下载对应的C_uart_interface_example,对应的github仓库网址为https://github.com/mavlink/c_uart_interface_example按照github教程,完成编译和下载。这里,他们改写了makefile文件,使得在make的时候还需要从github上面下载对应的mavlink_library_v2.对应编译的主要存在mavlink_control.cpp原创 2021-03-29 18:13:21 · 1055 阅读 · 0 评论 -
PX4室内姿态模式记录
简单介绍了一下PX4飞控室内增稳模式的飞行效果,配合视频进行观看即可原创 2021-03-22 11:03:31 · 775 阅读 · 0 评论 -
px4调试bug--添加mavlink_log_info信息
有一阵子没有看首先要添加头文件需要的函数为mavlink_log_info(&_mavlink_log_pub,"this is a string %f", (double)value);原创 2020-11-18 20:30:23 · 1729 阅读 · 0 评论 -
Px4下载指定版本的固件
git clone https://github.com/px4/firmwaregit describe --tag 查看当前版本号git tag -l 查看所有版本,也就是打个taggit checkout v1.9.1 跳转到指定版本。注意这个地方不要加-b ,-b是创建新的分支。git checkout表示跳转分支。git log 可以查看当前位于哪个分支上...原创 2020-11-02 21:18:27 · 2081 阅读 · 0 评论 -
基于ROS与optitrack的四旋翼飞机开发流程
本文将一些注意点记录下来,适合于开发调试:目前只是分段调试通了,带后续联合开发的时候在来补充还有没有什么注意点(过程也算麻烦,也算不麻烦);ROS组网,optitrack 台式机(windows系统)与 ROS服务器(这里称为服务器,感觉比较合适),四旋翼在同一个局域网内。其中四旋翼本次采用Pixracer (烧录px4,v1.10.1版本), 通过tel2与树莓派链接,树莓派采用4B型号,烧录ubuntu mate18.04版本,安装ros-melodic。期间需要树莓派当master,第一开始采原创 2020-07-26 12:31:56 · 2798 阅读 · 0 评论 -
Rospy初次使用记录-定点飞行
由于接触到pytorch,所以用python完成与ROS的通信,下面例子为从程序中摘出来的一部分,用到了ROS消息的订阅与发布,服务的通信,可以作为参考使用:import rospyfrom mavros_msgs.msg import AttitudeTargetfrom geometry_msgs.msg import PoseStamped from mavros_msgs.srv import CommandBoolfrom mavros_msgs.srv import SetModes原创 2020-07-05 20:30:10 · 1253 阅读 · 0 评论 -
ROS_yolo_PX4初尝试
实现方法:PX4+mavros为常规配置,只需要添加对应的gazebo插件在PX4固件中找到 Firmware/launch/mavros_posix_sitl.launch,修改其中的飞机模型,添加iris_stereo_camera,使得iris模型携带了一台双目相机,ROS中topic为:/stereo/camera/left/camera_info/stereo/camera/left/image_raw/stereo/camera/right/camera_info/stereo/ca原创 2020-06-03 08:53:27 · 1152 阅读 · 6 评论 -
ROS_SLAM调试小结
ROS中消息重映射需要在发布该话题的节点下进行,否则不成功。如果是针对mavros的消息进行重映射,则需要找到mavrso包下launch文件,px4.launch。然后由于px4.launch(如下图所示)中调用的是node.launch,故需要再次找到node.launch文件进行修改。<launch> <!-- vim: set ft=xml noet : --> <!-- example launch script for PX4 based FCU's --.原创 2020-05-25 19:26:30 · 2895 阅读 · 6 评论 -
飞控之姿态结算和姿态控制(对比)
今天了解了姿态结算部分。目前看过的飞控含有Apm,px4,国内开源飞控 正点原子,匿名飞控,小马哥飞控,以及一个不知名的飞控。Apm,px4比较优秀,毕竟很多大佬在维护。就姿态结算方面为ekf,mahony,以及互补滤波。其中互补滤波为最简单,算力消耗最小的。表示为在陀螺仪和加速度计的不同频率特性上,陀螺仪短时间内可靠,长时间有积分漂移。而加速度计z轴分量含有重力影响。然后互补特性。注意,即使在互补滤波中两个传感器的更新频率也应该不同。该方法在智能车的平衡车上在用。Mahony算法现在飞机上普遍都在用。原创 2020-06-08 16:57:48 · 850 阅读 · 0 评论 -
ROS_PX4_gazebo学习记录
在官方程序上(PX4 wiki上为offboard起飞到2m高度) 进行更改,实现首先起飞到固定点(x=1,y=2,z=5), 然后按照给定角度飞行。注意事项:ROS程序订阅的的消息为/mavros/imu/data,而非/mavros/imu/data_raw。ROS程序发布的给定姿态topic为/mavros/setpoint_raw/attitude,而非/mavros/setpoint_attitude/attitude。姿态解算部分参考了Ardupilot中的函数。效果图为:RO原创 2020-05-19 00:50:03 · 2848 阅读 · 5 评论 -
PX4-代码剖析-启动顺序与日志参数说明
PX4的启动流程基本和之前版本的一致,有微小改动,如下图所示。本文主要查看其中姿态控制部分。其中姿态部分根据在上图中所在位置为因此在px4代码中(版本号为1.11)中,查看对应的RCS文件中的内容,为(此处稍有不同)跳转进去查看为(注,该文件中根据不同的机型,选择不同的对应启动程序,下图仅选择旋翼飞机):再次跳转,找到rc.mp_apps即可,如下图所示:上图中左边以数字开头...原创 2020-05-10 21:23:38 · 2925 阅读 · 0 评论 -
罗德里格斯公式推导(转载)
由于PX4中姿态控制中用到了 罗德里格斯公式,且前阵子观看高翔的《视觉SLAM十四讲》中也提到该部分的内容, 故考虑应该对该部分进行较为准确的理解。查找了网上的相关知识,并进行了推导。其中有篇较为不错,故转载。首先申明:本文转载自https://www.cnblogs.com/jingrui/p/9712461.html参考文章:单击跳转至参考文章(参考文章中数学符号表述较为精准,排版较好)...转载 2020-05-04 12:08:31 · 2140 阅读 · 0 评论 -
PIXHAWK: A System for Autonomous Flight using Onboard Computer Vision 总结
论文发表于2011年,icra会议上,作者为PX4代码的主要维护者Lorenz Meier。作者显示为Lorenz Meier is master student with the Computer Vision and Geometry Lab, ETH Zurich。即ETH计算机视觉实验室的硕士。论文核心内容为针对小型无人机设计了一套软硬件系统,可以处理高速,低延迟机载图像过程。下面总结...原创 2020-05-03 20:40:28 · 1064 阅读 · 0 评论 -
PX4-mavros之Roslaunch使用 及流程介绍
首先在Ros工程目录src下,创建新的功能包。使用命令 catkin_create_pkg px4_launch注意此处不需要添加任何依赖了。然后建立一个launch文件夹,如下图所示2. 改写launch文件即可,如下面所示。<launch> <arg name="world_path" default="$(find simulation)/worlds...原创 2020-04-07 01:23:20 · 5503 阅读 · 7 评论 -
Ros_PX4_Mavros从零入门--哪些坑
首先创建Ros工作空间。在期望的路径上创建文件夹,比如这里我们采用如下指令创建一个空的文件夹mkdir Ros_simulation然后,进入该文件夹后创建src文件夹,指令同上cd Ros_simulationmkdir srccatkin_init_workspace 此时,就可以返回Ros_simulation文件夹下完成后续工作空间的创建,指令为:cd ..cat...原创 2020-04-06 17:45:17 · 10008 阅读 · 2 评论 -
ArduPilot源码极速下载手册(一文告别github慢速问题)
克隆项目后,默认子模块目录下无任何内容。需要在项目根目录执行如下命令完成子模块的下载:git submodule initgit submodule update或:git submodule update --init --recursive有时子模块的项目维护地址发生了变化,或者需要替换子模块,就需要删除原有的子模块。删除子模块较复杂,步骤如下:rm -rf 子模块目录 删除...原创 2020-04-03 13:21:14 · 3809 阅读 · 0 评论 -
PX4_gazebo_Ros_vscode环境配置(从一个干净的Ubuntu18.04开始)
配置:Vmware14 虚拟机, Ubuntu18.04 LTS 版本。台式机Win10系统,8G内存,i7-6700四核整个配置过程基本按照官网操作。虚拟机配置如图进入ubuntu18.04之后,首先配置网络,然后依次输入下列指令即可1、apt-get update -yapt-get upgrade -y2、sudo apt install git3、git clon...原创 2020-03-29 12:25:20 · 4223 阅读 · 2 评论