Как управлять Turtlebot3 в Беседке с помощью веб-интерфейса? - PullRequest
0 голосов
/ 30 марта 2020

Если у меня есть смоделированный робот Turtlebot3 в Беседке, как я могу связать его и контролировать его движение с помощью самодельного веб-интерфейса HTML / Bootstrap (веб-сайт?) Я перепробовал много учебных пособий, но ни одно из них не сработало ( может быть потому что все они от нескольких лет go). Буду признателен за любые последние ссылки или учебники!

1 Ответ

0 голосов
/ 30 марта 2020

Это не то, что я делал раньше, но при быстром поиске я нашел некоторую полезную информацию.

Вам нужно использовать rosbridge_suite и указать c rosbridge_server. Последний обеспечивает двунаправленный уровень связи с низкой задержкой между веб-браузером и серверами. Это позволяет веб-сайту общаться с ROS с использованием протокола rosbridge.

Поэтому вам необходимо установить этот пакет, а затем использовать его для публикации sh a Twist сообщения от веб-сайт (на основе элементов управления пользовательского интерфейса сайта) по команде Turtlebot topi c.

Не думайте о Беседке в этом уравнении. Беседка является симулятором и использует скрытые темы и службы ROS для симуляции робота. На самом деле вам нужно сосредоточиться на том, как заставить ваш веб-сайт общаться с ROS и публиковать sh сообщение Twist для соответствующей ROS topi c.

Я также нашел библиотеку JavaScript от ROS, которая называется roslibjs, который реализует спецификацию протокола rosbridge. Поэтому вы можете использовать JavaScript для связи с ROS и опубликовать sh скорости робота с TurtleBot.

Пример выдержки из этого учебного пособия (не тестировалось):

<script type="text/javascript" type="text/javascript">
  var cmdVel = new ROSLIB.Topic({
    ros : ros,
    name : '/cmd_vel',
    messageType : 'geometry_msgs/Twist'
  });

  var twist = new ROSLIB.Message({
    linear : {
      x : 0.1,
      y : 0.2,
      z : 0.3
    },
    angular : {
      x : -0.1,
      y : -0.2,
      z : -0.3
    }
  });

  cmdVel.publish(twist);
</script>

Как вы можете видеть выше, код JavaScript создает экземпляр сообщения Twist с линейной и angular скоростями робота и затем публикует это сообщение в /cmd_vel topi c ROS. Что вам нужно сделать, это интегрировать это в свой веб-сайт, сделать скорости в этом коде динамическими c на основе элементов управления пользовательского интерфейса веб-сайта и запустить сервер rosbridge.

...