- 博客(13)
- 收藏
- 关注
原创 C++学习——深入IO
深入IO参考C++ IOStream一、IOStream 概述1.1 概述IOStream 采用流式 I/O 而非记录 I/O ,但可以在此基础上引入结构信息1.2 处理两个主要问题表示形式的变化:使用格式化 / 解析在数据的内部表示与字符序列间转换(例如:二进制表示解析成字符)与外部设备的通信:针对不同的外部设备(终端、文件、内存)引入不同的处理逻辑这里的外部设备是只IOStream外的广义设备。1.3 所涉及到的操作(输出流)格式化 / 解析缓存编码转换传输1.4
2021-12-18 22:12:06
1406
原创 c++学习——动态内存管理
动态内存管理一、动态内存基础1.1 栈内存 堆内存栈内存的特点:更好的局部性,对象自动销毁 (stack)堆内存的特点:运行期动态扩展,需要显式释放 (heap)在 C++ 中通常使用 new 与 delete 来构造、销毁对象;可以动态扩展,分配在堆内存即使在函数中 new 内存,其他地方仍然可以读取[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yG9vs5rF-1639836597353)(458d30508a72fa43e4458b95cfb13
2021-12-18 22:10:50
1407
原创 c++笔记——函数
函数一、函数基础函数包含的为形参函数只声明不实现->编译不报错,链接会报错实参拷贝初始化给形参,返回值也是拷贝给调用者栈帧结构栈 –> 后进先出[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D2WqdCsJ-1639836528660)(f81db942dc580758fcc30e0d3ca78805.png)]函数的外部链接函数重载后会有不同的“链接名”(会存放函数名和形参类型),比如使用 extern “C” int fun()
2021-12-18 22:09:42
806
原创 ORB-SLAM2 在线构建稠密点云(室外双目篇)
一、前言在上一篇博客ORB-SLAM2 在线构建稠密点云(室内RGBD篇)中介绍了如何通过深度相机和ORB_SLAM2实现稠密点云建图,并转换为octomap在ROS中显示,那么这篇文章将使用双目相机实现室外的稠密点云构建。与深度相机不同,双目相机并不直接提供深度数据来计算点云,因此需要使用双目视差来计算深度数据。安装过程(和室内RGBD一样的代码)1、首先需要安装PCL点云库,可以参考博客《Ubuntu18.04安装PCL》。不过安装了ROS之后就已经把PCL安装好了。..
2021-02-17 12:37:32
6993
19
原创 ORB-SLAM2 在线构建稠密点云(室内RGBD篇)
在这一篇博客(我参考了各位大佬的博客)主要在ROS环境下通过读取深度相机的数据,基于ORB-SLAM2这个框架实现在线构建点云地图(稀疏和稠密点云)和八叉树地图的构建(Octomap,未来用于路径规划)。涉及到两个代码,一个是我们在修改后的ORB_SLAM2[1]和ROS节点orbslam2_pointcloud[2],这两部分代码(也包括了双目的部分)我都放在了码云上面了。ORB_SLAM2代码安装(稠密点云版)由于ORB-SLAM2在构建的时候只在地图中保留了ORB特征,建立稀疏点云地图,.
2021-02-17 12:29:49
7660
24
原创 使用kitti2bag和RVIZ播放KITTI数据集
前言想要将 KITTI 的 raw_data 转化为bag文件以便于在ROS中可以用rosbag play bag文件名的方式进行 play,然后在RVIZ中可以看到效果。于是需要用到kitti2bag。KITTI数据集下载链接(我保存到了百度网盘方便下载)链接: https://pan.baidu.com/s/15_acpKSKjpSsfWzcJMl53g 密码: h31o --来自百度网盘超级会员V4的分享安装kitti2bag参考另一篇文章将...
2021-02-17 12:22:49
1260
原创 kitti2bag工具的安装
kitti2bag 工具的安装在ROS中做slam算法测试往往需要用到kitti数据集,但是需要将数据集制作成rosbag,才能供ros使用。在github上有人开源了kitti转rosbag的一个工具,我们在安装时不需要下载源码。失败的方法:(别问我怎么知道的)pip install pykittipip install kitti2bag我在执行命令的时候失败有两个原因下载很慢导致最后下载失败。 安装后找不到kitti2bag命令原因和解决..
2021-02-17 12:19:14
1694
转载 ORB_SLAM2配置过程
ORB_SLAM2配置过程本文记录了ORB_SLAM在Ubuntu18.04中的配置过程,并且包含ROS 环境下ROB_SLAM的配置。1、背景ORB-SLAM是由Raul Mur-Artal,J. M. M. Montiel和Juan D. Tardos于2015年发表在IEEE Transactions on Robotics。ORB-SLAM是一个基于特征点的实时单目SLAM系统,在大规模的、小规模的、室内室外的环境都可以运行。该系统对剧烈运动也很鲁棒,支持宽基线的闭环检测..
2021-02-17 12:17:08
1482
原创 ROS机器人仿真(Ackermann 转向机构)
本文代码已上传 github 期待点个start环境:Ubuntu16.04 + Ros kinetic参考:---------
2020-10-17 00:00:01
4445
10
原创 从零搭建一辆ROS小车(三)使用激光雷达建图
本文将介绍两种使用激光雷达的建图方法本文所使用的代码:网盘链接(包括前两篇的代码)hector_mapping建图与定位这种方法的优点是简便,只需要有一个激光雷达即可,支持手持建图,不需要底层的里程计数据,这里我推荐一篇文章https://blog.youkuaiyun.com/weixin_41459903/article/details/102795148slam_gamppi...
2020-03-18 20:49:14
8691
原创 从零搭建一辆ROS小车(二)发布里程计数据在rviz中显示
1、创建功能包创建odom_tf_package功能包cd ~/catkin_ws/srccatkin_create_pkg odom_tf_package std_msgs rospy roscpp创建odom_tf_pub节点 在src文件夹下新建odom_tf_pub.cpp,代码如下 :(注意第四行的头文件,是上一篇文章所提到的自定义消息编译生成的,所以在编...
2020-03-16 20:32:01
5910
原创 从零搭建一辆ROS小车 (一)串口通信功能包
这一小节将介绍使用键盘,通过串口发布速度指令。本文所有代码均在网盘gtihub1|0上位机部分1|1创建功能包cd ~/catkin_ws/srccatkin_create_pkg serial_port std_msgs rospy roscpp1|2编写串口通讯节点 这个节点需要读取arduino发来的数据并发布出去(为后面发布里程计信息做准备)...
2020-03-16 20:27:45
4798
1
原创 从零搭建一辆ROS小车
本教程将介绍如何从零开始搭建一台ROS小车(本系列适用于刚刚接触ros,有了基础的了解并想做一个自己的小车。)1|0材料:一台RC车模(阿克曼转向结构,其他结构也可以,我会在后面的教程备注如何修改)arduino mega2560 单片机(其他的也可以,程序逻辑差不多)jetson nano(树莓派应该也可以,底盘大的话你可以直接放电脑 hhhh)思岚A1激光雷达...
2020-03-16 20:21:00
10488
12
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人