KinectV2+Ubuntu 14.04+Ros 安装教程 - hitcm - 博客园
视觉SLAM实战(二):ORB-SLAM2 with Kinect2 - 半闲居士 - 博客园
刚跟着高博的书学到点云,本想跟着课后练习,学习一下在ROS系统中Kinect2的标定的,谁知安装配置ROS时,可能是因为之前安装运行了OpenCV3和ROS自带的2.4.8不兼容带来的各种问题,现打算卸载重装,由于问题还未解决,所以就暂时把处理的有些过程粘贴如下,待处理完毕再做梳理:
1.安装ROS
ROS大致每年发布一个版本,目前正在维护的ROS版本包括indigo,jade,kinetic,一些早期版本现在已经停止维护。ROS依赖于Linux内核,因此每当Ubuntu版本发生变化,ROS不同版本的依赖也会出现相应的变化。
ROS被称为机器人操作系统,其实ROS充当的是通信中间件的角色,即在已有操作系统的基础上搭建了一整套针对机器人系统的实现框架。
值得一提的是,ROS的设计者考虑到各开发者使用的开发语言不同,因此ROS的开发语言独立,支持C++,python等多种开发语言。ROS还提供一组实用工具和软件库,用于维护、构建、编写和执行可用于多个计算平台的软件代码。
ROS的系统结构设计也颇有特色,ROS运行时是由多个松耦合的进程组成,每个进程ROS称之为节点(Node),所有节点可以运行在一个处理器上,也可以分布式运行在多个处理器上。在实际使用时,这种松耦合的结构设计可以让开发者根据机器人所需功能灵活添加各个功能模块。
例如,在一个支持SLAM功能的移动机器人中,激光数据采集和里程数据获取分别由两个node实现,用于感知环境;SLAM算法运行在另一个node中,用于处理传感器数据,绘制地图;SLAM节点和数据采集节点之间采用topics方式通信。当新增一个摄像头模块时,仅需在现有结构里增加一个新的视频节点,让其与SLAM节点采用topics方式通信即可,另外两个功能节点不需任何改动。
ROS只是一个框架,他很方便,最大的优点是可以在诸多不同的平台之间建立起通信,而如今机器人开发使用ROS已经成为潮流,因为机器人本身就涉及多种不同平台的硬件;可以通过slam技术得到机器人当前的位姿,在通过ROS系统控制机器人移动。slam是眼睛,ROS是肢体。
官方:http://wiki.ros.org/indigo/Installation/Ubuntu
配置详解:https://www.cnblogs.com/Jessica-jie/p/6520061.html
Q1:设置钥匙时出错
gpgkeys:HTTP fetch error 7: couldn't connect: bad URI
gpg:找不到有效的OpenPGP数据。
A1:使用这个代替官网密钥$wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
Q2:GPG错误:下列签名无法验证【公钥数字要对应!!!】
在添加一个PPA时可能会导致以下GPG错误:下列签名无法验证,这通常发生在终端中运行更新时:W:GPG error: http://repo.mate-desktop.org saucy InRelease: Thefollowing signatures couldn’t be verified because the public key isnot available:NO_PUBKEY6DA746A05F00FA99
A2:我们所要做的,就是获取系统中的这个公钥,从信息中获取密钥号。在上述信息中,密钥号为6DA746A05F00FA99。该密钥可通过以下方式使用:
sudoapt-key adv --keyserverkeyserver.ubuntu.com --recv-keys
6DA746A05F00FA99