自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

南北粉面馆

只不过是一碗粉罢了,喜欢再来

  • 博客(470)
  • 资源 (6)
  • 收藏
  • 关注

原创 Error Code 12 Msg: Unable to find uri[model://ground_plane]

ubuntu16.04 安装turtlebot3仿真,运行之后发现报这个错误,然后没有小车。

2024-04-23 15:57:25 160

原创 You must call ros::init() before creating the first NodeHandle

在代码里我们先实例化了qnode类,所以在qnode的头文件中,我们先实例化了ros::NodeHandle nh,后调用了ros::init(),导致程序报错。你必须在创建NodeHandle之前先调用ros::init()函数。qnode.h中注释没有使用的NodeHandle变量。

2024-04-01 12:08:04 193

原创 ubuntu制作deb安装包

使用脚本来控制的好处是比较灵活与功能强大。

2024-03-29 17:07:41 432

原创 linux 获取cpu和硬盘id

std::string get_harddisk_info()来获取硬盘id。直接代码,有的电脑cpuid可能没有,代码头文件没有理清但是满足编译需求。std::string getcpuid() 来获取cpu id信息。

2024-03-21 17:30:36 228

原创 ConnectedComponents类

std::map是一个关联容器,它要求元素的键是唯一的。如果尝试插入一个已经存在的键,emplace函数将不会进行插入操作,而是返回指向已经存在的元素的迭代器。就是把一个本来应该是网状的结构变成了单链,就好像你和朋友是小李,小李的朋友是小王,那我和小王也是朋友,用单链串起来就可以。所以这里的forest_其实是在维护一个单链关系,就像作者说的压缩路径,什么意思呢?我们可以通过检查返回的迭代器是否等于std::map::end来确定插入是否成功。这个类有个变量很有意思。

2024-03-17 20:22:52 31

原创 tf2使用注意事项

虽然感觉tf2_ros::TransformListener没有被使用,但是这个变量在程序运行时要一直存在的,如果被定义为临时变量就打错特错了。

2024-03-08 17:41:16 131

原创 qt如何配置ros环境

在Qt5.7的版本可以使用bash -i -c来启动qt,让Qt自己识别系统环境,不知道为什么Qt在之后的版本,这样使用都失效了。因为它会默认把CMAKE_PREFIX_PATH修改掉。网上还有安装ros插件版本的qt creator,感觉失去了一些灵活性。自己测试发现,只要在CMakeList.txt中加入ros的库信息即可。但是运行的时候还要配置ROS的一个变量ROS_MASTER_URI。具体位置在qt的Build Environment。这样编译是没有问题的。

2024-03-08 13:57:34 366

原创 CMakelist uninstall

大家可能都用过sudo make install,但是如何uninstall却不知道。要求build文件夹存在且install_manifest.txt文件夹还在。如果没有需要先编译安装后再卸载。

2024-03-01 10:39:42 222

原创 cartographer ceres后端优化

这里引用一篇文章作用一:用户可以选择使用Problem::AddParameterBlock显式添加参数块;在显式添加的时候ceres会内部进行额外的正确性检查。当Problem::AddParameterBlock()不存在时,Problem::AddResidualBlock()会隐式添加参数块,因此不需要显式调用Problem::AddParameterBlock()函数。ps:类似构造函数,显式构造函数。

2024-02-28 16:24:43 442

原创 cartographer切换地图显示问题,临时解决方案

切换地图

2024-01-03 19:14:01 537

原创 gitee使用

注意:也不知道什么原因,第一次要git pull origin HEAD。参考网址:https://gitee.com/layene/gitee。

2024-01-03 10:15:20 400

原创 Ubuntu 20.04 连不上网,没有网络图标

这篇文章也是good。

2023-10-23 10:23:32 145

原创 VIO和预积分(蒙圈的请过来,带你不蒙圈)

大佬的世界,你不会懂,就像一行行公式,人家觉得很简单,你却要读很多遍,不过还好,我们从普通人的世界来解读VIO和预积分。

2023-09-26 17:48:58 294

原创 Rviz插件分析(status_panel)

看不懂的先在上面学习一波,主要分为5个部分:PACKAGE SETUP (自身包的配置)、QT(QT环境的配置)、FILES(文件引入)、LIBRARY(生成库文件设置)、INSTALL(打包发布的配置)我们可能还注意到了插件的icons图标,放一个png在路径/icons/classes/*.png即可。这里StatusPanel继承了rviz::Panel类,覆写了2个函数。再来看看status_panel.h。先来看看CMakeList.txt。使用了2个Qt控件,用于接收和显示。

2023-09-22 16:27:33 216

原创 rviz架构分析

rviz的架构分析

2023-09-19 09:29:03 187

原创 机器人上位机探索

3、使用qml实现的机器人上位机,适配ROS2。4、使用qml实现的slam探索仿真器。7、vizanti,网页端的机器人显示。1、扫地机器人Qt上位机。2、机械臂仿真上位机。

2023-09-12 09:18:21 339

原创 运行ORB-SLAM3,整体感觉还不错

安装文档,可以参考运行测试。

2023-09-11 14:38:44 345

原创 rosdep init 错误解决终极方法(药到病除)

ros

2023-09-08 17:19:28 188

原创 视觉SLAM14讲笔记-第10讲-后端1

后端优化

2023-09-08 14:14:08 558

原创 视觉SLAM14讲笔记-第7讲-视觉里程计2

视觉里程计 直接法

2023-09-06 17:27:03 279

原创 视觉SLAM14讲笔记-第5讲-相机与图像

畸变产生的原因:一是透镜自身的形状对光线传播的影响,二是在机械组装过程中,透镜和成像平面不可能完全平行,这也会使得光线穿过透镜投影到成像面时的位置发生变化。在世界坐标系下,所以这两个坐标系之间有一个外参数,也个外参数(R,t)代表机器人在世界坐标系下的运动轨迹。考虑到视觉SLAM中一般都使用普通的摄像头,针孔模型及径向畸变和切向畸变模型已经足够。我们可以使用棋盘格进行标定,这一点张正友博士做了很多的工作。在相机坐标系下的点进行归一化,使得Z=1,即得到相机。位于相机坐标系,一般我的空间点。

2023-09-06 15:47:33 76

原创 视觉SLAM14讲笔记-第7讲-视觉里程计1

视觉里程计

2023-09-06 15:46:07 298

原创 视觉SLAM14讲笔记-第4讲-李群与李代数

在优化问题中去解一个旋转矩阵,可能会有一些阻碍,因为它对加法导数不是很友好(旋转矩阵加上一个微小偏移量可能就不是一个旋转矩阵),因为旋转矩阵本身还有一些约束条件,那样再求导的过程中可能会破坏要优化的矩阵是旋转矩阵的本质条件,所以这里引入了一个乘法导数,即本章提到的左扰动或右扰动。BCH公式可以告诉我们当李代数发生了小量变化,旋转矩阵对应的变化,有利于计算出李代数导数,然而这个公式并不是万能的,用BCH线性近似来对李代数求导仍然有比较复杂的。变换矩阵对应的李代数是6维向量,平移在前,旋转在后。

2023-08-29 15:42:51 215

原创 视觉SLAM14讲笔记-第3讲-三维空间刚体运动

视觉 slam

2023-08-28 17:32:03 163

原创 Qt的中文乱码解决

中文乱码

2023-08-08 09:03:05 95

原创 23种设计模式(菜鸟分析版)

23种设计模式

2023-08-01 10:14:22 512

原创 windows使用Qt的qssh远程删除linux下的文件

qt sftp

2023-07-17 15:29:59 613

原创 Qt框架与STL库之间的巅峰对决:差异、优缺点及适用场景

qt stl

2023-07-17 10:33:32 188

原创 力扣刷题记录2

力扣

2023-06-27 09:21:45 228

原创 高翔《自动驾驶中的slam技术》第3章代码-run_eskf_gins.cc

SLAM

2023-06-26 10:13:24 645

原创 高翔《自动驾驶中的slam技术》第3章代码-run_imu_integration.cc

cartographer使用pose_extrapolator来融合IMU、odom、激光数据来推断位姿。

2023-05-30 10:14:42 518

原创 高翔《自动驾驶中的slam技术》第2章代码

【代码】高翔《自动驾驶中的slam技术》第2章代码。

2023-05-29 16:50:26 877

原创 力扣刷题记录1

数学题,长整形的使用。

2023-04-27 00:39:53 189 1

原创 QT子线程使用QTcpSocket

子线程中使用QTcpSocket

2023-03-20 16:01:50 868

原创 Qt信号量QSemaphore认识一下

参考文章。

2023-03-15 11:16:17 76

原创 在map或set中使用自定义类,要自己实现比较大小的功能

map和set中使用自定义类

2023-03-11 15:04:09 112

原创 机械臂控制柜的DO和DI是什么意思

机械臂DO和DI

2023-03-10 17:00:18 1954

原创 开关电源怎么选择?

开关电源

2023-03-09 10:45:16 73

转载 弱类型指针weak_ptr的使用(详解)

weak_ptr

2023-03-06 15:48:48 70

转载 MinGW跟MSVC的区别跟选择

mingw 和msvc

2023-02-27 15:09:53 1844

Principles of Robot Motion Theory, Algorithms, and Implementations

Principles of Robot Motion Theory, Algorithms, and Implementations

2018-03-15

An+Introduction+to+Programming+with+IDL

An+Introduction+to+Programming+with+IDL

2014-06-22

Application Development in IDL

Application Development in IDL,喜欢的可以下载,本人英语不好

2014-06-22

ENVI遥感影像处理实用手册

ENVI遥感影像处理实用手册,不错的图像处理基础软件的学习

2014-06-22

全国计算机等级考试二级C++上机题库

全国计算机等级考试二级C++上机题库,考计算机等级考试的必看

2014-06-22

C#入门经典第5版

C#入门经典第5版,学习编程的基础知识必不可少

2014-06-22

空空如也

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

TA关注的人

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