kalibr使用记录

news/2024/11/17 9:51:21/

起因

本来一直都是直接使用ROS的camera_calibration package标定stereo camera的,最近有个工作需要用kalibr标定。还从来没用过,倒腾了一阵,发现还起步比较曲折,但是最后还是挺顺利,这记录一下。

使用的平台是Ubuntu 16.04 LTS, ROS kinetic. kalibr直接从github上clone下来。

kalibr 编译

Github的readme上也没写清楚,看看源码文件夹发现应该是放到catkin工作目录里面直接build。测试了一下,编译没有通过,系统上缺少 libv4l, 通过apt-get直接安装

sudo apt-get install libv4l-dev

之后catkin_make就顺利通过了。

kalibr 标定camera

录制bagfile

直接用的rosbag recored录的topic,没有用kalibr_bagcreater之类的东西。

标定

这里感觉kalibr 在github上的wiki并没有写太清楚,我直接试了一下rosrun 发现是可行的,实例如下

rosrun kalibr kalibr_calibrate_cameras --bag <bag_file_name> --topics <topic_0> <topic_1> --models <mode_0> <mode_1> --target <target_description_yaml_file>

这里kalibr wiki上对–models参数的解释并不直观,但好在kalibr_calibrate_cameras的报错信息非常体贴,告诉你正确的参数有哪些可选。

  • pinhole-radtan
  • pinhole-equi
  • omni-radtan
  • pinhole-fov
  • ds-none
  • omni-none
  • eucm-none

最后两个相机都是使用的pinhole-radtan

在第一次执行标定时,系统报了找不到igraph的错误,通过

pip install python-igraph

解决。
由于使用的相机image size非常小(320x240),标定过程很快,大概一分钟就完成了1600幅图的处理(左右各800幅图)。结果和之前用ROS camera_calibration很接近。

下一步

接下来是要标定IMU+camera。这个估计要等明天了。

20200722更新

系统升级为Ubuntu 18.04 + ROS melodic。运行kalibr时遇到

edge_label=self.G.es["weight"],
KeyError: 'Attribute does not exist'

为结尾的报错信息,和下方的python2.7 import错误

ImportError: cannot import name NavigationToolbar2Wx

解决方案都在kalibr的Github issue 页面找到了。
https://github.com/ethz-asl/kalibr/issues/364
https://github.com/ethz-asl/kalibr/issues/202


http://www.ppmy.cn/news/163698.html

相关文章

一文了解KL散度(KL Divergence)

在概率论和统计学中,我们经常用一个简单的近似分布来代替观测数据或复杂的分布.KL散度帮助我们衡量当我们选择一个简单近似的分布来代替复杂的数据或复杂的分布的时候有多少信息损失了. 一个例子 假设我们是太空科学家并在参观一个遥远的新星球,我们发现了一些蠕虫,我们想要研…

整理了一些冰法PVP/JJC的宏。希望…

大部分宏收集自网络。希望对需要的朋友有所帮助。 #showtooltip 法术反制 /stopcasting /cancelAura 寒冰屏障 /Cast [targetfocus,harm,exists,modifier:alt]法术反制; [targetmouseover, harm, exists]法术反制; 法术反制 /focus [targetfocus,noexists] [targetfocus,dead] …

KL Divergence KL散度

在概率论或信息论中&#xff0c;KL散度( Kullback–Leibler divergence)&#xff0c;又称相对熵&#xff08;relative entropy)&#xff0c;是描述两个概率分布P和Q差异的一种方法。它是非对称的&#xff0c;这意味着D(P||Q) ≠ D(Q||P)。特别的&#xff0c;在信息论中&#xf…

【BZOJ】【双倍的幸福】【双(三)倍的经验】

楼主表示可用的只有 17861831 10561862 32931045 19342768 28182820 24622351 30472125 31901007 F.A.QsHomeProblemSetStatusRanklistContestModifyUser zkyLogout Notice:1&#xff1a;欢迎添加试题到OJ上&#xff0c;要求难度在省选之上&#xff0c;相关资料请发到lydsy201…

炉石传说基础战斗数值系统分析

炉石传说对战中&#xff0c;最重要的属性数值为攻击&#xff0c;血量和水晶&#xff08;相当于法力值/体力值&#xff0c;下文简称为费用&#xff09;。这三者紧密相连&#xff0c;互相影响。本文尝试分析炉石传说如此设定角色以及卡牌的属性的原因。 一 英雄的血量与法力水晶…

【三】分布式训练---单机多卡与多机多卡组网(飞桨paddle2.0+)更加推荐spawn方式!

1. 单机多卡启动并行训练 飞桨2.0增加paddle.distributed.spawn函数来启动单机多卡训练&#xff0c;同时原有的paddle.distributed.launch的方式依然保留。 paddle.distributed.launch通过指定启动的程序文件&#xff0c;以文件为单位启动多进程来实现多卡同步训练。以前在ai…

CCF201609-3 炉石传说(100分)

试题编号&#xff1a;201609-3试题名称&#xff1a;炉石传说时间限制&#xff1a;1.0s内存限制&#xff1a;256.0MB问题描述&#xff1a; 问题描述 《炉石传说&#xff1a;魔兽英雄传》&#xff08;Hearthstone: Heroes of Warcraft&#xff0c;简称炉石传说&#xff09;是暴雪…

CDH 的Kerberos认证配置

CDH 的Kerberos认证配置 博客分类&#xff1a; Hadoop http://xubo8118.blog.163.com/blog/static/1855523322013918103857226/ 关于&#xff1a; hadoop的安全机制 hadoop kerberos的安全机制 参考Cloudera官方文档&#xff1a; Configuring Hadoop Security in CDH3 一、部…