自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言中一维指针、二维指针和三维指针

指针可以指向一份普通类型的数据,例如 int、double、char 等,也可以指向一份指针类型的数据,例如int *double *char *等。如果一个指针指向的是另外一个指针,我们就称它为二级指针,或者指向指针的指针。假设有一个 int 类型的变量 a,p1是指向 a 的指针变量,p2又是指向p1的指针变量,它们的关系如下图所示:指针变量也是一种变量,也会占用存储空间,也可以使用获取它的地址。C语言不限制指针的级数,每增加一级指针,在定义指针变量时就得增加一个星号。p1。

2023-11-09 11:49:10 523

原创 计算几何-通过叉积判断向量旋转方向

https://blog.csdn.net/qq_42778110/article/details/81567954?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%8F%89%E4%B9%98%20%E5%88%A4%E6%96%AD%E6%96%B9%E5%90%91&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-81567954

2023-07-25 12:26:13 289

原创 tf::transformPose,tf::Transform,tf::Stamped,tf::Pose用法

根据具体的应用场景和需求,可以灵活使用这些方法来操作和管理附带时间戳的姿态和变换数据。该类是TF库中用于存储具有时间戳的姿态和变换的容器,在机器人系统中经常被使用。是TF库中的一个类,用于表示3D空间中的姿态(位置和方向)。它包含了旋转和平移变换的信息,可以用于表示从一个坐标系到另一个坐标系的变换。然后,我们创建了一个新的旋转四元数newRotation和一个新的平移向量newTranslation,并使用。类型的变量centered_laser_pose_,它表示一个时间戳的姿态变换。

2023-07-10 15:38:06 1077

原创 tf::MessageFilter 的用法

需要注意的是,在实际使用中,可以根据需要调整过滤器的行为,例如设置超时时间、定义自定义的过滤条件等。只有当消息满足上述两个条件时,才会将其视为"通过过滤器",才会调用注册的回调函数进行处理。是一个消息过滤器,用于从一个话题订阅消息并根据坐标变换信息进行过滤。默认会根据消息的时间戳和tf变换的可用性来过滤消息。进入ROS的主循环,等待消息的到来并处理。请根据你的实际需求,将代码中的。的过滤器时,具体条件是根据消息的时间戳和坐标变换的可用性来决定的。,当消息通过过滤器时,将调用该回调函数进行处理。

2023-07-10 15:20:52 433

原创 message_filters::Subscriber 的用法

通过使用消息过滤器,你可以轻松处理多个相关的消息,并确保它们以同步或异步的方式进行处理。是 ROS 中的消息订阅器类,用于接收和处理同步或异步消息。它提供了一种方便的方式来处理多个相关消息,并确保它们以相同的时间戳进行处理。的基础上提供了更复杂的消息过滤和同步功能。具体选择哪个类取决于你的需求:如果只需要基本的消息订阅功能,则可以使用。都是ROS中用于接收消息的订阅器类,但它们在功能和使用上有一些区别。是ROS中最基本的订阅器类,用于接收指定话题的消息。包的详细信息以了解更多高级用法和示例。

2023-07-10 12:33:54 840 1

原创 tf::Pose 可以通过 tf::Transform 构造

还提供了一些其他方法和辅助函数,用于进行坐标变换、插值、单位化、求逆等操作。具体使用方法可以根据实际需求和具体问题进行查阅和使用。是TF库中的一个类,用于表示3D空间中的姿态(位置和方向)。它提供了许多方法和操作符重载,用于创建、获取、设置和变换姿态。对象之间进行转换和互用,方便根据实际情况和需求选择适合的类来表示和操作姿态变换数据。相似的构造函数、获取和设置旋转/平移的方法,以及单位化、求逆和变换操作等方法。由于两者的构造函数和旋转/平移的获取和设置方法类似,可以使用。)的组合,用于描述姿态变换。

2023-07-10 12:08:06 209

原创 ROS-fatal error: ros/ros.h: 没有那个文件或目录

解决方案为,在出错的文件的包下的CMakeLists.txt文件里,加上。

2023-07-07 18:01:18 1211

原创 秩1矩阵,向量,迹

这个做法也是通用的,即:秩为1的矩阵可以抽出两个向量之积。这个积是:列向量x行向量。前面专门讨论过秩为1的矩阵,由Ax=0有n-1个线性无关向量,联想到:Aα=0⋅α。这样的性质如果单独考察,就过于简单了。在另一篇文章中总结过秩为1的矩阵求幂的思路。行向量就是矩阵的任意一行,列向量是这一行的三个倍数。而如果给定一个秩为1的矩阵,如何抽出两个向量呢?且这个数不是随便的数。,知道0必是A的特征值,且是n-1重特征值。其中矩阵的绩等于特征值之和。就是一个秩为1的矩阵。

2023-06-07 20:57:02 583

原创 多元高斯分布的方差最大似然估计

这个结果表明,协方差矩阵的最大似然估计可以通过样本数据的协方差矩阵来计算。,使得样本数据在这组参数下出现的概率最大。同样地,我们对样本数据的联合概率密度函数取对数,然后对。,我们的目标是最大化这些样本数据在多元高斯分布下的联合概率密度函数。根据最大似然估计的原理,我们需要找到一组参数。同样地,我们要找到一组参数。,使得样本数据在这组参数下出现的概率最大。我们的目标是要通过样本数据来估计参数。这个公式可以直接用于实际计算。接下来,我们考虑协方差矩阵。

2023-06-07 12:18:40 827

原创 f(x,y) = xy的全微分

这个式子可以理解为,当在。

2023-06-06 17:16:59 865

转载 opencv中的Point2f用法避雷

opencv point2f

2022-12-21 20:22:15 1909 2

转载 向量的点乘和叉乘区别及几何意义

向量点乘和叉乘的区别:向量点乘结果是标量,是两个向量在一个方向的累计结果,结果只保留大小属性,抹去方向属性,就相等于降维;向量叉乘,是这这两个向量平面上,垂直生成新的向量,大小是两个向量构成四边形的面积。相等于生维。这是运算所需要,向量加和减都是在同一纬空间操作的,如果要想实现维度的变化就要在向量的乘法做出定义。...

2022-08-05 10:40:27 3620

转载 GIT 中如何打标签

在我们开发的过程中,可能经过多次commit提交才会确定一个版本,那么除了用commitcomments来标识一次提交记录,还有没有什么更好的办法呢?GIT为我们提供了标签这个功能,使用标签可以对某一次提交记录做上一个小标记,就像我们看书的时候,看到很有意思想要做个记号,可以用小的标签纸贴在那一页的边上,这让我们以后可以更方便的索引。...

2022-07-21 19:42:52 6301

原创 OpenCv漫水填充floodFill详解

fill

2022-06-18 18:25:52 1671

原创 旋转矩阵的两种用法

juzhen

2022-06-18 17:27:25 269

原创 cv::findContours函数参数详解

find

2022-06-15 10:28:21 4167

原创 opencv3 Mat 类里 setTo 函数

setTo

2022-06-13 14:48:26 537

原创 Mat rowRange、colRange

mat row col

2022-06-13 14:43:42 513

原创 ifdef 1 error: macro names must be identifiers

ifdef

2022-06-13 12:16:20 2225

原创 ./autogen.sh: 37: ./autogen.sh: autoreconf: not found

./autogen.sh: autoreconf:not found

2022-06-11 21:27:44 1921 1

原创 opencv使用cv::morphologyEx()实现开运算,闭运算,礼帽与黑帽操作以及梯度运算

opencv morphologyEx

2022-06-10 21:30:34 1214

原创 ubuntu16.04升级cmake版本,可任意切换版本

ubuntu 16.04 默认安装的 cmake 版本为 3.5.1,但有时编译一些包时需要更高的版本,需要升级 cmake。千万别执行下面的命令,这样会把之前用 cmake 编译好的包都给卸载掉,包括ros。sudo apt-get autoremove cmake比较简单的方法是下载 cmake 压缩包,直接建立软链接覆盖掉系统的 cmake,压缩包网址:https://cmake.org/files/以 3.23.1 版本为例:wget https://cmake.org/files/v3

2022-05-20 22:02:33 1554

转载 Windows10清理C盘

清理C盘系统过期文件https://blog.csdn.net/qq_18432653/article/details/111642737

2022-05-17 14:35:45 131

转载 Linux进程照妖镜strace命令

strace是个功能强大的Linux调试分析诊断工具,可用于跟踪程序执行时进程系统调用(system call)和所接收的信号,尤其是针对源码不可读或源码无法再编译的程序。在Linux系统中,用户进程不能直接访问计算机硬件设备。当进程需要访问硬件设备(如读取磁盘文件或接收网络数据等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可跟踪进程产生的系统调用,包括参数、返回值和执行所消耗的时间。若strace没有任何输出,并不代表此时进程发生阻塞;也可能程序进程正在执行某些不需要与系

2022-05-17 12:26:14 915

原创 Eigen库计算向量之间的距离和夹角

一、求一点到原点的距离Vector3d v(x,y,z);double dis1= v.norm(); // 等于 sqrt(x^2+y^2) , 即距离double dis2 = v.squaredNorm(); // (x^2+y^2)二、求两点之间的距离Vector3d v1(x1,y1,z1);Vector3d v2(x2,y2,z2);double dis = (v1-v2).norm();三、两个向量之间的夹角Vector3d v

2022-05-12 15:29:29 4818

原创 关于-fPIC, -fPIE的一点理解

查了下GNU的手册-fpicGenerate position-independent code (PIC) suitable for use in a shared library, if supported for the target machine. Such code accesses all constant addresses through a global offset table (GOT). The dynamic loader resolves the GOT entries w

2022-05-10 12:14:20 2072

原创 使用eigen时要确保数据类型一致

使用eigen时要确保数据类型一致 否则会报错:Eigen: YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMEEigen::Quaterniond quaternion(imu->orientation.w, imu->orientation.x, imu->orientation.y, imu->orientation.z);Eigen::

2022-04-27 10:36:51 1097

原创 c++ 利用yaml-cpp读写yaml配置文件

在程序员的开发生涯中,读写配置文件必不可少。配置文件有利于我们灵活配置工程,解决大量重复劳动,也方便调试。配置文件的格式有很多,最简单的有一行一行的文本,也有像 json、xml、protocol buffer 这样结构化的格式,当然也有 yaml 这种格式。今天的博文介绍的是如何在 C++ 开发中利用 yaml-cpp 开源库读写 yaml 配置文件。如果有 Python 开发经验的同学,可能知道用 Python 读取 yaml 是再简单不过了,但是 C++ 麻烦一点,它需要你自己下载源码然后编译

2022-03-13 21:47:58 3459

原创 C++ 中模板类的模板成员函数在类外定义

template<typename T1>class MyObjectT{public: template<typename T2> void Foo(T2 v);};template<typename T1>template<typename T2>void MyObjectT<T1>::Foo(T2 v){ cout << "Foo(" << v << ")" &lt

2022-03-12 15:50:08 1534

原创 std::size_t的用法

1. size_t的取值range是目标平台下最大可能的数组尺寸size_t和unsigned int有所不同,size_t的取值range是目标平台下最大可能的数组尺寸,一些平台下size_t的范围小于int的正数范围,又或者大于unsigned int.最典型的,在x64下,int还是4,但size_t是8.这意味着你在x64下最大可能开辟的数组尺寸是2^64.如果你使用int或者unsigned int,那么在x64下如果你的代码中全部使用uint作为数组的尺寸标记,那么你就会失去控制 2^

2022-03-11 10:29:49 4704

原创 arp-scan使用

arp-scan 简介arp-scan是Kali Linux自带的一款ARP扫描工具。该工具可以进行单一目标扫描,也可以进行批量扫描。批量扫描的时候,用户可以通过CIDR地址范围或者列表文件的方式指定。该工具允许用户定制ARP包,构建非标准数据包。同时,该工具会自动解析Mac地址,给出MAC对应的硬件厂商,帮助用户确认目标。什么是ARP地址解析协议(Address Resolution Protocol),其基本功能为通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。 它是IPv

2022-02-24 15:27:44 6008

原创 arp-scan轻量级arp扫描工具

arp-scan是一个依靠ARP协议进行扫描的工具。以前它的源码是在官方网站上,但现在NTA Monitor将arp-scan的代码托管在了github上,所以网上大部分的安装教程都没什么作用了,因为下载不到arp-scan源码。arp-scan github主页 https://github.com/royhills/arp-scan下面说一下它的安装过程。因为托管在了github上,所以它的安装也需要使用到git。首先确保自己已经安装了gcc、libpcap、libpcap-devel(这三个都

2022-02-24 14:32:21 4249 1

原创 网络扫描和嗅探工具包 Nmap

Nmap 是一款命令行网络探测工具,支持 ping 扫描,以确定网络主机、端口扫描技术和TCP/IP指纹识别远程设备识别。Nmap 可确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。官方中文参考指南:https://nmap.org/man/zh/安装,ubuntu用户有PPA可用,打开终端,输入以下命令:sudo add-apt-repository ppa:pi-rho/securit

2022-02-24 12:25:00 741

转载 linux命令TOP参数load average详解

https://blog.csdn.net/iteye_16144/article/details/82651451我们知道判断一个系统的负载可以使用top,uptime等命令去查看,它分别记录了一分钟、五分钟、以及十五分钟的系统平均负载load average: 0.09, 0.05, 0.01在多处理器系统中,负载均值是基于内核的数量决定的。以 100% 负载计算,1.00 表示单个处理器,而 2.00 则说明有两个双处理器,那么 4.00 就说明主机具有四个处理器。...

2022-01-28 15:56:16 576

原创 Eigen中norm、normalize、normalized的区别

https://blog.csdn.net/m0_56348460/article/details/117386857对于Vector,norm返回的是向量的二范数Vector2d vec(3.0,4.0);cout << vec.norm() << endl; //输出5对于Matrix,norm返回的是矩阵的弗罗贝尼乌斯范数(Frobenius Norm),即Matrix2d mat;mat << 1,2 3,4;cout << m

2021-12-23 15:34:20 1409

原创 cmake_policy规定了cmake解析行为

https://blog.csdn.net/gispipi/article/details/108275569

2021-12-23 11:55:49 324

原创 宏定义#define的一些总结

https://blog.csdn.net/qq_41071068/article/details/92805050类对象宏(无参宏), 即宏名之后不带参数,只是简单的文本替换其定义的一般形式为:#define 标识符 字符串#define N 10类函数宏(带参数的宏)C/C++允许宏带有参数。带参数的宏定义,宏名中不能有空格,宏名与形参表之间也不能有空格,而形参表中形参之间可以有空格, 在行末不必加分号,如加上分号则在预处理时连分号也一起添加到代码中。约定 : 一般来说函数和类函数宏使

2021-12-16 10:04:48 351

转载 linux中的strip命令简介------给文件脱衣服

https://blog.csdn.net/stpeace/article/details/47090255

2021-12-09 16:49:40 73

转载 gtest与gmock的安装与使用

https://blog.csdn.net/lqw198421/article/details/114693486https://blog.csdn.net/lqw198421/article/details/114693486

2021-09-15 11:02:57 261

转载 awk中的时间函数strftime() systime()

https://blog.csdn.net/iteye_13556/article/details/82092026

2021-09-02 15:15:31 268

空空如也

空空如也

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

TA关注的人

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