随笔分类 - ROS2-具身智能
摘要:这是一个非常专业且切中要害的问题。在 C++(特别是像 ROS 这样复杂的系统)开发中,搞清楚“这个库从哪来的”决定了你在 CMakeLists.txt 中如何去查找和链接它。 你的归纳已经非常准确了,但这三类还可以进一步细分,并且还有一类在工业界(特别是机器人领域)非常重要的商业/闭源 SDK。
阅读全文
摘要:在 deepglint/FAST_LIO_LOCALIZATION_HUMANOID 这样复杂的 SLAM/定位项目中,这四个库堪称 “四大金刚”。它们分工明确,共同支撑起了机器人的感知与定位功能。 如果把编写这个机器人程序比作 “建造一栋大楼”: roscpp: 是水电管网和地基(负责连接与通信)
阅读全文
摘要:既然你正在研究 FAST_LIO_LOCALIZATION_HUMANOID 这种复杂的项目,我们要跳出“入门级”的简单写法,看看专业级的 ROS 构建文件是如何组织的。 通过分析这两个文件,你可以清晰地看到一个复杂的 SLAM/定位系统是如何把众多的数学库、传感器消息和 ROS 核心组件“缝合”在
阅读全文
摘要:这是一个非常棒的切入点。你提到的 deepglint/FAST_LIO_LOCALIZATION_HUMANOID 是一个非常典型的、用于人形机器人(Humanoid)的高精度定位(Localization)模块。 当我们谈论一个“智能机器人”的宏观架构时,我们通常将其比作人类的生物系统。基于这个代
阅读全文
摘要:欢迎进入机器人建模的世界!这是 ROS 中最直观、最有趣的部分。 URDF (Unified Robot Description Format) 是 ROS 中的标准格式,用来描述机器人的外观(它长什么样)、物理属性(它有多重)以及运动学结构(它的关节怎么动)。 简单来说:如果 C++ 节点是机器人
阅读全文
摘要:TF (TransForm) 是 ROS 中最让新手头疼,但也是绝对核心的概念。如果说 Topic 是机器人的神经信号,那么 TF 就是机器人的空间感知能力。 没有 TF,机器人就不知道“雷达看到的障碍物”相对于“轮子”在哪里,也就无法进行避障和导航。 一、 理论篇:为什么需要 TF? 1. 现实难
阅读全文
摘要:在 ROS 开发中,"眼见为实" 至关重要。因为机器人处理的数据(激光雷达点云、坐标变换、图像流)通常是不可见的二进制流,我们需要工具把它们“画”出来。 ROS 提供了两大神器:RViz (ROS Visualization) 和 rqt (ROS Qt Toolkit)。 一、 RViz:机器人的
阅读全文
摘要:在 ROS 开发中,手动打开多个终端、分别输入 rosrun 是非常低效的。roslaunch 是 ROS 的核心工具,用于通过 XML 脚本一次性启动多个节点,并自动管理参数服务器。 而且,roslaunch 会自动检测 roscore 是否在运行,如果没有,它会帮你启动 Master,无需手动输
阅读全文
摘要:CMake 是 C++ 开发领域事实上的标准构建工具,也是 ROS 开发的核心基石。它的全称是 Cross Platform Make。 不同于直接调用编译器(gcc/clang)或编写特定平台的 Makefile,CMake 的核心理念是:“编写一次构建规则,在任何平台上生成原生的构建文件”。 以
阅读全文
摘要:这是一个非常经典的 ROS 入门场景。我们将创建一个“说话者”(Publisher)和一个“倾听者”(Subscriber)。 为了让你看得清晰,我将沿用上一轮假设的包名 my_robot_control。 核心概念图解 在写代码之前,先理解数据流向: Publisher (Talker): 告诉
阅读全文
摘要:在ROS 1 (Robot Operating System) 环境下进行 C++ 项目开发,核心围绕着 Catkin 构建系统 展开。这与传统的 C++ 开发(直接写 Makefile 或仅使用 CMake)略有不同,因为它需要管理复杂的依赖关系、消息生成以及多包协同。 以下是关于 ROS 1 C
阅读全文
摘要:您问到了 C++ 编程中最基础、最重要的概念之一:头文件 (Header File)。 头文件是 C++ 代码组织的基础,对于项目的编译和管理起着关键作用。 📄 头文件是什么? 头文件通常以 .h 或 .hpp 作为文件扩展名。它主要包含 C++ 代码的声明(Declarations),而不是定义
阅读全文
摘要:目录来源一、 RViz:机器人的“眼睛”1. 核心功能2. 怎么用?3. 基础操作逻辑二、 Rqt:机器人的“仪表盘”1. rqt_graph:查看节点关系图 (最常用)2. rqt_plot:数据示波器3. rqt_console:日志查看器三、 常见误区:RViz vs Gazebo四、 实战:
阅读全文
摘要:目录一、总体架构二、各组件详细说明四、训练数据格式五、模型变体对比七、推理代码示例 OpenVLA: An Open-Source Vision-Language-Action Model https://arxiv.org/abs/2406.09246 https://openvla.github
阅读全文
摘要:BitVLA:首个面向机器人操作的1-bit VLA模型 https://mp.weixin.qq.com/s/WBETJE1DavXKUZCu3GxDbg BridgeVLA:基于视觉 - 语言模型的输入 - 输出对齐高效 3D 操作学习(字节最新) https://mp.weixin.qq.co
阅读全文
摘要:目录ros2命令RVIZ2数据可视化调试小工具RQT时光记录仪之ros2 bag仿真工具-Gazebo ros2命令 Commands: action Various action related sub-commands bag Various rosbag related sub-command
阅读全文
摘要:目录1. launch工具launch 修改与添加参数 1. launch工具 一个机器人系统,往往由很多个不同功能的节点组成,启动一个机器人系统时往往需要启动多个节点,同时根据应用场景和机器人的不同,每个节点还会有不同的配置项。 如果每个节点我们都开一个新终端,敲ros2 run指令并写一堆参数,
阅读全文
摘要:目录1 ROS2的参数Param2 生命周期节点 1 ROS2的参数Param 本质用服务实现的 ros2 service list 启动乌龟模拟器 ros2 run turtlesim turtlesim_node 用于操作节点参数的servive /turtlesim/describe_para
阅读全文
摘要:目录ROS2中的action通信控制机器人移动到点创建example_action_rclcpp功能包,python实现 ROS2中的action通信 ROS2中四大通信利器中话题、服务、参数这三个, 最后一个Action。 话题topic适用于节点间单向的频繁的数据传输 服务service则适用于
阅读全文
摘要:目录参数的cpp实现python版 参数的cpp实现 如何接收到参数并将其应用的? ROS2的RCLCPP中参数相关的API实现对ROS2打印的日志级别控制。 ROS2将日志分为五个级别: RCLCPP_DEBUG(this->get_logger(), "我是DEBUG级别的日志,我被打印出来了!
阅读全文

浙公网安备 33010602011771号