自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 slam下常用的坐标变换Tcw与Twc

slambook2/ch3/examples/coordinateTransform.cpp代码中用的是。,t_12表示“坐标系1原点指向坐标系2原点的向量,在坐标系1下取的坐标”,记为“从1到2的向量”世界坐标系下标为w,相机坐标系为c(有些资料以机器人坐标系r)来表示相机位姿更为直观,在可视化程序里,轨迹存储文件一般存储。向量a在12两个坐标系下的坐标为a1 ,a2,有。如果1为世界坐标系,2为相机坐标系,有。来表示相机位姿更加常见,由于。直接就是相机在世界坐标系下的位置。,如果要画轨迹的画,应该用。

2023-10-19 11:36:16 329

原创 ubuntu18.04运行orbslam3并测试

记录遇到的一些问题。

2023-03-30 16:16:16 890 8

原创 UE5 Win10 Airsim环境搭建

AirSim在UE5环境下编译

2022-11-12 16:37:07 3560 13

原创 SLAM笔记 线性代数方法 非线性优化方法

线性代数方法 与 非线性优化方法的区别和联系

2022-05-10 19:53:32 247

原创 slam笔记 triangulation.cpp粗解

需要注意的是代码自定义的triangulation函数,输入中已知:两幅图片中的特征点keypoint_1、keypoint_2以及他们的配对matches、转换R、t未知:特征点的具体位置(在第一个相机坐标中的坐标)在函数中调用了 opencv函数 cv::triangulatePoints(T1, T2, pts_1, pts_2, pts_4d);通过函数简介可知,该函数用于双目相机,通过T1、T2间的运动求特征点在世界坐标系的坐标,在此处令T1=E,使第一个相机坐标系为世界坐标系,求出来的p

2022-05-09 20:06:26 1107 1

原创 SLAM数学问题引出

SLAM数学问题引出SLAM模型为运动方程、观测方程组成的方程组,误差服从高斯分布。对机器状态的估计:已知输入u(运动测量读数)、观测z(传感器读数),求状态x(机器人位姿)、y(路标位置),从概率论的角度为P(x,y|z,u),根据贝叶斯法则,其值正比于P(z,u|x,y)*P(x,y);求x,y即为求使P(x,y|z,u)最大的x,y值,此为最大后验估计(MAP,Maximum a Posterior Estimation)忽略P(x,y),即为求使P(z,u|x,y)最大的x,y值,此为最

2022-05-07 16:35:31 95

原创 UE4使用二维数组动态生成UTexture2D

需要使用二维高度数据动态加载为灰度图,经过查找,有两个经典案例参考1.从本地读取图片,显示为UTexture2D:https://zhuanlan.zhihu.com/p/3736492892.将二维数组显示为UTexture2D并保存为Asset到硬盘https://isaratech.com/save-a-procedurally-generated-texture-as-a-new-asset/亲测两个代码可以直接使用。经过对比与修改,得到从二维数据生成UTexture2D的代码。UT

2021-07-30 16:51:30 3510

原创 UE4 记录

1.在用UE4进行开发的时候,发现在点击Stop之后,如果不关闭多线程,则多线程会一直执行。且某些不写在类里的全局变量会保留其值,即使在对C++代码进行重新编译之后也会保留值。所以最后把变量写为类的成员变量,在Actor进行生成与销毁时对其类进行new与delete操作,这样保证每一次编辑器运行时都能产生预定的值。2.UPROPERTY中写为蓝图可访问的变量,不能为double型。如果想用,则可以给double变量写接口函数,float GetTargetNum(){ return (float)Ta

2021-07-30 16:17:28 100

原创 2021-01-06

C++复习:类内变量与函数调用python调用类内函数与变量需要显式写出self.fun();self.val;,C++也可以通过this->fun();this->val来调用,也可以直接调用;下面是调试代码与程序:#include"iostream"#include"string"using namespace std;class Father{ public: int age; string name; int GetAge(); st

2021-01-06 16:17:07 84

原创 力扣 旋转数组

力扣练习题记录

2020-09-12 21:40:31 131

转载 力扣:买股票的最佳时机

我的力扣第二题,买股票的最佳时机题目描述:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。自己写的代码实属东拼西凑,缝缝补补;总结:1.while语句可以用来单纯执行 ++i 操作,直到某点停下;2.while语句函数体里写++i,则判别语句 到 *终点前一个 ;如while (i < prices.

2020-09-12 16:37:46 113

原创 删除排序数组中的重复项

谨记第一次力扣编译经历:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。1.审题,题中说“排序数组”,“原地 删除“,”你不需要考虑数组中超出新长度后面的元素“。都没看清题就瞎写了2.力扣包含了c++标准库,使用标准命名空间,不需要额外声明3.vector,iterator需要表明存储类型,erase(it)之后,it及其后面的迭代与指针会失效。vs

2020-09-12 14:47:51 98

原创 析构函数用法

在用vscode写C++代码的时候,debug提示错误,但是显示“工作区未发现错误”,后来用visual studio 跑了一遍才知道是在析构函数这里出现问题。声明了却没有定义。重新复习了一下析构函数,析构函数是在销毁类的时候的动作,一般编译器会自动构建,但是我们也可以自定义实现一些功能,比如销毁临时创建的指针对象,例如 *p = new myclass;这个指针会被销毁,但是其指向的类实例却不会销毁,就会产生内存泄漏,需要在析构函数里手动添加 delet语句销毁创建的对象,具体见https://blo

2020-09-07 11:16:29 270

原创 C++友元类与友元函数定义与使用

友元类与函数可以访问类的private与protected变量,权限比派生类还要高,可以通过类对象访问,而派生类只能在类内部访问继承来的protected变量。示例如下#include <iostream>using namespace std;class A{ friend class frd; friend void showA(A&); public: int pub = 10; private: int pri = 2

2020-09-04 09:08:06 302

原创 C++ 派生类访问权限

public派生类,不论是派生类对象访问自己的成员,还是通过 function(child& item)传入新成员,都不可访问从基类继承的原有的private对象,可访问继承来的protected、新的protected private成员; 而 function(base& item) , protected private成员都是无法访问的。

2020-09-02 19:44:39 1230

原创 C语言字符数组定义与访问

师兄牛逼今天复习c语言时候又想起字符数组; char buf[] = {'1', '2', '3'}; char buf2[] = "123";后一种初始化时,会在结尾自动补足’\0’,这样在用printf输出%s,用strlen和sizeof计算字符串长度时才会正常计算。但是用第一种方式初始化时,与其他类型普通数组初始化一样,不会在结尾加’\0’。//测试代码#include <cstdlib>#include <cstdio>#include <cst

2020-08-22 09:51:27 838

原创 UE4 C++自定义ActorComponent

目录为什么要自定义Component蓝图实现C++实现头文件循环依赖报错。在VS里 生成 成功,而在引擎里点击Compile(编译)时直接崩溃。师兄牛逼你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。为什么要自定义Component在UE4 中,Actor作为存在最广泛的类,其功能实现由各种不同的component来实现,比如StaticMeshComponent实现视觉效果与

2020-08-13 17:47:43 2741

原创 UE4 GetActorForwardVector()

疑惑为什么GetActorRightVector() ,却是以Y轴负向为正方向呢,着实令人费解。

2020-04-30 12:36:11 3638 5

原创 UE4自定义Pawn的运动及控制

UE4关于Pawn的运动都包装在UPawnMovementComponent类中,在此 类中设定了加速、碰撞等属性和函数功能。我们自定义复杂运动模型时也可以编写一个继承自UPawnMovementComponent或者其他运动类的子类。类详情:UPawnMovement类官方文档介绍在官方教程组件和碰撞中代码如下:ColidingPawn.h中要包含PawnMovement头文件#inc...

2020-04-28 21:40:19 5544 1

原创 UE4 errorLNK报错

UE4错误报告UE4 error LNK 2019 unsolved external symbolUE4中添加新Pawn类,使用mesh资源,编译时发出下面的报错很多回答都把重点放在error link2019这里,说dll的问题,说include没包含全。不过最后发现是 头文件.h中UStaticMeshComponent * MyPawn;UStaticMesh Pawn...

2020-04-26 21:51:33 440 7

空空如也

空空如也

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

TA关注的人

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