Практические задания

  1. "Соберите" библиотеку ros_lib на своем роботе и перепишите ее на компьютер

  2. Загрузите и запустите на Arduino примеры Издателя и Подписчика из этого урока.

Напишите различные программы для Arduino микроконтроллера:

  1. Скетч, создающий Подписчика (Subscriber) на топик /led_control c типом сообщения std_msgs/Int32. При получении в данный топик различных значений должна выполняться следующая логика:

  • При получении значения "0" - все светодиоды D26 - D29 - не горят

  • При получении значения "1" - все светодиоды D26 - D29 - горят

  • При получении значения "26" - "29" - загорается светодиод, в зависимости от введённого номера.

2. Скетч, создающий Издателя (Publisher) для топика /button_cmd с типом сообщения std_msgs/Int31. При нажатия на кнопки D22/D25 должна выполняться следующая логика:

  • Когда обе кнопки отжаты - в топик /led_control (из прошлой программы) публикуется значение "0" - все светодиоды D26-D29 не горят

  • Когда нажата кнопка D22 - в топик /led_control публикуется значение "15" - все светодиоды D26-D29 мигают одновременно с частотой 4 Гц

  • Когда нажата кнопка D25 - в топик /led_control публикуется значение "69" - все светодиоды D26-D29 мигают попарно ( D26 и D28 / D27 и D29) с частотой 10 Гц

  • Когда обе кнопки нажаты - в топик /led_control публикуется значение "1" - все светодиоды D26-D29 - горят

Продемонстрируйте работу программ при помощи утилит rostopic

Дополнительные материалы

  1. Библиотека rosserial

  2. Библиотека rosserial_arduino

  3. Примеры использования rosserial_arduino

Last updated