RoboticsTechLab
一枚爱琢磨、愿意深耕的研发攻城狮,现从事于机器人、自动驾驶行业,不定期分享机器人、自动驾驶及工作经验相关内容,感谢关注!
展开
-
开发管理导读
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对开发管理导读做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-04-27 21:33:50 · 289 阅读 · 2 评论 -
嵌入式系统平台硬软件底层开发导读
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对嵌入式系统平台硬软件底层开发导读做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-04-26 20:48:55 · 689 阅读 · 0 评论 -
开发经验及方法导读
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对开发经验及方法导读做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-04-27 20:30:21 · 568 阅读 · 0 评论 -
日志关键信息提取--正则表达式std::regex
Regex”是“Regular Expression”(正则表达式)的缩写,它是一种强大的文本处理工具,用于匹配、搜索、替换和操作字符串。正则表达式在编程、文本编辑、数据处理等领域广泛应用。正则表达式的用途文本匹配:检查字符串是否符合特定的模式。例如,验证电子邮件地址、电话号码等。搜索和替换:在文本中查找符合模式的内容,并进行替换。字符串分割:根据特定规则将字符串分割成多个子字符串。数据提取:从复杂文本中提取特定格式的数据。正则表达式的语法。原创 2025-04-07 08:47:29 · 631 阅读 · 0 评论 -
【开发工程篇】github代码管理
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对git使用规范及使用流程做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容分支就像通道一样,不同的通道(dev)都能到达同一个终点(master),如果多人占用了一个通道,工作速度就会很慢,但是如果每个人都有一个分支(通道),他们就不会互相影响,高效率的完成自己的工作。原创 2024-11-05 10:04:25 · 103 阅读 · 0 评论 -
【开发工程篇】gitlab代码管理
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对gitflow工作流程思路做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容Git是一个软件,所以需要安装。Git的作用是代码版本控制。如:代码多版本保存,代码托管,代码回滚、代码合并Git是分布式的。如:本地库管理、远程库管理(两个库都有历史版本)为什么Git版本控制系统要比别的版本控制系统好用?因为GIt跟踪和管理的是GIt的修改,而不是文件【防盗标记–盒子君hzj】原创 2024-11-05 10:04:14 · 215 阅读 · 0 评论 -
【开发工程篇】构建gitlab远端服务器(check->build->test->deploy)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!Continuous Integration(持续集成)假设一个应用程序,其代码存储在GitLab的Git仓库中。开发人员每天都要多次推送代码更改。对于每次向仓库的推送,你都可以创建一组脚本来自动构建和测试你的应用程序,从而减少了向应用程序引入错误的机会。这种做法称为持续集成,对于提交给应用程序(甚至是开发分支)的每项更改,它都会自动连续进行构建和测试,以确保所引入的更改通过你为应用程序建立的所有测试,准则和代码合规性标准。原创 2024-11-10 09:16:19 · 427 阅读 · 0 评论 -
【代码版本管理】SVN(Subversion)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对SVN(Subversion)代码版本管理做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-04-09 19:40:31 · 277 阅读 · 0 评论 -
【开发工程篇】docker的介绍及使用--解决应用程序的环境配置问题
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对docker的介绍及使用–解决应用程序的环境配置问题做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容Docker是一个开源的应用容器引擎,用于快速部署和管理应用程序。Docker的简介中,我们可以了解到它是基于容器技术的一种实现,这种技术可以将操作系统和应用程序隔离在一个个的容器中,这样既提高了效率又增强了灵活性。原创 2024-11-10 09:21:03 · 432 阅读 · 0 评论 -
【开发工程篇】GoogleTest部署实践--测试用例代码,测开常用工具
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对GoogleTest部署实践做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容GoogleTest(简称 GTest) 是 Google 开源的一个跨平台的(Liunx、Mac OS X、Windows等)的 C++ 单元测试框架,可以帮助程序员测试 C++ 程序的结果预期。不仅如此,它还提供了丰富的**断言、致命和非致命判断、参数化、”死亡测试”**等等。原创 2024-11-10 09:20:39 · 470 阅读 · 0 评论 -
【开发工程篇】技术方案评审原则
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对技术方案评审原则做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-11-05 10:03:12 · 88 阅读 · 0 评论 -
【开发工程篇】架构模式设计层(设计模式)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!无人车&无人机导航合集本文先对**架构模式设计层(设计模式)**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容工厂模式类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式,使用了C++多态的特性,将存在继承关系的类,通过一个工厂类创建对应的子类(派生类)对象。在项目复杂的情况下,可以便于子类对象的创建【防盗标记–盒子君hzj】原创 2024-11-10 09:21:41 · 462 阅读 · 0 评论 -
【导航理论&实战篇】架构模式设计(设计模式)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!无人车&无人机导航合集本文先对**架构模式设计层(设计模式)**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容工厂模式类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式,使用了C++多态的特性,将存在继承关系的类,通过一个工厂类创建对应的子类(派生类)对象。在项目复杂的情况下,可以便于子类对象的创建【防盗标记–盒子君hzj】原创 2024-11-06 10:02:54 · 159 阅读 · 0 评论 -
【导航理论&实战篇】通讯方式及组件选型方向
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!无人车&无人机导航合集本文先对通讯方式及组件选型方向做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-11-06 10:03:09 · 126 阅读 · 0 评论 -
【开发工程篇】导航系统中各个层次和模块间的数据隔离、共享与传递方法
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!无人车&无人机导航合集本文先对导航系统中各个层次和模块间的数据隔离与传递方法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容private:public://保证公共数据都是一样的//外部调用公共函数的接口函数。原创 2024-11-10 09:21:27 · 504 阅读 · 0 评论 -
【开发工程篇】【各个模块间数据交互通讯及接口定义】串口通讯--压包解包,解析数据帧的方法(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对串口通讯–压包解包,解析数据帧的方法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容这部分可根据需要进行修改,只需调用字节发送函数即可。【这里,发送整段数据的实现是按字节一个个发送的,因此对应接收也是按字节一个一个接收的】uint8_t i;for (i = 0;i < len;i++)//发送一个字节定义数据处理函数用来处理解析成功的数据//根据需要处理数据。原创 2024-11-10 09:14:37 · 433 阅读 · 0 评论 -
【通讯传输】protobuf编码解码与通讯传输原理(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对protobuf编码解码与通讯传输原理做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容Google Protocol Buffer( 简称 Protobuf)Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以理解为一个结构体格式,专门对应着.proto文件进行存储,可以用于结构化数据序列化(序列化即编码)。原创 2023-10-27 16:59:59 · 600 阅读 · 0 评论 -
【定义通讯数据类型】LCM搭建系统通讯
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加TODO:写完再整理文章目录系列文章目录前言前言认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对**当没有使用ROS系统,自己也可以用LCM搭建系统通讯(如话题通讯,定义通讯数据类型)**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容自定义的LCM消息类型,主要的变量的消息类型,使用.lcm文件格式,结合了LCM轻量级通讯库LCM通原创 2024-06-15 17:15:28 · 2821 阅读 · 0 评论 -
【进程的话题通讯】DDS数据分发服务中间件
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对系统平台同一网络下不同设备及进程数据通讯–DDS数据分发服务中间件做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容在分布式系统中,中间件是位于操作系统和用户应用程序之间的软件层,它将操作系统提供的资源进行抽象和封装,为应用程序提供各种各样的高级的服务和功能,比如通信或数据共享。原创 2023-10-26 16:55:59 · 1192 阅读 · 0 评论 -
【网络通讯】TCP/IP、TCP、UDP的区别
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对网络通讯TCP/IP、TCP、UDP的区别做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容一般来说,如果数据传输的可靠性要求很高,建议使用TCP协议;如果对传输速度要求较高,可以使用UDP协议。参考链接。原创 2023-10-10 15:29:40 · 546 阅读 · 0 评论 -
【开发工程篇】搭建linux工程开发环境
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对选型电脑硬件,组装电脑做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容做算法验证和调试的时候,机器人硬件系统性能一定要高。对于生产量产的时候算力刚刚够用就好NUC(工控机)>xaver>dj>nx>tx2>nano>树莓派>MCU1 windows诱惑太多哈哈,各种兼容的游戏,对于开发没有仪式感(似乎优点幼稚的想法~)2 linux支持多用户、各自配置独立的环境。原创 2024-11-05 10:02:58 · 120 阅读 · 0 评论 -
第一篇:linux(ubuntu)系统实操学习
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加TODO:写完再整理文章目录系列文章目录前言一、linux的认识1.Linux的应用领域2.Linux学习建议3.Linux的系统文件架构介绍二、用户开机、重启、登录、注销命令1.关机&重启命令2.用户登录和注销三、Linux用户管理1.添加用户2.给用户指定或者修改密码3.删除用户4.查询用户信息5.切换用户6.用户组注意四、实用文件操作指令(常用)1.帮助指令(1)man 获得帮助信息(2)help 指令2.文件原创 2021-11-09 14:40:44 · 4853 阅读 · 0 评论 -
第二篇:linux(ubuntu)系统应用工程经验
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加TODO:写完再整理文章目录系列文章目录前言(1)终端命令行问题(2)ubuntu同一个终端打开多个窗口问题(3)ubuntu权限不够问题(4)ubuntu系统在bashrc的使用问题(5)ubuntu远程关机的使用(6)ubuntu寻找根目录的文件夹(7)ubuntu的安装包形式前言认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对linux(ubuntu)系统ubuntu的应用工程原创 2021-11-09 14:57:18 · 797 阅读 · 0 评论 -
【开发工程篇】多进程、多线程编程应用层开发理论
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对Linux应用层开发–多线程进程编程做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容进程一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。线程进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。原创 2024-11-10 09:14:13 · 440 阅读 · 0 评论 -
【多线程开发】(2)Linux实现多进程、多线程(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对Linux实现多进程、多线程做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容1、开源性:Linux系统及其工具都是开源的,因此,Linux环境编程可以使用大量的免费工具和库。2、多用户支持:Linux系统是支持多用户和多任务的,这意味着Linux环境编程可以同时处理多个任务和用户。3、灵活的文件系统:Linux文件系统是非常灵活和可扩展的,这使得Linux环境编程更方便。原创 2023-07-31 20:52:33 · 595 阅读 · 0 评论 -
【多线程开发】(3)C++实现多进程、多线程(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对C++实现多进程、多线程做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容C++11提供了语言层面上的多线程,包含在头文件中。它解决了跨平台的问题,提供了管理线程、保护共享数据、线程间同步操作、原子操作等类。C++11 新标准中引入了5个头文件来支持多线程编程,如下图所示。原创 2023-08-02 21:02:49 · 1101 阅读 · 0 评论 -
【多线程开发】(4)代码实现一把读写锁(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对代码实现一把读写锁做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2023-08-07 21:03:22 · 254 阅读 · 0 评论 -
【工程调试】linux内存泄漏排查方法
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对linux内存泄漏排查方法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-06-05 18:08:12 · 2418 阅读 · 0 评论 -
【开发工程篇】常见的系统崩溃原因总结和解决方法
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对常见的系统崩溃原因总结和解决方法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容大多数原因是语法导致的、也有系统平台硬件导致的。崩溃的原因:本质都是因为指针的地址出错导致的。原创 2024-11-10 09:22:09 · 538 阅读 · 0 评论 -
【工程调试】gdb操作系统开发的调试器
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对gdb操作系统开发的调试器做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2023-10-10 15:08:01 · 492 阅读 · 0 评论 -
【编译器】使用gcc编译器和clang编译器的区别
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对使用gcc编译器和clang编译器的区别做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2023-10-10 17:42:01 · 1441 阅读 · 0 评论 -
【操作系统】操作系统内核原理
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对操作系统内核做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容线程是进程当中的一条执行流程。同一个进程内多个线程之间可以共享代码段、数据段、打开的文件等资源,但每个线程各自都有一套独立的寄存器和栈,这样可以确保线程的控制流是相对独立的线程是调度的基本单位,而进程则是资源拥有的基本单位。原创 2023-09-14 20:27:46 · 525 阅读 · 0 评论 -
【开发工程篇】编码规范--提高代码的扩展与维护性
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对编码规范–代码的扩展与维护性做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-11-10 09:19:38 · 420 阅读 · 0 评论 -
【开发工程篇】日志系统的搭建及代码debug方法
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对日志系统的搭建及代码debug方法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-11-10 09:20:18 · 558 阅读 · 0 评论 -
【工程优化】Linux系统性能、代码负载分析、代码性能优化
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对Linux系统性能分析做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容1、注意:火焰图上面的顺序并不是函数执行的顺序,是统计之后重新编排的顺序2、perf的运行原理简单概括就是给定一个采样频率,根据采样频率每隔一段时间对CPU进行一次中断并根据记录的程序符号表得到当前运行的函数。最后如果某个函数被抽样的次数越多,代表这个函数运行时间越长3、y 轴表示调用栈,每一层都是一个函数。原创 2024-02-06 09:13:46 · 479 阅读 · 0 评论 -
【开发工程篇】代码设计模式--提高代码的运行效率、可读性、可维护性、健壮性
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对代码设计模式–写的各种代码进行高层次抽象的总结做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容需精通所有的设计模式,只要能够融汇贯通常见的设计模式,就能让你的代码变得优雅。就像程咬金只会三板斧,但是熟练度无人能及,照样能横行天下。每一类的设计模式学精一种即可,每一种都精通时不可能的。这七种最为常用,要求掌握1、创建型模式:抽象工厂模式、单例模式。原创 2024-11-10 09:19:15 · 557 阅读 · 0 评论 -
【开发工程篇】源代码封装成库Lib的方法
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!推荐开发经验及方法博客专栏:本文先对源代码封装成库Lib的方法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-12-05 08:40:09 · 188 阅读 · 0 评论 -
【工程库依赖】三方库的调用方法
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对三方库的调用方法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-05-11 22:53:12 · 1029 阅读 · 0 评论 -
【开发工程篇】主动学习途径及复现工程心得
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!推荐开发经验及方法博客专栏:本文先对**主动学习途径+复现工程能力(自己的方法)**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容(1)专业课程(2)专业书本(3)csdn博客+微信订阅号公众号(4)知乎(5)专业论坛(6)百度、【防盗标记–盒子君hzj】谷歌【解决小bug】(7)前辈、老师、师兄、朋友【头脑风暴,经验专区】原创 2024-12-05 08:36:39 · 70 阅读 · 0 评论 -
【工程开发】数据结构与语法规范
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对数据结构与语法规范做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2023-07-08 14:45:21 · 616 阅读 · 0 评论