Работа любых устройств с об'ектами реального мира — это довольно сложно. Какие-то клешни должны что-то захватывать, куда-то перемещать. А если не удалось захватить? Как это должна отрабатывать автоматика?

В промышленных устройствах предусматривается множество краевых ситуаций, когда надо проводить какие-то особые действия или всё останавливать и ждать оператора. Но так ли тяжёл груз ответственности, если ты делаешь что-то более простое, например, торговый автомат?

В общем, одна из систем выдачи товара -- это большая проволочная спираль, между витков которой расположены пачки чего-нибудь. Когда товар оплачен, спираль делает оборот. Товар выдвигается вперёд и падает в лоток выдачи. Что может пойти не так?

Я, честно говоря, не знаю, что же там пошло не так, но после проворота спирали пачка осталась висеть, прижатая к стеклу. Здесь налицо явный дефект автоматики. Отсутствует датчик того, что товар действительно выдан. Понятно, что сделать такой датчик непросто. Эти спирали универсальные, и пачки туда могут вставляться разных видов и разных размеров. И тем не менее, мы стоим перед фактом: автомат не смог определить, что товар не выдан. И никак не смог помочь его выдать. Кстати, товар был последний в спирали, возможно проблема была связана с этим?

Главная проблема торговых автоматов в том, что техподдержка не может устранить дефект немедленно. Если автомат не смог справиться сам, то клиент просто останется недоволен. Выставлять автомат на простой тоже нельзя — недовольны будут уже остальные.

Клиентом, к счастью, являлся не я. И клиент действительно был недоволен. Это был массивный мужик. Он стал шатать весь автомат. Выглядело это страшновато. Шатания были достаточно амплитудные. После приблизительного пятого цикла пачка действительно выпала. Автомат не пострадал, а старания клиента были вознаграждены.

Но так ведь бывает не каждый раз.

Торговые автоматы — это штуки для любителей рисковать.