从零开始的激光通讯(软件篇 第1章 协议栈)——1、整体结构

从零开始的激光通讯(软件篇 第1章 协议栈)——1、整体结构

github

https://github.com/HaHaHaHaHaGe/mynetstack

简介

在这里插入图片描述
由于本人比较穷,按理应该先开始硬件设计,但是没办法,就开始了软件设计部分。
简单说下:
由于信号在现实世界中传输有太多太多的不确定因素,有干扰、有丢包,所以需要有一套机制保证数据的传输的完整性。
从上面的框图可以看出 左侧是原始比特流,右侧是已经提取好的数据,
由于再写这篇文章的时候,协议栈还没有做完,框图可能会有略微的修改,具体以github中的文件为准
总之这个协议栈的功能就是给定一大串原始数据,他会从这些数据中提取正确的数据并作出相应的反馈,以达到不丢失不浪费的目的,更好的为上层应用提供服务

三部分

在这里插入图片描述
在整个结构里最重要的三部分(红、绿、黄)

红色部分是前端部分,将原始数据流转化为正确的数据包。

绿色部分对存储数据的数据包进行存储并检查是否丢包(依靠数据包编号U64类型),丢包的话会向黄色区域发出重传请求

黄色部分主要是用于数据包的重传,接收来自绿色区域的重传请求并添加到队列中,定时发送,接收请求数据包并发送请求的相关数据,根据应答数据包清除缓存相关数据

应用

本想是用于激光通讯中的,后来就像要不做的模块化些,这样以后其他的项目也可以搬用,比如环形数组部分就可以拿来在STM32的DMA接收环节起到作用,起到不流失不蒸发的金克拉作用

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是从零开始的三维激光雷达SLAM教程的步骤: 1. 搭建激光SLAM的运行环境:确保你的计算机上已经安装了ROS(Robot Operating System)和Gazebo仿真环境。如果没有安装,你可以从ROS官方网站下载并按照官方文档进行安装。 2. 运行数据集在Gazebo中构建仿真地图并添加动态障碍物:使用Gazebo仿真环境创建一个虚拟的三维地图,并添加动态障碍物模拟真实环境。你可以使用ROS提供的相应软件包和插件来实现这一步骤。 3. 采集激光数据:使用仿真小车或者真实的激光雷达设备采集激光数据。你可以使用ROS提供的激光雷达驱动程序来接收和处理激光数据。 4. A-LOAM详解,算法和代码:深入了解A-LOAM算法的原理和实现细节,并查看相应的代码。A-LOAM是一种常用的三维激光SLAM算法,它可以用于在实时环境中建立地图并进行定位和导航。 5. Lego-LOAM详解,算法和代码:除了A-LOAM,你还可以了解Lego-LOAM算法的原理和实现细节,并查看相应的代码。Lego-LOAM是另一种常用的三维激光SLAM算法,它也可以用于实时建图和定位导航。 在进行教程中的实践时,请确保按照每个步骤的指导执行操作,并逐步完成搭建、仿真、数据采集、算法理解和代码实现的过程。你可以参考教程中提供的代码,也可以自己编写代码进行实践。 请注意,这仅是一个从零开始的三维激光雷达SLAM教程的简要概述。对于每一步的具体细节和更多深入的解释,请参考教程中提供的引用资料和相关文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值