orbslam2 ROS下RGBD实验记录(二) kinect2安装配置

第一部分是安装kinect2的驱动libfreenect2 。
第二部分是kinect2的ROS包iai_kinect2。
1)libfreenect2
git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
sudo apt-get install build-essential cmake pkg-config libusb-1.0-0-dev libturbojpeg libjpeg-turbo8-dev
sudo apt-get install libglfw3-dev libopenni2-dev
cd ..
mkdir build && cd build
cmake .. -DENABLE_CXX11=ON
make
make install
sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/#配置接口协议,注意运行目录为上一层的目录
重新插拔kinect2,之后运行。后面参数可选一个。具体看帮助文档
./bin/Protonect [gl | cuda | cpu]#运行例程,测试kinect是否连接成功
2)ROS中使用kinect2 (要先安装依赖包,除了必选包,注意安装可选包opencl,否则会出现问题)

catkin_ws文件夹是ros安装后创作的工作空间。可按以下命令创建
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/srccatkin_init_workspace cd ..catkin_make
cd ~/catkin_ws/src/
git clone https://github.com/code-iai/iai_kinect2.git
cd iai_kinect2
rosdep install -r --from-paths .
cd ~/catkin_ws
catkin_make -DCMAKE_BUILD_TYPE="Release"
roslaunch kinect2_bridge kinect2_bridge.launch
rosrun image_view image_view image:=/kinect2/hd/image_color
测试新开终端: roslaunch kinect2_bridge kinect2_bridge.launch
新开终端: rosrun kinect2_bridge kinect2_bridge _depth_method:=<opengl|opencl|cpu> _reg_method:=<cpu|opencl>新开终端: rosrun kinect2_viewer kinect2_viewer
本文是项目iai_kinect2和libfreenect2的帮助文档的简化版。
更多内容可参考两个项目的github

出现的问题:
1. rosdep install出现如下问题
可忽略这些这些错误,继续下一步。


2. catkin_make -DCMAKE_BUILD_TYPE="Release" 出现cannot find -lvtkproj4错误
解决方法,先执行 sudo apt-get install libproj-dev
上述方法无效,需要 在cmakelist中加一条指令修复,即在add_executable语句前面加上list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")

3.rosrun kinect2_viewer kinect2_viewer出现Packet buffer is NULL的问题

应该是opencl的问题,运行

rosrun kinect2_bridge kinect2_bridge _depth_method:=opengl _reg_method:=opencl
会出现如下问题, opencl没有装好 或者 检查当前显卡切换到了独显(在intel核显下试了好久,后来切到了nvidia,终于好了)

1)opencl安装,确保之前装好了显卡驱动

对于nvidia和AMD显卡,运行
sudo apt-get install nvidia-modprobe opencl-headers ocl-icd-dev
intel显卡
sudo apt-add-repository ppa:floe/beignet; sudo apt-get update; sudo apt-get install beignet-dev; sudo dpkg -i debs/ocl-icd*deb
2)显卡切换(对于双显卡的电脑)
a. 检查已有的显卡
lspci -k | grep -A 2 -i "VGA"
对于没有安装好的驱动,可能只显示一个

可找到/etc/X11/xorg.conf文件,查看Section "Screen"项目个数,在Device中显示的就是显卡的型号。
b. 当前显卡
系统设置 > 细节 窗口。你将会看见Ubuntu正在使用哪一块显卡。
c.安装Nvidia专有显卡驱动
运行 sudo ubuntu-drivers devices,查看推荐显卡驱动
安装驱动 sudo apt-get install nvidia-352
d.切换显卡
打开Nvidia X Server Settings (Nvidia X服务器设置)窗口。也可以在终端里输入下面的命令打开。
nvidia-settings,选择切换的显卡。


ORB SLAM2是一个基于特征点的视觉SLAM(Simultaneous Localization and Mapping)系统,它可以通过单目摄像头实现实时的相机定位和地图构建。而ROS(Robot Operating System)是一个用于机器人开发的开源框架,提供了一系列工具和库来简化机器人软件开发。 要搭建ORB SLAM2 ROS单目摄像头环境,你需要按照以下步骤进行: 1. 安装ROS:首先,你需要在你的计算机上安装ROS。你可以根据你的操作系统版本选择合适的ROS版本进行安装安装过程可以参考ROS官方网站提供的文档。 2. 创建ROS工作空间:在安装ROS后,你需要创建一个ROS工作空间来存放ORB SLAM2和其他相关的ROS包。你可以使用以下命令创建一个新的工作空间: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make ``` 3. 下载ORB SLAM2 ROS包:在创建好工作空间后,你需要下载ORB SLAM2的ROS包并将其放置在工作空间的`src`目录下。你可以使用以下命令进行下载: ``` cd ~/catkin_ws/src git clone https://github.com/raulmur/ORB_SLAM2.git ``` 4. 编译ORB SLAM2 ROS包:下载完ORB SLAM2 ROS包后,你需要编译它。在`catkin_ws`目录下,运行以下命令进行编译: ``` cd ~/catkin_ws catkin_make -DCMAKE_BUILD_TYPE=Release ``` 5. 配置相机参数:在使用ORB SLAM2之前,你需要根据你的摄像头配置相机参数。你可以编辑ORB SLAM2的配置文件,将相机的内参和畸变参数填入其中。 6. 运行ORB SLAM2:完成以上步骤后,你可以运行ORB SLAM2来进行相机定位和地图构建。首先,启动ROS核心节点: ``` roscore ``` 然后,在另一个终端中运行ORB SLAM2节点: ``` rosrun ORB_SLAM2 Mono /path/to/ORB_SLAM2/Vocabulary/ORBvoc.txt /path/to/ORB_SLAM2/Examples/Monocular/your_camera.yaml ``` 其中,`/path/to/ORB_SLAM2/Vocabulary/ORBvoc.txt`是ORB SLAM2的词汇文件路径,`/path/to/ORB_SLAM2/Examples/Monocular/your_camera.yaml`是相机参数配置文件路径。 7. 可选:可视化结果:如果你想可视化ORB SLAM2的结果,你可以使用rviz工具。在另一个终端中运行以下命令: ``` rosrun rviz rviz -d `rospack find ORB_SLAM2`/Examples/Monocular/ORB_SLAM2.rviz ``` 以上就是搭建ORB SLAM2 ROS单目摄像头环境的基本步骤。希望对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值