
ROS & ROS2 教程
文章平均质量分 92
支持一下平台
优惠券已抵扣
余额抵扣
还需支付
¥29.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
kuan_li_lyg
有问题请在评论区讲,关注左下角公众号。
展开
-
teleop_twist_joy 手柄遥控代码解读
该回调函数首先检查更改的参数是否具有预期的数据类型,然后将更改的参数值赋给相应的成员变量。消息中的按钮状态,动态决定发送哪种速度命令消息,或者在按钮未按下时发送停止命令,以确保机器人能够正确响应用户的输入。中提取并缩放线性 y 轴和 z 轴的值,以及角度 pitch 和 roll 轴的值,并将这些值分别赋给。消息中提取并缩放特定轴的值,并生成适当的速度命令消息,以控制机器人或其他设备的运动。消息,动态生成并发布适当的速度命令消息,以控制机器人或其他设备的运动。消息中提取并缩放特定轴的值。原创 2024-11-09 08:56:01 · 818 阅读 · 0 评论 -
ROS2 - rosbag2 记录、回放与可视化数据
您创建了一个节点,用于将收到的主题数据记录到信息袋中。您测试了使用该节点记录数据包,并通过回放数据包验证了数据是否被记录。这种方法可以用来记录一个数据包,其中包含比它从主题中接收到的数据更多的数据,例如处理接收到的数据后得到的结果。然后,您继续创建节点和可执行文件,以生成合成数据并将其存储到数据包中。后一种方法对于生成合成数据非常有用,例如,可以用作训练集。原创 2024-11-19 10:32:45 · 1490 阅读 · 0 评论 -
MATLAB - ROS 2 分析器
本主题介绍如何连接 ROS 2 网络,分析网络图中所有元素的基本信息(如节点名称和节点之间的信息),以及可视化与 ROS 2 节点相关的参数(如主题、服务和操作)之间的交互。原创 2024-11-05 19:10:03 · 1192 阅读 · 0 评论 -
教程: 将 SolidWorks 设计导出为 ROS 的 URDF
请按照以下步骤应用自定义徽标纹理:创建徽标材质文件:techniquepass材质名称:测试/材质颜色属性:环境、漫反射、镜面和发射都设置为白色(1 1 1 1),这意味着该材质看起来完全是白色的。纹理 在表面应用纹理图像 logo.png。将材质文件复制到 gazebo matrial:复制徽标图像:将 “徽标 ”替换为机器人上徽标所在位置的适当参考值。按照以上步骤,您就可以在 Gazebo 中为机器人添加自定义材质和纹理,包括徽标。原创 2024-10-22 09:21:11 · 1488 阅读 · 0 评论 -
SolidWorks 导出 URDF 中的惯性矩阵错误问题
在装配体中定义由多个零件组成的 link 时,单个零件质心处各自的惯性值(在使用相似性变换使其与关节坐标系平行后)会直接相加,从而得到净惯性矩阵,而不是先平移到(链接中所有零件组合的)净质心处再相加。我们一直在手动更新惯性,并在创建模型时将其作为一个很好的审查步骤,因此它并不是一个真正的障碍。我们有一个编辑 URDF 的简单用户界面,可以解析来自 solidworks 质量工具的数据(将数据复制到剪贴板)。是的,我们也是这么做的,但要手动更改每个链接的惯性值非常麻烦,尤其是在链接数量较多的情况下。原创 2024-10-25 20:47:24 · 1401 阅读 · 0 评论 -
MoveIt 运动学、运动规划、混合规划、move_group
混合规划是运动规划方法的一个术语,它将异构运动规划器结合起来,以产生更稳健或反应更快的解决方案。这种通用方法在导航领域已经非常成熟,并在导航2等流行项目中成功实施。MoveIt 的混合规划架构结合了一对全局规划器和局部规划器,它们以不同的规划速度和问题范围并行、并发运行。全局规划器的任务是解决全局运动规划问题,这与 “感知-规划-行动 ”应用中使用的规划器非常相似。所使用的规划器算法应该是完整的,因此假定其计算时间相对较慢。此外,全局规划器不要求实时安全,这意味着无法保证规划器在特定期限内找到解决方案。原创 2024-09-12 05:37:31 · 1547 阅读 · 0 评论 -
MATLAB - Gazebo 仿真环境
机器人系统工具箱(Robotics System Toolbox™)为使用 Gazebo 模拟器可视化的模拟环境提供了一个界面。通过 Gazebo,您可以在真实模拟的物理场景中使用机器人进行测试和实验,并获得高质量的图形。Gazebo 可在 Linux® 机器或 Linux 虚拟机上运行,并使用插件包与 MATLAB® 和 Simulink® 进行通信。在 Gazebo 中进行仿真时,请注意以下要求和限制。原创 2023-12-19 15:09:43 · 2181 阅读 · 0 评论 -
MATLAB - 使用 YOLO 和基于 PCA 的目标检测,对 UR5e 的半结构化智能垃圾箱拣选进行 Gazebo 仿真
本示例展示了在 Gazebo 中使用 Universal Robots UR5e cobot 模拟智能垃圾桶拣选的详细工作流程。本示例提供的 MATLAB 项目包括初始化、数据生成、感知、运动规划和积分器模块(项目文件夹),可创建完整的垃圾桶拣选工作流程。原创 2023-12-22 23:59:26 · 2100 阅读 · 0 评论 -
WSL2 Gazebo Ignition 打开报错
Gazebo Ignition 打开报错 terminate called after throwing an instance of ‘Ogre::UnimplementedException‘原创 2023-11-03 10:14:36 · 806 阅读 · 9 评论 -
ROS2 Nav2 - Smac 规划器
nav2_smac_planner 软件包包含一个优化的模板化 A* 搜索算法,用于为多种类型的机器人平台创建多个基于 A* 的规划器。它由 Steve Macenski 在三星研究院工作时创建。我们使用 SmacPlanner2D 规划器支持圆(circular)差分驱动和全向驱动机器人,该规划器实现了成本感知 A* 规划器。我们使用 SmacPlannerHybrid 插件(该插件实现了混合 A* 规划器)支持腿式、车式、类车式和阿克曼式车辆。原创 2024-09-10 15:04:25 · 1560 阅读 · 0 评论 -
ROS - Turtle Nest 使用说明
正如乌龟巢是小乌龟的出生地一样,ROS 2 Turtle Nest 也是新 ROS 软件包诞生和发展的地方。Turtle Nest 为创建新的 ROS 软件包提供了一个简单的图形用户界面,简化了软件包的创建过程。原创 2024-08-31 08:00:00 · 655 阅读 · 0 评论 -
ROS2 Nav2 - 模型预测路径积分控制器(MPPI)
这是一个预测控制器(局部轨迹规划器),用于实现模型预测路径积分(MPPI)算法,以跟踪具有自适应避障功能的路径。它包含基于插件的 critic 函数,可影响算法的行为。它由 Aleksei Budyakov 创建,由 Steve Macenski 为 Nav2 进行改编和开发。该插件实现了 nav2_core::Controller(控制器)接口,可在整个导航堆栈中作为控制器服务器的动作服务器(controller_server)中的局部轨迹规划器使用。据测定,该控制器可在中等英特尔处理器(第四代 i5)上原创 2024-09-09 21:01:52 · 2291 阅读 · 0 评论 -
ROS2 CANopen 使用教程
第一步是定义一个结构,用于保存有关接头和相关 CANopen 数据的信息。该结构是 CANopen 网络的基础,可确保存储所有相关数据并在需要时进行访问。原创 2024-06-25 08:31:33 · 2174 阅读 · 2 评论 -
ros2_control_py 使用教程
使用 pybind11 为 ros2_control 进行 Python 绑定。原创 2024-08-19 14:02:23 · 852 阅读 · 0 评论 -
ros2_control 6 自由度机械臂
ros2_control 引入了状态接口(state_interfaces)和命令接口(command_interfaces)来抽象硬件接口。state_interfaces 是只读数据句柄,通常代表传感器读数,如关节编码器。command_interfaces 是读写数据句柄,代表硬件命令,如设置关节速度参考。command_interfaces 是专用访问接口,也就是说,如果控制器 "认领 "了某个接口,那么在该接口被释放之前,任何其他控制器都不能使用它。这两种接口类型都有唯一的名称和类型。原创 2024-07-28 09:50:43 · 2030 阅读 · 2 评论 -
ros2_control 两轮差速驱动插件
本页介绍不同轮式移动机器人的运动学。如需进一步参考,请参阅 Siciliano et.al - Robotics: 建模、规划和控制》和 Kevin M. Lynch and Frank C. Park - Modern Robotics: 机械、规划和控制》。利用车轮执行器的编码器对运动学模型进行前向积分 —— 被称为测距定位或被动定位或死算。我们只称其为测距(原创 2024-07-05 08:52:22 · 1624 阅读 · 0 评论 -
ros2_control 使用教程(一)
包含硬件接口的头文件并添加命名空间定义,以简化进一步开发。实现 on_init 方法。在此,应初始化所有成员变量并处理 info 参数中的参数。在第一行中,通常会调用父代 on_init 来处理标准值,如 name。具体方法是:hardware_interface::(Actuator|Sensor|System)Interface::on_init(info)。原创 2024-06-26 08:20:50 · 3108 阅读 · 0 评论 -
最新 ROS 2 Jazzy Jalisco 发布!支持 Ubuntu 24.04
世界海龟日快乐 今天,ROS 2 发布团队很高兴地宣布 ROS 2 的第十个版本:Jazzy Jalisco(代号 jazzy)。除了之前分享的官方徽标,我们还发布了全新的 Jazzy Jalisco 图标。Jazzy Jalisco 是一个长期支持(LTS)版本,将支持到 2029 年 5 月。Ubuntu 24.04(贵族):amd64 和 arm64有关 RMW 实现、编译器/解释器版本和系统依赖版本的更多信息,请参阅 REP 2000。原创 2024-05-24 11:33:15 · 4284 阅读 · 0 评论 -
UR5 机器人 URDF 代码阅读
二、base_link该段XML代码在机器人建模中定义了一个名为“base_link”的链接单元,这个链接具备视觉、碰撞和惯性属性,适用于UR5机器人模型或类似应用场景。以下是各个部分的具体说明:总之,这段XML代码在机器人模拟软件中为"base_link"链接创建了完整的视觉表现、碰撞检测模型以及必要的物理属性,使得软件能够真实地模拟该链接在各种场景下的行为和反应。这段XML代码定义了一个名为"shoulder_pan_joint"的关节,类型为"revolute",表示旋转关节。它指定了关节的父链接原创 2024-03-25 17:29:19 · 1352 阅读 · 0 评论 -
Sawyer 机器人 ROS SDK 配置
目录系列文章目录前言恢复出厂设置 内容概述要求程序将 Sawyer 升级到 Intera SDK 打印内容概述先决条件安装步骤将机器人从 Intera MFG 切换到 SDK 模式联网 内容确认 Sawyer 在机器人上以 SDK 模式运行基本基本要求网络地址分配主机名解析ROS 命名约定通过路由器进行网络配置推荐的网络配置路由器配置图索耶开发机器直接连接到企业或大学网络索耶开发机器直接网络配置交换机配置图 机器人开发机器Avahi 配置步骤故障 排除工作站设置 内容所需硬件安装 Ubuntu打开终端应用程原创 2024-03-14 23:14:06 · 1849 阅读 · 2 评论 -
rtui - ROS 可视化终端用户界面
rtui 是 ROS 终端用户界面。原创 2024-01-20 06:00:00 · 701 阅读 · 0 评论 -
MATLAB - ROS 入门教程
下面的命令显示,node_1 向 /pose、/rosout 和 /tf 主题发布信息,订阅 /scan 主题并提供服务: /node_1/get_loggers 和 /node_1/set_logger_level。当使用主节点的 IP 地址调用 rosinit 时,它会尝试检测用于联系主节点的网络接口,并将其作为全局节点的 IP 地址。ROS 主节点的地址由 ROS_MASTER_URI 指定,全局节点的广告地址由 ROS_IP 或 ROS_HOSTNAME 指定。原创 2024-01-22 06:00:00 · 2153 阅读 · 0 评论 -
Windows11 - Ubuntu 双系统及 ROS、ROS2 安装
在本教程中,我们将使用 Ubuntu 20.04 版本,该版本使用了新的 Ubuntu 桌面安装程序,该程序将包含在今后发布的所有 Ubuntu 版本中。如果你选择了这个选项,你会看到一个简单的界面,允许你选择要安装Ubuntu的硬盘,并通过滑块来决定你希望Ubuntu使用的磁盘空间大小。如果你的电脑有多个硬盘驱动器,那么只要它们各自有自己的驱动器,这个选项就能让你在安装 Ubuntu 的同时安装现有的操作系统。在此屏幕上,系统会提示您输入您的姓名和您的计算机名称,以显示在网络上。原创 2024-01-07 14:00:09 · 3472 阅读 · 0 评论 -
ROS2 - URDF
URDF(统一机器人描述格式)是一种文件格式,用于在 ROS 中指定机器人的几何形状和组织结构。本教程假定您知道如何编写格式规范的 XML 代码。原创 2024-01-09 11:10:05 · 2225 阅读 · 0 评论 -
ROS2 - tf2
在本教程中,您将了解静态变换如何用于定义坐标系之间的静态关系,例如神秘海龟与世界坐标系的关系。此外,您还了解了静态变换如何通过将数据与通用坐标系相关联来帮助理解传感器数据(如激光扫描仪的数据)。最后,你们编写了自己的节点来向 tf2 发布静态变换,并学习了如何使用 static_transform_publisher 可执行文件和启动文件来发布所需的静态变换。在之前的教程中,我们创建了一个 tf2 广播器,将乌龟的姿势发布到 tf2。在本教程中,我们将创建一个 tf2 监听器,开始使用 tf2。原创 2024-01-10 01:28:38 · 2180 阅读 · 0 评论 -
NVIDIA Isaac ROS - 入门教程(一)
欢迎访问 Isaac ROS,这是一套硬件加速、高性能、低延迟的 ROS 2 软件包,用于制造自主机器人,充分利用 Jetson 和其他英伟达平台的强大功能。英伟达 Jetson 平台运行在基于 Ubuntu Linux 的 JetPack 操作系统上。JetPack 5.x 是在 Ubuntu 20.04 Focal 的基础上构建的,这意味着由 ROS 2 Buildfarm 为 Ubuntu 22.04 Jammy 构建的 ROS 2 Humble 的 Debian 包不受支持。由于官方 ROS 2 B原创 2024-01-27 00:58:26 · 4530 阅读 · 0 评论 -
MATLAB - 激光雷达 - 相机联合标定(Lidar-Camera Calibration)
激光雷达传感器和相机通常在自动驾驶应用中结合使用,因为激光雷达传感器收集三维空间信息,而相机则以二维图像捕捉空间的外观和纹理。您可以融合来自这些传感器的数据来改进物体检测和分类。激光雷达-相机标定可以估算出一个变换矩阵,给出两个传感器之间的相对旋转和平移。在进行激光雷达-相机数据融合时,您可以使用该矩阵。本图说明了激光雷达和相机标定 (LCC) 过程的工作流程,我们使用棋盘格作为标定对象。我们从激光雷达和相机数据中提取棋盘角和平面,然后在它们的坐标系之间建立几何关系,进行标定。原创 2024-01-23 06:00:00 · 5791 阅读 · 0 评论 -
ROS - 命令行工具(Command-line tools)
当在 $ROS_ROOT 中调用顶级 make 时,会联编下列工具。它们会被安装到 $ROS_ROOT/bin,作为安装过程的一部分,PATH 变量中应该已经添加了这些工具。如果不是这种情况,请按照安装指南。原创 2024-01-19 06:00:00 · 1374 阅读 · 0 评论 -
ROS - tf
你想看看 tf 能做什么?看看 tf 介绍演示。 一个机器人系统通常有许多随时间变化的三维坐标系,如世界坐标系、基础坐标系、抓手坐标系、头部坐标系等: tf 可以在分布式系统中运行。这意味着系统中任何一台电脑上的所有 ROS 组件都能获取机器人坐标系的所有信息。没有中央转换信息服务器。 有关设计的更多信息,请参阅/设计 我们创建了一套教程,一步步指导你使用 tf。您可以从 tf 入门教程开始。要查看所有 tf 和 tf 相关教程的完整列表,请访问教程页原创 2024-01-07 21:20:09 · 1080 阅读 · 0 评论 -
URDF - 通用机器人描述格式 - XML 规范
注意:Ĉx、Ĉy、Ĉz 相对于 L̂x、L̂y、L̂z 的方向由 标签中的 rpy 值指定。它们定义的几何形状的组合构成了刚体(link)的可视化表示。所有自由度都被锁定。表示从 Lo(刚体坐标系原点)到 Co(刚体质量中心)的位置矢量为 x L̂x + y L̂y + z L̂z,其中 L̂x、L̂y、L̂z 为链接框架 L 的正交单位矢量。固定在质心坐标系 C 中的单位向量Ĉx、Ĉy、Ĉz 相对于 Co(刚体质心)的惯性矩 ixx、iyy、izz 和惯性积 ixy、ixz、iyz。原创 2023-12-29 19:59:51 · 2087 阅读 · 0 评论 -
ROS2 - Gazebo 联合仿真项目模版
一个集成了 ROS 2 和 Gazebo 模拟器的模板项目。原创 2023-11-16 07:15:44 · 789 阅读 · 0 评论 -
MATLAB - Gazebo 联合仿真 —— 使用 UR10 机械臂检测和采摘水果
本示例演示如何在 Gazebo 物理模拟器中设置 Universal Robotics UR10 机械臂和仿真环境。您需要配置一个机器人从树上摘苹果的仿真环境。本示例演示如何利用这些工具箱,使用 Universal Robotics UR10 机械手模拟机器人检测并从树上摘取苹果。Robotics System Toolbox™ - 在 Simulink® 和 Gazebo 中对机械手进行建模、规划和模拟。Navigation Toolbox™ - 生成三维环境的占用图。原创 2023-11-06 08:58:08 · 3468 阅读 · 5 评论 -
ROS 2 - rosdep 管理依赖项
本教程将介绍如何使用rosdep管理外部依赖关系。目前,rosdep 只能在 Linux 和 macOS 上运行,不支持 Windows。长期计划是在https://github.com/ros-infrastructure/rosdep 中添加对 Windows 的支持。在 rosdep 使用流程中,我们会有如下两个步骤我们替换为以下步骤# 手动模拟 rosdep init# 为 rosdep update 换源# 每次 rosdep update 之前,均需要增加该环境变量。原创 2023-11-05 13:49:01 · 1775 阅读 · 0 评论 -
ROS2 - 核心概念
ROS 2是一个基于强类型、匿名发布/订阅机制的中间件,它允许在不同进程之间传递消息。任何ROS 2系统的核心都是ROS图。ROS图是指ROS系统中的节点网络以及它们之间进行通信的连接。这些概念将帮助您开始了解ROS 2的基础知识。原创 2023-11-03 09:48:46 · 445 阅读 · 0 评论 -
ROS 2 - Python、XML 和 YAML 编写 Launch 文件
ROS 2 launch 文件可以用 Python、XML 和 YAML 编写。本指南介绍了如何使用这些不同的格式来完成相同的任务,并对何时使用每种格式进行了讨论。原创 2023-11-03 09:47:27 · 1809 阅读 · 0 评论 -
MATLAB - ROS 2 工具箱入门教程
ROS 工具箱提供了一个连接 MATLAB® 和 Simulink® 与机器人操作系统(ROS 和 ROS 2)的接口。利用该工具箱,您可以设计 ROS 节点网络,并将 MATLAB 或 Simulink 生成的 ROS 节点与现有的 ROS 网络相结合。工具箱包括 MATLAB 函数和 Simulink 块,可通过记录、导入和回放 rosbag 文件来可视化和分析 ROS 数据。您还可以连接到实时 ROS 网络,访问 ROS 消息。原创 2023-10-31 21:30:48 · 2430 阅读 · 0 评论 -
Windows 下 WSL2 安装 ROS2 Iron 和 GAZEBO
前提:已经安装好了 WSL 2 并且能够正常运行。原创 2023-10-31 17:48:03 · 2247 阅读 · 0 评论 -
一级倒立摆控制 —— LQR 控制器 GAZEBO 仿真
但是,如果控制器可靠地以比控制摆锤的电机运行速度更快的速度更新,摆锤就会成功地适应传感器数据,从而达到平衡摆锤的目的。为此,修改 lqr_controller.py 中的控制器增益 R 和 Q ,并通过发布到 cart_pole/reload_controller 主题来重新加载控制器。这个演示还表明,通过将 LQR 控制器实现放在一个单独的模块中,插件可以提供一种在模拟器运行时热重新加载控制器的机制。这些主题各自发布一个 Vector2d ,其中 x 对应于小车的状态,y 对应于摆杆的状态。原创 2023-10-25 16:07:26 · 1602 阅读 · 0 评论 -
一级倒立摆控制 —— ROS2 仿真
实时计算通常解决的控制问题的一个典型例子是平衡倒立摆。如果控制器意外地阻塞很长时间,摆就会倒下或变得不稳定。但是,如果控制器可靠地以比控制摆锤的电机运行速度更快的速度更新,摆锤就会成功地适应传感器数据,从而达到平衡摆锤的目的。该项目的目的是利用 ROS2 框架展示实时功能。本项目基于开放机器人组织之前的工作。本项目以这些软件包为基础。使用 rqt_graph 实时查看节点及话题。使用 rqt_topic 实时查看话题信息。使用 rqt_plot 实时可视化数据。配置演示版实时设置的说明可在。原创 2023-10-20 18:59:25 · 1127 阅读 · 0 评论 -
ROS 2 - 可视化工具 MATLAB ROS Bag Viewer 读取 mcap db3 文件
通过 ROS 工具包查看器应用程序,您可以将 ROS 或 ROS 2 工具包文件中的信息可视化。您可以在该程序中创建多个查看器,同时可视化不同的 ROS 或 ROS 2 信息。您可以使用该程序打开以下查看器,它们支持表中给定的消息数据类型。原创 2023-10-14 09:59:57 · 2292 阅读 · 1 评论