joy_converter

Описание пакета joy_converter

Данный пакет осуществляет перевод данных джойстика, поступающих с пакета Joy, в управляющие команды для МОРСа (в частности, cmd_commutator).


Настройка пакета производится через конфигурационный файл.

Если вы хотите сконфигурировать пакет локально, то используйте файл: mors_base/joy_converter/config/joy_converter_config.yaml Эта конфигурация используется при ручном запуске конкретно этого пакета.

Если вы хотите сконфигурировать пакет, чтобы конфигурация учитывалась при запуске через roslaunch mors bringup.launch тогда используйте файл: mors_base/mors/config/joy_converter_config.yaml


Описание конфигурационного файла

Стандартный пакет Joy выдает сообщение, имеющее два поля: Joy.axes и Joy.buttons. Внутри каждого поля находится массив значений. За сопоставление наименования кнопки и порядкового номера в массиве отвечает блок joystick_config.

# joy_converter_config.yaml

joystick_config:
# rstick_x: [0,3]:
# '0' - get data from Joy.axes or Joy.buttons:
# 0 - Joy.axes, 1 - Joy.buttons
# '3' - index in array. Array in Joy.axes/Jot.buttons
  {
  rstick_x: [0,3],
  rstick_y: [0,4],
  lstick_x: [0,0],
  lstick_y: [0,1],
  rbtn_small: [1,5],
  rbtn_big: [0,5],
  rstick_btn: [1,10],
  lbtn_small: [1,4],
  lbtn_big: [0,2],
  lstick_btn: [1,9],
  lpad_x: [0,6],
  lpad_y: [0,7],
  rpad_down: [1,0],
  rpad_left: [1,2],
  rpad_up: [1,3],
  rpad_right: [1,1],
  start_btn: [1,7],
  mode_btn: [1,6],
  joy_btn: [1,8]
  }

Поле joystick_config содержит преднастроенные значения, которые подходят для популярных джойстиков: Logitech Gamepad F710, Microsoft X-Box 360 pad.


Настройка конфигурационного файла под нестандартный джойстик

Если преднастроенные параметры вам не подходят то отредактируйте поле следующим образом:

  • Запустите пакет Joy и подпишитесь на его топик /joy

    • В первом терминале запустите roscore командой roscore

    • Во втором терминале запустите пакет Joy командой rosrun joy joy_node

    • В третьем терминале подпишитесь на топик командой rostopic echo /joy

  • Нажимайте кнопки и двигайте стики, отмечая какое значение в сообщении топика меняется

  • Названия кнопок в конфигурационном файле и места, где они расположены на джойстике:

    • Первое значение (в примере выше - 0) отвечает за поле сообщения Joy (Joy.axes или Joy.buttons) откуда брать значения. 0 - Joy.axes, 1 - Joy.buttons

    • Второе значение (в примере выше - 3) отвечает за порядковый номер массиве значения этого поля. Нумерация ведётся с нуля.

    • Таким образом, данные для rstick_x хранятся в сообщении топик /joy в следующем месте:

  • Сопоставьте все кнопки и стики джойстика, а затем перезагрузите пакет joy_converter

Last updated