前言
相信有很多小伙伴对于ubuntu和ros,都是在VMware虚拟机的使用中入门的;
但是虚拟机有几个比较坑的地方,例如:
1,串口外设配置非常麻烦;
2,注意gazebo要在有N卡的设备上。
否则容易出错;
(例:我的一台联想G系列的老笔记本(AMD R5 M230),安装ubunt16.04+ros-kinetic正常使用gazebo。但是替换成ubuntu18.04+ros-melodic,gazebo会无法渲染light,呈现empy-world的地板黑色;并且加载sdf会卡死崩溃。)
其他的坑,欢迎在评论区分享!
本人对ubuntu系统理解有限,本文仅为分享与记录我的安装过程。有更好的安装教程与建议也欢迎在下方留言。
以下简述联想拯救者Y7000P上安装双系统的过程;
1T固态硬盘(win10)+500G机械硬盘(无系统)
1,准备一个U盘,做成ubuntu的系统安装盘;这一步网上教材很多,大多可以用。
1)使用U盘系统安装工具
2)下载系统镜像
2,重新启动电脑,按F2,修改启动设置
1)关闭secure boot
2)修改uefi为legacy(否则启动引导中看不到usb)
3)F10保存并退出

3,硬盘分区
1)在固态硬盘上压缩出一个>100M的空间,用于boot,我设置了300M;(否则安装ubuntu的过程中会出现“无法安装grub”的错误)
2)直接删除了机械硬盘上的一个空白分区,便于安装ubuntu的时候找到该分区。
4,插上已做好系统的U盘,重新启动电脑,按F12,选择引导为USB

5,进入ubuntu系统安装界面
6,安装过程中要求对系统分区进行设置(也可以进行更为细致的分区工作)
1)将固态硬盘上的那个300M的分区,双击,设置为挂载点“/boot”
2)将机械硬盘上的空白预留分区,双击,设置为挂载点“/”


7,等待安装完成。(建议联网状态下安装,安装设置中勾选安装图形加速,wifi等那个选项。可以省略后面的麻烦)
8,安装完成后,重新启动电脑,依旧需要按F12;可以看到引导项为
1)win10(固态硬盘)WDC
2)机械硬盘 ST500
3)固态硬盘WDC
4)网络NETWORK
选择第3项,回车,启动进入ubuntu系统。

9,如果系统安装时,没有联网,则进入ubuntu系统后,出现“无法连接wifi适配器”;网上教程较多,我是用如下方式解决的;
1)插网线
2) 开启终端输入
$ sudo apt-get update
$ sudo apt install broadcom-sta-dkms(这句可能没用)
$ sudo modprobe -r ideapad_laptop
10,安装ubuntu18.04对应的ROS-melodic(亲测有效)
参考网址:ubuntu18.04安装ROS Melodic(最详细配置)
补充:sudo rosdep int,会出现“sudo: rosdep:找不到命令”;
输入:$ sudo apt-get install python-rosdep
11,安装gazebo模型库(亲测有效)
参考网址:gazebo模型下载以及配置_sunshine-优快云博客
启动gazebo:gazebo [Err] [REST.cc:205] Error in REST reques
t的解决:
$ sudo gedit ~/.ignition/fuel/config.yaml
然后将 url : https://api.ignitionfuel.org 用 # 注释掉
添加 url: https://api.ignitionrobotics.org
gazebo依旧是黑地板,如下图

13,安装显卡驱动;系统自带为nouveau兼容驱动

参考网址:ubuntu安装显卡驱动的三种方法_u014682691的专栏-优快云博客
第一种方法,有问题,直接安装不做任何配置。会导致重启进不来 图形界面。
采用命令行安装:
1)可以看到当前驱动为nouveau

2)看到推荐驱动为450

3)采用autoinstall安装推荐驱动

4)安装缺失固件:
可以选择下载:
Repository of firmware blobs for use with the Linux kernel
或者直接安装:
(可能需要添加软件源
$ sudo gedit /etc/apt/sources.list
deb [by-hash=force] http://mirrors.aliyun.com/deepin lion main contrib non-free
$ sudo apt-key adv --keyserver OpenPGP Keyserver --recv-keys 425956BB3E31DF51
$ sudo apt-get update
)
$ cd /lib/firmware/rtl_nic/
$ sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtl_nic/rtl8125a-3.fw
$ sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtl_nic/rtl8168fp-3.fw
$ sudo update-initramfs -u
安装完成后重启电脑,并查看

已经正确显示了我的显卡型号。
gazebo正常显示
