Графический интерфейс

RoboGUI

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

Запуск

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

Убедитесь, что робот готов к работе. Запуск приложения производится командой:

roslaunch robogui robogui_start.launch

Использование приложения

Интерфейс программы делится на две составляющие. Слева находятся элементы управления роботом, справа - элементы наблюдения за состоянием робота.

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

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

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

Режим Walking

В этом режиме вы можете управлять ходьбой робота. Для начала работы расположите робота на полу, либо на подставке и нажмите кнопку Stand up. После того, как робот встанет, вам откроется доступ к элементам управления.

Ползунки X_vel, Y_vel, Z_vel меняют желаемую скорость передвижения робота вдоль соответствующих осей.

Ползунок Stride height позволяет задавать желаемую высоту шага.

Кнопка Stop Walking ставит все ползунки в нулевое положение и полностью останавливает робота.

По нажатии на кнопку Lay Down робот ляжет на землю, управление будет выключено.

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

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

Режим Legs

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

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

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

Чтобы задать изначальные положения ног, нажмите кнопку Set to Zero

Данная функция служит для отладки, поэтому аккуратно перемещайте ползунки. Не дайте стопе уйти в недостижимую область.

Режим Body

В этом режиме вы можете управлять положением и ориентацией корпуса робота относительно его ступней.

Ползунки X pos, Y pos, Z pos отвечают за линейное перемещение вдоль осей X, Y, Z соответственно.

Ползунки X ang, Y, ang, Z ang отвечают за угловое перемещение вокруг осей X, Y, Z соответственно.

Данная функция служит для отладки, поэтому аккуратно перемещайте ползунки. Не дайте стопе уйти в недостижимую область.

Режим Joints

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

Каждый ползунок имеет обозначение <номер привода> <задающий параметр>. О нумерации каждого привода вы можете ознакомиться в разделе Обозначения. Задающие параметры могут быть следующего вида:

  • pos - угловое положение привода с учетом передаточного отношения между выходным валом двигателя и сочленением робота

  • vel - угловая скорость

  • torq - момент, развиваемый в сочленении

  • kp - пропорциональный коэффициент регулятора

  • kd - дифференциальный коэффициент регулятора

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

Рекомендуемые значения: kp = 5, kd = 0.3

Если вы хотите менять kp и kd сразу на всех приводах одновременно, то для этого используйте чекбокс Same KpKd.

Внизу находится кнопка Set to Zero. По нажатии на неё все поля мнгновенно обнуляются.

Режим Cute Actions

Этот режим предназначен для совершения роботом разовых команд. К ним можно отнести команды сидеть, дать лапу, кувырок и т.п. Обратите внимание, что команды Stand Up и Lay Down повторяют действия кнопок с такими же именами в режиме Walking.

Состояние робота

В правой части главного окна находятся элементы для отслеживания текущего состояния робота. Список доступные переменных располагается в дереве Signals, отсортированных по их принадлежности:

  • Desired Values - команды, поступающие на робота из верхнего уровня;

  • Joint States - текущие состояния приводов робота, такие как угловое положение, скорость и момент;

  • Body States - угловое положение и линейные ускорения тела робота;

  • Commands to HL from LL - команды, поступающие из контроллера локомоции на аппаратную платформу;

  • Foot Positions - текущее положение ступней робота относительно тела робота.

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

Если вы хотите удалить сигнал из поля Chosen Signals, выберите его и нажмите клавишу Del.

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

Управляющее устройство

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

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

PlotJuggler

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

Установка

Для установки введите в терминале

sudo apt install ros-noetic-plotjuggler-ros

Чтобы запустить, используйте команду

rosrun plotjuggler plotjuggler

Использование

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

Для того, чтобы отобразить данные робота, в выпадающем списке панели Streaming выберите пункт ROS Topic Subscriber, и далее нажмите кнопку Start.

В открывшемся окне Select ROS messages выберите топик /robot_state и нажмите кнопку ОК.

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

Last updated