新买了神州ZX7电脑,显卡是英伟达1060,安装ubuntu16.04后始终找不到网卡的驱动,以及不能扩展显示屏,因此才忍痛离开我刚熟悉的ubuntu16.04,安装18.04.
win10安装了ubuntu18.04很简单,教程很详细,但是千万要用usb3.0的U盘制作启动盘,这是我失败10次以上的血泪经验。
因为这个仿真系统人家大牛原本是在ubuntu16.04上做的,所以教程什么的都很详细,我当时在ubuntu16.04上也几乎实现了它的orbslam2,rtabmap等各项操作,当时实现orbslam2的时候还出现了很多错误,都一一解决了,但是当时没有记录下来,其实那些错误的解决比我现在在这里废话强多了。
闲话少叙,我们来干货。下图是安装这个仿真器的具体操作。
官网链接:https://github.com/sychaichangkun/ROS-Academy-for-Beginners
在第二步$ rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y
依赖的时候会出错,首先这句话ros的版本号就不对,需要改成
$ rosdep install --from-paths src --ignore-src --rosdistro=melodic -y
再次运行还是不对,主要是找不到这三个库:openslam_gmapping,slam_gmapping,hector_mapping.
解决办法:在~/catkin_ws/src文件夹下输入:
git clone https://github.com/ros-perception/openslam_gmapping.git
git clone https://github.com/ros-perception/slam_gmapping.git
搞定!
第三步$ catkin_make,还是找不到hector_mapping.
第三个库hector_mapping实在是他丫的没找到,只能根据错误提示,在/home/liu/catkin_ws/src/ROS-Academy-for-Beginners/slam_sim_demo文件夹中将cmakelists.txt文件中去把这个链接库给注释了。
然后再打开gazebo仿真器时,能打开,但是不显示人家软件已经做好的模型,正在解决中!
后续:
gazebo仿真器能打开,但是解决了一个上午也没有搞定,只能放弃了,不过还好除了模型读不进来,大多的slam算法都可以在rviz中演示:
例如利用acml导航程序:
1、启动机器人模拟器:$roslaunch robot_sim_demo robot_spawn.launch
2、启动导航程序:roslaunch navigation_sim_demo amcl_demo.launch
3、显示导航界面:roslaunch navigation_sim_demo view_navigation.launch
运行第一步时可能出错:
报错*[robot_spawn.launch] is neither a launch file in package [robot_sim_demo] nor is [robot_sim_demo] a launch file name The traceback for the exception was written to the log file,*然而下面的过程图已经是从报错到解决报错成功运行的过程了,即需要source一下):
$ source ~/catlin_ws/devel/setup.bash
$ rospack profile
看到这里的同学可能觉得这篇博客太滥了,因为我只是在介绍自己遇到的bug,具体实现的流程您需要看您下载的readme文档。附上我学习的主要参考链接,根据我的链接,我们小白都可以一步步完成。
https://github.com/sychaichangkun/ROS-Academy-for-Beginners
。
之前一直下载opecv开发包安装,在18.04上一直不成功,故选了另一种方式,不是很懂,但是比较好用。
参考如下:https://blog.csdn.net/lupengCSDN/article/details/80397000
sudo apt install python3-pip
sudo apt install libopencv-dev
sudo pip3 install opencv-python
三句命令,居然好使!
不信的话,可以查看opencv版本号:
pkg-config --modversion opencv
到自己的工作空间执行下列命令
cd ~/catkin_ws/src
git clone https://github.com/raulmur/ORB_SLAM2.git
cd ORB_SLAM2
chmod +x build.sh
./build.sh
编译时遇到很多看起来很复杂的错误,但大多原因就是一个
如下:
/ORB_SLAM2/src/LocalMapping.cc:94:28: error: ‘usleep’ was not declared in this scope
解决办法:认真读错误文件,需要打开相应的代码,在头文件里面添加usleep 的头文件
#include"unistd.h"
有好几个需要添加,您按照目录慢慢改就好了。
参考博文:https://blog.csdn.net/changquanhao/article/details/82986208
还有很多错误我解决了但是没有记录下来,反正我安装的ubuntu18.04虽说界面更友好,但是还是出现诸多问题,起码我现在是比较怀恋16.04的,不过说不定未来越来越好呢。
有问题,给我了留言,我知道解决问题的痛苦,大家一起讨论。小白心声。