Графический интерфейс
Last updated
Last updated
С помощью приложения с графическим интерфейсом вы можете использовать все функции робота и просматривать его параметры в реальном времени.
Приложение должно быть установлено на вашем компьютере и настроено сетевое соединение с роботом. Процесс установки описывается в разделе Установка ПО, настройка сетевого подключения доступна в разделах Подключение к роботу по сети и Подключение к ROS на роботе.
Убедитесь, что робот готов к работе. Запуск приложения производится командой:
Интерфейс программы делится на две составляющие. Слева находятся элементы управления роботом, справа - элементы наблюдения за состоянием робота.
Робот имеет пять режимов работы: ходьба, управление ногами, управление корпусом, управление приводами и выполнение заданных действий. Переключение между режимами осуществляется с помощью панели кнопок, находящейся в верхней левой части главного окна.
Переключение режимов построено таким образом, что когда робот лежит вы можете перейти только в режим Joints, когда робот стоит - во все остальный.
Для управления роботом, максимальный приоритет отдается джойстику. Перед тем, как управлять роботом с помощью RoboGUI, убедитесь, что джойстик в данный момент выключен.
В этом режиме вы можете управлять ходьбой робота. Для начала работы расположите робота на полу, либо на подставке и нажмите кнопку Stand up. После того, как робот встанет, вам откроется доступ к элементам управления.
Ползунки X_vel, Y_vel, Z_vel меняют желаемую скорость передвижения робота вдоль соответствующих осей.
Ползунок Stride height позволяет задавать желаемую высоту шага.
Кнопка Stop Walking ставит все ползунки в нулевое положение и полностью останавливает робота.
По нажатии на кнопку Lay Down робот ляжет на землю, управление будет выключено.
Программа управления локомоцией блокирует смену высоты шага, когда робот уже идет. Для корректной работы, сначала задайте высоту шага, а только потом желаемую скорость.
Приложение RoboGUI только отправляет команды в ros-топики. Правильность выполнения команд зависит исключительно от управляющей программы робота.
В этом режиме можно тестировать движение каждой ноги по отдельности, задавая желаемое положение ступней робота. Он удобен в ситуациях, когда нужно протестировать свой собственный алгоритм управления ногами.
При тестах мы советуем пользоваться данным режимом, когда робот находится на подставке, чтобы избежать падения робота.
Для изменения желаемой координаты ступни, вам нужно переместить соответствующий ползунок. Каждый ползунок имеет собственное имя формата <нога> <ось>. Об обозначение каждой ноги и координатной оси, рассказывается в разделе Обозначения.
Чтобы задать изначальные положения ног, нажмите кнопку Set to Zero
Данная функция служит для отладки, поэтому аккуратно перемещайте ползунки. Не дайте стопе уйти в недостижимую область.
В этом режиме вы можете управлять положением и ориентацией корпуса робота относительно его ступней.
Ползунки X pos, Y pos, Z pos отвечают за линейное перемещение вдоль осей X, Y, Z соответственно.
Ползунки X ang, Y, ang, Z ang отвечают за угловое перемещение вокруг осей X, Y, Z соответственно.
Данная функция служит для отладки, поэтому аккуратно перемещайте ползунки. Не дайте стопе уйти в недостижимую область.
Этот режим используется, когда возникает необходимость протестировать каждый привод робота по отдельности.
Каждый ползунок имеет обозначение <номер привода> <задающий параметр>. О нумерации каждого привода вы можете ознакомиться в разделе Обозначения. Задающие параметры могут быть следующего вида:
pos - угловое положение привода с учетом передаточного отношения между выходным валом двигателя и сочленением робота
vel - угловая скорость
torq - момент, развиваемый в сочленении
kp - пропорциональный коэффициент регулятора
kd - дифференциальный коэффициент регулятора
Мы советуем постепенно увеличивать коэффициенты kp и kd во избежании резкого перемещения привода, которое может повлечь за собой переход привода в неустойчивую область, большие скачки тока и поломке механической части. При этом, сначала лучше изменять значение kd и только потом - kp.
Рекомендуемые значения: kp = 5, kd = 0.3
Если вы хотите менять kp и kd сразу на всех приводах одновременно, то для этого используйте чекбокс Same KpKd.
Внизу находится кнопка Set to Zero. По нажатии на неё все поля мнгновенно обнуляются.
Этот режим предназначен для совершения роботом разовых команд. К ним можно отнести команды сидеть, дать лапу, кувырок и т.п. Обратите внимание, что команды Stand Up и Lay Down повторяют действия кнопок с такими же именами в режиме Walking. Перед выполнением команды Side Roll убедитесь что слева от робота есть 2 метра свободного пространства.
В правой части главного окна находятся элементы для отслеживания текущего состояния робота. Список доступные переменных располагается в дереве 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 может использоваться для удобного отображения состояния робота в виде графиков, обновляемых в реальном времени. Это стороннее приложение с открытым исходным кодом, часто используемое в робототехнике благодаря своей совместимости с ROS.
Для установки введите в терминале
Чтобы запустить, используйте команду
Основы работы с Plotjuggler рассказываются в инструкции разработчика. О дополнительных возможностях вы можете узнать из презентаций 1, 2 и 3.
Для того, чтобы отобразить данные робота, в выпадающем списке панели Streaming выберите пункт ROS Topic Subscriber, и далее нажмите кнопку Start.
В открывшемся окне Select ROS messages выберите топик /robot_state и нажмите кнопку ОК.
После загрузки всех необходимых сигналов, они отобразятся в списке Timeseries List. Для их отображения, вам нужно будет перетащить мышкой нужные вам сигналы в область графика.