自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2759)
  • 资源 (1)
  • 收藏
  • 关注

原创 为什么有的新手飞T265指点会偏航转90度?基于mavros源码详解px4-mavros中的ENU NED FLU FRD坐标系及位姿变换

首先介绍两个基本概念,body系和local系,body系指无人机机身,原点在机体上,随无人机移动,常见的有前左上FLU,前右下FRD,local系则是以客观世界中的一个静止的点为原点(一般是无人机起飞点),常见的有东北天坐标系ENU和北东地坐标系NED。这些都是右手系。mavros作为连接飞控端和ros端的程序,有这么四个坐标系,即飞控端的body系和local系及ros端的body系和local系:fcu_body,fcu_local,ros_body,ros_local。其中fcu_body又叫

2024-06-09 13:31:04 1425 1

原创 aruco二维码检测与aruco二维码降落原理讲解 20240422

aruco又称为aruco标记、aruco标签、aruco二维码等,其中 CharucoBoard GridBoard AprilTag 原理相通,只是生成字典不同,而AprilTag用于机器人领域或可编程摄像头比较多,而aruco CharucoBoard GridBoard则用于AR应用或智能眼镜比较多,都是用于实现精准定位,如无人机降落时就可以使用它实现精准降落。ArUco marker是一种汉明码方格图。

2024-04-22 21:22:10 3222 4

原创 关于优化问题(含数值优化)个人总结文档

FxΔxFxΔx。

2024-03-13 22:26:43 1057

原创 写TCP UDP以及串口通信时,整型数组转字符串数组发送的便捷操作

串口通信一个udp通信,发送接口函数都是发送字符串,但是你看那个串口的发送函数ser.write(serial_msg);,注意长度由73改为了72,因为字符串数组一般末尾还会加上个"\0",所以长度会多1,这么改完编译,没有问题,运行,也控制了吊舱转动到指定角度了,看来我的理解是OK的,这么我以后可能不用专门再把整型数组转为一个二进制相同的转义字符串数组了,现在是用reinterpret_cast函数转的,以前我还更麻烦,手动写个转义字符数组出来。

2024-03-11 09:44:19 498 1

原创 T265定点指点基本原理与极简代码实现

对应掩码位置为1为不使用,为0为使用,所以想通过/mavros/setpoint_raw/local话题给无人机发送期望位置与偏航,type_mask赋值为0b100111111000,即可实现,注意coordinate_frame 需要赋值,一般为1,即为本地系。//启动服务2,设置客户端(Client)名称为set_mode_client,客户端的类型为ros::ServiceClient,//发布之前需要公告,并获取句柄,发布的消息体的类型为:geometry_msgs::PoseStamped。

2024-02-21 13:04:04 1523

原创 我感觉D435i的使用有必要写出一篇教程,怎么烧写升级固件,更改分辨率帧率,标定,发布IMU数据等等

我感觉D435i的使用有必要写出一篇教程,什么烧写固件,更改分辨率,标定,发布IMU数据等等可以说D435i涉及到的操作比较多,我感觉应该需要有这方面的一个系列教程,不知道官方有没有。。...

2021-07-21 10:05:34 6038 4

转载 机器人操作系统ROS:从入门到放弃(三) 发布接收不同消息2(里面有对geometry_msgs/PoseStamped消息的详细分析解读)

里面有对geometry_msgs/PoseStamped消息的详细分析解读,这个是非常重要的,这也本身是我们用的非常多的一种消息。转载自:https://www.jianshu.com/p/5c75c24f0fe6机器人操作系统ROS:从入门到放弃(三) 发布接收不同消息2陈瓜瓜_ARPG机器人操作系统ROS:从入门到放弃(三) 发布接收不同消息2上一讲我们讲了如何发布接收int,float和array类型的消息,这些也都算是c++自有的消息,被归纳在ROS中的std_msgs这个命名

2021-03-08 18:25:43 9923

转载 机器人操作系统ROS:从入门到放弃(四) C++类,命名空间,模版,CMakeLists介绍(这篇我很推荐,讲得很到位详细!)

转载自:https://www.jianshu.com/p/79bc4ff1a8f8?utm_source=desktop&utm_medium=timeline机器人操作系统ROS:从入门到放弃(四) C++类,命名空间,模版,CMakeLists介绍陈瓜瓜_ARPG机器人操作系统ROS:从入门到放弃(四) C++类,命名空间,模版,CMakeLists介绍由于下一讲要讲到怎么在类中pub和sub消息.那么考虑到有些同学对类不甚熟悉.我们稍微回顾一下.但关于类网上一查其实一大堆东西

2021-03-08 08:34:08 1202 1

原创 plane_communication.py可能就是XTDrone的关键程序,就像普罗米修斯的command_to_mavros.h ,和GAAS的px4_mavros_run.py几乎一样

plane_communication.py可能就是XTDrone的关键程序,就像普罗米修斯的state_from_mavros.h command_to_mavros.h 看它订阅的消息和发布的消息

2021-02-24 21:23:51 934 4

原创 我写的ROS MAVROS librealsense(x86 TX2 树莓派) realsense-ros 普罗米修斯 普罗米修斯仿真 安装教程 PX4指令 合集

我写的ROS MAVROS librealsense reslsense-ros 安装教程合集ROS安装教程可以见:https://blog.csdn.net/sinat_16643223/article/details/107813134MAVROS安装教程可以见:https://blog.csdn.net/sinat_16643223/article/details/113868262librealsense(x86) reslsense-ros安装教程可...

2021-02-19 17:49:58 640

原创 我的ACfly-T265搭建记录

我的ACfly-T265搭建记录软件部分见:这是最开始写mavlink通信部分,但这只是单纯写,没有烧写到飞控,还没有搭建好整个硬件通信环境。只是单纯编译器编译0错误。逻辑上代码应该是OK的。https://blog.csdn.net/sinat_16643223/article/details/108916925这是真正烧到飞控上测试代码,搭建好通信的硬件环境(不是在无人机上)并真正进行和树莓派T265的mavlink通信。但是还没有真正放到实际的无人机上,无人机还没...

2020-11-08 07:27:56 1371

原创 STM32下mavlink的使用个人总结(包含对ACfly里面mavlink的分析,包含接收T265的位置信息的二次开发教程)

我一开始想既然mavlink在STM32的使用只需要调用函数就可以了,但是mavlink在STM32的代码似乎比较多,我就想起直接看它的头文件有哪些函数,结果查看头文件有巨大发现对应每种消息都有专门一个头文件,我甚至找到了vision_positon_estimate的头文件,是不是要读取某类消息只需要调用这个对应消息头文件里面的函数就可以了。在这个头文件里面我找到了似乎是对应读取某个参数的static inline uint64_t mavlink_msg_...

2020-10-04 10:31:20 8333 3

原创 ubuntu mate 18.04官网下载,烧录及安装 SSH VNC ROS MAVROS librealsense realsense-ros vision_to_mavros(我自己亲自弄的)

你首先百度搜ubuntu mate 18.04就可以发现ubuntu mate的官网,点进去然后我们点上面的download他会让你选择平台,那我们选择64位的树莓派。https://ubuntu-mate.org/download/arm64/ubuntu mate 18.04就这一个版本下载,所以不用担心上面18.04.2以为还有.1什么的。可以看到18.04支持到2021年https://ubuntu-mate.org/download/arm64/bionic/..

2020-09-03 13:31:40 17093 2

原创 快速搭建一个APMT265树莓派无人机

快速搭建一个APMT265树莓派无人机硬件:F450机架(U型脚架,还需要多买一个F330的上层板来扩展)pixhawk2.4.8 (APM3.6.11固件)树莓派3B+(我提供配置好的基于ubuntu meta 18.04的镜像)T265和数据线好盈乐天20A电调权盛自制2216电机(配1047桨,桨注意需要加垫片)富斯i6遥控器(设置方法用的苍穹四轴的教程,关键还是设置好几种飞行模式)树莓派电源线电池是5200mAh 30C猛禽360扩展板(用来固...

2020-09-02 21:42:16 6654 2

转载 基于单目视觉的四旋翼定点降落——如何通过mavros控制pixhawk(二)(这个我觉得讲得很详细)(2021.3.1现在回看发现也是对PX4官方手册里mavros-offboard代码的讲解)

这个我觉得讲得很详细,如何通过mavros去控制pixhawk mavros就是mavlink的一个封装 用mavros使无人机进入offboard模式,不是在地面站去设置的,这个我看了这篇文章才明白。这里面说到的Macros和piahawk连接的方法感觉和智能无人机课程里说到的一样。这是智能无人机课程的。这是这篇文章的https://blog.csdn.net/zhengyuxin0507/article/details/80357405基于单目视觉的四旋翼...

2020-07-26 09:07:11 5046 2

原创 ORBSLAM3带有图形界面启动运行时出现如下报错并挂掉,不带图形界面启动就不会挂掉,可以正常运行

ORBSLAM3带有图形界面启动运行时出现如下报错并挂掉,不带图形界面启动就不会挂掉,可以正常运行。然后再启动带图形界面的ORBSLAM3,就可以正常启动起来了,没有上面所说报错了。之后,重新源码编译安装opencv,不用卸载,可以直接覆盖。

2024-09-21 00:32:26 249

转载 AGX Orin/ Orin NX/ Orin nano的区别

AGX Orin Orin NX Orin nano的区别。

2024-09-19 17:18:42 44

原创 kalibr相机IMU联合标定的重投影误差小于0.2是来自于kalibr官方wiki

kalibr相机IMU联合标定的重投影误差小于0.2是来自于kalibr官方wiki,原话是重投影误差在0.1-0.2个像素之间是好的标定。

2024-09-08 09:56:42 222

转载 windows上使用flightplot

【代码】windows上使用flightplot。

2024-09-03 11:39:17 36

原创 编译出现fatal error: Eigen/Dense: No such file or directory“的解决方法

【代码】编译出现fatal error: Eigen/Dense: No such file or directory“的解决方法。

2024-09-01 09:46:42 223

原创 OrinNX上部署前端GPU加速的ORB_SLAM2_CUDA

ORB_SLAM2_CUDA的编译运行环境和普通ORB_SLAM2/ORB_SLAM3的区别在于opencv和cv_bridge上,需要做些改动,其他的依赖项都是一样的。基础opencv环境其实和vins-fusion-gpu是一样的,都是需要编译安装带有CUDA模块的opencv。我这里是在部署了vins-fusion-gpu的OrinNX上进行ORB_SLAM2_CUDA的部署,opencv装的是3.4.1,编译时带上了CUDA相关选项。

2024-08-29 22:38:16 1181

原创 关于OrinNX上源码编译安装librealsense和realsense-ros后启动D435i发出imu话题会挂掉

关于OrinNX上源码编译安装librealsense和realsense-ros后启动D435i发出imu话题会挂掉。单发图像话题是OK的,但是修改Launch文件发出/camera/imu就会出现如下报红。注意不要进入到scripts文件夹下执行这个脚本,这样会有些相对路径不对。cd到librealsense下,先拔下所有摄像头,再执行。打开realsense-viewer也看到红色警告。

2024-08-16 17:25:18 179

原创 vins-fusion发出位姿话题时延相对较大原因分析(如在NX板卡上)

不像ORBSLAM前端就发出位姿话题了,vins虽然也有前端tracking,但是前端tracking输出的是比如特征点匹配结果,并没有相机帧初始位姿估计,相机帧初始位姿估计放在了后端estimator.cpp里。Estimator::processMeasurements()函数。processImage函数部分内容。

2024-08-10 00:18:25 213

原创 xavier NX上装cartographer并基于思岚激光雷达运行起来

要结合思岚激光雷达跑cartographer还需要自己在cartographer里添加对应的lua文件和launch文件。大约等半小时左右可以运行安装完成 ,home目录下会生成一个cartographer_ws文件夹。创建完后需要在cartographer_ws文件夹下运行下面命令进行编译。然乎通过下面命令可以把基于思岚激光雷达的cartographer起起来。装cartographer。对应的路径和文件内容如下。装思岚激光雷达ROS驱动。

2024-08-08 16:40:15 181

转载 从ROS bag文件中提取图像

转载自:https://blog.csdn.net/weixin_44577224/article/details/132802675。为bag文件中储存图片的topic。

2024-08-02 17:49:02 119

原创 用dd命令进行镜像的烧录和备份查看拷贝进度命令

可以打开一个新终端运行sudo watch -n 1 pkill -USR1 -x dd,可以在备份终端看到实时的备份速度和进度。用dd命令进行镜像的烧录和备份时。

2024-07-31 11:05:16 159

原创 自己部署跑r3live++

在我自己i5的笔记本电脑上,注意订阅的图像话题需要改。最后还是卡住挂掉了,我Bag包以0.2倍速播放的,i5 cpu 8G内存。opencv3.3.1装好后我都没有额外源码编译装cv_bridge。内存占用感觉也是一直在缓慢增长,但是没有FAST-LVIO那么快,感觉可能是我ubuntu笔记本上的opencv是3.2的原因。livox功能包装后,接着catkin_make,有报错。我改在一台opencv版本3.3.1的ubuntu上编译。再catkin_make r3live就编译通过了。

2024-07-29 22:08:41 499

原创 ORBSLAM3初始化对配置文件里的IMU标定参数(噪声和随机游走)这么敏感,是拿那些参数参与实际的IMU预积分运算了

Nga 和NgaWalk 有在Preintegrated::IntegrateNewMeasurement函数里更新协方差的时候用到,协方差也就是信息矩阵,程小六的书里有讲(这感觉跟vins里面影响IMU预积分权重类似啊 ),Preintegrated::IntegrateNewMeasurement函数就是预积分计算函数(可以看这里的注释。ORBSLAM3初始化对配置文件里的IMU标定参数(噪声和随机游走)这么敏感,是拿那些参数参与实际的IMU预积分运算了,vins里面那些参数只是影响IMU预积分权重。

2024-07-23 16:01:39 781

原创 vins里config文件里的IMU的噪声和随机游走标定参数只实际影响IMU预积分权重,不参与实际IMU预积分运算。

你自己后来标定D435i的时候,就基本没有重新单独标定IMU了,就一直用的最开始标定的D435i的IMU标定结果进行的双目IMU联合标定,当时觉得算是一种偷懒,只要最后双目IMU联合标定结果的重投影误差小于0.2就认为OK了,除非在没有重新标定imu的情况下,双目IMU联合标定的重投影误差始终达不到0.2,这个时候我才建议说去重新标定一下IMU,但是实际似乎用之前的IMU标定结果,双目IMU联合标定的重投影误差基本也都可以达到0.2,当然我后来真正亲手标定的次数也不是很多了。下面这段代码别人也有相应解释(

2024-07-21 20:01:44 673

原创 自己ubuntu18.04上部署ORBSLAM3的可行操作步骤整理

OTB_SLAM3文件夹下的CMakeLists.txt里面添加下面这句(我不确定这步有没有起作用,后来似乎主要是靠更换ceres版本解决的编译报的一大堆语法错误,但是至少更换ceres版本再加上这步是没有问题的,可以解决那一大堆报错,不加这步只改ceres版本不知道是否OK,只加这步但是不改ceres版本是解决不了那些一大堆报错的,万全起见,这步还是加上,至少没坏处)其实到这里可以下数据集跑,当然不基于ROS的,但是由于下数据集的网站网速太慢,所以我就没有在这里下数据集跑了。

2024-07-21 00:03:23 664

原创 D435i的/camera/imu没有发出来,可能是因为librealsense realsense-ros D435i的固件版本不匹配的原因

D435i的/camera/imu没有发出来,可能是因为librealsense realsense-ros D435i的固件版本不匹配的原因。确实用2.50.0的realsense-viewer就读不出,用其他版本的realsense-viewer就读得出imu数据。要想完全卸载之前二进制安装过的librealsense(有两种方式,一种二进制直接安装librealsense,一种二进制安装realsense2_camera间接安装了librealsense)在合众NX上遇见过这样的情况,所以记录下来。

2024-07-17 17:17:38 681

原创 自己部署运行FAST-LIVO

然后配合fastlivo官方给的bag包就跑起来了。rpg_vikit下了之后再编译,然后就编译通过了。把livox功能包放进去后再编译。

2024-07-16 19:06:02 584

原创 vins-fusion单目IMU跑港大MARS数据集注意事项

vins订阅的MARS数据集里的imu话题注意订阅大疆飞控的imu话题/dji_osdk_ros/imu,不要订阅livox激光雷达的imu话题/livox/imu,因为/livox/imu里的加速度值是普通加速度值的十分之一,会导致vins一直没法初始化过去,终端一直报misalign visual structure with IMU。vins-fusion跑港大MARS数据集只能跑单目IMU的。

2024-07-13 18:11:42 315

原创 跑vins初始化时出现misalign visual structure with IMU很可能是因为订阅的IMU话题里加速度的值不对或者偏差太大

这种可能出现在比如,用港大的MARS数据集跑vins,如果订阅Livox的imu话题/livox/imu,vins就会终端显示那样,初始化不过去,因为/livox/imu里的加速度值是普通加速度值的十分之一。可以改订阅MARS数据集里大疆飞控的imu话题。跑vins初始化时出现misalign visual structure with IMU很可能是因为订阅的IMU话题里加速度的值不对或者偏差太大。也是受到这个人回答的启发,这个人看了下也是港科大的。

2024-07-12 20:56:23 319

原创 关于ros里的时钟同步

飞基于飞控imu的vins的时候,实际是通过ros做的时间同步,所以不用专门弄时间同步了, ros时间同步,图像和Imu时间还有微小偏移靠kalibr标定解决,所以vins的配置文件里里面就有参数设定图像和imu两者间的延时,应该就是针对ros时间同步后还存在的延时或者说偏移。

2024-07-11 18:50:04 255

转载 单片机UART丢失数据常见的问题

指未及时取走数据导致溢出错误而丢失数据,通常是发生在大量数据、以查询方式接收数据的情况下。在编程时需要考虑通信接口方式,在长距离通信的时候,需要考虑线路上的延时,如果操作不当也会导致数据丢失。使用UART中断接收数据相比查询接收数据的方式更常见,中断方式比查询方式响应更及时,但不合理处理同样也会存在数据丢失的情况。HAL库已经有几年了,但还是有很多工程师都使用标准外设库,这时如果自己封装接口不当,就会存在发送最后一字节数据丢失的问题。在通信波特率较高的情况下,如果时钟误差加大,很可能导致数据丢失。

2024-07-10 11:57:18 84

原创 mavros中的gcs_url:=“udp://:14556@192.168.1.106:14551“含义

gcs_url是用来进行mavlink消息的UDP转发的, :14555其实对应的是本地IP和端口,本地IP省略写了,192.168.1.106:14551是QGC所处的远端IP和UDP通信端口,本地端口一般不需要改,或者任意给个端口就行,远端IP和端口需要和QGC保持一致。px4 gazebo仿真时用的,也是这个含义。再看这个图也会清晰得多。

2024-07-04 08:25:36 265

原创 用pandoc把md文件转为word文件方法

windows上装好pandoc后,可以打开cmd,cd到md文件的目录下,运行如下命令,就可以把test.md文件转为test.docx文件,test.docx文件是生成在和test.md文件同一个目录下。typera也是用pandoc转的,如果不装pandoc,也没法实现用typera把md转为word文档。实际下载地址在release里。首先下载安装pandoc。

2024-07-03 12:41:24 478

原创 100行代码实现串口与UDP透传/wifi数传

UDP与串口透传,或者说UDP与串口互转,本质是把串口接收到的字符数组/整型数组通过UDP发送出去,把UDP接收到的字符数组/整型数组通过串口发送出去。不管叫字符数组还是整型数组,对应内存存储以及传输的二进制或者十六进制都是一样的。

2024-06-29 18:07:32 1237

原创 windows上使用wjwwood的serial库

实际这么试了,是可以的,就可以编译生成serial.lib以及serial_example.cc对应生成的test_serial.exe。之前看到别人写的windows上用wjwwood的serial库的文章,都要先部署一下环境,装catkin什么的。其中一篇有个评论说到。

2024-06-21 19:21:02 240

ubuntu18.04上部署运行OK的SchurVINS整个工作空间的压缩包

ubuntu18.04上部署运行OK的SchurVINS整个工作空间的压缩包,解压后在工作空间目录下catkin build即可(已经安装好一些二进制依赖的前提下),因为SchurVINS是基于SVO改的,所以工作空间需要像SVO要额外从github下13个功能包,为了避免麻烦所以就把整个工作空间压缩打包。

2024-04-17

DenseSurfelMapping提供的带有vins位姿话题和D435i深度图话题的surfel-color02.bag包

DenseSurfelMapping提供的带有vins位姿话题和D435i深度图话题的surfel_color02.bag包 方便用于一些建图功能包的测试

2024-03-17

我运行OK的voxblox工作空间下的src文件夹,包含voxblox安装包以及所需包

我运行OK的voxblox工作空间下的src文件夹,包含voxblox安装包以及所需包,可以免去部署voxblox时下载各种包的麻烦。 我自己的环境是Ubuntu18.04,运行OK,src压缩包直接在工作空间下解压成src文件夹,编译命令参考voxblox官方给的编译命令。

2024-03-16

一些linux上UDP TCP通信的小例程

自己的一些linux上UDP TCP通信的小例程,还包含有比如UDP传图

2024-03-08

部署运行成的ManhattanSLAM代码压缩包

部署运行成的ManhattanSLAM代码压缩包

2024-03-07

笔记本ubuntu18.04上可用的nomachine deb包

笔记本ubuntu18.04上可用的nomachine deb包 安装命令sudo dpkg -i ****.deb

2024-03-07

20230727无人机SLAM与路径规划 PPT

20230727无人机SLAM与路径规划 PPT

2024-03-07

基于Ubuntu20.04和opencv341编译通过且基于euroc或者d435i运行起来的SVO2.0的工作空间代码

20230716目前在OrinNX上基于Ubuntu20.04和opencv341编译通过且基于euroc或者d435i运行起来的SVO2.0的工作空间代码

2024-03-07

基于kalibr docker的D435i双目及双目IMU标定环境部署及标定操作文档

基于kalibr docker的D435i双目及双目IMU标定环境部署及标定操作文档 相应博文可见: https://blog.csdn.net/sinat_16643223/article/details/136128828?spm=1001.2014.3001.5501 对应操作视频: https://www.bilibili.com/video/BV11y421b7Ao/?spm_id_from=333.999.0.0&vd_source=7485d91e473ff9c14cdf7554a8a9b6d1

2024-03-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除