rog幻16air+ubuntu22.04+isaac gym
最近为幻16air配置ros及rl环境时,ubuntu版本及linux内核产生了冲突。要使用nvidia-driver、ros-noetic,选择ubuntu20.04貌似是首选,但是电脑硬件较新,触控板、网卡等硬件无法使用。最终选择安装ubuntu22,并成功配置了ros-noetic、isaac gym。
幻16air硬件较新,虽然isaac gym官网说明支持ubuntu18及ubuntu20,但实测ubuntu22也可以使用。安装ubuntu20会产生无法使用AX211、触控板的情况。强制下载libc6、libssl库,将内核升级为6.3会导致nvidia驱动产生问题,主要由于libc6、libssl库的版本不匹配,经过不断尝试没有解决升级内核后为ubuntu20装显卡驱动的问题。
安装ubuntu22.04,内核版本6.5.0-27,nvidia驱动版本535.161.07,cuda版本12.2.2_535.104.05,cudnn版本x86_64-8.9.3.28_cuda12。
Install nvidia-driver & cuda & cudnn
1.Install nvidia-driver
sudo apt update
sudo apt install nvidia-driver-535
2.Install cuda
根据官网链接使用runfile安装。
安装完成后,在bashrc中添加
export PATH=$PATH:/usr/local/cuda-12.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.2/lib64
使用下边的命令测试是否安装成功。
source ~/.bashrc
nvcc -V
3.Install cudnn
按照官网下载好压缩包后解压,进入目录。
tar -xvf cudnn-linux-$arch-8.x.x.x_cudaX.Y-archive.tar.xz
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda-12.2/include
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda-12.2/lib64
sudo chmod a+r /usr/local/cuda-12.2/include/cudnn*.h /usr/local/cuda-12.2/lib64/libcudnn*
Istall anaconda
anaconda官网
使用bash进行安装
bash Anaconda3-2024.02-1-Linux-x86_64.sh
在出现是否要initial anaconda时,输入yes,此时bashrc会写入配置。
- 创建虚拟环境
conda create -n your_venv_name python=3.8
推荐是使用python3.8,不可高于3.9,isaac gym官网指明版本为Python 3.6,3.7,or 3.8。
Install pytorch
虽然pytoch只支持到cuda12.1,但实测cuda12.2安装cuda12.1对应版本仍可运行。pytorch官网
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
Install isaac gym
issac gym download
虽然issac gym提供了sh文件用于创建conda虚拟环境,但实测对于本机会出现创建失败的情况,使用上边创建的conda环境。用pip安装isaac gym依赖。
conda activate you_venv_name
cd isaacgym/python/
pip install -e .
pip show isaacgym
运行demo。
cd example/
python joint_monkey.py
如果出现ImportError: libpython3.8m.so.1.0: cannot open shared ogject file:.....
报错,使用apt安装libpython3.8。如果没有libpython3.8,输入下边命令重试。
sudo add-apt-repository ppa:deadsnakes/ppa
再次运行会出现pytorch报错UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument.
,参考
根据报错路径找到所用的虚拟环境下的functional.py文件,将报错行代码修改为
return _VF.meshgrid(tensors, **kwargs,indexing = 'ij') # type: ignore[attr-defined]
Install legged_gym
根据github的readme进行配置,参考
Github网址
Notice:安装rsl_rl时,git clone后,必须
git checkout v1.0.2
否则会报错!