解决Rosbridge自定义action信息问题

前言:利用rosbridge开发一个网页版的action客户端。

一:rosbridge原理:

        rosbridge协议:该协议的基本思想是将节点间的分布式通信,改成“client节点”与一个代理节点进行C/S通信,然后代理节点再将请求转发给server节点,这样客户端就不需要实现整个ROS平台,只需要跟代理节点通信即可。

        网页上将发布的信息封装成json,通过websocket解析到代理节点,代理节点就可以转化为ros节点通信发布给Server端。

官方的rosbridge教程:rosbridge

ROSBridge简介以及理解使用博客:rosbridge

二、简单的examble分析:

网页实现部分代码:        

        第一部分:链接到两个roslib.js。官方提供的两个文件,用于链接到本地的websocket进行与ros交互。

<script type="text/javascript" src="http://static.robotwebtools.org/EventEmitter2/current/eventemitter2.min.js"></script>
<script type="text/javascript" src="http://static.robotwebtools.org/roslibjs/current/roslib.min.js"></script>

       第二部分:发布与订阅信息。

/*向节点发送信息,创建一个topic,它的名字是'/position',,消息类型是'geometry_msgs/Twist'*/
  var cmdVel = new ROSLIB.Topic({
    ros : ros,
    name : '/position',
    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
    }
  });//创建一个message
  function func()//在点击”Publish”按钮后发布消息
  {
    cmdVel.publish(twist);//发布twist消息
   
  }
/*从节点获取信息*/
    var listener = new ROSLIB.Topic({
    ros : ros,
    name : 
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值