在树莓派上安装Ubuntu mate系统 装Ubuntu mate系统后会少很多坑,而且我在里面给出了集成好ros-melodic的Ubuntu mate镜像的网盘连接,永久有效,安装完之后不需要再安装ros了。 -----------------------------------------------分割线-----------------------------------------------
书接上文,上文提到了在树莓派自带系统Raspbian中安装ros kinetic的教程安装教程,但在安装过程中遇到了一些问题,在这里记录一下。 如何使用一根USB线便在电脑上控制树莓派在我的另一篇博客有写,可以前去查看。
在上面链接中,执行到1.2安装引导依赖项指令时,会报错,我的错误如下:
You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: python-rosdep-modules : Depends: python-rospkg-modules (>= 1.1.10) but it is not going to be installed Depends: python-catkin-pkg-modules (>= 0.4.0) but it is not going to be installed Depends: python-rosdistro-modules (>= 0.7.5) but it is not going to be installed python-rosdistro : Depends: python-rosdistro-modules (>= 0.8.3) but it is not going to be installed E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).根据提示,输入以下指令:
$ sudo apt --fix-broken install后,又出现了以下错误:
dpkg: error processing archive /var/cache/apt/archives/python-catkin-pkg-modules_0.4.23-1_all.deb (--unpack): trying to overwrite '/usr/lib/python2.7/dist-packages/catkin_pkg/__init__.py', which is also in package python-catkin-pkg 0.4.10-1 Preparing to unpack .../python-rospkg-modules_1.2.8-1_all.deb ... Unpacking python-rospkg-modules (1.2.8-1) ... dpkg: error processing archive /var/cache/apt/archives/python-rospkg-modules_1.2.8-1_all.deb (--unpack): trying to overwrite '/usr/lib/python2.7/dist-packages/rospkg/__init__.py', which is also in package python-rospkg 1.1.7-1 Errors were encountered while processing: /var/cache/apt/archives/python-catkin-pkg-modules_0.4.23-1_all.deb /var/cache/apt/archives/python-rospkg-modules_1.2.8-1_all.deb E: Sub-process /usr/bin/dpkg returned an error code (1)能够看出是两个问题,分别执行下面的指令即可:
$ sudo dpkg -i --force-overwrite /var/cache/apt/archives/python-catkin-pkg-modules_0.4.23-1_all.deb $ sudo apt-get -f install $ sudo dpkg -i --force-overwrite /var/cache/apt/archives/python-rospkg-modules_1.2.8-1_all.deb $ sudo apt-get -f installPS:可能module的号不同,比如我缺的是catkin的0.4.23-1和rospkg的1.2.8-1,大家根据错误提示自己修改一下即可。 然后输入以下指令便不再报错:
$ sudo apt --fix-broken install再用下面的指令更新一下rosdep:
$ sudo rosdep update然后再运行教程中的1.2安装引导依赖项指令即可:
$ sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake若网络不好,就多试几遍。
在执行教程中步骤1.3中指令:
$ sudo rosdep init出现如下错误:
DistributionNotFound: The 'rospkg>=1.1.10' distribution was not found and is required by rosdep重新安装 Python版本的 rosdep的即可
sudo apt install python3-rosdep安装完之后继续执行init指令,但是有报错:
ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down.此时需要在/etc/hosts文件末尾添加上一个网址:
151.101.84.133 raw.githubusercontent.com用什么方式添加都可以,包括用gedit、vim,或者直接在图形化界面打开这个文件进行更改,这里列出用gedit和vim添加的方法,任选其一即可: gedit添加网址:
sudo gedit /etc/hosts然后在末尾添加网址。
vim添加网址:
sudo vi /etc/hosts然后按i进入vim的insert模式,然后把光标挪到末尾,复制一下上面的网址,按shift+ins键(在小键盘旁边),然后按Ctrl+C,然后输入:wq即可。 然后再进行1.3初始化中的两条指令即可:
$ sudo rosdep init $ rosdep update此时如果报如下错误:
ERROR: default sources list file already exists: /etc/ros/rosdep/sources.list.d/20-default.list Please delete if you wish to re-initialize则使用如下指令将其删掉即可:
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list然后再执行如下指令便没有问题了
$ sudo rosdep init $ rosdep update