前言
由于docker安装仿真,仿真速度慢但是CPU和GPU占用却很少,github issue中也有很多人反映这个问题但没有很好的解决方案。其中一个issue说可能是docker的问题,源码安装可能会有效,因此尝试源码安装。
提示:需要在ubuntu18.04上源码安装
官方Requirements地址
一、安装ROS
直接使用fishros的一键安装,省时省力。
wget http://fishros.com/install -O fishros&&. fishros
提示:需要执行3 然后手动 rosdepc update
二、安装ign
直接点击左上方install,然后点击二进制安装
千万不能安进去的页面提示选择版本
必须是Dome
这个安装代码是通用的,没法翻墙的可直接使用安装
sudo apt-get update
sudo apt-get install lsb-release wget gnupg
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install ignition-dome
2.安装显卡驱动
直接在设置-软件和更新-附加驱动
这里更新驱动方便
安装完成后输入
nvidia-smi
提示:如果命令报错就重启电脑
出现如下信息表示安装成功
CUDA Version: 12.0 代表推荐的CUDA版本
先在这查找UBUNTU版本对应的推荐的CUDA版本的小版本CUDA tag
这里因为必须是ubuntu18.04所以我就是12.0.1
然后在CUDA官网找到版本号https://developer.nvidia.com/cuda-toolkit-archive
依次选择系统版本
安装方式选择网络runfile安装
这里需要额外注意的是 wget 命令不翻墙特别容易下一半挂掉, 直接复制网站到浏览器下载,下一半停了还能断点续传。
cuda_version_linux.run改成下载的文件名
# wget https://developer.download.nvidia.com/compute/cuda/12.0.1/local_installers/cuda_12.0.1_525.85.12_linux.run
# sudo sh cuda_12.0.1_525.85.12_linux.run
执行这个命令时会卡顿很久没反应,千万别Ctrl C 取消了
sudo sh cuda_version_linux.run
命令报错的话打开可执行权限
sudo ./cuda_version_linux.run
然后选择continue,手打accept就好
这里得取消Drvier的安装,因为我们已经安装了
提示:X 代码勾选
安装完后
执行命令可以看见CUDA表示安装成功
dir /usr/local/
执行命令
gedit ~/.bashrc
在文末添加 下面的代码 这里12.0需要更换为你自己的版本
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.0/lib64
export PATH=$PATH:/usr/local/cuda-12.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.0
输入
source ~/.bashrc
nvcc -V
显示信息表示安装成功
如果想要验证CUDA到这位大神这实验CUDA编程
三、源码安装SUBT
依照官方catkin安装教程
没法翻墙的直接运行下面的就好
1.安装所需依赖
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install build-essential cmake libusb-dev libccd-dev libfcl-dev lsb-release pkg-config python ignition-dome ros-melodic-desktop \
ros-melodic-tf2-sensor-msgs ros-melodic-robot-localization ros-melodic-ros-control ros-melodic-control-toolbox ros-melodic-twist-mux ros-melodic-joy \
ros-melodic-rotors-control python3-vcstool python3-colcon-common-extensions ros-melodic-ros-ign g++-8 git python-rosdep
2.更新所有ROS和Ignition包,如果您已经预先安装了其中一些:
这里我用的fishros的rosdep,所以都改成了rosdepc
sudo apt-get upgrade
sudo rosdepc init && rosdepc update
3.将默认gcc版本设置为8:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8 --slave /usr/bin/gcov gcov /usr/bin/gcov-8
4.创建catkin工作区,并克隆SubT仓库:
# Setup the workspace
mkdir -p ~/subt_ws/src && cd ~/subt_ws/src
git clone https://github.com/osrf/subt
5.构建工作区:
# Source ROS distro's setup.bash
source /opt/ros/melodic/setup.bash
# Build and install into workspace
cd ~/subt_ws/
rosdepc install --from-paths src --ignore-src -r
catkin_make -DCMAKE_BUILD_TYPE=Release install
启动SubT模拟器:
# Source SubT 工作空间
source ~/subt_ws/install/setup.bash
# 测试 ign subt是否安装成功
ign launch -v 4 competition.ign worldName:=tunnel_circuit_practice_01 circuit:=tunnel robotName1:=X1 robotConfig1:=X1_SENSOR_CONFIG_1
#首次安装并启动Ignition Virtual Tunnel Circuit时,GUI将显示空白面板几分钟,直到模型下载完毕。 它们存储在
~/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models目录下。
绿色的就是打印的正在下载的文件,~/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models`目录下可以看到有正在下载的文件夹。
总结
经过测试
并不是docker限制了仿真的效率,直接运行比docker运行反而慢了。
也不知道有没有大神知道怎么加速运行。有的话🙏请教教我
还有就是
自己常用的工作电脑还是不推荐这样整的,我这是直接在电脑拿一块新硬盘装的系统,很可能把其他环境搞坏的
docker才是YYDS
推荐大家还是按这个大神docker 安装
参考
https://zhuanlan.zhihu.com/p/497518378
https://blog.csdn.net/qq_36051316/article/details/132225831
https://github.com/osrf/subt/wiki/Catkin%20System%20Setup
------------------------------分割线 ------------------------------
更新SubT模拟器
通过以下命令来直接获取最新的仿真模型:
速度奇慢 这有大神上传到ONEDRIVER了https://zhuanlan.zhihu.com/p/497518378
ign fuel download -v 4 -j 8 -u "https://fuel.ignitionrobotics.org/OpenRobotics/collections/SubT Tech Repo"
可以通过以下方式获取最新的代码:
cd ~/subt_ws/src/subt
git checkout master
git pull origin master
并更新Ignition Gazebo:
sudo apt-get update && sudo apt-get upgrade ignition-dome