《SLAM十四讲》第一讲讲后作业

参考博客原址:https://blog.csdn.net/qq_21950671/article/details/90268931

标题文章目录

一、关于ubuntu系统的一些问题

1. 如何在 Ubuntu 中安装软件(命令⾏界⾯)?它们通常被安装在什么地⽅?

安装命令

1.apt-get 方式的安装;
sudo apt-get install XXX
2.dpkg方式的安装
dpkg -i package.deb

卸载命令

1.apt-get 方式卸载
sudo apt-get remove XXX
2.dpkg方式的卸载
dpkg -p package.deb

安装的地方

apt-get install安装位置取决于包的维护者确定的,不是用户。
dpkg -L +软件包的名字,可以知道这个软件包包含了哪些文件。

2. linux 的环境变量是什么?我如何定义新的环境变量?

环境变量是一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。
~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取;
~$ gedit ~/.bashrc
在这里插入图片描述
例子:
安装好ROS接下来我们就要配置环境了

一次配置终身使用的方法:
echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
source ~/.bashrc
一次配置一次使用,并且每次打来cmd的时候都要配置:
source /opt/ros/kinetic/setup.bash

查看配置:
$ export | grep ROS
后面操作中每次生成
setup.bash
都对应上面两种环境配置方法,如果出现找不到的问题可能就是环境配置的问题
要想保证工作空间已配置正确需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看:
$ echo $ROS_PACKAGE_PATH
/home//catkin_ws/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks

定义新的环境变量可以通过如下方式:
~$ export PATH =$PATH:/usr/local/bin

3. linux 根⽬录下⾯的⽬录结构是什么样的?⾄少说出 3 个⽬录的⽤途。

在这里插入图片描述
根目录是什么结构:
/$ pwd
/
q@q:/$ ls
bin dev initrd.img lib32 media proc sbin sys var
boot etc initrd.img.old lib64 mnt root snap tmp vmlinuz
cdrom home lib lost+found opt run srv usr vmlinuz.old

家目录是什么结构:

~$ pwd
/home/q

1./usr 用户程序
包含二进制文件、库文件、文档和二级程序的源代码。。
/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。

/usr$ ls
bin include lib32 local sbin src
games lib libx86_64-linux-gnu locale share

2.老版本的Linux习惯放在/usr/local目录下。
/usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。

/usr/local$ ls
bin etc games include lib man sbin share src

3. /opt 可选的附加应用程序
opt代表opitional,包含从个别厂商的附加应用程序。
附加应用程序应该安装在/opt/或者/opt/的子目录下。
/opt目录专门是用来给第三方软件放置文件的,比如一些压缩包解压的软件都放在这里。

/opt$ ls
google ros

4.系统安装软件一般在/usr/share
在这里插入图片描述
5.可执行的文件在/usr/bin
包含二进制可执行文件,系统所有用户可执行文件都在这个文件夹里,例如:ls,cp,ping等。
在这里插入图片描述
6./usr/sbin中包含系统管理员的二进制文件。
包含二进制可执行文件,只能由系统管理员运行,对系统进行维护。
例如:atd、cron、sshd、useradd、userdel。

7.配置文件可能安装到了/etc
包含所有程序配置文件,也包含了用于启动/停止单个程序的启动和关闭shell脚本。
在这里插入图片描述
8.文档一般在 /usr/share
在这里插入图片描述
9.lib文件 /usr/lib
包含支持位于/bin和/sbin下的二进制文件的库文件.
库文件名为 ld或lib.so.*
在这里插入图片描述
10 ./dev 设备文件
包含终端所有设备,USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0
11 ./proc 进程信息
包含系统进程的相关信息。
这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。
12 ./var 变量文件
可以找到内容可能增长的文件。
这包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);
13 ./tmp 临时文件
包含系统和用户创建的临时文件。
当系统重新启动时,这个目录下的文件都将被删除。
14 ./boot 引导加载程序文件
包含引导加载程序相关的文件。
内核的initrd、vmlinux、grub文件位于/boot下。
15 ./mnt 挂载目录
临时安装目录,系统管理员可以挂载文件系统。
16 ./media 可移动媒体设备
用于挂载可移动设备的临时目录。
举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;
17 ./srv 服务数据
srv代表服务。
包含服务器特定服务相关的数据。
例如,/srv/cvs包含cvs相关的数据。

4. 假设我要给 a.sh 加上可执⾏权限,该输⼊什么命令?

chmod 777 文件名 无脑将文件设置成对拥有者、组成员、其他人可读、可写、可执行。
chmod a+x 文件名将文件在原来的配置上增加可执行权限。

5. 假设我要将 a.sh ⽂件的所有者改成 xiang:xiang,该输⼊什么命令?

chown xiang:xiang a.sh

二、SLAM 综述文献阅读

1. SLAM 会在哪些场合中⽤到?⾄少列举三个⽅向。

增强现实应用

动态场景、

语义地图、

多机器人协作

2.SLAM 中定位与建图是什么关系?为什么在定位的同时需要建图?

定位是需要周围环境的信息的,是借助周围地图信息来定位的;
建图又需要准确知道目前摄像机护着机器人的自身外置;
准确的定位需要准确的地图;
精准的地图构建又需要精准的位置信息;
是一个很耦合的问题。
所以,定位的同时需要建图。
在引用的第二章论文中,原文是这么说的:
Being precisely localized in an environment,a correct map is necessary, but in order to construct a good map it is necessary to be properly localized when elements are added to the map.

3. SLAM 发展历史如何?我们可以将它划分成哪⼏个阶段?

就个人的理解而言,SLAM的发展是伴随着计算机技术的发展不断的换向与发展的。主要可以分为一下的两个阶段:
(1)第一阶段:定位和建图分开研究的阶段;
(2)第二阶段:定位和建图在一起进行研究的阶段;
(3)第三阶段:开始运用摄像头的阶段(这里需要注意的是,之前由于计算机视觉的发展还不太到位,因此之前基本都是基于激光测距这种方法的)
(4)第四阶段:多元化的阶段(我之所以把这个阶段叫做多元化的阶段,是因为SLAM和深度学习的融合,视觉和惯性传感器的融合等解决方案不断的涌现,对于SLAM的发展可以说是起了极大的加速作用,也使得SLAM这个已经好几十年的老话题在今天又被大家重新认识,且重新投入努力和热情去对待。也就是现在,当下最好的阶段哈哈哈哈)

4. 列举三篇在 SLAM 领域的经典⽂献。

《LSD-SLAM: Large-Scale Direct Monocular SLAM》(直接法的代表性文章)
《ORB-SLAM:ORB-SLAM: a Versatile and Accurate Monocular SLAM System》(特阵法的代表性文章,后续的ORB-SLAM2还开发出单目、双目、RGB-D的开源代码,且代码形式很好,值得学习)
《VINS-Mono: A Robust and Versatile Monocular Visual Inertial State Estimator》(经典的视觉和IMU融合的方法,值得学习)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值