
ROS1和ROS2高级编程
文章平均质量分 94
本栏目着重介绍基于ROS2的机器人的部件,以及程序实现,解释其中涉及到的新知识和概念。因为ROS1将不再维护,因此,传统的ROS1模型不在本栏目的展示范围。
优惠券已抵扣
余额抵扣
还需支付
¥69.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
无水先生
擅长数学,能熟练应用泛函分析、统计学、随机过程、逼近论、微分几何、非欧几何(双曲、共形)等数学理论,有数学建模能力。从事图像处理二十年以上,从事人工智能行业10年以上;在船舶、通信、铁路、教育等行业开发软件产品。
展开
-
为什么要有EtherCAT
在这篇文章,你了解到,EtherCAT的起源、和发展,以及今日现状。EtherCAT是一种工业以太网的通信协议,性能远远优于传统的现场总线,如CAN、Profibus等。原创 2022-07-12 10:53:50 · 6608 阅读 · 0 评论 -
自动驾驶人工智能
自动驾驶技术是一个复杂的领域,它依赖于算法和过滤器来解释传感器数据、做出决策和控制车辆。在本节中,我们将探讨自动驾驶技术中使用的不同类型的算法和过滤器,并用通俗易懂的语言来解释它们。原创 2024-06-05 00:05:17 · 3204 阅读 · 2 评论 -
扩展卡尔曼滤波背后的数学原理
如果你点击了这篇文章,你可能想知道扩展卡尔曼滤波器到底是什么。我们会谈到这一点。但首先,本篇想告诉你为什么你应该关心他们。让我们以电动汽车为例。也许最经典的是特斯拉电动汽车,它恰好也在开发自动驾驶。原创 2024-04-14 13:33:28 · 2807 阅读 · 0 评论 -
使用 Python 的扩展卡尔曼滤波 (EKF) 代码示例
在本教程中,我们将介绍您需要了解的有关扩展卡尔曼滤波器 (EKF) 的所有信息。最后,我提供了一个使用 Python 代码的详细示例,向您展示如何从头开始实现 EKF。原创 2024-04-14 15:17:13 · 2293 阅读 · 0 评论 -
ROS中级:Marker 向rviz发送基本形状 (C++)
说明:小乌龟程序虽然简单,但包含内容全面,需要仔细消化琢磨。本篇就是回归自己对乌龟程序的看法写出的总结报告,以便以后忘记后参考。二、程序分析2.1Draw_square.cpp源代码:ros::NodeHandlenh;subscribe("turtle1/pose", 1, poseCallback);nh.advertise("turtle1/cmd_vel", 1);ros::ServiceClientreset = nh.serviceCli...原创 2022-05-07 07:48:15 · 10835 阅读 · 0 评论 -
ROS2知识(1):开始实践机器人
如果你正在读这篇文章,那么你可能至少听说过ROS,并且你对如何使用它来建造自己的机器人感兴趣。 对于那些不知道的人来说,ROS是一系列简化机器人开发的软件库和工具。通过共享这些通用代码,开发人员无需从头重写所有内容,而是可以专注于开发自己的新算法和技术。然后,这些新设计与所有其他ROS系统兼容,帮助整个行业快速发展并共同解决问题。 有许多不同种类的机器人,因此本系列将介绍一些无论您想要构建何种机器人都非常常见的概念和过程。在这篇文章中,我们将从开始安装ROS之前需要的五件事开始:原创 2022-06-03 10:55:49 · 6965 阅读 · 0 评论 -
Gazebo手册:【3】矢量画如何产生(inkscape)
gazebo的几乎所有部件,其形状设计都无法在Gazebo上完成,而是在其它工具上生成,然后用Gazebo去调用。本文专门介绍一种生成SVG的工具:inkscape。原创 2022-05-04 06:53:56 · 6925 阅读 · 0 评论 -
【ROS2知识】将launch文件整合到包内[改进中...]
单独的launch文件是一个python文件,因此脱离ros2环境也能启动,问题是,如果launch文件添加到ros2的包内,如何配置,才能正常启动?原创 2023-03-21 22:10:11 · 6848 阅读 · 0 评论 -
ROS学习:创建机器人的urdf
本篇主要针对在rviz上执行一个极其人仿真的实例,包括:本地工作空间、包路径、代码区、launch等关键环节。原创 2021-08-28 15:54:10 · 9671 阅读 · 3 评论 -
ROS知识【7】:ubuntu安装和卸载ROS
ROS技术严重依赖于操作系统,因此,必须高度熟悉ROS和ubuntu版本信息,才能配置良好环境。Ubuntu20.04是最新的Ubuntu操作系统,而ROS-Noetic是ROS1.0的最后一个版本。属于交替或过渡的版本。官方的安装可以参考:noetic/Installation/Ubuntu - ROS Wiki原创 2021-10-20 09:36:07 · 11766 阅读 · 2 评论 -
ROS2 中的分布式系统
当您运行 ROS2 应用程序时,通常需要在不同机器的不同位置运行 ROS2 节点。由于 ROS2 在抽象的DDS 层中使用节点之间的通信,因此我们可以非常轻松地安排通信。为了充分理解 ROS2 的架构,我建议您熟悉本文。原创 2023-08-21 20:18:27 · 6168 阅读 · 0 评论 -
【ROS2原理5】从ROS1到ROS2的变迁
这里对ROS1到ROS2的变迁,每个更改都尽可能简短地描述,但为熟悉 ROS 1 的读者提供足够的背景和基本原理。如果有更多的外部信息可用(例如其他文章),则应将其链接到。原创 2022-08-07 10:35:06 · 6560 阅读 · 0 评论 -
深入理解ROS技术 【2】ROS下的模块详解(66-128)
本篇以字典方式,列出所有的Ros下模块,给出初步解释。并针对其重要程度,用星级标出重要性。这些概念解释中,还列出其它文章的链接。原创 2021-08-24 08:49:22 · 7306 阅读 · 0 评论 -
ROS知识【12】:用户的功能包覆盖系统功能包
hallu原创 2022-03-29 10:04:50 · 6765 阅读 · 0 评论 -
【轻量级开源ROS 的机器人设备(5)】--(1)拟议的框架——µROS节点
µROSnode(uros inside the代码,图 5.1 中的标识),它与 ROS 具有原生兼容性,并且是针对嵌入式系统软件。其软件架构和实施细节突出了其模块化方法,以及设计针对简单性和便携性进行了优化。此外,我们开发了一些工具帮助用户将应用软件与框架集成,通过生成(取消)编组过程,并估计堆栈使用情况适用于内存受限的目标平台。一个开发过程终于来了提议,展示了使用我们的框架开发应用程序的理想方式从头开始,或通过整合。原创 2022-12-16 11:13:30 · 6804 阅读 · 1 评论 -
【gazebo要素10】制作移动的机器人
介绍如何制作移动机器人,将展示Gazebo的基础模型管理功能,并通过引导用户完成创建一个使用差分驱动机制进行移动的两轮移动机器人的整个过程,来熟悉模型数据库中的基础模型表示方法原创 2022-08-18 18:57:20 · 7263 阅读 · 0 评论 -
ROS知识:应用参数服务器
RoS参数服务器程序调用参数ypython实现原创 2022-04-15 10:03:50 · 7689 阅读 · 0 评论 -
ROS2知识(2):网络设施
在上一篇文章中,我们看到了开始使用 ROS 之前需要的所有东西。但在我们继续实际安装 ROS 之前,我们需要确保我们的网络连接设置正确。 当您考虑构建机器人时,能够通过网络交谈似乎是一个非常好的主意,因为它可以让我们做以下事情: 通常编写所有代码来执行此操作很痛苦,但如果我们使用 ROS,所有困难的事情都为我们完成了!我们需要做的就是确保我们的设备一起设置在网络上。 这是准备使用 ROS 构建机器人的系列文章中的第二篇,我们将研究如何很好地设置我们的网络以避免出现问原创 2022-06-04 12:20:01 · 7364 阅读 · 0 评论 -
ROS知识:interactive_marker_tutorials(2)
这里重点学习,解释interactive_marker_tutorials是何方圣神,如何编程,如何应用;将按照官网关于可视化的五个教程:visualization_tutorials:1 interactive_marker_tutorials 2 librviz_tutorial 3 rviz_plugin_tutorials 4 rviz_python_tutorial5 visualization_marker_tutorials以上五个教程就是完整的视觉教程...原创 2022-05-13 07:52:13 · 6749 阅读 · 0 评论 -
Gazebo教程: 机器人模型结构和信息要求
一、说明:首先,Gazebo是个仿真软件,不是模型软件,但Gazebo需要依赖于许多模型;Gazebo 能够以编程方式或通过 GUI 将模型动态加载到仿真中。 在您下载或创建模型之后,模型就存在于您的计算机上。 本教程描述了 Gazebo 的模型目录结构,以及模型目录中的必要文件。Gazebo 中的模型定义了具有动态、运动学和视觉属性的物理实体。 此外,一个模型可能有一个或多个插件,这些插件会影响模型的行为。 一个模型可以代表任何东西,从简单的形状到复杂的机器人; 连地面都是模型。Gazeb原创 2022-05-11 11:35:08 · 6742 阅读 · 0 评论 -
ROS2初级知识(2):DDS协议的基础知识
实时系统的数据分发服务 (DDS) 是一个对象管理组 (OMG) 机器对机器(有时称为中间件或连接框架)标准,旨在实现可靠、高性能、可互操作、实时、使用发布-订阅模式的可扩展数据交换。原创 2022-07-18 09:58:18 · 15286 阅读 · 0 评论 -
轻量级开源ROS 的机器人设备(一)
计算设备的持续发展,尤其是嵌入式系统,引入了增强机器人软件的新机会。本论文的目标是开发一种快速原型机器人通信可以在廉价的嵌入式系统上运行的框架,同时仍然具有本机与现有广泛使用的高级框架兼容,通常运行在功能强大的计算机上。原创 2022-10-15 18:58:33 · 7587 阅读 · 0 评论 -
ROS探索:解读URDF的宏xacro
到目前为止,如果您在自己家中使用自己的机器人设计遵循所有这些步骤,您可能会厌倦做各种数学来获得非常简单的机器人描述以正确解析。 幸运的是,您可以使用 xacro 包让您的生活更简单。 它做了三件非常有帮助的事情。Constants常数 Simple Math简单的数学 Macros宏二、xacro的宏代换关系顾名思义,xacro 是一种用于 XML 的宏语言。 xacro 程序运行所有宏并输出结果。 典型用法如下所示:1.1 名称名词宏代换如想代换以下代码的”marv...原创 2022-05-06 09:27:16 · 7347 阅读 · 0 评论 -
SLAM知识[7]:依赖项和安装
本篇描述整个slam系统下有哪些重要组成,以及这些组成所依赖的软件包,进而影响到它们在python下的安装;并简要描述了各个组成部分的安装过程。原创 2021-08-24 08:39:54 · 7057 阅读 · 0 评论 -
ROS2 中的轻量级、自动化、受控回放
这篇文章描述了一种在 ROS2 中实现受控重播器的轻量级方法。用以测试中将现象重新播放一遍,以实现调参或故障定位的目的。所有源代码都可以在这里找到。该帖子也可在此处获得。原创 2023-09-30 13:13:29 · 5665 阅读 · 0 评论 -
ROS知识:rqt是什么?
Rqt是ROS中类似于节点图的生成工具,很容易使用,但是也是需要特别介绍的,尤其对于初学者。因为不介绍,您将失去debug节点的一个工具。原创 2022-04-27 09:05:37 · 13809 阅读 · 0 评论 -
ROS知识: vanilla(香草) CMakeLists.txt 的语法
首先,对于学习ROS,CMakeLists.txt 的语法非常重要;如果不懂将无法开发!而要想明白vanilla(香草) CMakeLists.txt 的语法,首先需要掌握常规Cmake语法。原创 2021-10-04 12:38:05 · 6731 阅读 · 0 评论 -
【ROS2原理2】必须要ROS2系统的四个要求
本文列举四类工程需求:一、硬件也要是节点。二、延迟决定流程布局以部署时间三、确定性启动。四、内存的内检、重组织等。以上都是做为机器人操作系统的刚性需求,而要完成上述四点,还必须是从系统的底层框架完成,重新构建是不能回避的障碍,因而ROS2就是全新的系统框架,与ROS1全然不同。......原创 2022-08-06 11:22:38 · 7757 阅读 · 0 评论 -
【轻量级ROS机器人设备 3】 研究和设计要点
在上一章中,描写最先进的机器人软件框架,每个都有其优点和缺点。在本章中,我们举例说明我们的研究目标和战略,这将导致提出的框架在接下来的章节中描述。原创 2022-11-12 20:40:02 · 6596 阅读 · 0 评论 -
Gazebo手册:【1】gazebo基本操作案例
欢迎来到初学者模块!本模块将引导您了解 Gazebo 的最基本功能。我们将构建一个简单的车辆来演示这些功能。这些教程适用于 Gazebo 新手和/或没有编程或 Linux 经验的人。 每个教程都建立在上一个教程的基础上,因此我们建议您按顺序学习这些教程。一、何为Gazebo?Gazebo 是一款 3D 动态模拟器,能够准确有效地模拟复杂室内和室外环境中的机器人种群。虽然类似于游戏引擎,但 Gazebo 提供了更高保真度的物理模拟、一套传感器以及用于用户和程序的接口。1............原创 2022-05-02 16:39:54 · 20991 阅读 · 4 评论 -
ROS知识:Action【01】编写简单Action服务器
Writing a Simple Action Server using the Execute CallbackDescription:This tutorial covers using the simple_action_server library to create a Fibonacci action server. This example action server generates a Fibonacci sequence, the goal is the order of the.原创 2022-05-01 08:25:21 · 7094 阅读 · 0 评论 -
ROS知识:关于如何命名的约定
Names - ROS Wiki原创 2021-09-18 11:36:25 · 7044 阅读 · 0 评论 -
【ROS2入门系列3】:理解ROS2的节点
Ros2的Node类同于Ros1,但学习Ros2要系统化;因此本文将特别展现两种版本的Node,及它们之间的些许不同。原创 2022-07-08 15:26:34 · 7613 阅读 · 0 评论 -
ROS2系列知识【1】:Ubuntu20.4上ROS2- Rolling版安装
本篇的主要意义在于:你参考官方文 档,然而还是出现莫名奇妙的问题,你要注意密切注意是否版本不兼容,在ROS中,版本互不兼容是常态!如上文的focal和bionic。建议常用lsb_release -a看看。原创 2022-07-19 09:24:46 · 13253 阅读 · 7 评论 -
机器人项目:从 ROS2 切换到 ROS1 的原因
机器人操作系统ROS是使用最广泛的机器人中间件平台。它在机器人社区中使用了10多年,无论是在业余爱好者领域还是在工业领域。ROS可用于各种微控制器和计算机,从Arduino到Raspberry Pi再到Linux工作站,它为电机控制器,视觉传感器,深度摄像头和激光扫描仪提供硬件支持。本文介绍ROS2和ROS1的项目尝试和结论。原创 2023-08-21 20:11:43 · 7387 阅读 · 1 评论 -
ROS 创建自定义操作
在本教程中,您将学习如何创建自定义 ROS 操作,并将其导入您的代码(Python 和 Cpp)中。当您需要异步客户端/服务器机制时,使用 ROS 操作非常方便。您当然可以使用一些现有的操作定义,但通常您需要某种自定义。原创 2023-11-20 01:03:10 · 5191 阅读 · 1 评论 -
ROS察微【57】:配置手臂机器人来抓东西
(原名:Configuring an arm robot to grasp things (Part 1) )Learn Robotics from Zero - Robotics & ROS Online Courses本单元将向您展示如何为您的工业机器人创建 Moveit 包。通过完成本单元,您将能够创建一个包,让您的机器人执行运动规划。一、文档目的The most interesting thing about having a robot, is making it br..原创 2022-05-22 13:33:35 · 7560 阅读 · 0 评论 -
ROS导航【01】: move_base包(导航和路径规划)
move_base 包提供了一个动作的实现(参见 actionlib 包),给定世界坐标上的一个目标,将尝试通过移动基点到达它。 move_base 节点将全局和局部规划器链接在一起以完成其全局导航任务。它支持任何遵循 nav_core 宝中指定的 nav_core::BaseGlobalPlanner 接口的全局规划器和任何遵循 nav_core 宝中指定的 nav_core::BaseLocalPlanner 接口的本地规划器。原创 2022-04-19 09:34:12 · 23918 阅读 · 0 评论 -
深入理解ROS技术 【1】ROS下的模块详解(1-65)
actionlibactionlib_msgsactionlib_tutorialsanglesbondbond_corebondcppbondpycamera_calibrationcamera_calibration_parserscamera_info_managercatkinclass_loadercmake_modulescommon-lispcommon_msgscommon_tutorialscompressed_depth_image_transport原创 2021-08-20 10:29:33 · 8439 阅读 · 0 评论 -
ROS探索:通过实战解读URDF[1]
一、关于的urdf说明 urdf的存在目的是仿真,也就是还没有机器人的时候,描述所设计机器人该有的样子。ros的urdf软件包包含统一机器人描述格式 (URDF) 的 C++ 解析器。urdf是ROS用于描述机器人所有元素的模型文件,采用XML格式书写。urdf:统一机器人描述格式; xacro:升级版的urdf,简化了urdf模型,用于复杂机器人的建模。Xacro(XML 宏) Xacro 是一种 XML 宏语言。使用 xacro,您可以使用可扩展为更大 XML ...原创 2022-04-28 09:52:07 · 7002 阅读 · 2 评论