帮助中心
帮助中心主页
API
TCP/IP API
机器人状态API
API简介

Robokit向用户开放机器人操作的相关 API。整套 API 采用 TCP request/response 问答的方式, 机器人作为服务器接受客户端的请求并向客户端作出响应。API 请求由头部和数据区组成,头部是定长的, 用于标识数据包基本信息以及数据区的长度及类型等,数据区为序列化后的 JSON 数据,根据头部中的类型信息进行反序列化可以得到相应的 JSON 对象。API 的响应也由头部和数据区组成,头部为根据请求得到的定长字节(响应头部与对应请求头部的关系见下文), 数据区也为序列化后的 JSON 数据。

API 测试及例程

我们将 API 测试工具开源在 Github, Source, 该工具使用 Qt 编写, 其源码可以作为例程参考。编译后的单 Windows 可执行文件也可在 Release 中下载。
如需 C# 例程,请点击该链接

API 类别

API 分为六类, 分别为机器人状态 API、机器人控制 API、机器人导航 API、机器人配置 API、其他 API、机器人推送 API。

  1. 机器人状态 API : 用于查询机器人各种状态量, 如位置、速度、报警信息等。
  2. 机器人控制 API : 用于向机器人发送开环控制指令, 如前进速度、转向速度,重定位等。
  3. 机器人导航 API : 用于向机器人发送导航指令, 如路径导航,平动转动等。
  4. 机器人配置 API : 用于设置机器人的参数, 以及下载、上传地图等。
  5. 其他 API : 杂项, 如音频控制等。
  6. 机器人推送 API : 用于机器人主动推送数据到当前连接的客户端。

每个类别使用不同的端口, 相互独立

端口

类别端口允许连接数
机器人状态 API1920410
机器人控制 API192055
机器人导航 API192065
机器人配置 API192075
其他 API192105
机器人推送 API1930110

注意

  • 每个端口 API 请求的时间间隔最快建议为 100~200ms,请勿过快。
  • 机器人将对每个建立的 TCP 连接使用 TCP KeepAlive 机制进行保活, 对已死的连接会及时清除。
  • 机器人若收到任何不符合本协议报文头部的错误数据包, 将会主动关闭该 TCP 连接(不会回复任何信息)。
  • 其他情况下, 机器人不会主动断开连接, API 使用者应自己控制连接何时中断。
  • 对于每个连接, 机器人都是以一问一答的形式进行处理的, 即未作出响应前是不会处理下一个请求的, 因此建议在使用时,先等待收到上一次请求的响应后再发送下一个请求。
最近更新 2022/11/28
文章内容

API 测试及例程

API 类别

端口