前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Boston Dynamic(波士顿动力)开源相关-ProtoBuf描述

Boston Dynamic(波士顿动力)开源相关-ProtoBuf描述

作者头像
云深无际
发布2021-08-20 14:28:13
4.1K0
发布2021-08-20 14:28:13
举报
文章被收录于专栏:云深之无迹云深之无迹

其实我应该是整理过这样的文章,就是稿子太多,遗失在草稿箱了。借着这次小米机械狗的由头,对这个也进行一些汇总。其实也没有开源多少。。。

代码语言:javascript
复制
Boston Dynamics

关键词,任何搜索引擎都可以搜索的词

使用谷歌搜索,也只能出现这么多

小声逼逼:以后我的文章就有啦!

代码语言:javascript
复制
https://github.com/boston-dynamics/spot-sdk

先放最重要的东西,SDK

纯Python接口

包不小,稍等一会儿就搞下来了

readme

波士顿的库,只有两个

机械狗的外表

有5对摄像头,提供黑白图像和视频

侧边图

Spot 在每个臀部有 2 个执行器,每个膝盖有一个执行器。对于每个旋转平面,髋关节被称为 HX 和 HY。这会在每个轴上创建以下自由度和限制:

  • 12 个自由度,每条腿 3 个
  • 髋关节 X 轴 (HX):垂直 +/- 45 度(垂直内旋和外旋 45 度)
  • 髋关节 Y 轴 (HY):+/- 91 度,与垂直(屈曲/伸展)有 50 度偏差
  • 膝盖:从直线开始 +/- 14-160 度(屈曲/伸展范围从 14 到 160 度)

腿被称为前或后和左或右。例如,左前腿为 FL,或左后腿为 HL。一条腿的完整关节参考如下所示:

  • fl.hx 指左前臀 X
  • fl.hy 指左前臀Y
  • fl.kn 指左前膝

机器人的坐标

结果就是找到了这些

安装这两个插件

接着这些结构化的数据会变得有色彩起来

代码语言:javascript
复制
https://www.jianshu.com/p/a24c88c0526a

在简书上面找到一篇很不错得讲解的文章

目录

protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。你可以定义数据的结构,然后使用特殊生成的源代码轻松的在各种数据流中使用各种语言进行编写和读取结构数据。你甚至可以更新数据结构,而不破坏由旧数据结构编译的已部署程序。 Google

编码结构

代码语言:javascript
复制
https://developers.google.com/protocol-buffers/

谷歌的文档地址

  • XML、JSON、ProtoBuf 都具有数据结构化数据序列化的能力
  • XML、JSON 更注重数据结构化,关注人类可读性和语义表达能力。ProtoBuf 更注重数据序列化,关注效率、空间、速度,人类可读性差,语义表达能力不足(为保证极致的效率,会舍弃一部分元信息)
  • ProtoBuf 的应用场景更为明确,XML、JSON 的应用场景更为丰富。
代码语言:javascript
复制
https://developers.google.com/protocol-buffers/docs/pythontutorial

对于这个协议Python的解析法

这个东西满足了序列化的操作:

序列化就是:有时候客户端和服务端使用的都不是同一种语言(比如服务端用C++,客户端用Java或者Python)。这时候就需要客户端把参数先转成一个字节流,传给服务端后,再把字节流转成自己能读取的格式。这个过程叫序列化和反序列化。同理,从服务端返回的值也需要序列化反序列化的过程。

在这里是Python文件的二进制包,可以直接安装

代码语言:javascript
复制
https://dev.bostondynamics.com/docs/python/understanding_spot_programming

这个链接里面有着一切开始编程的例子

其实已经说明使用的是ProtoBuf的序列协议

使用SE3Pose这个结构来封装平移和旋转

在这里拥有着所有的文档集合

在文件夹的这里是大量的Python源码

如这个函数就是我们经常使用的一个数学函数

处理矩阵使用

由 Yaw('Z')-Roll('X')-Pitch('Y') 阶欧拉角表示的方向。每个角度都以弧度表示

这个就是具体的函数

源码之间是互相依赖的,静态的pylance读取不到必要的信息

具体的错误在这里,

还有很多细节,我没机器也演示不了,就这样了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档