
ROS
文章平均质量分 73
具身小站
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ROS1和ROS2详细对比分析
从Ubuntu22.04或者2025年6月开始,官方基本不再升级支持ROS1,推荐切换到ROS2,ROS 2 在架构、实时性、安全性和生态扩展性上显著优于 ROS 1,如果是新项目开发建议直接使用ROS2,但如果迁移需权衡现有资源与长期收益。详细Ubuntu版本支持关系见链接。原创 2025-07-21 18:11:23 · 1165 阅读 · 0 评论 -
广播(Broadcast)和组播(Multicast)对比
广播(Broadcast)和组播(Multicast)是计算机网络中两种重要的一对多通信方式,用于高效地将数据同时分发给多个接收者,它们的核心区别在于目标接收者的范围和控制精度,基于业务对效率、规模和网络环境的要求选择哪种通信方式。广播是“强制全员接收”,简单但浪费资源,仅适合局域网;组播 是“精准投递给订阅者”,高效且可扩展,适合大规模分发场景。在ROS 2/DDS等分布式系统中,通过组播是实现去中心化节点发现的核心机制,而广播仅用于底层地址解析(如ARP)。原创 2025-07-21 18:10:35 · 842 阅读 · 0 评论 -
从零开始完成ROS2项目调试运行
VSCode 集成 :安装 ROS 2 插件后,可通过快捷命令(如 rl-colcon-build)直接在 VSCode 中编译项目。命令行补全 :安装 ros2cli 后,支持命令自动补全(如输入 ros2 launch 自动列出包名和 Launch 文件)。类似发布代码一样,编写监听代码(sub_node.py),配置setup.py后,重新编译包,最后启动测试。调试 :结合 ros2 node、ros2 topic、ros2 param 等工具实时监控系统状态。原创 2025-07-17 14:32:56 · 768 阅读 · 0 评论 -
ROS2中分布式通信原理详解
ROS2 的通信原理基于采用分布式架构的 DDS(Data Distribution Service) 中间件,是一种以数据为中心的发布-订阅模型,其核心原理是节点之间通过实现分布式通信,进行数据交换,无需中心节点(ROS1 的 Master)。原创 2025-07-17 14:32:13 · 742 阅读 · 0 评论 -
一键执行自主导航仿真
【代码】一键执行自主导航仿真。原创 2025-07-12 10:19:43 · 282 阅读 · 0 评论 -
ubuntu24.04系统的Jazzy 和 Kilted 区别对比
特性JAZZY版本号第 8 个正式版本(LTS)第 11 个正式版本发布时间2024 年2025 年 5 月支持周期约 2-3 年(推测)至 2026 年 11 月核心特性安全性增强、Gazebo 集成优化新功能、开发流程改进适用场景生产环境、长期项目实验性项目、前沿技术验证推荐用户企业用户、工业应用开发者研究人员、技术尝鲜者。原创 2025-07-12 10:17:45 · 401 阅读 · 0 评论 -
从零开始基于Ubuntu 24.04搭建ROS2环境
账号密码:suo/123。原创 2025-07-12 10:17:00 · 560 阅读 · 0 评论 -
从零开始使用global_planner全局规划
表示从障碍物向外扩展的“安全区域”范围(单位:米,表示用于计算的区域,区域外默认安全则不计算),在这个区域内,代价值会根据 cost_scaling_factor 计算,路径规划器会尽量避开高代价区域。turtlebot3_navigation.launch文件中,move_base_globalplanner.launch代替初始move_base.launch。是膨胀代价的衰减因子 ,控制代价值从障碍物向外递减的速度,数值越大代价衰减越快,数值越小代价衰减越慢路径可能更贴近障碍物。原创 2025-07-11 15:56:59 · 896 阅读 · 0 评论 -
slam全局路径规划算法详解(Dijkstra、A*)
核心思想 :贪心策略,始终选择当前状态下距离起点最近的顶点作为扩展方向,并更新其相邻顶点的最短路径。核心思想 :结合Dijkstra的全局代价g(n) 和启发式函数h(n) ,综合评估节点优先级。地图描述 :10x10网格,起点为左下角(0,0),终点为右上角(9,9),障碍物随机分布。A* 通过启发式优化大幅提高效率,但依赖 h(n) 的设计,适用于大规模地图的高效寻路。h(n) :当前节点到目标的启发式估计代价(如欧几里得距离)。g(n) :起点到当前节点的实际代价;确保找到全局最优解(最短路径)。原创 2025-07-11 15:56:32 · 938 阅读 · 0 评论 -
多个机器人在rviz及gazebo中同时控制
【代码】多个机器人在rviz及gazebo中同时控制。原创 2025-06-25 10:12:08 · 188 阅读 · 0 评论 -
gazebo中多个机器人在rviz上显示激光点云及地图
laser.so发布到scan的话题的点云数据,由base_scan坐标系,增加对应不同机器人前缀空间(tb3_x/),变为tb3_x/base_scan坐标系。原创 2025-06-25 10:11:50 · 161 阅读 · 0 评论 -
实现 TurtleBot3 多点轨迹跟踪导航
move_base本身不支持一次性发送多个目标点并自动按顺序导航,使用nav_msgs/Path消息类型发布多个路径点,然后让机器人按顺序依次到达每个路径点。使用 2D Pose Estimate 工具设置初始位置。原创 2025-06-23 15:20:32 · 319 阅读 · 0 评论 -
gazebo中多个机器人在rviz上联合SLAM建图
引用multirobot_map_merge包的map_merge模块,采集各个机器人的局部地图并进行发布map地图话题。原创 2025-06-23 11:22:20 · 310 阅读 · 0 评论 -
ROS系统构建工具解释对比(catkin、colcon)
Catkin 是 ROS1 的构建系统框架,提供包管理、依赖解析和构建工具集成,catkin_make 和 catkin_make_isolated 是其具体实现工具,均通过封装 CMake 实现功能,Catkin 作为底层框架,为两者提供统一的构建逻辑和依赖解析能力作为底层框架,为两者提供统一的构建逻辑和依赖解析能力。Ament对标Catkin,是ROS2的系统框架,通过colcon进行构建,colcon对标catkin_make。原创 2025-06-20 15:11:12 · 892 阅读 · 0 评论 -
Turtlebot3实现自主导航
local_costmap_params.yaml:减小inflation_radius(膨胀半径)使机器人行走的路径可以更贴近障碍物。在RVIZ中:点击 2D Pose Estimate → 在地图上长按机器人初始位置并拖拽方向(箭头代表机器人朝向)。global_costmap_params.yaml:增大update_frequency(更新频率)提升实时性。关键提示:定位后AMCL粒子(绿色箭头)会围绕机器人聚合,表示定位成功。机器人自动规划路径(蓝色线)并移动,避开动态障碍物(实时更新红色区域)原创 2025-06-20 11:40:17 · 647 阅读 · 0 评论 -
ROS建图常用调试话题及解释
路径规划 :通过解析 x, y, yaw 可指导机器人沿目标路径移动。通过对比 TF 输出与预期值,可验证传感器数据融合或定位算法的准确性。导航定位 :map → base_link 的变换是Cartographer导航栈输出的核心数据,用于确定机器人在地图中的精确位置。原创 2025-06-19 10:48:31 · 710 阅读 · 0 评论 -
ROS的tf_tree中的节点含义详解
rosnode(如robot_state_publisher)↓ 发布TF数据到rostopic(如/tf, /tf_static)↓ 通过TF库传输rqt_tf_tree(可视化坐标系节点和变换边)原创 2025-06-13 12:57:29 · 721 阅读 · 0 评论 -
机器人坐标变换TF(ROS Transform)示例解释
用于发布实时变化的坐标系变换 (如机器人本体运动),需通过代码实现,下面示例发布odom到base_footprint的动态变换(里程计坐标系到机器人2D投影坐标系)。多机器人场景 :在多机器人系统中,需通过命名空间区分坐标系(如robot1/base_link),并通过world坐标系统一管理。使用rospy.Time(0)获取最新缓存数据,避免因时间戳不匹配导致失败。若需精确时间点的变换(如传感器数据同步),需确保时间戳对齐。原创 2025-06-12 08:53:32 · 545 阅读 · 0 评论 -
机器人ROS系统各坐标系含义、关系与作用
含义:全局固定坐标系,作为其他所有坐标系的参考基准。通常作为最高层级的父坐标系,与机器人所在的环境地图对齐。作用:提供绝对的位置参考,用于全局路径规划和导航。原创 2025-06-12 08:34:31 · 1019 阅读 · 0 评论 -
ROS的launch配置文件格式规范
node> 用于启动单个ROS节点,需指定包名(pkg)、节点类型(type)和节点名称(name)。<include> 用于复用其他launch文件,避免重复代码,适用于复杂系统。<remap>重定向话题、服务或动作的多级重定向。<group>为一组节点添加命名空间(ns属性)。功能 :根据参数值动态控制节点或参数的加载。原创 2025-06-04 17:34:27 · 707 阅读 · 0 评论 -
机器人交互系统 部署构建
【代码】机器人交互系统 部署构建。原创 2025-03-11 10:59:16 · 379 阅读 · 0 评论 -
ROS开发 之 数据通信(活动)
概述ROS中通信方式有三种,分别为话题(msg)、服务(srv)和活动(action),其中话题属于基本的发布/订阅通信方式,适用于单个节点发布消息,一个或多个节点接受消息的情况;服务属于实时获取结果的情况,应用于请求/响应式的应用环境,类似于一个函数调用关系,适用于基本功能的调用或者状态的查看;活动属于无阻塞的执行方式,也应用于请求/响应式的环境,具有比服务更灵活的控制形式,并且在执 行的过...原创 2018-12-06 13:38:11 · 394 阅读 · 0 评论 -
ROS开发 之 数据通信(服务)
概述ROS中通信方式有三种,分别为话题(msg)、服务(srv)和活动(action),其中话题属于基本的发布/订阅通信方式,适用于单个节点发布消息,一个或多个节点接受消息的情况;服务属于实时获取结果的情况,应用于请求/响应式的应用环境,类似于一个函数调用关系,适用于基本功能的调用或者状态的查看;活动属于无阻塞的执行方式,也应用于请求/响应式的环境,具有比服务更灵活的控制形式,并且在执 行的过...原创 2018-12-06 13:28:40 · 698 阅读 · 0 评论 -
ROS开发 之 数据通信(话题)
概述ROS中通信方式有三种,分别为话题(msg)、服务(srv)和活动(action),其中话题属于基本的发布/订阅通信方式,适用于单个节点发布消息,一个或多个节点接受消息的情况;服务属于实时获取结果的情况,应用于请求/响应式的应用环境,类似于一个函数调用关系,适用于基本功能的调用或者状态的查看;活动属于无阻塞的执行方式,也应用于请求/响应式的环境,具有比服务更灵活的控制形式,并且在执 行的过...原创 2018-12-06 12:48:29 · 1223 阅读 · 0 评论 -
ROS开发 之 系统安装和环境配置(Ubuntu和树莓派)
目录PC端操作系统安装ROS系统安装环境配置树莓派系统安装ROS系统安装环境配置PC端操作系统安装电脑端Ubuntu系统安装,建议选择16.04 LTS(Xenial Xerus),可以直接在Ubuntu官网免费下载系统(http://releases.ubuntu.com),可以选择三种方式进行安装,具体安装方式比较简单,不再多说。可以先安装虚拟机...原创 2018-12-05 10:23:49 · 1936 阅读 · 0 评论