Rosbridge Client 程序测试

标签 : roslibjs html

var listener = new ROSLIB.Topic({
    ros : ros,
    name : '/listener',
    messageType : 'std_msgs/String'
  });

  listener.subscribe(function(message) {
    console.log('Received message on ' + listener.name + ': ' + message.data);
    listener.unsubscribe();
  });```

```terminal
rostopic pub [topic] [msg_type] [args]
rostopic pub /listener std_msgs/String "Hello, World" ```
```terminal
roslaunch rosbridge_server rosbridge_websocket.launch```
往/listener这个topic发送消息后rqt显示的是对应下图中第二个方框。
launch文件启动的节点和topic对应一/三方框。
![rqt_graph_RosGraph.png](http://upload-images.jianshu.io/upload_images/3869738-e0f365927ea3a575.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
往**/listener**发布**hello,world**消息后,浏览器控制台输出如下图:
![listener.png](http://upload-images.jianshu.io/upload_images/3869738-afcd31fe273187bf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
笔记:
打开浏览器后,javascript得到运行。往/listener发布消息后,/listener调用订阅函数,控制台输出数据。
********
#####__测试二:__
终端启动模拟小乌龟:
```terminal
rosrun turtlesim turtlesim_node```
在web浏览器往话题上发布运动消息:
```roslibjs
var cmdVel = new ROSLIB.Topic({
    ros : ros,
    name : '/turtle1/cmd_vel',
    messageType : 'geometry_msgs/Twist'
  });

  var twist = new ROSLIB.Message({
    linear : {
      x : 2.0,
      y : 0.0,
      z : 0.0
    },
    angular : {
      x : 0.0,
      y : 0.0,
      z : 0.0
    }
  });```

![rqt_turtle.png](http://upload-images.jianshu.io/upload_images/3869738-a9960f2d9e59e323.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

你可能感兴趣的:(Rosbridge Client 程序测试)