- 博客(174)
- 收藏
- 关注

原创 leetcode需要背下来的程序&语法糖 [更新中]
C++13的string类型在使用.back()方法的时候不会考虑string是否为空,如果string为空的话会有越界错误。
2025-05-29 23:38:18
323

原创 弱监督语义分割学习计划(0)-计划制定
经过与deepseek的一番讨论和交流,DeepSeek为我设计了一个。:Class Activation Map (CAM)优化、伪标签迭代。:掌握图像级/点监督分割方法,构建弱监督野外场景Pipeline。,结合理论与实践,并最终导向可落地的开源项目。:解决野外场景的域偏移问题(如仿真→真实场景迁移):构建完整Pipeline,产出开源仓库与仿真视频。:掌握传统语义分割核心模型与野外场景数据特性。
2025-02-18 14:17:20
873
原创 ubuntu 多网络路由优先级问题
这个问题的本质是路由冲突。当Ubuntu的NetworkManager检测到两个活动的连接时,它会根据一定的规则(如metric值,通常有线连接的metric更低/优先级更高)来设置默认路由。通过明确告诉系统哪个连接不应该作为默认路由,我们就能完美解决这个冲突,实现“有线上局域网,WIFI上互联网”的目标。如果以上步骤操作后仍有问题,请将第1步中几个诊断命令的输出结果贴出来,以便进一步分析。
2025-07-25 19:14:14
518
原创 linux ldd命令的作用以及在ROS中的应用(显示可执行文件所依赖的所有共享库)
ldd是 Linux 系统中用于打印共享库依赖关系的实用工具。它能够显示一个可执行文件或共享库所依赖的所有动态链接库(.so文件)及其路径。以下是关于ldd=>not found-v-u-d-r-dlddlddlddlddnot foundlddobjdumpreadelf通过ldd,你可以快速诊断程序与库的依赖关系,但务必注意其潜在的安全风险。对于生产环境,建议结合静态分析工具使用。
2025-07-25 18:50:28
388
原创 ubuntu中有不同版本的pcl时的使用策略
两个版本共存本身不会导致问题,但混合使用不同版本的头文件和库可能会导致运行时错误。),类似的顺序适用于。
2025-07-25 15:55:39
174
原创 MSOP/DIFOP端口 vs. IP地址的关系以及每个IP下面有什么自己的东西
在配置多个Robosense(速腾聚创)雷达时,的关系需要明确区分。
2025-07-24 18:52:18
444
原创 雷达使用的MSOP端口和DIFOP端口是什么意思
的作用以及相关端口的使用规则非常重要。在配置多个Robosense(速腾聚创)雷达时,理解。如果有更多雷达需要配置,只需按相同规则递增端口号即可。
2025-07-24 18:45:17
447
原创 Ubuntu同一网段下配置多个雷达
通过以上配置,多台Robosense雷达可以同时在NUC上运行。如有进一步问题,建议参考Robosense官方文档或联系技术支持。在Ubuntu系统上配置多个Robosense雷达时,确实需要确保每个雷达的MSOP端口()不同,同时所有雷达的IP地址需位于同一网段。)和DIFOP端口(
2025-07-24 18:14:35
271
原创 激光雷达的单播和广播模式介绍
这种模式与广播(Broadcast)或多播(Multicast)模式不同,后者会向多个设备或组播组发送数据。激光雷达通过单播模式将点云数据发送给指定的AI计算单元,避免其他车载设备(如仪表盘)接收到冗余数据。总结来说,单播模式是激光雷达与特定设备间高效、安全的通信方式,适用于对数据隐私和网络负载敏感的场景。(Unicast Mode)是指激光雷达设备与目标设备(如主机、控制器或计算单元)之间通过。(如特定的IP地址或MAC地址),其他设备无法直接接收这些数据。激光雷达将数据包(如点云、状态信息)
2025-07-24 17:28:58
362
原创 离线进行apt安装的过程(在只能本地传输的ubuntu主机上使用apt安装)
通过以上方法,可以在完全离线的环境中完成软件安装。推荐优先使用方法1或方法3,适用于单次安装;若需长期维护多台离线设备,方法2更高效。确保联网和离线设备的系统版本(如Ubuntu 20.04)和架构(amd64/arm64)相同,否则依赖可能不兼容。优先选择静态链接或依赖少的软件(如AppImage、Snap离线包),减少复杂度。文件通过U盘、移动硬盘或内网传输到离线设备的某个目录(如。若依赖不完整,会报错,此时需手动补全缺失的依赖包。报依赖错误,需手动下载缺失的依赖包。在无法联网的设备上使用。
2025-07-24 14:31:22
310
原创 linux环境下udev规则配置(为特定 USB 设备(如串口设备)自动设置权限、用户组,并创建符号链接(软链接))
这段代码主要用于在 Linux 系统 下配置 udev 规则,以便在插入特定 USB 设备(如串口设备)时自动设置权限、用户组,并创建符号链接(软链接),方便设备访问。作用:匹配 Silicon Labs CP210x 串口设备(, , ),并设置:权限:(所有用户可读、写、执行)用户组:(允许串口访问)符号链接:在 下创建 软链接,方便程序访问(如 代替 )序列号限制:仅匹配 的设备(防止误匹配)2. 第二条规则(wheeltec_ch340,CH343 驱动)作用:
2025-07-24 10:04:47
568
原创 linux内核与GNU之间的联系和区别
Linux 内核的功能包括上述所有内容,而 GNU 的 Hurd 内核(微内核设计)理论上也能实现类似功能,但实际应用较少。各自的功能,以及它们如何协作构成完整的操作系统。)操作硬件,但无法高效完成日常任务(如编辑文件或编译代码)。要理解操作系统(如 GNU/Linux)的组成,需要明确。没有 GNU 工具链时,内核只能通过底层系统调用(如。,共同构建了自由软件的操作系统生态。
2025-07-22 17:29:43
272
原创 GNU到底是什么,与Unix和Linux是什么关系
GNU是自由软件运动的基石,其工具链和理念深刻影响了现代计算生态。虽然完整的GNU操作系统未实现,但“GNU/Linux”已成为服务器、嵌入式设备和开发者环境的主流选择。理解GNU有助于认识开源文化的起源和软件自由的价值观。,由理查德·斯托曼(Richard Stallman)于1983年发起,目标是创建一个完全由自由软件组成的类Unix操作系统。它的名字是一个递归缩写,全称为。(GNU不是Unix),既致敬了Unix的设计理念,又强调了其独立性和自由性。(发音为 /ɡnuː/,类似“革奴”)是一个。
2025-07-22 17:25:54
501
原创 libgmp库(GNU高精度算术库)介绍
虽然其 C API 较为底层,但被广泛集成在其他高级工具中(如 Python 的。的开源 C 库,支持大整数、有理数和浮点数的精确运算。(GNU 高精度算术库)的简称,它是一个用于。对于现代 C++ 项目,可考虑封装库如。是处理大数运算的行业标准库,尤其适合需要。
2025-07-22 17:21:01
624
原创 cddlib(用于凸多面体计算和线性不等式系统求解)的开源库
虽然接口较为底层,但为学术研究和工程应用提供了可靠的基础。建议结合其命令行工具快速验证模型,再通过 C API 集成到项目中。如需更友好的交互,可尝试封装库(如 Python 的。,主要用于处理凸多面体的顶点(V-representation)和不等式(H-representation)之间的转换,以及相关的几何计算。输出将显示顶点和射线(V-representation)。是处理凸多面体表示的强大工具,尤其适合需要。的开源 C 库,全称为。
2025-07-22 17:13:43
290
原创 用于数学优化(线性规划和混合整数规划)的glpk库介绍
是开源数学优化领域的经典工具,适合需要线性/整数规划功能的开发者。其 C API 灵活,但学习曲线较陡;(尤其是线性规划和混合整数规划)。命令行或高级语言绑定(如 Python)快速上手。
2025-07-22 16:58:32
388
原创 qtbase5-dev库使用介绍
(Development files for Qt 5 Base)的 Debian/Ubuntu 软件包名称,它提供了开发 Qt 5 应用程序所需的核心头文件、库和工具。是开发 Qt 5 应用程序的必备包,提供核心 API 和工具链。适合需要跨平台 GUI 或系统级功能开发的场景。如需更高级功能(如 3D、WebEngine),需额外安装对应的 Qt 模块。
2025-07-22 16:50:47
415
原创 catkin build的config设置指南[设置多种make模式或策略]
在本篇文章中,我们来尽可能详细地深入探讨的使用方法。这是掌握工作流的关键,能极大地提升你的开发效率和项目的规范性。
2025-07-22 16:12:46
831
原创 ROS OMPL路径规划库介绍
为 MoveIt!和自主导航提供强大的路径规划能力。如果你从事机器人运动规划研究或开发,掌握 OMPL 是必备技能!,提供多种基于采样的规划算法(如 RRT、PRM、EST 等),广泛应用于机械臂导航、无人机避障、自动驾驶等领域。通过 MoveIt!需要更具体的代码示例或算法对比吗?可以告诉我你的需求!OMPL 在 ROS 中的主要作用是为。代表 ROS 发行版,如。
2025-07-22 15:41:51
899
原创 Ubuntu apt和apt-get的区别
apt是apt-get的一个更新、更友好、更现代化的版本,推荐给绝大多数终端用户日常使用。apt-get则是一个更底层、更稳定的工具,主要用于脚本自动化。
2025-07-22 15:22:56
676
原创 ROS-Industrial的一些知名和重要的工作介绍[Industrial Core, Universal Robots驱动, Fanuc 驱动, ABB 驱动, Industrial MoveI]
在工业自动化领域的扩展项目,旨在将 ROS 的强大功能应用于制造业、物流、机器人控制等工业场景。以下是 ROS-Industrial 生态系统中。领域的开发者,ROS-Industrial 提供了完整的工具链和案例参考!需要更详细的某个项目介绍吗?可以告诉我你的具体需求!ROS-Industrial(ROS-I)是。ROS-Industrial 的核心目标是。ROS-Industrial 正在向。
2025-07-22 15:01:14
784
原创 ROS Package标准模板仓库ros-industrial-cmake-boilerplate介绍
是一个由 ROS-Industrial 社区维护的、用于创建专业级 ROS 包的官方模板。它通过提供一个预置了构建系统、测试、CI 和标准目录结构的项目框架,极大地节省了开发者的初始设置时间,并从一开始就引入了工业级的代码质量标准和最佳实践。对于任何想要认真开发、维护和分享 ROS 包的开发者来说,它都是一个强烈推荐的起点。
2025-07-22 14:44:50
759
原创 git fork仓库之后获得原仓库除main之外的其他分支
在 GitHub 上 fork 仓库时,默认只会复制源仓库的默认分支(通常是。先在 GitHub 上 fork 源仓库到你的账号下。这会拉取源仓库的所有分支(但不会自动在本地创建它们)。通过以上方法,你可以轻松获取源仓库的所有分支内容。),在本地创建同名分支并推送到你的 fork。的所有远程分支(除了。例如,想获取源仓库的。
2025-07-22 14:27:17
429
原创 CMake与catkin_make的find_package()命令使用说明
在 CMake 中,是一个核心函数,用于查找并加载外部依赖库的配置。它的主要作用是,以便后续编译和链接。BoostEigen3version3.3REQUIREDCOMPONENTSsystemfilesystemNO_MODULEQUIET中的REQUIRED是可选的。如果不指定REQUIRED,CMake 会尝试查找包,但即使找不到也不会报错,而是继续执行后续的 CMake 脚本。此时,你需要通过检查变量来判断是否成功找到该包,并决定后续逻辑。
2025-07-21 23:02:37
939
原创 cmake到ROS的catkin_make的CMakeLists.txt文件有什么区别和联系
特性标准 CMake基础语法是基础完全继承和使用项目声明(核心)查找依赖代码生成不处理特定领域文件等用于构建工具cmakemake(封装了cmakemake目标构建通用的软件构建能在 ROS 生态中互相发现和通信的软件包把 Catkin 看作是 CMake 的一个**“行业特定框架”**,就像 Ruby on Rails 是 Ruby 的 Web 开发框架一样。你仍然在写 CMake 代码,但你需要遵循 Catkin 的规则并使用它提供的工具,才能让你的软件包无缝地融入整个 ROS 系统。
2025-07-21 16:22:09
1014
原创 CMake变量和环境变量之间的关系和区别&CMAKE_EXPORT_COMPILE_COMMANDS环境变量作用
是一个非常有用的 CMake 设置,它不是环境变量,而是用来生成文件的开关。这个文件是现代 C++ 开发工作流(特别是配合 VS Code 等编辑器)中不可或缺的一部分,因为它能极大地提升开发工具的智能性和准确性。在你的所有 C/C++ 项目的文件顶部,都建议加上这一行。
2025-07-21 15:24:11
870
原创 如何判断自己是否需要内存超频?
内存超频是一个能“花小钱办大事”的技巧,但它也确实像一把双刃剑。下面我将为你详细解析内存超频的好处、坏处,并提供一个清晰的指南,帮助你判断自己是否需要它。
2025-07-21 11:27:13
1016
原创 DDR4和DDR5内存的性能差距及应用场景
DDR4 和 DDR5 内存的性能差距主要体现在等方面,而实际使用体验的差距则取决于(如游戏、生产力、日常办公等)。✅:DDR5 对高帧率电竞游戏更有优势,但对3A游戏影响较小。✅:生产力用户(尤其是视频、AI、大数据)优先选 DDR5。✅。
2025-07-21 11:22:04
860
原创 如何判断自己的电脑或主机是否支持DDR5内存?
判断方法优点缺点适用场景看CPU型号快速、简单、无需软件只能初步判断,不能最终确定(特别是Intel 12代以上)快速筛选,判断是否“有资格”软件检测 (CPU-Z)准确、权威、信息全面需要下载第三方软件最推荐的通用方法查询官网规格最权威的最终答案步骤稍多,需要上网查询购买内存前或帮别人确认时的最终确认物理检查直观、100%准确需要动手拆机,有一定门槛DIY装机、升级或维修时一个非常重要的特殊情况:Intel的第12、13、14代CPU的内存控制器是同时支持DDR4和DDR5的。
2025-07-21 11:14:24
1269
原创 图吧工具箱工具介绍[CPU工具, GPU工具, 内存工具, 硬盘工具, 屏幕工具, 外设工具, 系统工具, 网络工具, 其他工具]
图吧工具箱(TBToolbox)集成了大量硬件检测、性能测试和系统维护工具,每个工具都有其特定的用途。如果需要某个工具的详细使用方法,可以进一步提问!
2025-07-21 09:57:15
1382
原创 C++ 内联函数机制及使用方法
是一种优化机制,用于减少函数调用的开销,特别是在频繁调用的小函数场景下。下面详细介绍其原理、使用方法及注意事项。合理使用内联函数可以提升性能,但需结合具体场景和编译器行为分析。,最终是否内联由编译器决定。关键字,也可能自动内联小函数(通过优化选项如。现代编译器(如GCC、Clang)即使没有。内联函数的定义通常放在头文件(在类内部直接定义的成员函数。在函数声明或定义前加上。
2025-07-20 15:42:49
917
原创 ROS_INFO_STREAM, 模拟cout流输出机制的ROS输出接口
和ROS_INFO是 ROS(Robot Operating System)中用于输出日志信息的宏,它们的功能相似但用法不同,主要区别在于和。rosconsoleROS_DEBUGROS_WARNROS_ERRORprintfstd::cout%s%d两者最终都调用ROS的日志系统,但通过流式操作将内容传递给ROS_INFO的底层接口。ROS_INFO<<
2025-07-20 14:48:46
247
原创 RAII机制以及在ROS的NodeHandler中的实现
RAII是 “Resource Acquisition Is Initialization” 的缩写,中文译为“资源获取即初始化利用 C++ 对象生命周期的特性来自动化地管理资源。关键点:资源(Resource): 不仅仅指内存。它可以是任何“数量有限、必须在使用后正确释放”的东西,例如:文件句柄 (FILE*网络套接字 (Socket)数据库连接互斥锁 (Mutex)动态分配的内存 (new对象生命周期(Object Lifetime)
2025-07-20 13:26:46
620
原创 C++ namespace机制以及同时使用多个namespace可能存在的问题
定义一个namespace// 可以在这里声明和定义// 也可以嵌套命名空间分块定义:同一个命名空间可以分在多个文件、多个位置进行定义,编译器会自动将它们合并。匿名命名空间 (Anonymous Namespace)里的成员仅在当前文件内可见,效果类似于给所有成员加上static关键字,用于避免在链接时与其他文件的全局实体冲突。使用方式推荐度优点缺点⭐⭐⭐⭐⭐(最高)绝对清晰,无冲突风险代码略显冗长⭐⭐⭐⭐☆(推荐)简洁与安全的良好平衡需单独声明每个成员⭐⭐⭐⭐☆(推荐)
2025-07-20 13:11:53
962
原创 git fork的项目远端标准协作流程 仓库设置[设置成upstream]
名称指向你的权限主要用途origin你自己的 Fork 仓库 (读/写推送 (push) 你的个人修改和新功能。upstream原始的官方仓库 (只读拉取 (fetchpull) 官方的最新更新,保持同步。所以,upstream是一个约定俗成的名字,代表了代码的“上游”源头,让你的本地仓库能同时与“自己的远程仓库”和“官方的远程仓库”进行交互。
2025-07-20 10:35:11
259
原创 roslaunch 文件的核心语法和使用技巧
ROSlaunch文件是 ROS 项目中不可或缺的一部分,它能让你用一个命令启动和配置多个节点(Node),是管理复杂机器人系统的核心工具。下面我将从和三个方面来详细讲解。
2025-07-19 21:33:33
552
原创 [Markdown&Github] 使用块引用高亮显示“注意“和“警告“和其他注意方式的选项
提示框是 Markdown 的扩展功能,用于强调关键信息。在 GitHub 上,它们会通过独特的颜色和图标显示,以表明内容的重要性。参考来源: https://github.com/orgs/community/discussions/16925。
2025-07-19 20:13:47
262
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人