やりたいこと
Windows10でAutowareをしたい
ひとまず無視する内容
- CUDA
WSLの準備
Storeから「Ubuntu16.04」をインストールします。
なお、初期設定は終了した時点からのスタートとします。
※2019/05/27時点で、Ubuntu16が正常にインストールできないようです。
Ubuntuが18に固定されるような場合、この記事を参考にインストールを行ってください。
WSL上での操作
ROS のインストール
ROS Wikiを参考に進めます。
ROSのインストール
$ 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://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
$ sudo apt update
$ sudo apt-get install ros-kinetic-desktop-full
ROSDEPを初期化。
$ sudo rosdep init
$ rosdep update
環境設定を行います
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
最後に、rosの開発パッケージをインストール
$ sudo apt-get install python-rosinstall
OpenCVのインストール
必要パッケージのインストール(以下を一度に実行)
$ sudo apt-get install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy \
libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev \
libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev \
libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev \
x264 v4l-utils unzip
$ wget https://github.com/opencv/opencv/archive/2.4.13.6.zip
$ unzip 2.4.13.6.zip
$ mkdir opencv-2.4.13.6/bulid
$ pushd opencv-2.4.13.6/build/
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_OPENGL=ON \
-D WITH_VTK=ON -D CUDA_GENERATION=Auto ..
$ make -j8
$ sudo make install
$ sudo ldconfig
$ popd
Autoware のインストール
AutowareのWikiを参考に進めます。
初回のupdate(スキップしてもOK)
$ sudo apt update
$ sudo apt upgrade
$ sudo apt update
$ sudo apt install -y python-catkin-pkg python-rosdep python-wstool ros-$ROS_DISTRO-catkin libmosquitto-dev gksu
ROSの必要パッケージをインストール
$ sudo apt install libglew-dev ros-kinetic-sound-play ros-kinetic-jsk-recognition-msgs ros-kinetic-nmea-msgs ros-kinetic-grid-map-ros ros-kinetic-jsk-rviz-plugins ros-kinetic-gps-common libssl-dev libssh2-1-dev libnlopt-dev libpcap-dev libarmadillo-dev
Autowareのクローン
$ cd $HOME
$ git clone https://github.com/CPFL/Autoware.git --recurse-submodules
colconの設定(v1.11以降に必要)
$ sudo apt install -y python3-pip python3-setuptools
$ sudo pip3 install -U setuptools
$ sudo apt install -y python3-colcon-common-extensions
ビルド
$ cd ~/Autoware/ros/
$ rosdep update
$ rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
$ ./colcon_release
X Windowsの準備
WSLのGUIを操作するために、Windows側にX Clientをインストールします。
今回はVcXsrvを使用します。
X410というストアアプリもあるようですので、お好きなほうをご使用ください。
起動すると以下のような画面が表示されますので、
「One large Window」を選択してDisplayを起動します。
Ubuntuでデスクトップサービスを起動する
GNONE DESKTOPをインストール
$ sudo apt install ubuntu-desktop unity compizconfig-settings-manager
出力するディスプレイを指定。
必要に応じて.bashrcに書き込みましょう。
$ export DISPLAY=:0.0
デスクトップ設定
$ ccsm
Ubuntu Unity Pluginが選択されていることを確認。
$ compiz
これでデスクトップが起動します。
ターミナルを起動し、以下のコマンドを実行します。
(Windows側から新しくターミナルを起動します。)
$ cd Autoware/ros
$ ./run
これで起動します。
CUDAは使えませんが、それ以外の機能は使えると思います。