当前位置: 首页 > news >正文

专业做网站 郑州wordpress企业站手机客户端

专业做网站 郑州,wordpress企业站手机客户端,免费影院,ui界面设计包括哪些内容这一讲主要介绍视觉SLAM的结构#xff0c;并完成第一个SLAM程序#xff1a;HelloSLAM。 目录 2.1 小萝卜的例子 单目相机 双目相机 深度相机 2.2 经典视觉SLAM框架 2.3 SLAM问题的数学表述 2.4 编程实践 Hello SLAM 使用cmake 使用库 【高翔】视觉SLAM十四讲2.1 小… 这一讲主要介绍视觉SLAM的结构并完成第一个SLAM程序HelloSLAM。 目录 2.1 小萝卜的例子 单目相机 双目相机 深度相机 2.2 经典视觉SLAM框架 2.3 SLAM问题的数学表述 2.4 编程实践 Hello SLAM 使用cmake 使用库 【高翔】视觉SLAM十四讲2.1 小萝卜的例子 这一节高翔博士首先介绍了自己组装的“小萝卜”机器人小萝卜要想具有自主运动的能力首先要知道自身的姿态然后是了解外界的环境。这两类问题都需要使用传感器视觉SLAM中常用的传感器是相机根据相机的工作工作方式不同可以分为三类单目相机Monocular、双目相机Stereo、深度相机RGB-D。 单目相机 单目相机结构简单成本较低。本质上是拍照时的场景在相机的成像平面上留下一个投影以二维的形式记录了三维的世界。 单目SLAM估计的轨迹和地图将与真实的轨迹’地图相差一个因子也就是所谓的尺度。由于单目SLAM无法仅凭图像确定这个真实尺寸所以又称为尺度不确定性。 本质原因是通过单张图像无法确定深度为了得到这个深度人们开始使用双目相机和深度相机。 双目相机 双目相机由两个单目相机组成但这两个相机之间的距离称为基线是已知的。我们通过这个基线来估计每个像素的空间位置基线距离越大能够测量到的就越远双目与多目的缺点是配置与标定均较为复杂其深度量程和精度受双目的基线与分辨率的限制而且视觉计算非常消耗计算资源需要使用GPU和FPGA设备加速后才能实时输出整张图像的距离信息。因此在现有的条件下计算量是双目的主要问题之一。 深度相机 深度相机又称RGB-D相机它最大的特点是可以通过红外结构光或Time-of-Flight(ToF)原理像激光传感器那样通过主动向物体发射光并接收返回的光测出物体离相机的距离。 目前常用的RGB-D相机还存在测量范围窄、噪声大、视野小、易受日光干扰、无法测量透射材质等诸多问题在SLAM方面主要用于室内。 2.2 经典视觉SLAM框架 下图为视觉SLAM的经典框架视觉SLAM流程分为如下步骤 传感器信息读取在视觉SLAM中主要为相机图像信息的读取和预处理。前端视觉里程计其任务为估算相邻图像间相机的运动以及局部地图的样子。后端非线性优化 后端接受不同时刻视觉里程计测量的相机位姿以及回环检测的信息对它们进行优化得到全局一致的轨迹和地图。回环检测判断机器人是否到达过先前的位置如果检测到回环会把信息提供给后端进行处理。建图根据估计的轨迹建立与任务要求对应的地图。关于这几个模块在后面的张杰会详细介绍这里先了解即可。 2.3 SLAM问题的数学表述 这里使用数学语言来描述SLAM的过程SLAM过程可总结为两个方程 上式为运动方程其中为时刻的位置为传感器的读书为过程中加入的噪声方程含义为根据机器人上一时刻的位置和传感器当前的输入来判断下一时刻机器人的位置。与运动方程相对应还有一个观测方程 其中是观测噪声为机器人在位置上看到的路标方程描述的是根据机器人在位置上看到的路标时产生的观测数据。 这两个方程描述了最基本的SLAM问题当知道运动测量的读数以及传感器的读数时如何求解定位问题估计和建图问题估计这样就把SLAM问题建模成了一个状态估计问题 2.4 编程实践 Hello SLAM 像任何教科书一样这里从最基本的程序开始这里使用的是C代码这个程序很简单不多解释了 #include iostream using namespace std;int main(int argc, char **argv) {cout Hello SLAM! endl;return 0; }在终端执行以下命令来编译生成一个可执行文件 g hellSLAM.cpp 使用cmake 生面的程序只有一个文件使用g可能比较方便但是当文件越来越多时就不那么方便了因为这时输入的编译命令会越来越长。目前工程上cmake是使用最广泛的可以很方便的生成一个makefile文件然后再使用make命令来编译整个工程。我们先创建一个CMakeLists.txt文件内容如下 # 声明要求的 cmake 最低版本 cmake_minimum_required(VERSION 2.8)# 声明一个 cmake 工程 project(HelloSLAM)# 添加一个可执行程序 # 语法add_executable( 程序名 源代码文件 add_executable(helloSLAM helloSLAM.cpp) 在终端使用如下命令调用camke对该工程进行cmake编译下面的点表示在当前目录下进行cmake。 cmake .现在可以使用make编译会看到生成可执行程序helloSLAM make 使用库 下面演示如何生成一个库源文件如下 //这是一个库文件 #include iostream using namespace std;void printHello() {cout Hello SLAM endl; }在CMakeLists.txt文件中添加如下内容生成hello库然后和上面一样使用cmake编译工程不过这时生成的是静态库libhello.a。 # 添加hello库 add_library(hello libHelloSLAM.cpp) 下面我们生成动态库libhello_shared.so。 # 共享库 add_library(hello_shared SHARED libHelloSLAM.cpp) 库文件只是编译好的二进制文件如果想使用它还需要对应的头文件头文件如下 #ifndef LIBHELLOSLAM_H_ #define LIBHELLOSLAM_H_ // 上面的宏定义是为了防止重复引用这个头文件而引起的重定义错误// 打印一句hello的函数 void printHello();#endif 最后写一个新文件来使用这个库 #include libHelloSLAM.h// 使用 libHelloSLAM.h 中的 printHello() 函数 int main(int argc, char **argv) {printHello();return 0; }在CMakeLists.txt文件中添加以下内容链接刚才生成的动态库 # 添加可执行程序调用hello库中函数 add_executable(useHello useHello.cpp) # 将库文件链接到可执行程序上 target_link_libraries(useHello hello_shared) 最后再编译即可生成可执行文件。
http://wiki.neutronadmin.com/news/481375/

相关文章:

  • 淘宝客建网站怎么做深圳办公室装修装修公司
  • 为进一步加强校园网站建设建地方的网站前景
  • 网站外链建设原则建设部质监局网站
  • 网站怎样做百度推广计划门户网站的三大基本特征
  • 建设校园门户网站方案做毕设网站
  • 手机访问网站 自动缩放wordpress用html代码编辑器
  • 圆梦科技专业网站建设青岛制作网页公司
  • 网站的费用多少cod单页建站工具
  • 海尔网站建设的基本情况足球网站网站建设
  • 如何识别一个网站是否做的好网站建设 开发
  • 网站建设的模板做网站和程序员哪个好点
  • 榆林网站建设公司我要自学网网站建设与管理
  • 网站开发主要语言俄罗斯乌克兰局势最新消息
  • 室外建筑网站淘宝网站框架
  • 安阳网站建设推广优化成都平台公司
  • 深圳市住建设局网站wordpress mysql主机名
  • 在哪个网站做一照一码平面设计创意作品欣赏
  • 深圳网站建设套餐网站建设和维护需要学的东西
  • 临沂高端大气网站建设企业做电商网站有哪些内容
  • cms 导航网站番禺建网站公司
  • 高端网站建设kgu网页设计品牌
  • 昆山品牌设计公司seo搜索引擎优化的内容
  • dw怎么把网站做的漂亮百度指数官方下载
  • 二级域名做城市分网站页面设计要以什么为导向
  • 东莞微网站建设公司网上建立公司网站
  • 外贸网站模版电子商务网站建设课设网站模板
  • 做网站花费制作购物网站
  • 东城免费做网站wordpress主题woocomece
  • 网站怎样做推广计划wordpress 翻页代码
  • 无锡做网站建设南昌网站设计系统