Подписаться на новости
brand brand
logo logo
Сообщество робототехников

Robot Control Technologies

о компании

Язык Robot Control Meta Language (RCML) является языком программирования высокого уровня, позволяющим абстрагироваться от аппаратной части робота, что существенно упрощает описание действий робота или группы роботов, выполняющих поставленную технологическую задачу.

 

Цели языка

1.1 Получение одинакового результата независимо от исполнения робота

Программист, может не уделять внимание, конструктивным особенностям робота, характерных для продукции разных производителей, всецело посвятив себя автоматизации его действий, опираясь на набор функциональных возможностей, доступных для робота.

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

На практике это дает ряд конкретных преимуществ производству:

  • Можно приобретать роботов с одинаковым функционалом у разных производителей, так как не потребуется корректировки программного обеспечения для выполнения конкретных задач;
  • Становится доступной модернизация роботов, и даже их обновление без остановки производственного процесса связанной с корректировкой основной программы под новых роботов;
  • Обеспечение преемственности функциональных возможностей, посредством языка RCML, позволяет эффективно перестраивать аппаратную базу исходя из потребностей технологического процесса, не останавливая производственный процесс;
  • Предоставляется возможность переносить программу между роботами, не подвергая её изменению, при условии, что машины имеют одинаковые функциональные возможности.

Основным достоинством языка является доступность универсализации всех роботов, имеющих одинаковые функции. Неважно, где они сделаны в Японии или в США, теперь можно запрограммировать их для решения конкретной задачи, не учитывая конструктивные, программные и аппаратные особенности. Такая возможность, существенно сокращает расходы на модернизацию и адаптацию производства под новых роботов, в которой теперь, при определённых условиях, отпадает необходимость.

 

1.2 Создание условий для совместной работы роботов, что позволяет эффективнее решать поставленные задачи

Имеется возможность использовать несколько роботов для выполнения поставленной цели, при этом язык RCML позволяет описать, как должен действовать той или иной робот по отношению к результату действий другого робота.

 

Такие возможности позволяют реализовывать ряд возникающих задач:

 

1. Синхронность

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

Пример:

  • Один робот не способен переместить груз, в таком случае обеспечивается перемещение объекта несколькими машинами одновременно и синхронно;
  • Сбор элемента конструкции — роботы подносят разные детали, выполняя не идентичные действия, но при этом работают абсолютно синхронно по времени;
  • Сужение кольца боевыми роботами при загоне цели. Роботы начинают сближение синхронно, но каждый по своей траектории или даже алгоритму соответствующему окружающим условиям.

Таким образом, обеспечивается слаженная работа нескольких роботов как единого целого. Роботы объединены единой целью, при этом выполняемые действия могут быть идентичными, асинхронными, но главное, что все они согласованы с операциями, выполняемыми всеми роботами, входящими в рабочую группу.

 

2. Выполнение роботами задач в асинхронном режиме

Это ускоряет производственный процесс, то есть происходит распределение задач между машинами. Это эффективно в задачах, где последовательность каких-то промежуточных действий не важна.

Пример:

  • Перемещение механизмов в определённую точку к грузу — роботы не должны синхронно изменять расстояние до объекта, в отличие от примера с подъемом груза, где им надо было поднимать груз, строго вместе координируя усилие, так как в том случае асинхронность провоцирует дисбаланс;
  • Доставка деталей к месту сборки механизма — элементы конструкции, могут перемещаться в произвольном порядке, а вот непосредственно сборка, выполняется синхронно и слаженно.

Таким образом, удаётся заставить машины выполнять конкретные задачи в произвольном порядке, например, объявить общий сбор роботов, работающих в цехе. Неважно, в какой последовательности роботы прибудут в указанную точку, также не обязательно их одновременное прибытие. Идентичная ситуация с доставкой деталей для сборки, задача роботов просто принести нужные элементы, последовательность не имеет значения.

 

3. Последовательность в действиях группы роботов

Машины выполняют задачи в строгой очерёдности, каждый следующий приступает к работе после того, как предыдущий выполнит свою часть задачи. Актуальная такая система в ситуации, когда действия роботов взаимозависимы и следующий, не может начать работу, пока предыдущий этап не будет выполнен. Также это востребовано в задачах, где действия следующего робота должны зависеть от результата действий предыдущего.

Пример:

  • В задачах сборки примером может быть скрепление двух деталей болтом с гайкой, робот навинчивающий гайку на болт не должен приступать к выполнению своей функции, пока другой робот не вставит болт в отверстие.
  • Укладка кабеля в траншею — один робот роет траншею, а другой укладывает кабель, пока первый робот не прокопает очередной метр траншеи, второй не сможет проложить в этот же метр кабель;

Программируя машины, таким образом, заложить реакцию последующего робота на результат действий предыдущего, и менять алгоритм поведения в зависимости от условий. Это очень удобная функция, потому что роботы работают как части одного механизма, взаимно дополняя друг друга.

 

1.3 Значительное упрощение программирование робота, снижение порога входа в эту область

Программисту, чтобы составить рабочую программу, больше нет нужды углубляться во все нюансы, касающиеся аппаратной или программной составляющей робота, его марки, модели или производителя.

Опираясь только на предоставленное производителем описание функционала робота, в надлежащей форме, разработчик может писать рабочие программы сразу для всех роботов обладающих необходимым ему функционалом и быть уверенным в неизменности результата при использовании различных конкретных роботов.

Пример:

  • Cборка конструкции — программист задаёт нужный порядок действий, опираясь на функциональные возможности машин, при этом работу смогут выполнять роботы, изготовленные любыми производителями, но имеющие идентичные функции;
  • Программисту достаточно изучить язык RCML, не углубляясь в тонкости языков программирования, характерных для каждого из производителей, при этом роботы будут выполнять поставленную задачу одинаково.

Иными словами, отпадает необходимость изучать особенности каждого из роботов, происходит унификация всех однотипных роботов, при условии идентичного функционала, значит, время на программирование будет тратиться намного меньше, таким образом, повышается производительность труда программистов.

 

1.4 Оптимальный выбор робота для решения конкретной задачи

Поскольку программист при написании программы на языке RCML опирается только на функциональные возможности робота, то на этапе написания программы может быть не известен конкретный робот, который будет исполнять программу. Благодаря этому возможен автоматизированный подбор, по ряду различных критериев, машины, которая имеет необходимый функционал и будет выполнять поставленную задачу.

Примерами критерия выбора могут быть:

  • Наиболее близкостоящий робот к месту выполнения своей задачи;
  • Наиболее эффективный;
  • Наименее ресурсозатратный робот;
  • И другие.

Пример:

Имеется два робота для перевозки грузов, грузоподъёмность первого — 50кг, второго — 250 кг. Первый потребляет 5 КВ/час, второй 10 КВ/час. При перевозке малых грузов до 50 кг, можно задействовать обоих, но наиболее дешев будет первый, т.к. потребление им ресурсов минимально и достаточно для выполнения поставленной задачи. Однако если первый будет занят, а время исполнения доставки критично, то система может задействовать второго робота для перевозки груза, т.к. его функционал дублирует функционал первого робота.

При этом алгоритм выбора робота, может быть изменен на собственный.

 

1.5 Переключение робота между несколькими одновременными задачами

Используя язык программирования RCML, можно добиться включения робота в рабочий процесс в определенной стадии в определённое время, и исключения из рабочего процесса, когда робот более не нужен.

Таким образом, робот представляется, как ресурс, который может быть задействован и освобожден, это дает возможность роботу на протяжении времени участвовать в решении нескольких задач, переключаясь между ними, только тогда, когда это будет необходимо. Это позволяет значительно снизить и почти исключить время простоя робота, повысив производительность его труда.

Пример:

Выполняется сборка автомобиля, завершающим этапом которой является покраска. Есть две сборочных площадки, работа организовывается так, что покраска на первой площадке совпадает с серединой сборки на втором участке. Робот, покрасив первую машину, отправляется на вторую площадку, на которой к тому времени завершена сборка. Таким образом, не нужно покупать двух роботов для выполнения работы, так как имеющийся механизм будет переключаться между площадками лишь в тот момент, когда он действительно нужен.

Реализация этого принципа позволяет экономить, задействуя одного и того же робота в разных задачах одновременно. При этом при описании каждой задачи нужно указать возможные места простоя робота, и тогда робот сможет переключаться на другую задачу в указанном месте исполнения.

новости

brand brand