【超详细】Win11 + WSL-ubuntu20.04安装ROS及可视化

一、安装并配置WSL

1.安装WSL

微软应用商店直接搜索Ubuntu20.04,系统会自动引导完成安装。或按官方文档使用wsl --install命令完成安装,然后到应用商店更换为ubuntu20.04版本。注意WSL默认安装在C盘,如需迁移到其他盘可参考链接
请添加图片描述
建议用win10的同学在微软应用商店搜索下载“windows terminal”,配合WSL使用。
请添加图片描述
打开终端,点击最上方的﹀按钮,可显示已安装的ubuntu发行版,如下图,点击Ubuntu 20.04.6 LTS项或按ctrl+shift+对应数字即启动WSL。

请添加图片描述
目前的安装方式都默认安装WSL2,可以在cmd中使用wsl -l -v命令查看当前wsl的版本。
确认version为2,否则需要运行wsl --update更新为WSL2。
在这里插入图片描述

2.更换apt软件源

在上文的步骤完成后,进入WSL终端,这个终端就相当于一个没有图形界面的ubuntu虚拟机,以下所有操作请在WSL终端内完成。
在这里插入图片描述

进入新系统后,换国内源提高apt更新的速度。这里选择更换为清华源,在终端输入sudo nano /etc/apt/sources.list,将文件更改为以下内容:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

3.安装图形化界面

sudo apt update
sudo apt install ubuntu-desktop
nautilus .			# 测试能否打开文件管理器
gnome-terminal .	# 测试能否打开原生终端

注:目前的WSL已经自带WSLg,安装完成后就可以打开各种图形化程序。例如输入firefox打开浏览器,输入nautilus打开文件管理器,输入gnome-terminal可打开Linux原生终端,如下图,在edit-preference中可更改终端背景色、文本大小等。
在这里插入图片描述

不要强求图形化桌面!!!不要强求图形化桌面!!!不要强求图形化桌面!!! 一般来说WSLg已经足够满足运行各种可视化程序的需求,只是无法显示桌面,不一定非要追求像虚拟机那样把ubuntu的桌面也进行可视化。其他使用VcXsrv、xrdp等通过远程连接实现图形化桌面的方法,博主都没有尝试成功,并且可能会出现无法预料的bug,例如使用windows下的vscode打开WSL内的文件夹时,集成终端可能会无法正常定位到WSL的工作目录,需要手动cd到工作目录去,博主曾因为这个重装了WSL。

二、安装ROS

1.添加安装源

将如下命令复制到终端内执行,添加ROS安装源并设置密钥,这里使用中科大的安装源。

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update

2.安装ROS软件包

官方教程在这里,ubuntu20.04对应ROS noetic版本,在终端输入以下命令进行安装:

sudo apt install ros-noetic-desktop-full

耐心等待安装完毕,安装成功后再输入同样的命令应有如下提示。

在这里插入图片描述

3. 初始化rosdep

这里往往是巨坑,因为rosdep默认的更新源在国外,常常出现网络问题,即使魔法上网也可能更新失败。这里采用换国内源的方法(涉及到pip,最好在conda环境内进行),在终端输入:

sudo apt update
sudo apt install python3-rosdep2 python3-pip
sudo pip3 install 6-rosdep
sudo 6-rosdep			# 运行这个python包的作用就是修改rosdep的更新源

成功后将看到如下提示:
在这里插入图片描述
然后再执行

sudo rosdep init
rosdep update

仍然可能出现错误
在这里插入图片描述
原因是清华源中index-v4.yaml的地址已经变了,我们手动在浏览器中输入https://mirrors.tuna.tsinghua.edu.cn/rosdistro/ 进去查看,发现该文件已移动到主页下
在这里插入图片描述
输入sudo gedit /usr/lib/python3/dist-packages/rosdistro/__init__.py 将里面的url修改为目前正确的地址,保存退出。
在这里插入图片描述
重新运行rosdep update,如下图即为更新成功。
在这里插入图片描述

4.收尾工作

将ROS添加到环境变量方便在任何终端中使用:

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

安装rosinstall

sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool

安装roslaunch

 sudo apt install python3-roslaunch

最后再完整安装一遍desktop-full,原因是之前装python3-rosdep2时,apt可能会将这里面的一些包删除。

sudo apt install ros-noetic-desktop-full

5.验证是否安装完成

首先启动roscore,在任意终端中输入roscore并执行即可。请添加图片描述
启动海龟仿真器,输入

rosrun turtlesim turtlesim_node

按ctrl+shift+对应数字新建一个WSL终端,或输入gnome-terminal打开内置终端(内置终端中再按 ctrl+shift+t 可以比较方便地打开新终端,比较符合ubuntu的操作习惯),在新建的终端中输入

rosrun turtlesim turtle_teleop_key

此时应能正常出现可视化界面,按键盘的方向键可以控制海龟移动。
请添加图片描述

启动rviz,在终端中输入rviz并执行,可正常弹出rviz的界面,与windows无缝集成。
在这里插入图片描述
到这里WSL的ROS环境就安装成功了!

参考资料

https://blog.csdn.net/qq_64671439/article/details/135287166

猜你喜欢

转载自blog.csdn.net/qq_45870566/article/details/146103862
今日推荐