- 博客(44)
- 资源 (1)
- 收藏
- 关注
原创 Docker在windows上使用vscode远程连接容器
windows下一般使用linux大家都使用虚拟机进行操作,目前微软已经有wsl2,也可以虚拟出ubuntu系统。同时也希望在windows上将linux输出的结果可视化出来,这以来不需要再两个系统之间来回切换非常方便。在日常的开发中,不想windows和linux两个系统之间来回切换,笔者最近打算所有的环境均在一个系统上完成。为了交互方便考虑还是选择windows下来操作。以上的安装较为简单,读者可以自行安装。wsl(先安装,虚拟机)
2024-07-02 16:27:49
1664
原创 ROS2学习——节点话题通信(2)
ROS2将复杂的系统分解为多个模块的节点,话题则是充当节点之间信息交换的总线。该语句可现实当前的话题,如果在指令的后面带上-t选项则可以显示出话题的类型。我们需呀知道话题的名称,话题发布信息的类型,args则是按照话题的类型输入的信息(如果我们需要查询一个话题使用的类型是有那些信息可以使用该语句,话题的类型可以通过。节点可以将数据发布到任意数量的话题,并同时订阅任意数量的话题。使用rqt_graph我们可以清晰的看见节点和话题之间的关系。如果已知话题的名字,可以使用该语句输出话题的信息在终端当中。
2024-05-22 16:25:22
1715
原创 ROS2学习——Docker环境下安装于使用(1)
而ROS 2采用全新的架构,底层基于DDS(Data Distribution Service)通信机制,支持实时性、嵌入式、分布式、多操作系统。ROS 2支持的系统包括Linux、windows、Mac、RTOS,甚至是单片机等没有操作系统的裸机。本文主要介绍如何在docker环境中安装使用ROS2,并且也会介绍ROS2的有些优势和基本概念。其实可以在Dokcerhub上找别人安装好的22.04镜像,为了学习本文带大家在纯净的22.04上安装一遍。这里安装桌面版本的ROS2基本相关的功能包都安装。
2024-05-02 18:00:12
3312
1
原创 VINS_Fusion回环检测学习笔记
回环检测的任务主要是为了检测机器人是否到达之前相同的位置,并且消累计的误差。VINS_Fusion的回环检测和VINS_Mono基本相似。本文章主要讲解VINS_FUISON中回环部分的内容。
2023-03-19 19:28:02
2409
3
原创 机器人运动学——轮速里程计(SLAM)
在SLAM中不仅仅只使用视觉和雷达等传感器,小车本身通过编码器计算出小车速度也可以得到小车的位置我们称为轮速里程计。
2023-02-01 22:25:20
3615
2
原创 g2o通过doxygen生成代码解释文件
doxygen的使用,在使用的库没有api函数介绍时及其不方便。本文介绍通过doxygen自动为开源代码的注释生成解释文件!
2022-12-23 10:15:38
281
原创 CvBridge在ROS图像和OpenCV图像之间进行转化
本教程将介绍如何使用cv_brdge将ROS图像转化为OpenCV图像,反之亦然从而连接ROS和OpenCV。
2022-12-21 14:06:39
2211
原创 Ceres Solver从零开始手把手教学使用
笔者已经半年没有更新新的内容了,最近学习视觉SLAM的过程中发现自己之前学习的库基础不够扎实。Ceres作为一个优化库在视觉SLAM中使用非常广泛,笔者会跟随着Ceres Solver的官方教程一直学习下来,并且会在专栏中持续更新,如需转载请声明出处。
2022-11-03 15:37:12
2856
2
原创 安装了vmtools依然无法拖动复制操作
1.apt-get update2.apt-get install open-vm-tools-desktop fuse3.reboot
2022-05-29 22:10:51
306
原创 apriltag在windows下使用msvc进行安装
因为最近在配置项目的代码,突然项目环境从linux换到windows。所以需要全部的库都转到windows下,比如Opencv,vtk,pcl,visp,apriltag等等。apriltag在windos下安装非常不友好,当然官方也强调最好使用linx进行安装,必经这个库本身就是在linux下搭建的。以下为官网建议,但是还是部分用户在windows下安装成功,笔者花了一上午终于将这个库在windows下成功安装!建议使用msvc编译器编译,必经windows下这个编译器最友好。如果你使用mingw32
2022-05-24 11:05:14
2856
2
原创 通过Git操作在coding中使用别人创建好的库中上传代码
本文非常适合第一次使用coding的读者,可以快速教你如何在别代码库中上传代码!笔者是再ubuntu下进行的操作
2022-04-09 11:56:56
1374
原创 QT编写串口上位机时遇见的问题
讲解了Qt中串口读取的问题,以及数据粘连如何分离串口数据。如何使用QByteArray,如何将QByteArray和各种类型进行转换。如何将16位数据顺利存入对应类型地址中读取。如何解决串口数据不全的问题。
2022-04-02 17:00:04
2704
原创 Eigen3中表示SLAM中的各种旋转表示
一、旋转矩阵旋转矩阵直接可以使用Matrix类来定义。关于矩阵的操作可以看我之前写的内容:Eigen库的基本使用说明_HHB791829200的博客-优快云博客https://blog.youkuaiyun.com/HHB791829200/article/details/123417317二、旋转轴Eigen中有专门的几何变化的头文件Geometry。其中旋转轴在Eigen中通过一个选择度数和一个旋转轴表示:AngleAxis<float> aa(angle_in_radian, V
2022-03-15 17:45:22
655
3
原创 Eigen库的基本使用说明
Eigen是基于线性代数的C ++模板库,主要用于矩阵,向量,数值求解器和相关算法。Ceres,G2O等项目均是基于Eigen。1.支持整数、浮点数、复数,使用模板编程,可以为特殊的数据结构提供矩阵操作。2.支持逐元素、分块、和整体的矩阵操作。3.支持使用Intel MKL加速部分功能。4.支持多线程稀疏矩阵支持良好,5.支持常用几何运算,包括旋转矩阵、四元数、矩阵变换、角轴等等。OpenCV自带到Eigen的接口。Eigen是基于线性代数的C ++模板库,主要用于矩阵,向量,数值求
2022-03-13 11:10:22
16756
原创 机器人学学习笔记(二)旋转矩阵的延伸
在一个坐标系下,旋转有两种方式:1、按照参考的坐标系固定轴进行旋转。Fixed angles2、对当前旋转的坐标自己的轴进行旋转。Euler angles(欧拉角)一、Fixed Angles下图为按照固定轴进行旋转。 可以看出进行了3次的旋转,3次的旋转依然是按照之前对点选的方式,最先选择的先左乘。注:其中Fixed Aangles中先x60 y30 和 先y60 x30 最终旋转的结果不同。1、Fixedn Angles -1旋转顺序为X-Y-Z,得到的旋转矩阵为
2022-02-26 11:18:40
1108
1
原创 Opencv学习笔记(五)形状识别
本次笔记的内容主要是实现对形状的检查,使用Opencv中的函数实现图片中图形的监测。1、首先开始对原始图形进行预处理。String path="../shapes.png";Mat img;img=imread(path);cvtColor(img,imgGray,COLOR_BGR2GRAY);GaussianBlur(imgGray,imgBlur,Size(3,3),3,0);Canny(imgBlur,imgCanny,25,75);Mat kernel=getStr.
2022-02-21 16:50:29
7935
原创 Opencv学习笔记(四)
一、如何实现单窗口显示多个图片1、在开始可以先创建一张空白的图片。2、imread读入一张图片3、创建一个临时的Mat对象用来设定裁剪的区域,这个临时的对象使用第一步骤创建的Mat对象进行初始化。设定图片放置的区域使用rect函数设定初始化的坐标长宽。4、再使用resize调整2步骤中的图片放缩大学输出到3步骤中的temp中。代码如下:Mat scrImage(700,700,CV_8UC3,Scalar(0,0,0));Mat img=imread("../test.png")
2022-02-16 11:57:48
1659
原创 Opencv笔记(三)
一、如何自创图片Mat类对象一种的构造函数的输入的参数如下。可以设定图片的长宽,图片的类型如8位的RGB(CV_8SC3)类型的图片。Mat (int rows, int cols, int type, const Scalar &s)二、自绘画图形1、画圆void cv::circle ( InputOutputArray img, Point center, int radius, .
2022-02-13 20:19:11
2131
原创 Opencv学习笔记(二)
一、修改图像的大小创建好Mat对象之后我们可以直接使用公用函数.size()获取原图像的尺寸大小。 string path="../test.png"; Mat img=imread(path); cout<< img.size()<<endl;使用resize()函数可以实现对原图像的裁剪。void cv::resize ( InputArray src, OutputArray dst,
2022-02-11 18:03:30
1648
原创 Opencv学习笔记(一)
1、cv::cvtColor()用于将图像从一个颜色空间转换到另一个颜色空间的转换(目前常见的颜色空间均支持),并且在转换的过程中能够保证数据的类型不变,即转换后的图像的数据类型和位深与源图像一致。void cv::cvtColor( cv::InputArray src, // 输入序列 cv::OutputArray dst, // 输出序列 int code, // 颜色映射码 int dstCn = 0 // 输出的通道数 (0='automat...
2022-02-10 16:59:56
1727
原创 Linux学习笔记
对于新手接触linux编写的笔记。可以快速了解常用的指令vim拷贝当前行 yy , 拷贝当前行向下的 5 行 5yy,并粘贴(p)。在正常模式下 删除当前行 dd , 删除当前行向下的 5 行 5dd。在正常模式下 在文件中查找某个单词 [命令行下 /关键字 , 回车 查找 ,输入 n 就是查找下一个 ],查询hello. 设置文件的行号,取消文件的行号.[命令行下 : set nu (显示标号) 和 :set nonu(不显示标号)] 编辑 /etc/profile 文件,使用快捷....
2022-02-08 18:18:35
760
原创 Ubuntu18版本安装ROS
最近不小心把虚拟机里的ROS弄坏了,导致Linux都无法使用。也忘了快照导致所以软件重新安装,在这里给大家分享一下ubuntu18版本如何安装ros以及我安装中出现的问题如何进行解决。注:不同的ubuntu使用的ros版本是不一样的要注意!本人装的是18版本,所以要安装Melodic版本。官方安装:melodic/Installation/Ubuntu - ROS Wiki1.配置ubuntu的软件和更新配置ubuntu的软件和更新,允许安装不经认证的软件。首先打开“软件和更新
2022-01-27 12:10:56
13130
15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人