视觉SLAM学习笔记:二
第三章旋转矩阵,变换矩阵(冗余)这章前面部分都在介绍数学原理 具体内容直接看书,这里说一个有意思的东西: 假设 $$T_{RW}=\left[\begin{matrix}R & t \\ \mathbf{0}^T & {1}\end{matrix}\right] $$ 然后 $$T_{WR}=T_{RW}^{-1}=\left[\begin{matrix} R^T & -R^Tt\\\mathbf{0}^T & 1 \end{matrix}\right]$$ 我想要画出相机的运动轨迹,即把相机中心坐标点连接起来,请问:在这两个矩阵中,哪个矩阵的平移向量是相机中心坐标? 答案是$T_{WR}$的平移向量是相机的中心坐标,即$-R^Tt$很容易推导,我们先理解一下题意,所谓的相机中心坐标其实就是机器人坐标系的原点,即$p_{R}=0$,我们只需要求$p_{W}$就可以了,那么根据公式:$$p_{W}=T_{WR}p_{R}$$带入计算:$$T_{WR}p_{R}=\left[\begin{matrix} R^T & -R^Tt\\\mathbf{0}^T &...
视觉SLAM学习笔记:一
第二章下面这个网址有电子版的图书(带我的批注)https://github.com/pumpkin-db/pumpkin-db.github.io/tree/main/%E8%A7%86%E8%A7%89SLAMPDF(%E5%B8%A6%E6%89%B9%E6%B3%A8) 数学建模抽象开始先给了总结SLAM过程的两个抽象方程,上面的是运动方程,下面的是观测方程,这样算是把SLAM问题变成了状态估计问题。当然这里没怎么看懂,但一步步顺过来还是可以的。具体的以后再说 g++ cmake IDE 编译代码g++ cmake然后就进行到实战环节,在/home下创建了slambook2文件夹,再创建ch2文件夹,然后书写第一个cpp程序,然后使用g++进行编译,修改完权限后就可以运行编译文件,不过据笔者建议,今后为了能够顺利的方便的编译大量代码,要使用cmake命令,一般使用流程是: 建立CMakeLists.txt文件,加入内容,目的是告诉cmake要做什么 为便于管理,在本目录下建立build文件夹,使得cmake编译的文件都放到这里,和源代码分开,使用mkdir bu...
Linux学习笔记:三
摘要:本笔记主要写了Linux的实用小技巧 一、实用快捷键Ctrl+c:强制停止Ctrl+d:退出/登出(不可以用于退出vi/vim) 历史命令搜索: history:查看历史输入的命令 !命令前缀:从下往上搜索history,执行匹配的最近的命令,例如:!p,可能会根据历史找到python这个命令,并直接执行 Ctrl+r:输入类似的内容,它会自动根据history里面的命令去匹配,回车直接执行,键盘的左右键得到此命令(不直接执行) 光标移动快捷键: Ctrl+a:跳到命令开头 Ctrl+e:跳到命令结尾 Ctrl+键盘左键:向左跳一个单词 Ctrl+键盘右键:向右跳一个单词 清屏: Ctrl+l:在Ubuntu下是新建一页空白,但是之前的内容不会清空 clear:清空终端所有内容,这个命令就是直接清空了 二、软件安装Ubuntu:.deb格式,使用apt命令Centos:.rpm格式,使用yum命令 在CentOS系统中,使用yum命令联网管理软件安装yum语法:yum [-y] [install | remove | search] 软件名...
Linux学习笔记:二
摘要:本笔记主要记述Linux用户/用户组和权限的基础知识 一、root用户与普通用户su: Switch User 切换用户格式:su - [用户名]使用su - root命令输入密码切换到root用户,获得更大权限-:可选,表示在是否在切换用户后加载环境变量,建议带上 在root用户下,可以使用visudo,在最后一行加入:[用户名] ALL=(ALL) NOPASSWD: ALL,之后这个普通用户就可以在命令前加上sudo,就不用输入密码来获取权限了。 二、用户与用户组用户组: 创建用户组:groupadd 用户名 例:groupadd test 删除用户组:groupdel 用户名 例:groupdel test用户: 创建用户:useradd 用户名 [-g -d] -g指定用户的组,不指定默认为同名组。-d指定用户的home路径,不指定默认为/home/用户名。例:useradd test1 -g test -d /home/test2 删除用户:userdel [-r] 用户名 -r删除用户的HOME目录,不使用就只删除用户,保留该...
Linux学习笔记:一
摘要:本笔记主要写了Linux的基础常用的命令 一、ls(list)命令 ls [-a -l -h] [路径]类似windows的dir同样这里也有dir vdir两个命令,使用方式就是dir/vdir 路径vdir就相当于ls -l 路径 ls -l 缩写为 ll比ls的功能少一点 1. ls命令的参数的作用可以指定要查看的文件夹(目录)的内容,如果不给定参数,就查看当前工作目录的内容。2. ls命令的选项: -a 选项:可以展示出隐藏的内容。 以 .开头的文件或文件夹默认被隐藏,需要 -a才能显示出来。 -l 选项:以列表的形式展示内容,并展示更多细节。 -h 选项:需要和 -l选项搭配使用,以更加人性化的方式显示文件的大小单位。3. 命令的选项组合使用命令的选项是可以组合使用的,比如:ls -lah,等同于 ls -a -l -h。 二、目录切换:cd(change directory)与pwd(print work directory)cd [路径]pwd 打印当前路径 三、特殊路径符:.与..与~.:表示当前目录,cd ./Desktop 效果等同于 cd De...
picture_test
1print("Hello word")