机器人的控制是相当具有挑战性的,因为有太多的因素需要通过传感、协调和整个系统的可靠性来解决。机器人需要处理各种情况,并且在任何时候,都可能会遇到机械或电气故障。不过,大多数主要问题都涉及从传感器获取的信息,这些...
机器人的控制是相当具有挑战性的,因为有太多的因素需要通过传感、协调和整个系统的可靠性来解决。机器人需要处理各种情况,并且在任何时候,都可能会遇到机械或电气故障。不过,大多数主要问题都涉及从传感器获取的信息,这些信息有时可能包含噪音或不正确的数据。在机器人控制中,一些最好的提示包括过滤掉不准确的传感器数据,包括超时,具有基于任务控制的编程结构。

在汽车装配线上工作的机器人不可靠的传感器数据是影响机器人功能的最常见问题之一。例如,传感器读数可能未被检测到,或者可能给出不准确的结果。它可能会因外部条件而损坏。如果将不可靠的数据发送到高级例程,这样机器人的任务就会受到阻碍,为了应对这种情况,最好在编程阶段包含一些特定的例程,这些例程检查数据并将其传递给高级例程

军用和警用机器人必须使用允许精确移动的控制系统。例如,接近传感器可以将数据输入目标检测程序如果传感器被卡住,并且它一直在不合理的距离内发送目标的位置,程序应该能够解决这个问题。在这个阶段不包括数据检查会导致一个错误的数据被传递到更高的机器人控制过程中。然后,机器人可能会因为无法判断是否存在而停止工作一个物体在它前面或不在它前面。因此,在特定传感器的数据被发送到被解释之前,加入例行程序来检查这些数据,有助于机器人在机器人控制过程中更顺利地工作,包括机器人控制过程中的超时这也是有益的,因为它有助于机器人退出一个无休止的循环,以防出现问题。例如,如果机器人本应前进,但碰撞传感器出现故障,它可能会不断地撞到前面的墙。除非程序中包含了一些基于时间的退出条件,它可能永远停留在同一个任务中。在编程例程中包含一个任务的最大时间限制是有帮助的。如果机器人在指定的时间内未能执行任务,则超时将帮助它退出循环在程序设计中加入面向任务的机器人控制也有利于分解步骤。例如,机器人的任务可能是拾取一个对象,向左旋转90度,然后将对象放下。在这种情况下,程序可以将整个过程视为具有初始和最终条件的单个任务,一种必须执行的活动和一个返回值。一个特定于传感器的函数,如"object_pick()"可以返回一个值true或not,这取决于机器人是否拾取了对象这种方法有助于机器人平稳运行,并使其更容易识别问题区域。