读取g2o 文件的python实现

2023-11-12

可以读取2D 和 3D的 g2o 文件,并可以把四元数的位姿转换为节点和边数据;

import argparse
import numpy as np
import pyquaternion

####################
## File Format
####################
# Vertex
### 2D Robot Pose
##### VERTEX_SE2 i x y theta
# Edges: 
##### EDGE_SE2 i j x y theta info(x, y, theta)

### 3D Robot Pose
##### VERTEX_SE3:QUAT i x y z qx qy qz qw

##### EDGE_SE3:QUAT i j x y z qx qy qz qw Omega11 Omega12 .. Omega16 Omega22 .. Omega26 Omega33 .. Omega36 Omega44 .. Omega46 Omega55 .. Omega56 Omega66
####################

anchor_frame_line = 'FIX'
edge_line_2d = "EDGE_SE2"
vertex_line_2d = "VERTEX_SE2"
landmark_line_2d = "VERTEX_XY"
edge_quat_3d = "EDGE_SE3:QUAT"
vertex_quat_3d = "VERTEX_SE3:QUAT"

def parse_2d_edge_line(line_data):
    ref_frame = line_data[1]
    frame = line_data[2]
    x = float(line_data[3])
    y = float(line_data[4])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

读取g2o 文件的python实现 的相关文章

随机推荐

  • Elasticsearch 7 插件

    1 elasticsearch head 可视化插件 通过浏览器就能看到es的集群部署 节点 索引等信息 注意 es在5 x版本就不再支持head插件安装了 百度搜索可以有多种方式安装 我这里用的是谷歌浏览器安装es head的扩展程序 如
  • 读《携程异步消息系统实践》之总结

    读 携程异步消息系统实践 之总结 消息系统 批量 insertOnly 索引 消息投递 Partition Stick 写入事件截获 预期 Long polling 集群管理 Lease
  • Markdown 有序列表、无序列表中插入代码块

    问题描述 在列表中插入代码块 代码块总是顶格的 并且导致代码块之后的文本也是顶格的 也就是代码块的插入导致了列表的结束 如下所示 解决方法 代码块上方空出来一行 代码块左侧加8个空格或2个TAB 每一行都加 预期效果 扩展 本人个人网站上采
  • 基于Qt仿QQ效果实现图片查看器(支持查看GIF)

    主要提供两个类 第一个类显示静态图片 第二个类显示动态图片 两个类都包含图片缩小放大以及图片移动功能 最后自己封装一个类 根据判断图片是动态还是静态去调用对应的类显示图片 效果展示 判断图片类型 int showImage getImage
  • Mac系统安装Myeclipse2015CI出现虚拟内存为0的问题

    出处 http bbs feng com read htm tid 8450072 page 2 html 方法1 你可以按照9楼的朋友的方法 开启虚拟机的情况下 再安装Myeclipse 就不会出现虚拟内存为0的提示 方法2 Downlo
  • 一元二元三元表达式_2020年高考复习不等式专题训练2.三元不等式的证明

    三元不等式是二元不等式的补充形式 三元不等式和二元不等式类似 经常会有一个三元等式作为条件 解决三元不等式问题的思路大致分为两种 第一是根据等式条件减少未知量的数量 将三元转化为二元 第二是直接利用二元基本不等式的扩展形式或者将三元两两组合
  • Qt中click事件如何响应带参槽函数

    include qttest008 h include
  • Android LCD(一):LCD基本原理篇

    关键词 android LCD TFT 液晶 偏光片 彩色滤光片 背光 平台信息 内核 linux2 6 linux3 0系统 android android4 0 平台 samsung exynos 4210 exynos 4412 ex
  • PHP分页页面重复,WordPress分页标题重复如何解决

    WordPress是一款非常流行的博客程序 虽然它各方面的优化都做的不错了 但每个人的喜好都不一样 一些细节还是可以改进的 No牛网就碰到Wordpress很多的问题都不是那么好实现 毕竟不是专门做CMS的 如等下要说到的Wordpress
  • 【C++】STL库set容器

    STL库set容器 1 构造函数 2 增 2 1 insert 去重 排序 2 2 emplace 去重 排序 2 3 代码演示 3 删 3 1 erase 函数 3 1 1 erase list与vector 3 1 2 erase ma
  • 【python基础知识】20.“午饭吃什么”的python实现(产品思维-实操篇)

    文章目录 前言 练习介绍 练习目标 练习要求 项目实操 明确目标 形成技术方案 编写程序代码 数据准备 主流程逻辑搭建 完善补充确实的功能 最终代码整合 总结 前言 首先 我们回顾以下运用学到的编程知识去做一个产品的大致步骤 同时 也学了一
  • 使配置的环境变量生效

    在dos窗口中输入 set PATH C 之后 关闭该窗口 再次打开窗口 输入 echo PATH 可见配置的环境变量已经生效
  • c#中代码中多线程动态创建progressbar的实例,概念很重要可扩展很多类似概念

    以下是代码中创建progressbar的实例 int count 0 private void button4 Click object sender EventArgs e Thread th new Thread gt Form for
  • Markdown笔记:写数学公式方法

    Markdown笔记 写数学公式方法 这里简单记录一下在markdown中书写数学公式的方法 就像Stackoverflow上的经常有的挺漂亮的公式 其生成的不是图片 而MathJax引擎 在Markdown中添加MathJax引擎也很简单
  • vue项目如何运行(超详图解)

    vue项目如何运行 超详图解 1 查看node npm版本 打开cmd 输入npm v 查看npm版本 输入node v 查看node版本 若出现类似下图显示 即为安装成功 2 删除删除package lock json和node modu
  • 什么是Qt信号槽机制

    1 信号和槽概述 信号槽是 Qt 框架引以为豪的机制之一 所谓信号槽 实际就是观察者模式 发布 订阅模式 当某个 事件 发生之后 比如 按钮检测到自己被点击了一下 它就会发出一个信号 signal 这种发出是没有目的的 类似广播 如果有对象
  • React Hooks--与传统react写法比较

    React Hooks 简介 2018年底FaceBook的React小组推出Hooks以来 所有的React的开发者都对它大为赞赏 React Hooks就是用函数的形式代替原来的继承类的形式 并且使用预函数的形式管理state 有Hoo
  • oracle按照首汉字首字母排序

    按照拼音顺序 ORDER BY nlssort NAME NLS SORT SCHINESE PINYIN M 按照部首顺序 ORDER BY nlssort NAME NLS SORT SCHINESE RADICAL M 按照笔画顺序
  • websocket实现聊天室(一)

    最近接到一个聊天室的任务 之前在学校完全没有接触过这方面的需求 在网上查找资料后 基本确定了实现方案 现在就开始着手学习 在此记录一下遇到的问题 初识websocket 在简单了解websocket后 我觉得与http请求类似 不过webs
  • 读取g2o 文件的python实现

    可以读取2D 和 3D的 g2o 文件 并可以把四元数的位姿转换为节点和边数据 import argparse import numpy as np import pyquaternion File Format Vertex 2D Rob