- 博客(14)
- 资源 (3)
- 收藏
- 关注
原创 C 语言中 void* 详解及应用
void 在英文中作为名词的解释为 “空虚、空间、空隙”,而在 C 语言中,void 被翻译为"无类型",相应的void * 为"无类型指针"。void 似乎只有"注释"和限制程序的作用,当然,这里的"注释"不是为我们人提供注释,而是为编译器提供一种所谓的注释。void的作用1.对函数返回的限定,这种情况我们比较常见。2.对函数参数的限定,这种情况也是比较常见的。一般我们常见的就是这两种情况:当函数不需要返回值值时,必须使用void限定,这就是我们所说的第一种情况。例如:void func(i
2022-03-19 14:38:21 595 1
原创 ROS学习笔记(2)——roslaunch turtle_tf turtle_tf_demo.launch报错问题(Ubuntu20.04python2与python3版本切换)
写在前面Ubuntu版本:20.04ROS版本:noetic解决运行roslaunch turtle_tf turtle_tf_demo.launch文件后报错问题问题说明 : 此问题最终是由于python版本的问题。问题的产生可以去看以下问题报错所在的目录下(/opt/ros/noetic/lib/turtle_tf)的文件:打开报错为文件,第一行就可以看到:#!/usr/bin/env python而我们自计算机没有指定python是哪个版本(即:python --version 查
2021-12-14 17:55:08 3440 1
原创 ROS学习笔记(1)——创作工作空间/安装usb_cam来调用摄像头
写在前面ubuntu版本:20.04ros版本:noetic工作空间工作空间(workspace)是一个存放工程开发相关的文件夹,一般包含:src:代码空间,存放各种功能包。build:编译空间,存放编译过程中产生的过程文件。(不常用)devel:开发空间,存放编译完成后的可执行文件,环境变量配置的脚本。(1) 创建工作空间$ mkdir -p ~/catkin_ws/src$ cd ..$ catkin_init_workspace创建文件夹,在catkin_ws文件夹下
2021-12-14 17:48:18 2736
原创 np.nditer、flags=[‘multi_index‘] 用法
it = np.nditer(x, flags=['multi_index'], op_flags=['readwrite'])np.nditer是numpy array自带的迭代器。用一个demo解释一下np.nditer的用法。先构建一个3x4的矩阵然后输入命令image.pngflags=[‘multi_index’]表示对a进行多重索引,具体解释看下面的代码。op_flags=[‘readwrite’]表示不仅可以对a进行read(读取),还可以write(写入),即相当于在创建这个迭
2021-08-31 16:13:55 907 1
原创 基于RflySim平台的mahony(含磁罗盘)互补滤波在pixhawk仿真及实物实验(带实验数据)
写在前面本案例实验采用RflySim平台,该平台可以高效快速编写代码,使用simulink模型搭建,可以见代码直接生成对应的C代码,并一键将代码烧录进Pixhawk中,是一种快速开发平台,RflySim获取更多可以参考mahony是什么mahony互补滤波是一种精度相对可以高效的姿态解算方法。...
2021-08-19 10:39:03 1092
原创 PX4_ECL_EKF代码分析2
写在前面源码版本:1.6.0rc1源码位置1:Firmware-1.6.0rc1\src\modules\ekf2_main.cpp源码位置2:Firmware-1.6.0rc1\src\lib\ecl\EKF\整体框架:上图PX4的EKF代码框架,PX4的代码由两部分组成,一部分是在modules下的ekf2,另一部分是ecl代码库中EKF部分。第一部分实现数据的订阅(subscribe)、整理、储存、经过处理的数据发布(publish)。第二部分实现数据的处理。第二部分:bool E
2021-03-08 23:05:48 1710
原创 PX4_ECL_EKF代码分析1
写在前面源码版本:1.6.0rc1源码位置1:Firmware-1.6.0rc1\src\modules\ekf2_main.cpp源码位置2:Firmware-1.6.0rc1\src\lib\ecl\EKF\
2021-03-07 22:26:07 2560 2
原创 windows安装Java环境及Flightplot分析PX4飞行日志
写在前面不管是windows还是Ubuntu下都需要安装对应的Java环境。(我用的是win10家庭版)1.下载安装java环境:a.下载点击地址进行下载:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择最下面的windows ×64下载,下载的时候需要注册一个账号,用邮箱就可以。下载完就是上图这个文件双击运行安装。b.安装双击下载的程序包,出现如图所示,点击下一步
2021-03-04 21:47:05 4704 9
原创 PX4位置估计源码分析
写在前面源码版本:1.6.0rc1源码位置:Firmware-1.6.0rc1\src\modules\position_estimator_inav\position_estimator_inav_main.cpp整体框架:整个算法的核心思想是由地理坐标系下的加速度通过积分,来获得速度、位置信息;经过2次修正产生可利用的信息,第一次是利用传感器计算修正系数产生加速度的偏差修正加速度,第二次是利用修正系数修正位置;最后可利用速度经过加速度修正,可利用的位置经过了加速度和位置修正。加速度的修正过程是
2021-01-08 20:35:56 1598
原创 PX4姿态控制源码分析
写在前面新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语法;增加了支持甘特图的mermaid语法1 功能;增加了 多屏幕编辑 Markdown文章功能;增加了
2020-12-29 22:16:53 1092
原创 PX4姿态估计源码分析
写在前面今天入坑PX4开始学习PX4代码,pixhawk硬件是可以支持PX4、ardupilot两套固件。我用的是1.6.0rc1版本代码。代码位置:\Firmware1.6.0rc1\src\modules\attitude_estimator_q整体框架:数据的获取(a、subscribe订阅的数据 b、从参数文件拷贝的默认参数)姿态估计数据发布(a、vehicle_attitude b、control_state)int attitude_estimator_q_main(int a
2020-12-26 09:17:00 485
原创 PX4姿态估计源码分析
写在前面今天入坑PX4开始学习PX4代码,pixhawk硬件是可以支持PX4、ardupilot两套固件。我用的是1.6.0rc1版本代码。代码位置:\Firmware1.6.0rc1\src\modules\attitude_estimator_qPX4姿态估计源码先找到功能入口函数:int attitude_estimator_q_main(int argc, char *argv[]){ if (argc < 2) { warnx("usage: attitude_estima
2020-12-25 18:25:24 1148 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人