![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
项目实训
文章平均质量分 72
LVI-SAM工作记录
義的爸
这个作者很懒,什么都没留下…
展开
-
数据包格式设计
自定义的数据包格式原创 2022-06-11 21:59:52 · 461 阅读 · 1 评论 -
项目实训第十一周记录
目录2022.5.92022.5.102022.5.9对原生数据的录制加入了相关信号量,能够录制和播放原生数据。完整的录制下了rosbag播放的400s原生数据,且数据包大小和rosbag数据包大小几乎一样。2022.5.10原创 2022-05-16 17:56:35 · 216 阅读 · 0 评论 -
项目实训第十周记录
目录2022.5.22022.5.32022.5.2经过大量的测试,找到了引起TCP缓冲区不足的原因,当数据出错时接收者会按照固定形式接收数据,这导致接收者出现错误,卡在了一个步骤上,无法继续往下执行,因此发送者迟迟收不到确认,消息一直保留在缓冲区中,从而无法发送其他消息。并对此进行了修正,成功在板子和服务器上通过TCP连接实现了数据传输和可视化。2022.5.3...原创 2022-05-08 21:26:23 · 809 阅读 · 0 评论 -
项目实训第九周记录
目录2022.4.252022.4.262022.4.25给可视化部分增加了导出pcd的功能,但由于点云数据庞大,导出和读取时都需要几十秒的时间。(打算研究一下pcd文件的格式,从而自己实现一个动态写入的方法,达到获取一个点云数据便将其写入到文件,最终再回写文件头部分,从而省去导出时间)。关于读取的优化暂时没有思路。2022.4.26修正了数据包终止时间错误的bug,添加了自动终止录制的功能(2.5s没有收到消息则自动终止录制)。...原创 2022-05-01 18:24:05 · 926 阅读 · 0 评论 -
项目实训第八周记录
目录2022.4.182022.4.18经过大量测试,记录的消息数和播放的消息数并无差异,下一步打算通过自建内存池,替代new和delete的使用,从而避免大量进行系统调用,节约CPU资源。原创 2022-04-24 22:51:59 · 869 阅读 · 0 评论 -
C++ linux系统下的键盘回调
可行方案使用/(由于需要root权限才能打开文件,因此抛弃了这个方案)使用输入的方式获取键盘内容。使用方案使用输入方式获取键盘内容。最初打算使用getch()这个函数来获取输入,因为该函数没有缓冲区,键入即响应,无需回车键刷新缓冲区。但不巧的是,linux下没有相关的头文件,也就无法使用这个函数,只能使用getchar()while(1){ char c = getchar(); // 根据按键进行相应的反应或回调}getchar()问题及解决getchar()的问题getc原创 2022-04-20 20:13:09 · 1353 阅读 · 0 评论 -
利用strace追踪程序系统调用情况
利用strace分析程序系统调用情况,间接分析程序性能。原创 2022-04-18 21:07:15 · 810 阅读 · 0 评论 -
项目实训第七周记录
目录2022.4.112022.4.122022.4.11又花费了不少时间调试,找到了bug产生的原因,解决了内存释放和数据出错的问题。并结合原有的话题发布者进行测试,完成了接收者的调试。构建数据包类的架构,使用boost的文件设备和过滤器流,方便后面添加压缩功能。2022.4.12...原创 2022-04-17 21:16:14 · 215 阅读 · 0 评论 -
项目实训第六周记录
目录2022.4.42022.4.4今天尝试的写了一个demo,模拟含有指针的结构体作为要保存的数据,尝试了数据包中数据部分单个消息的写入和读取,发现了一些指针相关的问题,并对数据包格式作了修正。...原创 2022-04-10 22:00:13 · 422 阅读 · 0 评论 -
c++ boost库流处理
前言c++原生的流处理并不支持流的压缩处理,因此需要使用boost库的流处理。boost流处理即boost.iostreams库,我需要用到的组成部分如下:device(设备) - 流的起点source(源设备),流的终点sink(目标设备)filter(过滤器) - 读取数据时的输入过滤器,写入数据时的输出过滤器stream(流) - 用来连接设备和过滤器,实现类似标准流的功能前置编译iostreams库是一个由头文件组成的库,位于<boost/iostreams/>下,原创 2022-04-06 20:42:25 · 1172 阅读 · 0 评论 -
项目实训第五周记录
目录2022.3.282022.3.28沿着之前的想法,终于完成了对相机模拟小车运动,实现第一人称视角的模式。过程记录在了文档中,这里不多赘述。但仍存在抖动严重的问题,后期有时间的话再来解决这个问题。现在可视化部分初步完工,接下来要进行数据包的设计和存储,模型的存储。...原创 2022-04-03 21:27:20 · 1605 阅读 · 0 评论 -
PCL-利用相机移动模拟小车移动
前言项目需要视角跟随小车运动,如果只是小车数据 //点的位置 struct geometry_msgs_Point { double x; double y; double z; }; //四元数 struct geometry_msgs_Quaternion { double x; double y; double z; double w; };原创 2022-03-28 21:27:22 · 955 阅读 · 0 评论 -
项目实训第四周记录
目录2022.3.212022.3.222022.3.21暂停一天2022.3.22从路径信息中去除重复来获取小车最新位置不太现实,重新回去分析LIO-SAM源码以及数据格式,看一看是否漏掉了一些重要的话题,这还需要明天去实验室验证一下。由于相机移动以及小车位置渲染暂时无法进行,遂决定尝试对点云进行渲染,经过相关内容的学习,发现颜色的渲染可以从多个角度切入,比如反射强度、坐标信息、曲率等,都可以实现颜色的渲染。由于我最开始的想法就是用点云中多出的一维反射强度来对点云进行渲染,因此就先尝试了使用反射原创 2022-03-27 21:54:03 · 360 阅读 · 0 评论 -
PCL-渲染小车路径
PCL利用线条、圆柱体绘制小车路径原创 2022-03-27 19:36:18 · 769 阅读 · 0 评论 -
PCL-以坐标轴形式渲染小车
使用pcl以坐标轴的形式将小车的位姿可视化展示原创 2022-03-24 20:04:55 · 1097 阅读 · 0 评论 -
项目实训第三周记录
目录2022.3.142022.3.14今天进行数据格式的转换,主要是将自定义的PointCloud2类型转换为PCL的PointXYZI类型(在此基础上实现了泛型转换,支持了全部的PCL点云类型)。这里是初步测试,用原生的PCLPointXYZI类型输出的点云大小,表明转换正常,明天尝试初步渲染,进一步测试转换效果。...原创 2022-03-20 22:05:56 · 1111 阅读 · 0 评论 -
项目实训第二周记录
目录前言工作内容2022.3.72022.3.82022.3.92022.3.102022.3.112022.3.122022.3.13前言经过第一周的铺垫工作,大致明确了我要做的内容和大体思路,这周主要是处理一下数据和通信部分,为接下来的可视化建立数据基础。工作内容2022.3.7今天去了实验室,运行了lio-sam和rviz,根据运行情况以及lio-sam的源码分析,绘制出了下面这张图:rviz中用于实时建模的主要有这么几个话题中的数据,我将结合lio-sam的源码捡主要的说明一下。i原创 2022-03-13 19:58:19 · 442 阅读 · 4 评论 -
项目实训第一周记录
目录前言工作内容2022.2.272022.2.282022.3.12022.3.22022.3.32022.3.42022.3.52022.3.6前言项目立项后,我们小组进行了分工,我负责我负责项目的点云图可视化开发部分,最终目标能够实现脱离ROS平台的、高速的可视化渲染,并能够整合到我们团队开发的智能车系统上。(这部分原本是由RVIZ实现的,但由于要脱离ros,只能自己实现一个可视化框架)。工作内容2022.2.27决定将这个项目定为一个C++的工程项目,在Ubuntu上进行开发。于是在git原创 2022-03-06 20:08:01 · 320 阅读 · 3 评论 -
Ubuntu20.04 ROS的安装和配置
ubuntu20.04 进行ROS的安装和配置原创 2022-02-23 19:29:33 · 896 阅读 · 5 评论