- 博客(228)
- 资源 (2)
- 收藏
- 关注
原创 Linux网络性能瓶颈:深入剖析skb缓冲区丢包
本文分析了Linux系统中skb缓冲区丢包的三大核心原因:1)RingBuffer分配失衡,包括硬件缓冲区溢出(RX_OVERRUNS)和skb分配失败(RX_DROPPED);2)内核层队列与软中断处理瓶颈,如接收队列溢出(Softnet Backlog)和NET_RX_SOFTIRQ处理不足;3)硬件层多核CPU中断负载不均,涉及RSS队列未启用和中断亲和性配置错误。通过监控/proc/net/dev、softnet_stat等指标及调整netdev_budget参数,可有效诊断和解决丢包问题。
2025-11-24 16:36:10
23
原创 Linux常用网络工具
摘要: Linux网络工具分为6大类:1)测速工具(iperf3、speedtest-cli)用于带宽测试;2)抓包工具(tcpdump、Wireshark)实现流量分析;3)配置工具(ip/ifconfig/route)管理网络参数;4)防火墙工具(iptables/nftables)控制访问策略;5)诊断工具(ping/traceroute/curl)检测连通性;6)监控工具(iftop/nload)实时查看流量。这些工具覆盖网络配置、测试、排障等日常运维场景,支持命令行和图形化操作
2025-11-14 17:03:35
762
原创 大文件传输
大文件传输的整形流控面临多重技术挑战:需动态感知网络带宽波动并实时适配,平衡突发流量抑制与带宽利用率;匹配接收端处理能力,应对长距离传输的延迟反馈;实现多路径流量的协同整形,并针对卫星链路、公网P2P等差异化场景调整策略。核心在于通过精准感知和预测机制,在抑制突发的同时最大化传输效率。
2025-10-20 19:21:26
558
原创 FastDDS Spy 实际使用案例
摘要: 本文介绍了GUID的结构解析与fastddsspy工具的使用方法。GUID由12字节GuidPrefix_t和4字节EntityId_t组成,不同字节段标识主机、进程及参与者。fastddsspy工具可查看participants、topics、writers、readers等信息,支持verbose模式输出详细数据。操作时需注意GUID查询需在专属命令行中进行,避免管道符错误。此外,echo功能需依赖XTypes动态类型发现,若未启用则无法打印数据。测试时建议通过yaml配置文件精细化控制输出。
2025-09-26 18:16:15
1115
原创 交叉编译工具链
交叉编译工具链可通过多种方式获取:1)通过包管理器安装(如Ubuntu的gcc-arm-linux-gnueabihf);2)从官网下载预编译版本(如ARM官方工具链或Linaro);3)从开源网站获取特定版本;4)使用crosstool-ng自动构建。不同方法适用于不同架构(32/64位ARM)和需求,部分工具链需手动下载依赖包。
2025-09-22 22:35:56
615
原创 【ROS2】Beginner: Client libraries - parameters / ros2doctor / pluginlib
ROS2 parameters ros2doctor pluginlib
2025-09-22 21:24:58
1268
原创 【ROS2】Beginner: Client libraries - 创建自定义ROS 2接口 msg / src (专用接口功能包) + 实现或者自定义接口
ROS2 Client Library 创建ROS2 接口 msg/src
2025-09-22 19:26:15
1279
原创 【ROS2】Beginner: Client libraries - 服务Service示例 C++ & Python
ROS2 Client Library Service
2025-09-22 19:03:46
1053
原创 【ROS2】Beginner: Client libraries - 发布者、订阅者例子 C++ & Python
ROS2 Client libraries - 发布者、订阅者例子 C++ & Python
2025-09-22 18:24:25
725
原创 【ROS2】Beginner: Client libraries - create workspace & package
ROS2 Client Library - create workspace && package
2025-09-22 17:24:23
851
原创 【ROS2】Beginner: Client libraries - 使用 colcon 构建功能包
ROS2 Client libraries : colcon 构建功能包
2025-09-21 16:13:44
858
原创 【ROS2】Beginner : CLI tools - rqt_console / launching nodes
当你需要仔细检查系统日志消息时,会非常实用。查看日志消息的场景有很多,最常见的是排查问题根源,了解导致问题发生的一系列事件过程。到目前为止,你完成的操作核心意义在于:通过一条命令启动了两个 turtlesim 节点。当你学会编写自己的启动文件后,就能以类似方式,通过命令一次性启动多个节点,并完成它们的配置。
2025-09-21 15:02:04
912
原创 【ROS2】Beginner : CLI tools - 理解 ROS 2 动作
ROS2 Beginner CLI tools 理解ROS2动作
2025-09-21 14:36:26
819
原创 【ROS2】Beginner: CLI tools - 理解 ROS 2 服务
ROS2 Beginner CLI tools : ROS2 服务
2025-09-21 14:24:39
965
原创 【ROS2】Beginner: CLI tools - 配置ros环境 / rqt ros2 turtlesim / 节点 Node
ROS2 Beginner CLI tools
2025-09-20 21:38:36
1196
原创 【FastDDS】Examples ( 01-benchmark )
Fast-DDS的benchmark示例通过发布/订阅模式测试通信性能,支持多种消息类型(16KB-8MB)和传输协议(SHM/UDPv4)。核心包含发布者统计吞吐量、订阅者验证接收,通过XML配置QoS策略(可靠性/持久性)。运行时可自定义消息大小、传输协议等参数,输出吞吐量等指标,用于评估不同场景下的性能表现。
2025-09-10 19:59:51
963
原创 【Git】cherry-pick和merge日常开发中使用注意事项
Git开发中,merge和cherry-pick是两种核心代码整合方式。merge适用于完整功能分支合并,保留完整历史,建议配合--no-ff参数使用;cherry-pick则用于跨分支复制特定提交,适合修复bug或迁移误提交。关键区别在于:merge整合全部分支提交,而cherry-pick选择性复制。最佳实践是以merge为主保持历史清晰,谨慎使用cherry-pick避免历史混乱。两者合理搭配能提升开发效率与代码库整洁度。
2025-09-10 15:58:29
518
原创 【FastDDS】FastCDR和ProtoBuf在FastDDS中的应用
FastDDS中,FastCDR是原生序列化工具,深度集成且符合DDS标准,适用于跨平台实时通信;而Protocol Buffers需通过扩展适配,用于复用现有消息定义。FastCDR是默认选择,确保标准兼容性,ProtoBuf则为生态集成提供灵活性,两者互补而非替代。选择取决于是否需遵循DDS标准或兼容ProtoBuf生态。
2025-09-08 20:04:42
1352
原创 【ROS2】ament_CMake (2-example)
ament_cmake 是 ROS 2 的核心 C++ 构建工具,基于 CMake 扩展并深度适配 ROS 2 生态。它简化了编译流程并提供依赖管理、测试等功能。标准包结构包含 CMakeLists.txt 和 package.xml 两个核心配置文件,前者定义构建逻辑,后者声明元信息和依赖。ament_cmake 扩展了关键命令如 ament_target_dependencies 来自动处理依赖关系,并通过固定目录结构(如必须的 include/包名 子目录)确保兼容性。典型功能包括自动安装目标文件、导
2025-09-08 17:19:00
758
1
原创 【ROS2】ament_CMake (1-overview)
ament_cmake是ROS 2生态中基于CMake扩展的C++核心构建系统,旨在标准化ROS 2包的构建流程。它通过package.xml声明依赖关系,在CMakeLists.txt中实现编译、安装等逻辑,提供自动化依赖管理(如ament_target_dependencies)和统一构建路径。相比原生CMake,ament_cmake简化了ROS 2特有功能的实现,支持跨平台构建和扩展功能(如测试、文档生成)。作为ROS 2开发的基础组件,它使开发者能专注于代码逻辑,提升开发效率。
2025-09-08 17:16:45
919
原创 【ROS2】代码仓内容概述
ROS2核心组件分类梳理:1)基础构建工具链(ament系列);2)DDS中间件及通信适配层;3)ROS核心库(rcl/rclcpp等)与消息系统;4)命令行与调试工具(ros2cli/rosbag2);5)插件机制(pluginlib);6)可视化工具(RViz/RQT);7)机器人模型(URDF/几何库);8)第三方依赖封装;9)示例代码。系统采用模块化设计,涵盖构建系统、通信中间件、核心功能、工具链和扩展机制,支持C++/Python开发,形成完整的机器人软件开发生态。
2025-09-08 16:44:29
1456
原创 Fast DDS原生程序ROS2 Rviz Debug工具接入--Overview
摘要: 计划针对FastDDS缺乏调试工具的问题,借鉴ROS2生态开发工具链。具体包括:1)研究并移植ROS2的rosbag录制与回放工具;2)结合FastDDS现有工具(如DDS Spy)补充数据调试功能;3)定制化迁移RVIZ等可视化工具。项目将通过Gitee仓库开源,并同步更新开发过程博客。目标是为FastDDS构建类似ROS2的完整调试工具链,提升开发效率。
2025-09-06 21:49:03
231
原创 【FastDDS】XTypes Extensions
第一部分详细说明了DataRepresentationQosPolicy,该策略定义了DataWriter和DataReader之间通信所使用的数据表示形式,包括XCDR、XML和XCDR2三种可选格式。第二部分描述了TypeConsistencyEnforcementQosPolicy(未来版本实现),该策略规定了数据类型一致性检查规则,包括类型强制转换、序列边界、字符串边界等参数的设置。两个策略均不可在实体启用后修改,并提供了C++配置示例。
2025-09-06 19:03:30
821
原创 【FastDDS】 Entity Policy 之 扩展Qos策略
为了保持 DataReaders 和 DataWriters 中的 DisablePositiveACKsQosPolicy 之间的兼容性,如果 DataWriter 禁用了此 QoS,则 DataReader 不能启用此 QoS。定期发送心跳(参见 WriterTimes)之外,可靠的 DataWriters 还使用一种机制在向 DataReaders 传递数据的同一消息中附加心跳子消息。不能在已启用的实体上修改。此QoS配置参与者的流控制器列表,以便这些流控制器之后可在其DataWriters上使用。
2025-09-06 17:02:47
648
包括:1)使用Python通过随机序列吸附法生成颗粒图像的代码;2)提取图像颗粒轮廓直径,生成Graph;3)训练GCN模型
2023-06-05
VTK8.0.0 编译好的库 : Qt5.9 + VS2015 + pcl1.8.1 + vtk8.0
2021-01-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅