![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器人
文章平均质量分 79
小海聊智造
专注于设计和构建可扩展、高性能和可靠的软件系统。我拥有十年以上的行业经验,涵盖多个领域,包括企业级应用、云计算,AI智能 和大数据处理。
热衷于解决复杂的技术挑战,并通过创新的架构设计提供可持续的解决方案。我具备深厚的技术功底,熟悉多种编程语言和技术栈,如Java、Python、go等, 熟悉微服务架构和分布式系统设计。我善于分析业务需求和技术要求,提供可行的技术方案,并在团队中推动其实施和落地。
展开
-
机械臂抓取物体整体的开发流程
开发一个机械臂抓取物体的系统涉及多个步骤和不同领域的知识,包括机械设计、控制系统、传感器集成、软件开发等。原创 2024-06-17 11:11:41 · 401 阅读 · 0 评论 -
移动机器人传感器
移动机器人传感器是机器人系统的关键组成部分,用于感知和理解周围环境,为导航、避障、定位和任务执行提供必要的信息。以下是一些常用的移动机器人传感器及其功能和应用。原创 2024-05-31 11:27:46 · 886 阅读 · 0 评论 -
3.6 机器人运动控制(摘自自主移动机器人导论2)
机器人运动控制是机器人学中的一个重要领域,涵盖了机器人如何从一个位置移动到另一个位置,同时考虑路径规划、避障、动态环境适应等因素。原创 2024-05-30 13:46:24 · 324 阅读 · 0 评论 -
机器人系统ros2-开发学习实践16-RViz 用户指南
视图面板还允许您创建不同的命名视图,这些视图会被保存并可在其中切换。视图由目标框架、相机类型和相机姿势组成。您可以通过单击视图面板的“保存”按钮来保存视图。原创 2024-05-30 13:24:17 · 1405 阅读 · 0 评论 -
3.4 移动机器人工作空间(摘自自主移动机器人导论2)
因此,辨识可能配置的机器人的空间是重要的。进一步,穿过这个配置空间,它的可能轨迹是什么样的?在讨论的其余部分,我们把重点从内部的运动学细节(如转向、转向机器人底盘的姿态和底盘的自由度)记住这一点,现在让我们把机器人放到它的工作空间的背景中。我们关心机器人用它可控制的自由度在环境中定位它本身的方法。例如,考虑 Ackerman 车辆或汽车,对这种车辆而言,控制的自由度总数是 δm = 2。但在它的环境中,车辆的自由度是什么呢?但是,机器人是处于某种环境的,因而下一个问题是把我们的分析放到环境之中。原创 2024-05-29 15:00:55 · 244 阅读 · 0 评论 -
机器人系统ros2-开发学习实践15-模拟用 URDF 建模 步行机器人行走示例
在second_ros2_ws/src/urdf_tutorial_r2d2/urdf_tutorial_r2d2/ 目录下新增文件 state_publisher.py。打开编辑器并粘贴以下代码,将其保存为second_ros2_ws/src/urdf_tutorial_r2d2/launch/demo.launch.py。创建一个新second_ros2_ws/src/urdf_tutorial_r2d2/launch文件夹。Visual: 描述一个白色的圆柱体,半径为0.20,长度为0.6。原创 2024-05-27 11:32:07 · 1030 阅读 · 0 评论 -
机器人系统ros2-开发学习实践14-建立可移动机器人模型
我们将修改上一教程中制作的Urdf 模型,使其具有可移动关节。在之前的模型中,所有关节都是固定的。现在我们将探讨其他三种重要的关节类型:连续关节、旋转关节和棱柱关节。运行在Rviz 的效果如下:然而,现在还会弹出一个 GUI,允许您控制所有非固定关节的值。玩一下模型,看看它是如何移动的。然后,我们可以看看我们是如何实现这一目标的。原创 2024-05-18 16:08:03 · 693 阅读 · 0 评论 -
机器人系统ros2-开发学习实践12-给机器人模型添加物理和碰撞属性
在本教程中,我们将了解如何向 URDF 模型添加一些基本物理属性以及如何指定其碰撞属性。原创 2024-05-16 13:17:20 · 783 阅读 · 0 评论 -
移动机器人的机动性
除了瞬时的运动学运动之外,移动机器人通过操纵可操纵的轮子,能够随时操纵它的位置,像我们将在3.3.3节看到那样,机器人的整个机动性就是根据标准轮运动学的滑动约束、可用的活动性以及操纵和转动可操纵的标准轮所提供的附加自由度的联合。机器人底盘运动学的活动性是表示它在环境中直接运动的能力。所以,我们可从方程(3.26)正式地推导机器人的活动性。原创 2024-05-16 13:14:30 · 137 阅读 · 0 评论 -
机器人运动学约束(摘自自主移动机器人导论2)
相反,如在图3.4所示,当作N个固定标准轮的方向。主要的思想是各轮子对机器人的运动加上零或更多的约束,所以过程只不过是根据机器人底盘上那些轮子的配置将全部由所有轮子引起的运动学的约束适当地联合起来。为了更深人一步,可以使用包含C(8、)的滑动约束,它使我们能计算机器人的机动性和工作空间,而不是仅仅预测它的运动。但是,从方程(3.17)、(3.18)和(3.19)中的轮子运动学的约束,注意到小脚轮、瑞典轮和球形轮在机器人底盘上没有加运动学的约束,因为由于内部的轮子的自由度,,在所有这些情况中可自由地变化。原创 2024-05-14 09:25:49 · 278 阅读 · 0 评论 -
机器人系统ros2-开发学习实践11-从零开始构建视觉机器人模型(urdf)(02)
和:定义了两种材料。“blue” 为蓝色(RGBA颜色值为 0 0 0.8 1,即不透明的蓝色),“white” 为白色(RGBA颜色值为 1 1 1 1,即不透明的白色)。原创 2024-05-14 09:21:36 · 297 阅读 · 0 评论 -
机器人系统ros2-开发学习实践10-从零开始构建视觉机器人模型(urdf)
在本教程中,我们将构建一个看起来像 ROS2 的机器人视觉模型。在后面的教程中,您将学习如何阐明模型、添加一些物理属性以及使用 xacro生成更简洁的代码,但现在,我们将专注于获得正确的视觉几何原创 2024-05-13 09:57:27 · 1057 阅读 · 0 评论 -
轮子运动学约束
因此,它相对于底盘的角度是固定的,因而限制了沿轮子平面前后运动和围绕与地面接触点的转动。轮子平面相对于底盘的角度用表示,因为固定标准轮是不可操纵的,所以B是固定的。具有半径r的轮子可随时转动,所以它围绕它的水平轴转动的位置是时间t的函数:&(t)我们假定轮子的平面总是保持垂直,且在所有的情况下,在轮子与地面之间只有一个单独的接触点。正如在3.2.2节中所示那样,单独轮子的运动以后可以被联合起来计算整个机器人的运动。如在第2章所讨论那样,有四种基本的轮子类型,它们各具变化广泛的运动学参数。原创 2024-05-13 09:51:12 · 214 阅读 · 0 评论 -
移动机器人运动学(摘自自主移动机器人导学)
机械手的工作空间是至关重要的,因为它定义了相对于它环境的固定装置,以及它的终端执行器可以达到的可能位置的范围。移动机器人的工作空间同样是重要的,因为它定义了在移动机器人的环境中,它能实现的可能姿态的范围。然后用该概念,我们展示简单的前向运动的运动学模型,描述机器人作为一个整体,它的几何特征和单个轮子行为的函数是怎样的。不过,有几个重要的假设会简化上述的陈述。此外,由于滑动,运动估计不准确,精确地测量移动机器人的位置显然是一个极具挑战性的任务了解机器人的运动过程,描述各轮对运动所作的贡献是过程的开始。原创 2024-05-11 09:37:45 · 516 阅读 · 0 评论 -
轮式机器人简介
迄今为止,轮子一般是移动机器人学和人造交通车辆中最流行的运动机构。它可达到很高的效率,如图所示,而且用比较简单的机械就可实现它的制作。另外,在轮式机器人设计中,平衡通常不是一个研究问题。因为在所有时间里,轮式机器人一般都被设计成在任何时间里所有轮子均与地接触。因而,3个轮子就足以保证稳定平衡。虽然我们将在下面看到,两轮机器人也可以稳定。如果使用的轮子多于3个,当机器人碰到崎岖不平的地形时,就需要一个悬挂系统以使所有轮子保持与地面接触。轮式机器人放在及,而不是担心平衡。原创 2024-05-10 11:04:18 · 1293 阅读 · 0 评论 -
机器人系统ros2-开发实践08-了解如何使用 tf2 来访问坐标帧转换(Python)
tf2 库允许你在 ROS 节点中查询两个帧之间的转换。这个查询可以是阻塞的,也可以是非阻塞的,取决于你的需求。下面是一个基本的 Python 示例,展示如何在 ROS 节点中使用 tf2 查询帧转换。本教程假设您已完成tf2 静态广播器教程 (Python)和tf2 广播器教程 (Python)。在上一个教程中,我们创建了一个learning_tf2_py包。原创 2024-05-10 10:04:26 · 1619 阅读 · 1 评论 -
腿式移动机器人
腿式运动以一系列机器人和地面之间的点接触为特征。其主要优点包括在粗糙地形上的自适应性和机动性。因为只需要一组点接触,所以只要机器人能够保持适当的地面步距,这些点之间的地面质量是无关紧要的。另外,只要行走机器人的步距大于洞穴的宽度,它就能跨越洞穴或者裂口。腿式运动的最后一个优点是,有高度的技巧来操纵环境中的物体。举一个精彩的昆虫例子,即甲壳虫,它用灵巧的前肢在运动的同时能够滚动一个球。腿式运动的最主要的缺点包括动力和机械的复杂性。原创 2024-05-09 14:45:27 · 430 阅读 · 0 评论 -
机器人运动分析(摘录自主移动机器人导论2)
此外,细胞是能极小化的微观组件,由于微小的尺寸和重量,昆虫达到了人类制造技术还一直不能做到的鲁棒性水平。最后,大型动物和昆虫所用的生物能量存储系统、肌肉及液压激励系统,其产生的转矩、响应时间和转换效率远远超过了同等规模的人造系统。不同类型的机器人具有不同的运动机制,这些机制影响着它们如何与环境互动以及它们能够执行的任务类型。要么使用数目不多的有关节的腿—种生物运动方法的最简单形式,所以像一些运输的机器人目前更多是都是轮式机器人。一般来说,和轮式运动相比,腿式运动要求更高的自由度,因此有更大的机械复杂性。原创 2024-05-09 10:56:43 · 302 阅读 · 0 评论 -
机器人种类分析
服务机器人有广泛的应用场景,如餐厅、酒店、医院、超市等场所,可以提供导购、语音助手、保洁等服务,减轻人类工作压力,提高服务质量。商用机器人是指专门为商业领域设计和生产的机器人,如智能家居机器人、安防机器人、物流机器人等。特种机器人是为了特定任务而设计的机器人,如矿山勘探机器人、消防救援机器人、海洋探测机器人等。每种类型的机器人都具有特定的设计和功能,旨在最大化其在特定应用中的效率和效果。常用于运输、配送和巡逻。娱乐机器人包括弹奏乐器的机器人、舞蹈机器人玩具机器人等,也包括根据环境而改变动作的机器人。原创 2024-05-09 10:33:48 · 889 阅读 · 0 评论 -
机器人系统ros2内部接口介绍
内部接口主要有两个:ROS中间件接口(rmw API)ROS客户端库接口(rcl API)API rmw是ROS 2 软件堆栈和底层中间件实现之间的接口。ROS 2 使用的底层中间件是 DDS 或 RTPS 实现,负责发现、发布和订阅机制、服务的请求-回复机制以及消息类型的序列化。该rcl API是一个稍高级别的API,用于实现客户端库,不直接接触中间件实现,而是通过 ROS 中间件接口 ( rmw API ) 抽象来实现。原创 2024-05-07 11:01:19 · 1079 阅读 · 0 评论 -
机器人系统ros2-开发实践07-将机器人的状态广播到 tf2(Python)
上个教程将静态坐标系广播到 tf2,基于这个基础原理这个教程将演示机器人的点位状态发布到tf2。原创 2024-05-07 10:38:32 · 1215 阅读 · 0 评论 -
机器人系统ros2-开发实践06-将静态坐标系广播到 tf2(Python)-定义机器人底座与其传感器或非移动部件之间的关系
发布静态变换对于定义机器人底座与其传感器或非移动部件之间的关系非常有用。例如,最容易推断激光扫描仪中心框架中的激光扫描测量结果。原创 2024-05-06 09:45:05 · 1150 阅读 · 2 评论 -
机器人系统ros2-开发实践05-ROS2 中 tf2的定义及示例说明
tf2的全称是transform2,在ROS(Robot Operating System)中,它是专门用于处理和变换不同坐标系间位置和方向的库。tf2是ROS2中一个重要的组件,因为在机器人的许多应用中,正确理解各个部件如何相对于彼此移动是至关重要的。一旦turtlesim启动,您可以使用键盘箭头键在turtlesim中驱动中央乌龟,选择第二个终端窗口,以便捕获您的击键来驱动乌龟。在侧栏中,您将看到 tf2 广播的帧。tf2_echo当侦听器接收通过 ROS 2 广播的帧时,您将看到显示的转换。原创 2024-04-30 13:51:08 · 1301 阅读 · 0 评论 -
机器人系统ros2-开发实践04-ROS 2 启动文件管理大型项目的最佳实践
机器人上的大型应用通常涉及多个互连的节点,每个节点可以有许多参数。海龟模拟器中模拟多只海龟就是一个很好的例子。海龟模拟由多个海龟节点、世界配置以及 TF 广播器和监听器节点组成。在所有节点之间,存在大量影响这些节点的行为和外观的 ROS 参数。ROS 2启动文件允许我们在一个地方启动所有节点并设置相应的参数。原创 2024-04-29 16:01:28 · 950 阅读 · 0 评论 -
人形机器人核心架构梳理
定义:机器人是能进行运动、操纵或定位且具有一定程度自主能力的可编程执行机构。按外在形态分类可分为传统机器人和人形机器人,其中人形机器人是一种利用人工智能和机器人技术制造的具有类似人类外观和行为的机器人。原创 2024-04-28 16:36:03 · 1722 阅读 · 0 评论 -
机器人系统ros2-开发实践03-监听节点的参数变化(C++)
本教程将向您展示如何使用 ParameterEventHandler 类的 C++ 版本来监视节点自身参数的更改以及另一个节点参数的更改。接下来SampleNodeWithParameters是一个典型的main函数,它初始化 ROS,示例节点以便它可以发送和接收消息,然后在用户在控制台输入 Ctrl +C 后关闭。执行此命令后,您应该在parameter_event_handler窗口中看到输出,表明在参数更新时调用了回调函数。您的终端将返回一条消息,验证您的包及其所有必需文件和文件夹的创建。原创 2024-04-26 11:43:03 · 929 阅读 · 1 评论 -
机器人系统开发ros2-基础实践02-自定义一个机器人动作aciton服务端和客户端(c++ 实现)
aciton 是 ROS 中异步通信的一种形式。操作客户端向操作服务器发送目标请求。动作服务器将目标反馈和结果发送给动作客户端。原创 2024-04-25 10:16:04 · 1477 阅读 · 1 评论 -
nav02 学习03 机器人传感器
这也允许用户使用任何传感器供应商,只要它遵循sensor_msgs. 在下一小节中,我们将介绍一些导航中常用的消息,即sensor_msgs/LaserScan、sensor_msgs/PointCloud2、sensor_msgs/Range和sensor_msgs/Image。您的物理机器人的传感器可能具有为其编写的 ROS 驱动程序(例如,连接到传感器、将数据填充到消息中并发布它们以供您的机器人使用的 ROS 节点),这些驱动程序遵循包中的标准接口sensor_msgs。原创 2024-01-26 16:43:57 · 1329 阅读 · 0 评论 -
激光三角测距原理详述
激光三角测距法作为低成本的激光雷达设计方案,可获得高精度、高性价比的应用效果,并成为室内服务机器人导航的首选方案,本文将对激光雷达核心组件进行介绍并重点阐述基于激光三角测距法的激光雷达原理。原创 2024-01-25 16:18:38 · 655 阅读 · 0 评论 -
ros2 基础学习 ros2 doctor 诊断工具(平台,版本,网络,环境,正在运行的系统)
当ROS 2安装程序未按预期运行时,可以使用 ros2 doctor工具检查其设置。ros2 doctor检查ROS 2的所有方面,包括平台,版本,网络,环境,正在运行的系统等,并警告您可能的错误和问题原因。ros2 doctor仅在Eloquent及更高的版本中可以使用。ros2 doctor是ros2cli包的一部分。只要我们安装了ros2cli,我们就能够使用ros2 doctor,通常我们安装ros2的时候就安装了这个包。原创 2024-01-25 16:17:39 · 545 阅读 · 0 评论 -
ros2仿真学习04 -turtlebot3实现cartographer算法建图演示
urtlebot3实现cartographer算法建图演示原创 2024-01-18 13:28:45 · 1513 阅读 · 0 评论 -
ROS2 仿真教程 基于humble版本机器人安装
ros2与turtlebot3仿真教程-启动gazebo不同环境。删掉出错不影响使用然后编译就通过了。安装cartographer建图。原创 2024-01-18 13:14:08 · 867 阅读 · 0 评论 -
ros2 基础学习16 - RQT:模块化可视化工具
正如RQT的命名,它和Rviz一样,也是基于QT可视化工具开发而来,在使用前,我们需要通过这样一句指令进行安装,然后就可以通过rqt这个命令启动使用了。安装注意自己ros2 的版本,我的是humble启动rqt启动成功后如图里边可以加载很多小模块,每个模块都可以实现一个具体的小功能,一些常用的功能如下:日志显示:也可以通过命令行方式启动从启动的界面可以看到有三个部分Console用来过滤日志等级的…:自定义过滤现在我们新开命令窗口,启动一个小乌龟节点。原创 2024-01-17 17:32:56 · 2143 阅读 · 0 评论 -
ros2 基础学习04 -colcon构建工具
构建系统与构建工具区分点在于针对的对象不同,构建系统只针对一个单独的包进行构建,而构建工具重点在于按照依赖关系依次调用构建系统完成一系列功能包的构建。原创 2024-01-15 18:02:18 · 1168 阅读 · 0 评论 -
ros2 基础学习 15- URDF:机器人建模方法
如何使用这样一个文件描述机器人呢?比如这个机械臂,大家可以看下自己的手臂,我们的手臂是由大臂和小臂组成,他们独自是无法运动的,必须通过一个手肘关节连接之后,才能通过肌肉驱动,产生相对运动。fixed,固定关节,是唯一一种不允许运动的关节,不过使用还是比较频繁的,比如相机这个连杆,安装在机器人上,相对位置是不会变化的,此时使用的连接方式就是Fixed。ROS中的建模方法叫做URDF,全称是统一机器人描述格式,不仅可以清晰描述机器人自身的模型,还可以描述机器人的外部环境,比如这里的桌子,也可以算作一个模型。原创 2024-01-08 14:34:18 · 2021 阅读 · 0 评论 -
ros2 基础学习14-- Launch:多节点启动与配置脚本
到目前为止,每当我们运行一个ROS节点,都需要打开一个新的终端运行一个命令。机器人系统中节点很多,每次都这样启动好麻烦呀。有没有一种方式可以一次性启动所有节点呢?答案当然是肯定的,那就是Launch启动文件,它是ROS系统中多节点启动与配置的一种脚本。这是一个完整的Launch文件,乍看上去,好像Python代码呀,没错,ROS2中的Launch文件就是基于Python描述的。原创 2024-01-08 14:32:53 · 2382 阅读 · 0 评论 -
ros2基础学习13 DDS 通信得学习
好啦,说了半天DDS,到底啥意思呢?我们来做一个完整的介绍DDS的全称是Data Distribution Service也就是数据分发服务,2004年由对象管理组织OMG发布和维护,是一套专门为实时系统设计的数据分发/订阅标准,最早应用于美国海军, 解决舰船复杂网络环境中大量软件升级的兼容性问题,现在已经成为强制标准。DDS强调以数据为中心,可以提供丰富的服务质量策略,以保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。原创 2024-01-02 17:35:26 · 1313 阅读 · 0 评论 -
ros2 基础学习12 分布式通信
我们先要给树莓派装系统,这里我们选择的是Ubuntu Mate针对树莓派的镜像,下载镜像之后,烧写到树莓派的SD卡中就可以启动系统了。不过ROS系统都已经为我们设计好了,我们只需要在每一个电脑上配置好ROS环境,功能开发上完全不需要做任何变化,实现非常方便。接下来我们打通两个计算平台的通信能力。类似的方法会频繁用到,ROS为分布式网络的搭建提供了非常友好的支持,我们几乎不需要任何配置,代码也不需要做任何修改。之前我们也讲过,在ROS系统中,机器人功能是由各种节点组成的,这些节点可能位于不同的计算机中。原创 2024-01-02 17:34:59 · 2039 阅读 · 0 评论 -
Isaac Sim 仿真机器人urdf文件导入
本教程展示如何在 Omniverse Isaac Sim 中导入 urdf。原创 2023-12-25 11:05:07 · 2262 阅读 · 5 评论 -
ros2 基础学习11-参数的定义及示例
话题、服务、动作,不知道这三种通信机制大家是否已经了解清楚,本节我们再来介绍一种ROS系统中常用的数据传输方式——参数。类似C++编程中的全局变量,可以便于在多个程序中共享某些数据,参数是ROS机器人系统中的全局字典,可以运行多个节点中共享数据。ros2 的参数定义和基本使用和ros1 基本一致,如果了解ros1 参数的 这节 就随便看看就可以了。原创 2023-12-25 10:07:10 · 266 阅读 · 0 评论