Область техники, к которой относится изобретение
Изобретение относится к способу управления роботом, который может быть использован для антропоморфных роботов, роботов манипуляторов, медицинских, военных, а также космических роботов.
Уровень техники
Из уровня техники известен способ управления роботом (https://hi-news.ru/technology/v-mit-nauchilis-upravlyat-robotami-s-pomoshhyu-virtualnoj-realnosti.html, опубл. 06.10.2017).
Основным недостатком является, то что известный способ не имеет функцию калибровки системы координат шлема и контроллеров относительно тела пользователя, не производиться вычисление масштабного коэффициента кинематики робота по отношению к кинематике человека, в виртуальном пространстве используются дополнительные элементы управления манипуляторами робота. Для управления манипуляторами робота, в виртуальном пространстве необходимо взаимодействовать с дополнительными элементами управления, которые являются неким буфером. Так как параметры тела у разных пользователей разные, то и перемещение дополнительных элементов управления в виртуальном пространстве будет разное, что будет сказываться на перемещении манипулятора в реальном пространстве. В таком способе будет происходить эффект рассогласования, т.е. у одних пользователей на вытянутую руку манипулятор будет вытягиваться частично, у других при вытягивании руки на половину, манипулятор будет вытянут полностью. Это сказывается на скорости управления, точности управления и времени обучения.
Также данный способ не позволяет управлять всем телом робота (база, туловище, голова), а лишь его манипуляторами и системой компьютерного зрения (видеокамерами).
Заявленное изобретение устраняет указанные недостатки и позволяет достичь заявленный технический результат.
Раскрытие изобретения
Технической задачей, которую решает предлагаемое решение, является разработка способа управления роботом в режиме реального времени, повышающего эффективность работы оператора с роботом на удаленном расстоянии, обеспечивающего возникновение эффекта полного присутствия, повышенной точности и скорости управления роботом, в том числе всем его телом.
Технический результат заключается в повышении эффективности работы оператора с роботом на удаленном расстоянии в режиме реального времени, исключении эффекта рассогласования действий между пользователем и роботом, возникновении эффекта полного присутствия, повышении точности и скорости управления роботом, в том числе всем его телом.
Для решения поставленной задачи с достижением заявленного технического результата способ управления роботом с помощью контроллеров и шлема виртуальной реальности включает следующие этапы:
производят калибровку системы координат шлема и контроллеров относительно тела пользователя;
вычисляют масштабный коэффициент кинематики робота по отношению к кинематике человека;
получают текущие координаты углов Эйлера контроллеров и шлема виртуальной реальности и передают от сервера клиенту;
преобразовывают полученные координаты контроллеров и шлема виртуальной реальности в координаты робота используя ранее рассчитанный масштабный коэффициент;
рассчитывают углы сочленений робота по преобразованным координатам;
преобразовывают полученные углы Эйлера контроллеров и шлема виртуальной реальности в углы робота;
передают данные на исполнительные механизмы робота по проводному или беспроводному каналу связи.
При калибровке системы координат шлема и контроллеров относительно тела пользователя, определяют длину перемещения рук и длину перемещения тела пользователя.
При расчете углов сочленений робота по преобразованным координатам, используют метод обратной кинематики.
При преобразовании полученных углов Эйлера контроллеров и шлема виртуальной реальности в углы робота, используют матрицу вращения.
Осуществление изобретения
Для реализации способа необходимо: визуальная среда разработки (например, компьютерных игр типа Unity visual studio), шлем и контроллеры виртуальной реальности (например, типа HTC Vive), персональный компьютер поддерживающий систему виртуальной реальности, сервер - программное приложение работающее с контроллерами и шлемом виртуальной реальности, клиент - программное приложение подключаемое к серверу для приема данных от контроллеров и шлема, а также расчёта углов сочленений робота и преобразования рассчитанных данных в известный протокол для дальнейшей передачи преобразованных данных роботу, сервер робота - программное приложение принимающее преобразованные данные от клиента и передающее команды на исполнительные механизмы, а также для считывания текущих параметров исполнительных механизмов, таких как: температура, ток, напряжение, текущее положение и передача их клиенту; беспроводное или проводное интернет подключение, робот с известной кинематической схемой.
Заявленный способ включает следующие этапы:
производят калибровку системы координат шлема и контроллеров относительно тела пользователя;
вычисляют масштабный коэффициент кинематики робота по отношению к кинематике человека;
получают текущие координаты углов Эйлера контроллеров и шлема виртуальной реальности и передают от сервера клиенту;
преобразовывают полученные координаты контроллеров и шлема виртуальной реальности в координаты робота используя ранее рассчитанный масштабный коэффициент;
рассчитывают углы сочленений робота по преобразованным координатам;
преобразовывают полученные углы Эйлера контроллеров и шлема виртуальной реальности в углы робота;
передают данные на исполнительные механизмы робота по проводному или беспроводному каналу связи.
1) Калибровка шлема и контроллеров относительно тела пользователя;
На персональном компьютере с подключенной системой виртуальной реальности HTC Vive, в визуальной среде разработки Unity visual studio, производим калибровку системы координат шлема и контроллеров по отношению к пользователю. Основная цель калибровки заключается в определении параметров тела пользователя и его текущей позиции. Для решения поставленной задачи достаточно знать: длину перемещения рук пользователя из положения - руки согнуты в локтях, локти опущены вниз вдоль тела, запястья прижаты к груди, в положение - руки вытянуты перед собой, параллельно друг к другу и перпендикулярны туловищу, - руки вытянуты вверх параллельны друг другу, - руки вытянуты в стороны, перпендикулярно туловищу; длину перемещения тела из положения сидя - min в положение стоя - max; углы Эйлера контроллеров и шлема системы виртуальной реальности - голова расположена прямо, запястья рук не согнуты. Фиксация координат рук из точки min в точку max производиться путем нажатия и удержания кнопок на левом и правом контроллере системы виртуальной реальности. После того как руки будут вытянуты т.е. находится в точке max, кнопки на контроллерах отжимаются. Для фиксации координат туловища необходимо встать ровно, держа голову прямо, зажать кнопку на одном из контроллеров, после чего сесть и отпустить кнопку.
Во время выполнения данной процедуры производится считывание координат и углов Эйлера левого и правого контроллеров, а также шлема системы виртуальной реальности в визуальной среде разработки.
Считываются следующие параметры:
- начальное положение тела со шлемом в момент калибровки, в положении сидя;
- начальный поворот левой и/или правой руки с контроллерами;
- начальный поворот тела со шлемом;
- максимальная положение левой и/или правой руки с контроллерами;
- минимальное положение левой и/или правой руки с контроллерами;
- максимальное положение тела со шлемом вдоль оси OZ;
- минимальное положение тела со шлемом вдоль оси OZ.
Все данные передаются на сервер, где вычисляются параметры рук и туловища оператора, используя следующие формулы:
где
- длина перемещения левой и/или правой руки с контроллерами;
- длина перемещения тела со шлемом вдоль оси OZ.
2) Вычисление масштабного коэффициента кинематики робота по отношению к кинематике человека.
Зная кинематическую схему робота, а также вычисленные параметры тела пользователя можно посчитать масштабный коэффициент кинематики робота по отношению к кинематике человека:
где
- масштабный коэффициент для левого и/или правого манипулятора.
- длина перемещения левого и/или правого манипулятора;
- масштабный коэффициент высоты робота.
3) Получение текущих координат, углов Эйлера контроллеров и шлема виртуальной реальности и их дальнейшая передача от сервера клиенту.
После расчета масштабных коэффициентов начинается непрерывная передача следующих данных от сервера к клиенту:
, , , , , , ,
где
- текущие положение левой и/или правой руки с контроллерами;
- текущие положение тела со шлемом вдоль оси OZ;
- текущие углы Эйлера контроллеров;
- текущие углы Эйлера шлема.
4) Преобразование полученных координат системы виртуальной реальности, в координаты робота используя ранее рассчитанный масштабный коэффициент.
Для того чтобы координаты контроллеров изменялись относительно начальных координат шлема виртуальной реальности, необходимо учесть смещение этих координат:
- смещение координат шлема относительно начальной координаты в момент калибровки.
Тогда:
,
где - координата, левого и/или правого, рабочего органа или захвата манипулятора;
- матрица смещения координат по осям OX, OY, OZ, левого и/или правого, рабочего органа или захвата манипулятора.
Координаты базы робота или туловища вдоль оси OZ получаем следующим образом:
5) Расчет углов сочленений робота по преобразованным координатам используя метод обратной кинематики. Преобразование полученных Эйлеровских углов системы виртуальной реальности, в углы робота, используя матрицу вращения.
Расчет углов сочленений робота можно произвести используя геометрический подход к решению обратной задачи кинематики. Также можно использовать любой другой известный способ для решения поставленной задачи.
При использовании геометрического подхода решение производится в два этапа:
• Сначала вычисляется вектор, направленный от плеча к запястью. Проекции этого вектора на плоскость используются при нахождении присоединенного угла сочленения для первых трех сочленений.
• Использование предыдущего решения для решения последних трех сочленений, подматрицы поворота матриц и и проекции систем координат звеньев на плоскость .
Для различных манипуляторов с вращательными сочленениями возможны различные типы конфигурации, которые определяются по аналогии с геометрией руки человека. Типы конфигурации манипулятора устанавливаются следующим образом:
Для управления базой или туловищем, запястьем и головой робота в дополнении используется переключатель:
Значения индикаторов задаются пользователем до начала решения обратной задачи кинематики, а значения переключателей могут задаваться в процессе решения.
Для управления сочленением в области запястья манипулятора используем полученные от контроллеров углы Эйлера. Для управления сочленением в области головы робота используем углы Эйлера шлема системы виртуальной реальности. При необходимости производим вращение по углам Эйлера, тогда конечные углы сочленений в области запястья, и в области головы робота будут выражаться следующим образом:
;
.
6) Передача данных на исполнительные механизмы робота любым известным способом, по проводному или беспроводному каналу связи.
Полученные углы сочленений, углы Эйлера передаются любым известным способом на сервер робота, преобразуются в соответствующий интерфейс управления и передаются на исполнительные механизмы.
В отличии от известного решения, в предложенном способе производится калибровка системы координат шлема и контроллеров виртуальной реальности относительно тела пользователя, производиться вычисление масштабного коэффициента кинематики робота по отношению к кинематике человека, дополнительные виртуальные элементы управления исключены, все данные передаются напрямую от шлема и контроллеров виртуальной реальности. Таким образом, решается проблема эффекта рассогласования действий между пользователем и роботом. Т.е. манипулятор робота в реальном пространстве в собственной системе координат, будет перемещаться в том же соотношении, что и рука человека в своей системе координат.
Изобретение относится к области управления роботом и может быть использовано для антропоморфных роботов, роботов манипуляторов, медицинских, военных, а также космических роботов. Способ управления осуществляют с помощью контроллеров и шлема виртуальной реальности. Производят калибровку системы координат шлема и контроллеров относительно тела пользователя, вычисляют масштабный коэффициент кинематики робота по отношению к кинематике человека, получают текущие координаты углов Эйлера контроллеров и шлема виртуальной реальности и передают от сервера клиенту. Полученные координаты контроллеров и шлема преобразовывают в координаты робота, используя ранее рассчитанный масштабный коэффициент. Рассчитывают углы сочленений робота по преобразованным координатам, преобразовывают полученные углы Эйлера контроллеров и шлема в углы робота и передают данные на исполнительные механизмы робота по проводному или беспроводному каналу связи. В результате повышается эффективность работы оператора с роботом на удаленном расстоянии в режиме реального времени, исключается эффект рассогласования действий между пользователем и роботом и повышается точность и скорость управления. 3 з.п. ф-лы.
1. Способ управления роботом с помощью контроллеров и шлема виртуальной реальности, отличающийся тем, что он включает следующие этапы:
производят калибровку системы координат шлема виртуальной реальности и контроллеров относительно тела пользователя,
вычисляют масштабный коэффициент кинематики робота по отношению к кинематике человека,
получают текущие координаты углов Эйлера контроллеров и шлема виртуальной реальности и передают от сервера клиенту,
преобразовывают полученные координаты контроллеров и шлема виртуальной реальности в координаты робота, используя ранее рассчитанный масштабный коэффициент,
рассчитывают углы сочленений робота по преобразованным координатам,
преобразовывают полученные углы Эйлера контроллеров и шлема виртуальной реальности в углы робота и
передают данные на исполнительные механизмы робота по проводному или беспроводному каналу связи.
2. Способ по п.1, отличающийся тем, что при калибровке системы координат шлема и контроллеров относительно тела пользователя определяют длину перемещения рук и длину перемещения тела пользователя.
3. Способ по п.1, отличающийся тем, что при расчете углов сочленений робота по преобразованным координатам используют метод обратной кинематики.
4. Способ по п.1, отличающийся тем, что при преобразовании полученных углов Эйлера контроллеров и шлема виртуальной реальности в углы робота используют матрицу вращения.
СИСТЕМА И СПОСОБ ДЛЯ ЗАХВАТА ДВИЖЕНИЙ И ПОЛОЖЕНИЯ ТЕЛА ЧЕЛОВЕКА И ЧАСТЕЙ ТЕЛА ЧЕЛОВЕКА | 2017 |
|
RU2662399C1 |
СПОСОБ ОТСЛЕЖИВАНИЯ И ОТОБРАЖЕНИЯ ПОЛОЖЕНИЯ И ОРИЕНТАЦИИ ПОЛЬЗОВАТЕЛЯ В ПРОСТРАНСТВЕ И СИСТЕМА ДЛЯ ОСУЩЕСТВЛЕНИЯ СПОСОБА | 1996 |
|
RU2107328C1 |
СИСТЕМА ПРОЕКТИРОВАНИЯ ОБЪЕКТОВ В СРЕДЕ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ В РЕАЛЬНОМ ВРЕМЕНИ | 2017 |
|
RU2656584C1 |
СПОСОБ И СИСТЕМА ОБРАТНОГО ОПТИЧЕСКОГО ТРЕКИНГА ПОДВИЖНОГО ОБЪЕКТА | 2018 |
|
RU2697942C1 |
US 5963891 A1, 05.10.1999. |
Авторы
Даты
2020-03-31—Публикация
2019-09-11—Подача