- 博客(158)
- 资源 (4)
- 收藏
- 关注
原创 【ROS2】ros2笔记杂类
我们从了解到,robot_state_publisher 会订阅 /joint_states,来计算对应的坐标变化。那么,
2025-11-04 15:38:37
182
原创 【ROS2】运动底盘的基础概念
编码器是一种将成的,广泛用于机器人、电机控制、工业自动化等领域。,帮助系统闭环控制(如让电机精准转到指定位置)。编码器 = 把“运动”翻译成“数字代码”的翻译官。
2025-10-29 13:26:24
367
原创 【ROS2】驱动开发-通过控制器访问硬件(Hardware Access through Controllers)
本文介绍了控制器如何,同时保持尽可能的灵活性,以避免被严格绑定为“位置(position)”、“速度(velocity)”和“力/力矩(effort)”这三种类型的限制(参见文章首先描述了硬件资源是如何的,然后提供了一种。
2025-10-28 15:40:18
1055
原创 【Linux kernel】CONFIG_MODVERSIONS介绍
Linux内核的CONFIG_MODVERSIONS选项用于模块符号版本检查,通过CRC校验确保外部模块与内核符号版本一致,防止因符号不匹配导致崩溃。该功能为每个导出符号生成32位CRC值,在模块加载时进行比对,不匹配则报错。启用该选项能提高安全性但会增加编译时间和文件大小。可通过查看内核配置文件确认是否启用,并使用相关命令调试符号CRC值。
2025-10-28 11:22:09
449
1
原创 【ROS2】驱动开发-ros2_control模式驱动
摘要: ROS2驱动开发中是否使用ros2_control的Manager取决于设计目标和复杂度: 简单驱动(如独立传感器/单电机)直接通过topic/service通信,无需Manager,开发快但扩展性差(如MotorDriverROSWrapper)。 复杂系统(多设备协调,如机械臂/底盘)需Manager(如ros2_control)统一调度硬件接口,支持实时控制与动态加载,但开发复杂度高(需配置URDF/YAML)。 对比: 直接通信:适合小项目,调试简单;Manager模式:适合中大型系统,维护
2025-10-24 11:17:38
1123
原创 【ROS2】驱动开发-雷达篇
雷达和激光雷达是两种基于电磁波/光波反射原理的测距传感器。雷达通过发射无线电波,利用回波时间或频率变化测量目标距离和速度,具有抗干扰强、测速准、成本低的特点,但分辨率较低。激光雷达则发射激光脉冲,通过飞行时间生成高精度3D点云,分辨率高但易受天气影响。两者在自动驾驶、环境感知等领域各有优势:雷达适合远距离测速,激光雷达擅长精细建模。此外,超声波传感器成本低但精度和范围有限,主要用于短距探测。
2025-10-24 10:03:20
376
原创 【ROS2】驱动开发-超声波模块篇
本文介绍了超声波传感器模块及其在ROS2中的驱动实现方式。超声波传感器(如HC-SR04)通过发射40kHz超声波并测量回波时间来计算距离,量程2cm-4m,精度3mm。文章详细讲解了其工作原理、引脚定义、距离计算方法及速度测量原理,并提出了ROS2驱动设计方案:采用Topic通信模式,定义/ultrasonic/distance(sensor_msgs/Range)和/ultrasonic/velocity(Float32)两个话题来发布距离和速度数据。其中重点解析了sensor_msgs/Range消息
2025-10-24 10:02:07
244
原创 【ROS2】驱动开发入门
摘要:本文介绍了如何为硬件驱动创建ROS Wrapper,实现与ROS系统的对接。文章首先解释了ROS Wrapper的概念,即通过封装非ROS代码创建ROS接口的节点,并分析了使用Wrapper的优势。接着详细说明了驱动开发应保持独立于ROS的重要性,并展示了基础Wrapper的实现方法:初始化节点、管理驱动生命周期。最后,文章提供了具体示例(虚拟电机控制),演示如何通过ROS参数、话题、服务等扩展驱动功能,包括速度控制、状态监测等。该教程将帮助开发者规范地将硬件驱动集成到ROS生态中。
2025-10-23 17:47:34
944
原创 【ROS2】Rviz基础介绍
机器人项目由多个核心模块构成,包括感知系统(如视觉、触觉)、控制系统、决策系统和执行机构等,各模块协同工作实现机器人功能。图中展示了这些模块的组成关系,为机器人开发提供了清晰的框架结构。
2025-10-23 11:25:27
493
原创 【ROS2】通过robot_state_publisher 让Rviz 中的模型动起来
本文介绍了在ROS2中通过robot_state_publisher实现RVIZ机器人模型运动的方法。主要内容包括:1) RVIZ作为可视化工具依赖/tf和/tf_static数据流进行模型渲染;2) robot_state_publisher节点的核心功能是将URDF模型和关节状态转换为TF变换树;3) 详细教程展示了如何创建URDF模型、编写运动节点,并使用robot_state_publisher发布机器人状态。文章重点阐述了RVIZ的运动原理和robot_state_publisher的关键作用,为
2025-10-22 15:37:45
1019
原创 【ROS2】Gazebo 仿真
Gazebo是一个专业的3D机器人仿真平台,支持URDF/SDF模型导入,提供物理引擎(重力、碰撞等)和多种传感器仿真(LiDAR、相机等)。其核心功能包括机器人建模、环境构建、与ROS集成,可替代真实机器人进行算法测试,具有成本低、安全性高和快速迭代优势。运行Gazebo需要较高硬件配置(推荐NVIDIA GPU)。通过ros-humble-urdf-sim-tutorial包可快速启动Gazebo环境,加载URDF模型进行仿真测试。
2025-09-29 11:24:13
1316
原创 Windows 显示器EDID笔记
EDID\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\NEC3396\4&13b58229&0&UID16433\Device Parameters 下的EDID,存储的硬件显示器中的EDID。
2025-09-26 13:20:36
499
原创 【ROS2】URDF入门
URDF是ROS专用的机器人描述文件格式,采用XML格式定义机器人的几何形状(连杆尺寸和形状)、组织结构(关节连接方式)、传感器位置等信息。它包含视觉显示、惯性及碰撞检测所需数据,为仿真、TF2坐标系转换和传感器集成提供统一框架。URDF本质上是描述机器人骨架结构、外壳和关节关系的核心文件,类似于Linux设备树,是ROS机器人系统的基础建模工具。
2025-09-17 15:16:47
661
原创 【ROS2】launch 相关的概念
ROS 2的Launch文件是一个集中式启动脚本,用于批量管理节点及其配置。它能同时启动多个节点(如turtlesim_node和turtle_tf2_broadcaster),统一设置参数,支持话题重映射和命名空间修改。此外,Launch文件还能控制节点启动顺序和延迟,确保依赖关系,并简化系统调试和复现过程,避免手动启动多个节点的繁琐操作。通过参数化配置,使节点更具灵活性,无需硬编码修改。
2025-09-16 11:17:06
325
原创 【ROS2】TF2 入门
你需要 把不同坐标系下的数据互相转换,这就是 TF2 的作用。核心:TF2 管理所有坐标系之间的关系,并提供接口把点、向量、姿态在不同坐标系之间转换。
2025-09-12 16:25:35
1193
原创 【翻译】最后的程序员
我们是最后一代手动将想法转化为代码的人。我们的孩子会描述他们想要的东西,然后看着它出现在屏幕上,就像我们现在向搜索引擎描述需求然后获取结果一样。他们会像我们评价那些在电子表格出现之前手动计算账簿的人一样评价我们。工艺值得敬佩,但最终是为已经被更好工具解决的问题付出了不必要的努力。问题不在于这个未来是否会到来。从流入 AI 开发的资金和人才来看,它是不可避免的。问题是,当它到来时,你是否准备好了,你是否在处理那些在这个世界中真正重要的产品开发部分。
2025-09-12 10:29:01
949
原创 【翻译】OpenAI抢走你的饭碗,然后又假惺惺地帮你在沃尔玛找新工作
但 Simo 表示,公司正大力推动,以配合白宫的计划 —— 将 AI 打造成美国劳动者的核心技能 —— 前提是他们所使用的引擎“不过于政治正确(too woke)”。但 OpenAI 似乎只打算挑选“AI 精英”,以及市场上浮出的顶尖人才,放到它提议的就业登记平台上。对于那些担心 AI 会冲击自己工作的群体,OpenAI 给出了一个解决方案 —— 参加它的认证,并利用新上线的招聘平台去寻找新的岗位。工作的形态会不同,公司必须适应,我们所有人 —— 从轮班工人到 CEO —— 都必须学习如何以新的方式工作。
2025-09-12 10:14:33
237
原创 【ROS2】基础概念-进阶篇
DDS (Data Distribution Service) 是 OMG(对象管理组织)制定的标准中间件。它定义了一套 发布-订阅通信模型,以及在网络上传输数据的协议(RTPS)。DDS 由多家厂商实现(RTI Connext DDS、eProsima Fast DDS、Eclipse Cyclone DDS、GurumDDS 等)。它本质上是 一个通用的分布式通信中间件标准,不局限于 ROS。RMW (ROS Middleware Interface) 是 ROS 2 定义的一层 抽象接口。
2025-09-11 14:40:21
881
原创 【翻译】Rao阅读算法
我为谁读、读什么、在哪里读、如何读、为何读——阅读为何重要阅读意味着我对各种思想和媒介的整体吸收——通过“看”或“听”符号来学习,而不是通过纯粹的行动。阅读的核心是书籍,但也包括学术论文、新闻、博客、音乐、视频、地图、工程与建筑图纸、代码、专利、在城市中漫步、与他人交谈,以及欣赏艺术。只要是被压缩的信息,被编码进我的大脑和世界模型中,我都会算作阅读。阅读算法与学习算法之间的界限并不清晰。阅读是压缩后的学习,但显然还有其他学习方式(直接的试错、师徒传授、苏格拉底式的辩问等)。更微妙地说,阅读是一种专注力
2025-08-11 09:48:34
720
原创 【python】pyserial 在windows 下卡住的bug
使用当前pyserial 在Windwos 下做的项目,移交到客户案场后, 客户发现程序会卡住,经过最终调查,是卡在了pyserial 的write 方法中了。
2025-07-08 16:15:16
1184
原创 【udev】关于/dev 设备节点的生成 &udev
Linux 中的设备节点(例如 /dev/ttyS0、/dev/sda 等)本质上是特殊的文件,它们代表内核中的设备,用户态程序通过这些节点与设备通信。
2025-07-03 19:13:35
1291
原创 【uboot】论Kconfig 和板级配置头文件的优先级
摘要:U-Boot构建系统中,Kconfig配置通过生成autoconf.h文件(用于C代码编译)和auto.conf/autoconf.mk(用于Makefile)。kconfig.h被强制包含在所有C文件头部,而config.h则整合了板级配置(board-xxx.h)、架构配置和Kconfig配置。板级配置可通过#undef/#define覆盖Kconfig默认值,例如修改CONFIG_BOOTCOMMAND。这种分层设计实现了配置的灵活管理,板级配置具有最终决定权。
2025-06-18 10:25:18
462
原创 AI 学习笔记
FLOPs 是指模型运行一次推理,需要的浮点运算计算次数。注意和FLOPS(大写S)的区别,它表示每秒执行的浮点运算次数。如果已知模型的计算需求(FLOPs)和硬件算力(TOPS),可以用以下公式估算。
2025-03-12 13:57:26
318
原创 jetson 平台跑MLPerf
而apt install onnxruntime 通常是 CPU 版本,不包含 TensorRT 加速。如果出现GPU,说明安装Ok,如果是CPU 说明没有安装成功。,你可以在以下网站下载与编译的,也可以下载。
2025-02-11 15:48:26
530
原创 翻译:AI 狂热的冷却
相反,这是一个成本锚,将把任何否认现实的落后者拖入深渊。尽管我们赞美个体主义(现代性的核心特征就是个体至上),但人类依然是群居动物,时刻关注群体情绪的变化,并在大伙儿开始狂奔时,焦虑地跟随,以免掉队或失去社会地位。**“AI 既没有营收,也没有利润”**的现实,如同一片疑云,笼罩在这艘被烧毁的残骸之上。没错,当前对人工智能的狂热期待不过是一时潮流,是层出不穷的“必须拥有”的身份象征和文化狂热的最新产物。有时候,深厚的护城河和数十亿美元的挥霍并不会带来荣耀,反而会滋生傲慢,而傲慢最终会招致复仇女神的降临。
2025-02-08 10:10:27
460
原创 翻译:一旦被裁员,你的人生就再也不一样了
事情发生在 5 月 4 日下午。一位同事(后来成为了我的好朋友)在屏幕上给我发了一条消息,催促我去查看电子邮件。我打开收件箱,看到了一封来自首席运营官的邮件。邮件宣布公司即将进行大规模裁员,并提到几分钟后,我会收到另一封邮件,告知我是否受到影响。没过多久,第二封邮件就到了。我和我的大部分团队成员都在被裁名单上。这一切感觉如此不真实。我的同事们一个接一个地在团队聊天中发消息,确认他们也受到了影响。在我们的账户被锁定之前,我们赶紧开了一个电话会议。我们只有 30 分钟的时间,进行最后一次团队交流,互相道别。
2025-02-07 14:28:23
832
原创 MLPerf V5.0 测试结果列表
推理框架模型CPUGPU离线 QPS单流延迟 (毫秒)onnxruntimemobilenet90KVCTO1WW/Intel® Core™ i7-10700 CPU @ 2.90GHzNA3.0811.8
2025-01-14 18:22:35
256
原创 关于MLPerf 测试结果的一些基础概念
在 MLPerf 或深度学习推理的上下文中,“”(Query) 指的是一个,即向模型提交一个输入数据(例如一张图片、一段文本)并获取模型输出的过程。
2025-01-14 16:45:11
842
原创 论地支六破
其中在四长生中,由于各种五行之气均处于阳气初生的薄弱阶段,所以它们之间的战克还不是很剧烈,所以在寅申巳亥中的破是比较轻的,只是小捣乱而已,相对也比较弱了。而且,它们之间更大的是合、穿的关系了。但是,到了四帝旺的时候,各气已经成形,彼此都仗着强势,互不相让,自以为是,所以,这时的破是相对比较严重的破坏、冲破的含义。地支相破:子酉相破,卯午相破,辰丑相破,未戌相破,寅亥相破,巳申相破。而到了四墓库的时候,因为各气已经处于退气阶段,这时候的破其实已经是属于同行之间的内部矛盾了,是不公开的,比较隐蔽的矛盾了。
2025-01-02 11:27:45
774
原创 关于linux kernel softlockup 的探究
softlockup:发生在某个 CPU 长时间占用资源,**但 CPU 仍然可以响应中断 和调度器。**软死锁通常不会导致系统崩溃,但可能会使系统响应变慢.
2024-12-12 09:35:21
394
原创 关于linux 下的中断
用于将逻辑中断号(Linux 分配的 IRQ)与实际硬件中断号对应起来。:确认中断实际工作在哪些 CPU 上,特别是在多核或 NUMA 环境中。表示建议将该中断分配到 CPU 1(位从右到左编号,从 0 开始)。:显示对应的硬件中断号(Hardware IRQ Number)。:显示虚假中断(Spurious Interrupt)的计数。:以 CPU 编号列表的形式显示或设置中断分配的 CPU。:以列表格式显示当前中断实际的 CPU 分配情况。:显示负责该中断的中断控制器(IRQ Chip)。
2024-12-04 20:00:12
1090
原创 X86 平台 KBRST# 导致整个系统复位 的原理
通过KBRST#来复位系统的方式是一种简单、硬件级的保护机制,用于在关键故障或死机时通过键盘控制器引导系统重新启动。在许多嵌入式系统中,这一机制被视为最后的复位手段,确保系统能在关键故障后自动恢复运行。
2024-10-29 15:20:36
407
原创 六爻-天气占
此卦亦是如此推算,兄弟申金动变妻财卯木,财爻主天晴,此风云与晴相接,兄动化财,兄弟是动变的起点,财爻是动变趋势的终点,所以此风云是使天时最终转向晴朗的善风,此动兆是先见有阴云而后转为晴朗天气之迹象。而从原注中看出,与野鹤一起研究的同行,虽然懂得把握动兆关键信息,但显然是没有参悟透““动始变终”的动兆原理,他只看到卦中兄弟动,就据此以为今天还是阴天,孰不知兄弟动接着变出的却是代表天气转晴的妻财爻,就象某部电影里的经典对白:他只预计到事情的开始,却没有预计到事情的结局。
2024-09-02 13:33:47
2606
i2c-tools source code
2015-01-14
TC358764_5_774_5XBG_DSI-LVDS_Tv13p_G101ICE_1280x800_20201215.tar.xz
2021-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅