ROS—laser_filters屏蔽无效雷达数据

一、概述

激光雷达通常可以检测360度等范围内的物体,但由于机械结构设计等原因,机器人本体可能会遮挡部分激光雷达扫描数据。如果将激光雷达原始点云直接用于建图或导航,则机器人本体的一部分会被当作障碍物导致建图或导航无法正常工作。 阅读全文

成长之路—《长安的荔枝》读后感

一、概述

最近看了一本马伯庸的书《长安的荔枝》,感觉很好玩,表面上是在讲一个唐朝底层荔枝使李善德负责从广东岭南运载新鲜荔枝到长安的故事,实际讲的是一个坎坷的项目负责人如何在资源匮乏、希望渺茫的情况下推进项目达成的过程。 阅读全文

空船效应

一、概述

一个人在乘船渡河的时候,前面有一只船正要撞过来。这个人喊了好几声,但是前面的船没有回应。见状这个人十分生气,开始破口大骂前方船上的人。后来他发现撞上来的竟然是一艘空船,于是刚刚怒气冲冲的人怒火一下就消失的无影无踪了。 阅读全文

激光雷达—速腾聚创RoboSense16

一、概述

RS-LiDAR-16是速腾聚创推出的16线激光雷达,是一颗非常小型的激光雷达,主要面向无人驾驶汽车环境感知、机器人环境感知、无人机测绘等领域。RS16采用混合固态激光雷达方式,集合了16 个激光收发组件,最大探测距离150米,测量精度+/- 2cm以内。通过激光扫描反射提供三维空间点云数据及物体反射率,为定位、导航、避障等提供有力的保障。 阅读全文

探索CPU的调度原理

软件工程师们总习惯把OS(Operating System,操作系统)当成是一个非常值得信赖的管家,我们只管把程序托管到OS上运行,却很少深入了解操作系统的运行原理。确实,OS作为一个通用的软件系统,在大多数的场景下都表现得足够的优秀。但仍会有一些特殊的场景,需要我们对OS进行各项调优,才能让业务系统更高效地完成任务。这就要求我们必须深入了解OS的原理,不仅仅只会使唤这个管家,还能懂得如何让管家做得更好。本文主要探索其中的冰山一角:CPU的调度原理。 阅读全文

eBPF—使用符号表offset探测函数调用

上一次,我们通过uprobe实现一个对用户空间自定义程序的特定函数出入口进行代码注入和探测的方法,但它还有很多不完善的地方,比如需要提前准备好编译后的函数符号,同时生产环境产出通常也不带符号、产出的部署位置通常也不固定,给我们在实际场景中使用带来不便。本文就讲解下如何通过导出符号表、产出去符号,通过符号表的offset、类函数名、进程PID来进行用户自定义函数调用的探测,从而更方便直接在生产环境使用。 阅读全文

eBPF—使用uprobe探测用户程序函数调用

上一次,我们通过kprobe实现一个简单的内核系统调用捕获,了解了如何在内核函数的出入口动态注入自定义代码,并通过ring buffer传递到用户空间。今天,我开始带大家通过uprobe实现一个对用户空间自定义程序的特定函数出入口进行代码注入和探测的方法。 阅读全文

成长之路—计算机调度算法与生活

有时看到别人或自己在安排和处理事情上陷入混乱时,我脑海里都忍不住想到系统调度算法,一直想写一下调度算法对我们日常处理事情的启发,今天终于动笔,本文就结合操作系统调度算法,以日常生活做事安排为例,看看是否有值的借鉴的地方。 阅读全文