我在环境测试中打下了0.03秒崩溃的好成绩,你也快来试试吧!
是的孩子们,我的环境又崩了,遂想起来更新一篇新的教程。该篇教程的最终目的,是实现在Genesis上测试不同强化学习算法的性能。
一、安装WSL
首先下载WSL(Windows System for Linux),此站链接直接跳转至2.6.1.0,x64版本,如需其他版本请前往官网查找。
什么?你说你先前因为清理C盘,导致了各种严重性崩溃?甚至不能正常卸载WSL?那就试试微软官方提供的修复工具吧:找到WSL,然后修复——就可以了。
打开CMD,然后输入wsl,应当会有如下结果出现:
wsl
安装成功!我们还需要一个Linux环境。
二、安装并导入Linux(Ubuntu22.0.4)
我们使用超绝的ROS2钦点的Ubuntu22.0.4版本,点击下载纯净版Ubuntu22.0.4下载地址(无桌面)。
由于WSL默认将Linux资源放到C盘内,所以我们使用import导入,可以指定路径。要在命令行中进行导入,使用以下指令:
wsl --import <环境名称> <安装路径> <你下载的Ubuntu镜像路径>
结果如图:
现在,再次输入wsl指令,就可以进入Ubuntu系统了!
wsl
三、设置Ubuntu用户
我们惊喜地发现,我们只有root这一个用户,home里空空如也。我们需要一个自己的工作空间,所以第一步,我们需要创建一个自己的用户。
顺带一提:在WSL终端中,复制粘贴都是使用右键!不要使用 Ctrl+C 或 Ctrl+V !
依次在终端里输入以下指令:
sudo apt update && sudo apt upgrade -y adduser <替换为你的用户名>
之后,系统会提示你补全密码和个人信息。输入密码时,终端不会显示你的输入内容,但仍然会接收你的输入。输入两次密码确认后,一路回车就可以了。然后继续输入指令:
usermod -aG sudo <替换为你的用户名> echo "[user]" >> /etc/wsl.conf echo "default=<替换为你的用户名>" >> /etc/wsl.conf sudo chmod 777 /home/ysh
确保我们输入的指令没有任何问题后,便可以使用exit指令退出了。
再次启动系统:
wsl
我们就以自己的身份登录进入Ubuntu了!
四、上传文件与VSCode联动
首先确认一下,我们之后所有操作只在/home/<用户名>的空间里操作了。
我这里配置的用户名为ysh,后续所有带有ysh的命令行都要替换为你自己设置的用户名!
首先改变文件夹的权限:
sudo chmod 777 /home/<你的用户名>
之后打开文件资源管理器,输入以下路径:
\\wsl$\<你的环境名称>\home\<你的用户名>
就可以打开该目录的文件夹!后续有任何文件传输操作,直接把文件拖拽上去就可以了!
与VSCode联动仅需一条指令即可:
code .
同样可以操作你目标位置的文件及文件夹!
五、配置ROS2环境
下载ROS2的库大概需要3GB左右。直接复制粘贴以下内容至命令行:
sudo rm -f /etc/apt/sources.list.d/ros2.list
sudo rm -f /usr/share/keyrings/ros-archive-keyring.gpg
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo gpg --dearmor -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
sudo apt update
sudo apt install ros-humble-desktop -y
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
稍作等待,即可完成安装,测试一下,没问题的话我们跳入下一节~
六、安装Miniconda
点此处前往Miniconda下载链接,本站直接提供25.5.1版本的Miniconda,内核为x86_64,Python版本3.10,仅用于Linux系统。
下载完成后,安装包我们放到/home/<你的用户名>/Download(Download文件夹需要自己创建)。
然后执行以下指令:
chmod 777 ./Miniconda3-py310_25.5.1-0-Linux-x86_64.sh
./Miniconda3-py310_25.5.1-0-Linux-x86_64.sh
然后按照提示安装即可。剩下的镜像源替换操作,请见文章YOLOv5-手写数字识别:零、环境搭配的3.1和3.2。
然后顺手配一个环境:
conda create -n genesis python=3.10 -y
conda activate genesis
git clone https://github.com/Genesis-Embodied-AI/Genesis.git
cd ./Genesis && pip install -e .
conda install ffmpeg
七、安装XLaunch
XLaunch可以为我们提供可视化窗口(即使我们是无头系统)。点击此处直接跳转至下载。
然后安装,安装后出现在桌面,点击打开,第一次使用需要配置。前几个按需求或者走默认都可以。此处记得挑勾:
然后保存配置于本地,这样每次双击就可以直接打开,无需重新配置!
之后,在WSL的终端中输入测试指令,配一下Ubuntu这边的配置:
sudo apt install x11-apps
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
echo "export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0" >> ~/.bashrc
source ~/.bashrc
xeyes
如果配置没有问题,会出现一双眼睛跟随你的鼠标。
Tips:此处可能会有无法连接(拒绝连接)的情况。这个时候尝试改为运行下面的指令:
export DISPLAY=$WINDOWS_IP:0
echo "export DISPLAY=$WINDOWS_IP:0" >> ~/.bashrc
source ~/.bashrc
xeyes
八、本章小结
本章配置了WSL+Genesis+ROS2+Miniconda+XLaunch。辛苦了,后续章节我们将开始运行测试!