logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

左值、右值和左值引用、右值引用

概念本质绑定规则(核心)典型用途左值有名称、可寻址的表达式可被左值引用()或const左值引用绑定存储持久数据(变量、对象)右值临时、不可寻址的表达式可被右值引用(&&)或const左值引用绑定临时结果、字面量左值引用(左值的别名只能绑定左值(非 const 版本)避免拷贝、修改原对象右值引用(&&右值的别名只能绑定右值(或被std::move转换的左值)实现移动语义、延长右值生命周期左值用左值引

#c++#开发语言
使用perf工具进行嵌入式Linux性能分析

在嵌入式Linux系统中,perf是一款轻量且强大的性能分析工具,基于内核性能计数器(PMU,Performance Monitoring Unit),可用于分析 CPU 热点、函数调用耗时、调度行为、中断开销等关键性能指标。相比其他工具(如gprof),perf对系统侵入性小,支持用户态和内核态分析,非常适合资源受限的嵌入式环境。perf在使用perf。

#linux
C++ 双buffer数据结构

C++17的双buffer数据结构,支持并发环境下的顺序读写操作。双buffer的核心思想是使用两个缓冲区,一个用于写入,一个用于读取,通过切换机制实现高效的并发操作。

#c++#数据结构#算法
基于ROS2的自动驾驶路径规划与导航的具体实现步骤

基于ROS2实现自动驾驶的路径规划与导航,需结合感知、定位、规划、控制等模块,核心依赖Nav2(ROS2导航栈) 完成标准化流程。以下是具体实现步骤,涵盖环境搭建、模块配置到系统集成的全流程:安装ROS2选择稳定版本(如Humble或Iron),参考ROS2官方文档完成安装(包括及构建工具)。安装导航核心依赖Nav2是ROS2的官方导航栈,包含路径规划、定位、行为树等组件,需安装:创建工作空间步骤

#自动驾驶#人工智能#机器学习
架构设计模式

架构设计模式是解决软件系统“宏观结构设计”问题的通用方案,关注系统的模块划分、模块间交互方式、职责分配等核心问题。与“设计模式”(微观代码结构)不同,架构设计模式决定了系统的整体骨架,直接影响可维护性、可扩展性、性能和团队协作效率。

#架构
嵌入式软件分层方案设计

这套完整方案包括了系统的架构设计和具体的实施计划。架构设计明确了各层的职责和模块组成,实施计划则提供了短期、中期和长期的具体任务,确保架构调整能够有序进行。通过这些优化,系统将变得更加模块化、可维护和可扩展,能够更好地支持业务需求的变化和系统的持续演进。

#系统架构
LCM实时通信开源库

创建(如上述示例),定义需要传输的数据结构。LCM是实时系统中高效数据通信的优选方案,尤其适合对延迟、资源占用敏感的场景(如自动驾驶传感器数据传输、机器人实时控制)。其核心优势在于轻量和高效,但缺乏ROS那样的完整工具链(如可视化、日志记录),因此常被用作ROS的补充,或在不需要复杂功能的场景中独立使用。如果你的需求是“快速、低延迟地传输数据”,且不需要额外的机器人工具链,LCM会是比ROS更轻量

#机器人#人工智能#自动驾驶
gtest测试框架使用详解

GTest通过灵活的测试组织(TESTTEST_F)、丰富的断言机制和强大的扩展特性,成为C++单元测试的首选框架。测试应独立(不依赖执行顺序);优先使用EXPECT_*断言(避免过早终止测试);复杂场景用测试夹具(TEST_F)共享逻辑;利用参数化测试覆盖多输入场景。通过GTest可以系统化地验证代码行为,显著提升代码质量和可维护性。

#模块测试#c++
Fast DDS 深入理解与源码分析:框架、核心模块与工作原理

Fast DDS 的源码设计围绕高性能、可扩展、合规性分层解耦:DDS 层(API)、RTPS 层(协议)、传输层(通道)分层设计,便于替换底层实现(如将 UDP 改为 5G 传输)。事件驱动:异步事件处理避免阻塞,提高并发效率,适合实时系统。零拷贝优化:SHM 传输、Fast CDR 零拷贝序列化,极大降低延迟与 CPU 开销。模块化扩展:通过抽象接口(如)支持自定义扩展,满足不同场景需求。若需

#机器人
基于ROS2的自动驾驶路径规划与导航

基于ROS2的自动驾驶导航以Nav2框架为核心,通过“定位-全局规划-局部规划-控制”的流水线,结合TF2坐标变换和行为树决策,实现机器人在复杂环境中的自主导航。实际应用中需重点关注传感器数据质量、参数调优(如规划器安全距离、定位粒子数)及仿真验证,逐步从静态场景扩展到动态、语义感知场景。

#自动驾驶#人工智能#机器学习
    共 35 条
  • 1
  • 2
  • 3
  • 4
  • 请选择