Это не то, что я делал раньше, но при быстром поиске я нашел некоторую полезную информацию.
Вам нужно использовать 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
.