
机器人
文章平均质量分 80
小海聊智造
专注于设计和构建可扩展、高性能和可靠的软件系统。我拥有十年以上的行业经验,涵盖多个领域,包括企业级应用、云计算,AI智能 和大数据处理。
热衷于解决复杂的技术挑战,并通过创新的架构设计提供可持续的解决方案。我具备深厚的技术功底,熟悉多种编程语言和技术栈,如Java、Python、go等, 熟悉微服务架构和分布式系统设计。我善于分析业务需求和技术要求,提供可行的技术方案,并在团队中推动其实施和落地。
展开
-
Dijkstra 算法分析
广泛应用于路径规划、交通调度、网络路由等领域。Dijkstra 算法是一种用于。在 1956 年提出。原创 2025-02-06 17:52:24 · 1631 阅读 · 0 评论 -
机器人调度系统交通管制算法
机器人调度系统中的交通管制算法主要用于优化机器人在复杂环境(如仓库、工厂、配送中心)中的移动,确保高效、安全、无碰撞地执行任务。这些算法用于计算机器人从起点到终点的最优路径,通常不涉及动态交通管制,但可作为基础组件。A(A-star)算法。原创 2025-02-06 17:08:55 · 1699 阅读 · 0 评论 -
MoveIt2的介绍及安装(ros2 humble 版本二进制安装)
MoveIt2 是一个开源的机器人运动规划框架,旨在简化复杂机器人任务的实现,如抓取、导航、路径规划等。它基于 ROS 2 构建,利用 ROS 2 的新特性(如实时性、更好的多线程支持和改进的通信机制)来提供更高效和可靠的运动规划能力。主要功能包括:运动规划:基于采样的方法进行路径规划,支持多种规划算法(如 OMPL)。碰撞检测:集成了碰撞检测库(如 FCL),用于检测机器人与环境之间的碰撞。逆向运动学:提供多种 IK 求解器,支持不同类型的机器人。原创 2025-01-06 13:20:33 · 1616 阅读 · 0 评论 -
机器人导航框架 Nav2 简介
Nav2(Navigation 2 Framework)是基于 ROS 2(Robot Operating System 2) 的一个导航框架,专为自主移动机器人(AMR, Autonomous Mobile Robots)提供路径规划、运动控制和导航功能。Nav2 是 ROS 1 中导航栈的改进与重构版本,利用 ROS 2 的优势(如实时性支持和分布式系统架构),在灵活性、性能和模块化方面都有显著提升。官网教程地址。原创 2024-11-21 11:52:56 · 1049 阅读 · 0 评论 -
ros2 humble 安装 navigation2
启动后,机器人最初不知道自己在哪里。查看机器人在 Gazebo 世界中的位置,并在地图上找到该位置。通过单击 RViz 中的“2D Pose Estimate”按钮,然后在该位置的地图上向下单击来设置初始姿势。在安装 ROS 2 的 navigation2 软件包时,你需要将 替换为你安装的 ROS 2 版本的名称(如 foxy, galactic, humble 等)。如果您愿意,也可以单击“2D 姿势估计”按钮,然后重试。设置初始姿势后,变换树将完成,Nav2 将完全激活并准备就绪。原创 2024-11-20 11:35:09 · 1057 阅读 · 0 评论 -
视觉SLAM中的数学基础:李群与李代数
李群是一类既具有群的代数结构,又具有光滑流形结构的数学对象。简而言之,李群是一种可以通过连续参数表示的变换群。SO(3):表示三维空间中的旋转群,包含所有绕原点的三维旋转矩阵。SE(3):表示三维空间中的欧氏变换群,包含旋转和平移的组合。原创 2024-08-15 10:28:06 · 773 阅读 · 0 评论 -
视觉SLAM中的数学基础01 -3D空间的位置表示
定义:世界坐标系是一个三维笛卡尔坐标系,通常由三个正交的轴(X轴、Y轴和Z轴)构成。在SLAM系统中,世界坐标系的原点通常选择为某个固定位置,如机器人的初始位置、地图的某个基准点等。欧拉角是一种用来描述三维旋转的方式,通过三个角度来表示物体绕固定坐标轴的旋转。这三个角度通常称为俯仰角(Pitch)、横滚角(Roll)和 偏航角(Yaw),分别表示绕X轴、Y轴和Z轴的旋转。四元数是一种扩展的复数,由一个实数部分和一个三维向量部分组成。原创 2024-08-09 14:28:07 · 1488 阅读 · 0 评论 -
初识SLAM(Simultaneous Localization and Mapping,即时定位与地图构建)
SLAM(Simultaneous Localization and Mapping,即时定位与地图构建)是一种用于移动机器人或无人系统的技术,旨在解决机器人在未知或不完全已知的环境中同时进行定位和地图构建的问题。具体来说,SLAM技术让机器人在探索新的环境时能够:定位(Localization):确定自身在环境中的精确位置和姿态(即方向)。地图构建(Mapping):生成周围环境的地图,这可以是二维(2D)或者三维(3D)的,反映环境中的障碍物、地形特征等。原创 2024-08-09 10:39:42 · 2258 阅读 · 0 评论 -
相机标定(Camera Calibration)
相机标定(CameraCalibration)是确定相机内部参数(如焦距、光学中心、畸变系数等)和外部参数(如相机在世界坐标系中的位置和姿态)的一种过程。原创 2024-07-31 15:46:21 · 1459 阅读 · 0 评论 -
机器人自主完成标定的方案构思
不同的自主标定方案各有优缺点,具体选择需要根据应用场景和需求进行权衡。以下是一些建议:高精度和独立性要求高:选择自标定算法,适用于单个机器人高精度操作场景。快速标定和协作要求高:选择多机器人协作标定,适用于多机器人系统和大规模生产线。环境变化大和自适应要求高:选择人工智能和机器学习标定,适用于复杂和动态变化的环境。实时调整和高精度要求高:选择在线标定,适用于需要持续高精度操作的场景。系统集成和自动化要求高:选择智能控制系统标定,适用于需要高集成度和自动化的场景。原创 2024-07-31 14:32:02 · 1001 阅读 · 0 评论 -
机械臂抓取物体整体的开发流程
开发一个机械臂抓取物体的系统涉及多个步骤和不同领域的知识,包括机械设计、控制系统、传感器集成、软件开发等。原创 2024-06-17 11:11:41 · 1214 阅读 · 0 评论 -
移动机器人传感器
移动机器人传感器是机器人系统的关键组成部分,用于感知和理解周围环境,为导航、避障、定位和任务执行提供必要的信息。以下是一些常用的移动机器人传感器及其功能和应用。原创 2024-05-31 11:27:46 · 1278 阅读 · 0 评论 -
3.6 机器人运动控制(摘自自主移动机器人导论2)
机器人运动控制是机器人学中的一个重要领域,涵盖了机器人如何从一个位置移动到另一个位置,同时考虑路径规划、避障、动态环境适应等因素。原创 2024-05-30 13:46:24 · 738 阅读 · 0 评论 -
机器人系统ros2-开发学习实践16-RViz 用户指南
视图面板还允许您创建不同的命名视图,这些视图会被保存并可在其中切换。视图由目标框架、相机类型和相机姿势组成。您可以通过单击视图面板的“保存”按钮来保存视图。原创 2024-05-30 13:24:17 · 2578 阅读 · 0 评论 -
3.4 移动机器人工作空间(摘自自主移动机器人导论2)
因此,辨识可能配置的机器人的空间是重要的。进一步,穿过这个配置空间,它的可能轨迹是什么样的?在讨论的其余部分,我们把重点从内部的运动学细节(如转向、转向机器人底盘的姿态和底盘的自由度)记住这一点,现在让我们把机器人放到它的工作空间的背景中。我们关心机器人用它可控制的自由度在环境中定位它本身的方法。例如,考虑 Ackerman 车辆或汽车,对这种车辆而言,控制的自由度总数是 δm = 2。但在它的环境中,车辆的自由度是什么呢?但是,机器人是处于某种环境的,因而下一个问题是把我们的分析放到环境之中。原创 2024-05-29 15:00:55 · 345 阅读 · 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 · 1268 阅读 · 0 评论 -
机器人系统ros2-开发学习实践14-建立可移动机器人模型
我们将修改上一教程中制作的Urdf 模型,使其具有可移动关节。在之前的模型中,所有关节都是固定的。现在我们将探讨其他三种重要的关节类型:连续关节、旋转关节和棱柱关节。运行在Rviz 的效果如下:然而,现在还会弹出一个 GUI,允许您控制所有非固定关节的值。玩一下模型,看看它是如何移动的。然后,我们可以看看我们是如何实现这一目标的。原创 2024-05-18 16:08:03 · 880 阅读 · 0 评论 -
机器人系统ros2-开发学习实践12-给机器人模型添加物理和碰撞属性
在本教程中,我们将了解如何向 URDF 模型添加一些基本物理属性以及如何指定其碰撞属性。原创 2024-05-16 13:17:20 · 935 阅读 · 0 评论 -
移动机器人的机动性
除了瞬时的运动学运动之外,移动机器人通过操纵可操纵的轮子,能够随时操纵它的位置,像我们将在3.3.3节看到那样,机器人的整个机动性就是根据标准轮运动学的滑动约束、可用的活动性以及操纵和转动可操纵的标准轮所提供的附加自由度的联合。机器人底盘运动学的活动性是表示它在环境中直接运动的能力。所以,我们可从方程(3.26)正式地推导机器人的活动性。原创 2024-05-16 13:14:30 · 346 阅读 · 0 评论 -
机器人运动学约束(摘自自主移动机器人导论2)
相反,如在图3.4所示,当作N个固定标准轮的方向。主要的思想是各轮子对机器人的运动加上零或更多的约束,所以过程只不过是根据机器人底盘上那些轮子的配置将全部由所有轮子引起的运动学的约束适当地联合起来。为了更深人一步,可以使用包含C(8、)的滑动约束,它使我们能计算机器人的机动性和工作空间,而不是仅仅预测它的运动。但是,从方程(3.17)、(3.18)和(3.19)中的轮子运动学的约束,注意到小脚轮、瑞典轮和球形轮在机器人底盘上没有加运动学的约束,因为由于内部的轮子的自由度,,在所有这些情况中可自由地变化。原创 2024-05-14 09:25:49 · 644 阅读 · 0 评论 -
机器人系统ros2-开发学习实践11-从零开始构建视觉机器人模型(urdf)(02)
和:定义了两种材料。“blue” 为蓝色(RGBA颜色值为 0 0 0.8 1,即不透明的蓝色),“white” 为白色(RGBA颜色值为 1 1 1 1,即不透明的白色)。原创 2024-05-14 09:21:36 · 458 阅读 · 0 评论 -
机器人系统ros2-开发学习实践10-从零开始构建视觉机器人模型(urdf)
在本教程中,我们将构建一个看起来像 ROS2 的机器人视觉模型。在后面的教程中,您将学习如何阐明模型、添加一些物理属性以及使用 xacro生成更简洁的代码,但现在,我们将专注于获得正确的视觉几何原创 2024-05-13 09:57:27 · 1360 阅读 · 0 评论 -
轮子运动学约束
因此,它相对于底盘的角度是固定的,因而限制了沿轮子平面前后运动和围绕与地面接触点的转动。轮子平面相对于底盘的角度用表示,因为固定标准轮是不可操纵的,所以B是固定的。具有半径r的轮子可随时转动,所以它围绕它的水平轴转动的位置是时间t的函数:&(t)我们假定轮子的平面总是保持垂直,且在所有的情况下,在轮子与地面之间只有一个单独的接触点。正如在3.2.2节中所示那样,单独轮子的运动以后可以被联合起来计算整个机器人的运动。如在第2章所讨论那样,有四种基本的轮子类型,它们各具变化广泛的运动学参数。原创 2024-05-13 09:51:12 · 564 阅读 · 0 评论 -
移动机器人运动学(摘自自主移动机器人导学)
机械手的工作空间是至关重要的,因为它定义了相对于它环境的固定装置,以及它的终端执行器可以达到的可能位置的范围。移动机器人的工作空间同样是重要的,因为它定义了在移动机器人的环境中,它能实现的可能姿态的范围。然后用该概念,我们展示简单的前向运动的运动学模型,描述机器人作为一个整体,它的几何特征和单个轮子行为的函数是怎样的。不过,有几个重要的假设会简化上述的陈述。此外,由于滑动,运动估计不准确,精确地测量移动机器人的位置显然是一个极具挑战性的任务了解机器人的运动过程,描述各轮对运动所作的贡献是过程的开始。原创 2024-05-11 09:37:45 · 726 阅读 · 0 评论 -
轮式机器人简介
迄今为止,轮子一般是移动机器人学和人造交通车辆中最流行的运动机构。它可达到很高的效率,如图所示,而且用比较简单的机械就可实现它的制作。另外,在轮式机器人设计中,平衡通常不是一个研究问题。因为在所有时间里,轮式机器人一般都被设计成在任何时间里所有轮子均与地接触。因而,3个轮子就足以保证稳定平衡。虽然我们将在下面看到,两轮机器人也可以稳定。如果使用的轮子多于3个,当机器人碰到崎岖不平的地形时,就需要一个悬挂系统以使所有轮子保持与地面接触。轮式机器人放在及,而不是担心平衡。原创 2024-05-10 11:04:18 · 2479 阅读 · 0 评论 -
机器人系统ros2-开发实践08-了解如何使用 tf2 来访问坐标帧转换(Python)
tf2 库允许你在 ROS 节点中查询两个帧之间的转换。这个查询可以是阻塞的,也可以是非阻塞的,取决于你的需求。下面是一个基本的 Python 示例,展示如何在 ROS 节点中使用 tf2 查询帧转换。本教程假设您已完成tf2 静态广播器教程 (Python)和tf2 广播器教程 (Python)。在上一个教程中,我们创建了一个learning_tf2_py包。原创 2024-05-10 10:04:26 · 1782 阅读 · 1 评论 -
腿式移动机器人
腿式运动以一系列机器人和地面之间的点接触为特征。其主要优点包括在粗糙地形上的自适应性和机动性。因为只需要一组点接触,所以只要机器人能够保持适当的地面步距,这些点之间的地面质量是无关紧要的。另外,只要行走机器人的步距大于洞穴的宽度,它就能跨越洞穴或者裂口。腿式运动的最后一个优点是,有高度的技巧来操纵环境中的物体。举一个精彩的昆虫例子,即甲壳虫,它用灵巧的前肢在运动的同时能够滚动一个球。腿式运动的最主要的缺点包括动力和机械的复杂性。原创 2024-05-09 14:45:27 · 643 阅读 · 0 评论 -
机器人运动分析(摘录自主移动机器人导论2)
此外,细胞是能极小化的微观组件,由于微小的尺寸和重量,昆虫达到了人类制造技术还一直不能做到的鲁棒性水平。最后,大型动物和昆虫所用的生物能量存储系统、肌肉及液压激励系统,其产生的转矩、响应时间和转换效率远远超过了同等规模的人造系统。不同类型的机器人具有不同的运动机制,这些机制影响着它们如何与环境互动以及它们能够执行的任务类型。要么使用数目不多的有关节的腿—种生物运动方法的最简单形式,所以像一些运输的机器人目前更多是都是轮式机器人。一般来说,和轮式运动相比,腿式运动要求更高的自由度,因此有更大的机械复杂性。原创 2024-05-09 10:56:43 · 623 阅读 · 0 评论 -
机器人种类分析
服务机器人有广泛的应用场景,如餐厅、酒店、医院、超市等场所,可以提供导购、语音助手、保洁等服务,减轻人类工作压力,提高服务质量。商用机器人是指专门为商业领域设计和生产的机器人,如智能家居机器人、安防机器人、物流机器人等。特种机器人是为了特定任务而设计的机器人,如矿山勘探机器人、消防救援机器人、海洋探测机器人等。每种类型的机器人都具有特定的设计和功能,旨在最大化其在特定应用中的效率和效果。常用于运输、配送和巡逻。娱乐机器人包括弹奏乐器的机器人、舞蹈机器人玩具机器人等,也包括根据环境而改变动作的机器人。原创 2024-05-09 10:33:48 · 1186 阅读 · 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 · 1305 阅读 · 0 评论 -
机器人系统ros2-开发实践07-将机器人的状态广播到 tf2(Python)
上个教程将静态坐标系广播到 tf2,基于这个基础原理这个教程将演示机器人的点位状态发布到tf2。原创 2024-05-07 10:38:32 · 1330 阅读 · 0 评论 -
机器人系统ros2-开发实践06-将静态坐标系广播到 tf2(Python)-定义机器人底座与其传感器或非移动部件之间的关系
发布静态变换对于定义机器人底座与其传感器或非移动部件之间的关系非常有用。例如,最容易推断激光扫描仪中心框架中的激光扫描测量结果。原创 2024-05-06 09:45:05 · 1391 阅读 · 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 · 1773 阅读 · 0 评论 -
机器人系统ros2-开发实践04-ROS 2 启动文件管理大型项目的最佳实践
机器人上的大型应用通常涉及多个互连的节点,每个节点可以有许多参数。海龟模拟器中模拟多只海龟就是一个很好的例子。海龟模拟由多个海龟节点、世界配置以及 TF 广播器和监听器节点组成。在所有节点之间,存在大量影响这些节点的行为和外观的 ROS 参数。ROS 2启动文件允许我们在一个地方启动所有节点并设置相应的参数。原创 2024-04-29 16:01:28 · 1220 阅读 · 0 评论 -
人形机器人核心架构梳理
定义:机器人是能进行运动、操纵或定位且具有一定程度自主能力的可编程执行机构。按外在形态分类可分为传统机器人和人形机器人,其中人形机器人是一种利用人工智能和机器人技术制造的具有类似人类外观和行为的机器人。原创 2024-04-28 16:36:03 · 9550 阅读 · 0 评论 -
机器人系统ros2-开发实践03-监听节点的参数变化(C++)
本教程将向您展示如何使用 ParameterEventHandler 类的 C++ 版本来监视节点自身参数的更改以及另一个节点参数的更改。接下来SampleNodeWithParameters是一个典型的main函数,它初始化 ROS,示例节点以便它可以发送和接收消息,然后在用户在控制台输入 Ctrl +C 后关闭。执行此命令后,您应该在parameter_event_handler窗口中看到输出,表明在参数更新时调用了回调函数。您的终端将返回一条消息,验证您的包及其所有必需文件和文件夹的创建。原创 2024-04-26 11:43:03 · 1210 阅读 · 1 评论 -
机器人系统开发ros2-基础实践02-自定义一个机器人动作aciton服务端和客户端(c++ 实现)
aciton 是 ROS 中异步通信的一种形式。操作客户端向操作服务器发送目标请求。动作服务器将目标反馈和结果发送给动作客户端。原创 2024-04-25 10:16:04 · 1642 阅读 · 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 · 1433 阅读 · 0 评论 -
激光三角测距原理详述
激光三角测距法作为低成本的激光雷达设计方案,可获得高精度、高性价比的应用效果,并成为室内服务机器人导航的首选方案,本文将对激光雷达核心组件进行介绍并重点阐述基于激光三角测距法的激光雷达原理。原创 2024-01-25 16:18:38 · 1133 阅读 · 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 · 789 阅读 · 0 评论