在U 4000 buntu16.04 ros Kinect 下运行RGBD-SLAM实战项目
2018-11-13 16:39
302 查看
1.安装ros kinetic
https://mp.csdn.net/postedit/84029866
创建catkin 工作空间存放项目
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace cd ../ catkin_make
2.下载项目
cd ~/catkin_ws/src git clone https://github.com/felixendres/rgbdslam_v2
此版本CMakelists是基于的pcl1.7,我们要改成1.8,否则编译好之后运行会崩溃,具体操作从第五步开始。
3.安装g2o依赖
sudo apt-get install cmake libeigen3-dev libsuitesparse-dev libqt4-dev qt4-qmake libqglviewer qt5-qmake
4.安装g2o(确保使用此版本g2o,否则编译可能不通过)
g2o地址: https://github.com/felixendres/g2o
下载下来解压后进入g2o目录(此目录最后不要包含中文,否则可能出错),然后在此目录下打开终端,输入
mkdir build cd build cmake .. make sudo make install
5.下载pcl1.8并解压,最后不包含中文路径
pcl1.8地址:https://github.com/PointCloudLibrary/pcl/archive/pcl-1.8.0.tar.gz
6.用c++2011编译pcl
进入解压的pcl-pcl-1.8.0目录,打开终端
gedit CMakeLists.txt
找到地第146行(在endif()下面),添加下面一段话
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
保存文件退出
7.编译安装pcl1.8
在pcl-pcl-1.8.0目录下
mkdir build cd build cmake .. make sudo make install
7.将在项目的cmakelsits文件中将pcl1.7改成1.8
cd ~/catkin_ws/src/rgbdslam_v2 gedit CMakeLists.txt
将79行的
find_package(PCL 1.7 REQUIRED COMPONENTS common io)
改成
find_package(PCL 1.8 REQUIRED COMPONENTS common io)
保存退出
9.改pcl_rosConfig.cmake文件
从112或者119行开始将所有的"/usr/lib/x86_64-linux-gnu/libpcl"字符替换成"usr/local/lib/libpcl",可以用查找和替换功能实现
10.编译 siftgpu
cd ~/catkin_ws/src/rgbdslam_v2/external/SiftGPU sudo apt-get install libglew-dev sudo apt-get install libdevil1c2 libdevil-dev make
11.编译rgbdslam
cd ~/catkin_ws gedit src/rgbdslam_v2/CMakeLists.txt
在最后添加
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
保存退出,然后编译
catkin_make
12.测试
在终端输入
roscore
新开终端,输入
~/catkin_ws/devel/lib/rgbdslam/rgbdslam
安装turtlebot
https://blog.csdn.net/weixin_43540678/article/details/84033325
连接rgbd设备后
生成kobuki别名
rosrun kobuki_ftdi create_udev_rules
检查别名:
输入检测命令:
ls /dev/kobuki
会显示有对应的设备/dev/kobuki,前提是电脑连接设备了
设置环境变量
echo $TURTLEBOT_3D_SENSOR #Output: kinect
如果你看到一个3D传感器,例如asus_xtion_pro,您将需要设置环境变量的默认值
echo "export TURTLEBOT_3D_SENSOR=kinect" >> .bashrc source .bashrc
开启程序,直到出现画面
roslaunch rgbdslam openni+rgbdslam.launch
启动底座
roslaunch turtlebot_bringup minimal.launch
启动遥控
roslaunch turtlebot_teleop keyboard_teleop.launch
补充
经过实践,先开底座,在开程序,会导致程序没有画面,所以我推荐的启动顺序为
1.将电脑连接设备,打开设备开关
2.
roslaunch rgbdslam openni+rgbdslam.launch,开启程序直到画面出现,再执行3
3.
roslaunch turtlebot_bringup minimal.launch,启动底座
4.
roslaunch turtlebot_teleop keyboard_teleop.launch,启动遥控 阅读更多
相关文章推荐
- 我的SLAM探索(二)--ROS下编译运行Kinect Viewer
- 编译ORBSLAM2 build_ros.sh,实现kinect2在ROS环境下运行ORBSLAM2
- Ubuntu 16 ORB_SLAM2使用KinectV2在ROS上运行总结
- Ubuntu16.04+gcc5.4+g++5.4+ROS运行kinect
- Android项目实战--手机卫士21--运行应用以及美化PopupWindow
- vue-vue-router-vuex项目实战——环境搭建运行
- Vue2+VueRouter2+webpack 构建项目实战(三):配置路由,运行页面
- Ubuntu 16.04+ROS+ORB-SLAM2配置以及相关问题
- Vue2+VueRouter2+webpack 构建项目实战(三):配置路由,运行页面
- Android实战(五)------Myeclipse新建运行Android项目
- Android实战(五)------Myeclipse新建运行Android项目
- SLAM学习1 Ubuntu16.04安装ROS-kinetic
- G2O 与rgbdslam在ubuntu16.04下安装
- ZED相机+ubuntu16.04运行ORBSLAM2双目
- opencv2.4.13+ros kinetic +ubuntu16.04+iai_kinect2
- 利用华硕Xtion Pro Live 在ROS-kinetic下跑rgbdslam_v2
- rtabmap_ros 使用 kinect2(xbox one)进行SLAM
- 跟高翔学RGBD-SLAM(1)第一个CMake项目
- ROS实战_1.6 通过ROS同时运行多台机器人
- KINECT2通过ROS在线跑ORBSLAM2