semantic_slam环境配置
orb_slam2 + 语义分割 + 八叉树地图,
github地址:https://github.com/floatlazer/semantic_slam
根据github上环境的版本要求,选择在ubuntu16.04的docker容器中搭建
首先pull了一个ubuntu16.04 + python2.7 + opencv3.3.0的镜像,在这个基础上搭建环境
1.download semantic slam的code
在$HOME下
$ mkdir catkin_ws
$ cd catkin_ws
$ mkdir src
$ cd src
$ git clone https://github.com/floatlazer/semantic_slam.git
2.安装orb slam2的环境
参考了https://www.jianshu.com/p/dbf39b9e4617
这中间涉及到ros, pangolin, eigen等的安装
进入sematic_slam文件夹中的ORB_SLAM2文件夹,build成功即可
3.安装语义分割相关
按照semantic slam的github中的要求
$ sudo apt-get install ros-kinetic-openni2-launch
4.安装八叉树地图相关
sudo apt-get install ros-kinetic-octomap-ros
sudo apt-get install ros-kinetic-octomap-msgs
sudo apt-get install ros-kinetic-octomap-server
sudo apt-get install ros-kinetic-octomap-rviz-plugins
5.安装语义分割相关
pip install torch-0.4.0-cp27-cp27mu-linux_x86_64.whl #1.0之前的版本要在官网上下载
pip install torchvision==0.2.0
pip install numpy
pip install future
pip install matplotlib
然后github上说依赖pytorch-semseg
打开pytorch-semseg中的requirements.txt, 看到里面还有一些依赖要安装
pip install scikit-image
pip install opencv-python==3.3.0.10
pip install tqdm==4.11.2
pip install cython
pip install pydensecrf
pip install tensorboardX
pip install scipy==0.19.0
pip install imgaug
然后安装semantic_slam包
$ rosdep install semantic_slam
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
semantic_slam: Cannot locate rosdep definition for [catkin]
这一步会报找不到相关依赖的错误
命令改为:
$ rosdep install --from-paths semantic_slam --ignore-src --rosdistro=kinetic -r -y
#All required rosdeps installed successfully
这些都安装好之后,到~/catkin_ws下catkin_make
开始启动launch:
roslaunch semantic_slam semantic_mapping.launch
会报如下错误:
ImportError: No module named google.protobuf.internal
解决方法:
pip install protobuf
再启动launch:
会报错:AttributeError: ‘module’ object has no attribute ‘_cuda_getDevice’
Traceback (most recent call last):
File “/home/xx/catkin_ws/src/semantic_slam/semantic_cloud/src/semantic_cloud.py”, line 295, in
main(sys.argv)
File “/home/xx/catkin_ws/src/semantic_slam/semantic_cloud/src/semantic_cloud.py”, line 288, in main
seg_cnn = SemanticCloud(gen_pcl = True)
File “/home/xx/catkin_ws/src/semantic_slam/semantic_cloud/src/semantic_cloud.py”, line 123, in init
state = torch.load(model_path)
这是因为它的weight, 也就是pth文件,是用GPU训练出来的,
而docker里面没有GPU, 要把这个pth转为cpu模式:
把这个 state = torch.load(model_path)
改为:
state = torch.load(model_path, map_location={'cuda:0': 'cpu'})
到~/catkin_ws下
$ rm -rf build devel
$ catkin_make
再试一次
$ roslaunch semantic_slam semantic_mapping.launch
[ INFO] [1655366319.121127159]: Semantic octomap generator [max fusion]
Generate semantic point cloud [max fusion].
Setting up CNN model...
Setting up ROS...
Ready.
另起一个窗口
$ rosbag play demo.bag
图建出来了
semantic_slam环境配置相关推荐
- QT5.3 + vs2012 + box2d环境配置
安装vs 和 qt 下载vs 2012,傻瓜式安装,但安装时间可能比较长.(其中一定选择"Visual C++"选项) 下载Qt 5.3,选择适合自己电脑的版本下载安装,我选的是q ...
- YOLOv4 资源环境配置和测试样例效果
YOLOv4 资源环境配置和测试样例效果 基本环境:cuda=10.0,cudnn>=7.0, opencv>=2.4 一.下载yolov4 git clone https://githu ...
- cmd怎么实现Java你好_java环境配置以及如何在cmd窗口运行java代码
对于初学java的人来说,电脑的环境配置也许会让你头疼,但只要你认真一些学习,相信对你来说都是OK的啦~ 首先回到桌面,选择我的电脑,单击右键属性,进入高级系统设置,点击环境变量设置.用户变量选择Te ...
- Springboot使用Maven Profile和Spring Profile进行多环境配置
Springboot使用Maven Profile和Spring Profile进行多环境配置 目的 在实际的项目上,一般会分三种环境dev.test.prod来方便我们的开发和部署,要求我们在开发的 ...
- linux 编译opencl,OpenCL编译环境配置(VS+Nvidia)
英伟达的显卡首先要下载安装CUDA开发包,可以参考这里的步骤: VS2015编译环境下CUDA安装配置 安装好CUDA之后,OpenCL的配置就已经完成了80%了,剩下的工作就是把OpenCL的路 ...
- windows下rpc框架thrift的环境配置
windows下rpc框架thrift的环境配置 引用链接: https://www.cnblogs.com/49er/p/7193829.html 最近在弄windows下 的Facebook的rp ...
- 【Qt】Qt5.x移植后的环境配置(imx6)
1.环境配置脚本如下 #!/bin/shexport QTDIR=/usr/lib/qt5 export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins expo ...
- python安装成功的图标_ubuntu下:安装anaconda、环境配置、软件图标的创建、成功启动anaconda图形界面...
Ubuntu安装anaconda常见的四大问题: 目录 1.介绍 2.安装anaconda 3.环境配置 4.软件图标的创建 5.成功启动anaconda图形界面 1.介绍 先介绍一下anaconda ...
- 【spring】使用spring的环境配置及从官网获得配置文件所用代码的方法
环境配置 1.添加jar包 spring-beans-4.1.3.RELEASE.jar spring-context-4.1.3.RELEASE.jar spring-core-4.1.3.RELE ...
最新文章
- Python json和list互相转换
- xhtmlConformance mode=Legacy/ 致ajax失效
- RabbitMQ路由模式
- java swt webkit_使用Java和Webkit的HTML编辑器 – SWT浏览器
- 如何设计区块链项目的通证(token)模型
- NeurIPS 2020 | 利用像素级别循环一致性解决领域自适应语义分割问题
- CentOS 6.3安装Nginx开启目录浏览、下载功能
- 五个你绝不可忽视的HTML5特性
- python爬取大众点评_浅谈python爬取58同城,大众点评这两个网站
- mysql中基本的DDL语句(关注一下,以后会继续更新喔!)
- 浅析Java内存模型
- ASP.NET MVC教程八:_ViewStart.cshtml
- 如何修改linux的java路径_修改桌面文件默认存储位置的正确方式及注意事项
- java宠物商店_Java实现宠物商店管理系统
- h计算机二级基础知识题库,2020计算机二级Office考试题库真题
- matlab 角速度,从您的移动设备获取并绘制角速度和方向数据
- oracle中date错误,ORA-01830: date format picture ends before converting entire input string
- 平面设计必备学习软件
- [C++]派(二分算法)
- 开发基于 Google Map 的 Android 应用