美文网首页
机器人ros通信浅析,object c java 等无缝对接

机器人ros通信浅析,object c java 等无缝对接

作者: 姬拉 | 来源:发表于2017-04-27 10:16 被阅读204次

    去年火直播今年火机器人.......

    一谈到机器人各个模块直接的通信肯定是跑不掉的。专业的都会用ros这个老外框架。框架地址:http://www.ros.org/

    这个网站教程非常完整。但是只是针对c++居多,一旦你想用java或者其他系统当做ros中的一个模块那么集成时候问题就来了,资料少的可怜,还都他娘是洋文。

    接下来笔者简单介绍一二,可能会给大家带来一些帮助。

    从java或者object c  或者net...而言ros就是个websocket的再次封装。如果你用java言语去连接ros通信 实际上就是websocket的连接方式:”ws://localhost:9090“

    连接成功以后接下来常用的会有两个

    1.topic

    topic分为三个流程 创建 订阅 发布

    这三个流程实际上就是向websocket的服务端发送一坨特定格式的json,格式在这如果要解释清楚很累,可以在文件结束加群一起学习。

    所有有订阅了这个topic的模块就能收到消息,有点广播的意思。

    2.service

    service一问一答,是客户端发起服务端返回,类似http post这个过程,是有针对性的。

    service 分为创建 发送。

    整个过程就是用websocket客户端连接上ros所在的服务端,接下来的通信就是走websocket方式,只是数据是特定的json结构,接下来简单讲下这个数据结构

    key "op": 以下几种 

    service_response. 

    unadvertise_service.

    call_service.

    advertise_service.

    publish.

    fragment

    subscribe.

    unsubscribe.

    unadvertise

    advertise

    解析来

    key "topic/service" 请求模式 值对应的是路径 type 指的是个结构体路径,这里可以直接写 string

    msg是发送的内容,这个和type类型一一对应的

    总之 ros 在java 或者object c或者net上就是建立在websocket连接上的一种数据传输格式。

    本人课余喜欢研究  object pascal ,object c ,java,玩些 c# 。欢迎广大IT男加群 (367276878)互相学习

    相关文章

      网友评论

          本文标题:机器人ros通信浅析,object c java 等无缝对接

          本文链接:https://www.haomeiwen.com/subject/bqjgzttx.html