机器人技术是一种独特的科学技术组合,可以生产模仿人类行为的机器。
在 2000 年代初期,90% 的机器人在汽车制造厂代替人类完成重复性任务。 现在机器人可以用吸尘器吸尘,甚至可以在餐馆里服务。
机器人通常由三种类型的组件组成; 机械体; 电子骨架,最后是用代码制成的大脑。
这些组件允许机器人收集数据(通常来自传感器),通过编程逻辑做出决策以适应行为并完成任务。
机器人可能有三种类型的程序; 遥控器(RC), 人工智能 (AI) 或混合。
RC 程序需要人为干预,该人可以向机器人发出代码执行的开始和/或停止信号。 程序由各种类型的算法组成,每种算法都有不同的功能。
什么是算法?
算法是机器人可以用来执行某些指令的一系列代码行。 它将开发人员的想法翻译成机器人可以理解的语言。
算法可以用多种符号表示,包括伪代码、流程图、 编程语言,或控制表。
在本文中,我们将讨论这些程序中使用的一些常见算法类型。
机器人技术中使用的算法类型
1.Anytime A*算法
A*算法是一种路径搜索算法,用于寻找两点之间的最优路径,即成本最小。
Anytime A* 算法具有灵活的时间成本,即使中断也可以返回最短路径,因为它先生成非最优解,然后再对其进行优化。
这允许更快地做出决策,因为机器人可以建立在以前的计算之上,而不是从头开始。
我们如何运作?
它通过形成一个“树”来实现这一点,该“树”从起始节点一直延伸到触发终止标准,这意味着有一条成本较低的可用路径。
2D 网格由障碍物组成,起始单元格和目标单元格被精确定位。
该算法通过 f 定义节点的“值”,它是参数 g(从起始节点移动到相关节点的成本)和 h(从相关节点移动到目标节点的成本)的总和。
应用领域
许多游戏和基于网络的地图都使用这种算法来有效地找到最短路径。 它也可以用于移动机器人。
您还可以解决复杂的问题,例如 牛顿–拉夫森 迭代应用于求一个数的平方根。
它还用于轨迹问题,以预测空间中物体的运动和碰撞。
2. D*算法
D*、Focused D* 和 D* Lite 是增量搜索算法,用于查找两点之间的最短路径。
然而,它们是 A* 算法和新发现的混合体,允许它们在地图中添加未知障碍物的信息。
然后他们可以根据新信息重新计算路线,就像火星探测器一样。
我们如何运作?
D* 算法的工作原理与 A* 类似,算法首先定义 f、h 并创建一个开闭表。
此后,D* 算法使用其相邻节点的 g 值确定当前节点的 g 值。
每个相邻节点对当前节点的 g 值进行猜测,并将最短的 g 值作为新的 g 值。
应用领域
D* 及其变体广泛用于移动机器人和 自主车辆 导航。
这样的导航系统包括在火星探测器机遇号和精神号上测试的原型系统以及赢得了 DARPA城市挑战.
3. PRM 算法
PRM 或概率路线图是基于给定地图上的空闲和占用空间的可能路径的网络图。
它们用于复杂的规划系统,也用于寻找绕过障碍物的低成本路径。
PRM 使用其地图上机器人设备可能移动的点的随机样本,然后计算最短路径。
我们如何运作?
PRM 由构建和查询阶段组成。
在第一阶段,绘制路线图,以近似环境中的可能运动。 然后创建一个随机配置并连接到一些邻居。
开始和目标配置在查询阶段连接到图表。 然后通过a获得路径 Dijkstra 的最短路径 查询。
应用领域
PRM 用于本地规划器,其中算法计算两点之间的直线路径,即初始点和目标点。
该算法还可用于改进路径规划和碰撞检测应用。
4. 零矩点 (ZMP) 算法
零力矩点(ZMP 技术)是机器人用来保持与地板反作用力相反的总惯性的算法。
该算法使用计算 ZMP 的概念,并将其应用于平衡双足机器人。 在光滑的地板表面上使用这种算法似乎可以让机器人像没有时间一样行走。
ASIMO(本田)等制造公司使用这种技术。
我们如何运作?
使用角动量方程规划步行机器人的运动。 它确保生成的关节运动保证机器人的动态姿势稳定性。
这种稳定性由预定义稳定区域边界内的零矩点(由算法计算)的距离来量化。
应用领域
零力矩点可用作衡量 iRobot PackBot 等机器人在坡道和障碍物导航时防止翻倒稳定性的指标。
5. 比例积分微分(PID)控制算法
比例积分微分控制或 PID,创建一个传感器反馈回路,通过计算误差值来调整机械组件的设置。
这些算法结合了所有三个基本系数,即比例、积分和导数,从而产生控制信号。
它实时工作并在需要时应用更正。 这可以在 自驾车车.
我们如何运作?
PID 控制器使用比例、积分和微分三个控制项对其输出的影响来应用精确和优化控制。
该控制器连续计算误差值作为所需设定点和测量过程变量之间的差异。
然后,它通过调整控制变量来应用校正以最小化随时间推移的误差。
应用领域
该控制器可以控制具有可测量输出、该输出的已知理想值以及将影响可测量输出的过程输入的任何过程。
工业中使用控制器来调节温度、压力、力、重量、位置、速度和任何其他存在测量值的变量。
结论
因此,这些是机器人技术中最常用的一些算法。 所有这些算法都非常复杂,混合了物理、线性代数和统计数据来绘制动作和运动。
然而,随着技术的进步,机器人算法将变得更加复杂。 机器人将能够完成更多任务并为自己思考更多。
如果您喜欢这篇文章, 订阅 HashDork 周刊 通过电子邮件更新,我们在其中分享最新的 AI、ML、DL、编程和未来技术新闻。
发表评论