Translate

2020年1月22日水曜日

GPUなしProxy環境下のWindows10マシン上でAutoware/ROS Kineticを動かす手順

Windows10 の WSL で動かす場合、systemd や VOLUME マウントする UNIXドメインソケットなどの問題がありWSL内でDockerを動かすことがめんどくさい。

ので、ホストOS側でXサーバを立ち上げ、ソースコードビルドを行ってAutowareを動かしてみた。手順はそこらへんの記事があるだろうと、見てみたのだけど、GitHubからGitLabへ移動したことなどもあり、そのまま動作するものを見つけることができず、試行錯誤の結果以下の手順でようやく動作した。

【注意】以下の手順は2020年1月21日時点のもので、バージョン更新などにより動作しなくなる可能性があるため、参考にする場合は at your own risk でお願いします。

■インストール


  • https://sourceforge.net/projects/vcxsrv/ からVcXrv をダウンロードしてインストール
  • Microsoft StoreからUbuntu 16.04 LTS をダウンロードして起動
  • パスワードを設定
  • vi ~/.bashrc を実行して、以下の5行を追加
export HTTP_PROXY=http://proxy.server:8080/
export HTTPS_PROXY=http://proxy.server:8080/
export http_proxy=$HTTP_PROXY
export https_proxy=$HTTPS_PROXY
export DISPLAY=localhost:0.0
  • source ~/.bashrc
  • vi /etc/apt/apt.conf を実行して以下の2行を追加
Acquire::http::proxy "http://proxy.server:8080/";
Acquire::http::proxy "http://proxy.server:8080/";
  • sudo apt update && sudo apt upgrade -y
  • sudo apt install -y lxde
  • /mnt/c/Program\ Files/VcXsrv/vcxsrv.exe :0 -rootless -clipboard   -noprimary -wgl -xkblayout jp -xkbmodel jp106 &
  • startlxde
  • Xが起動したら、左下のツバメ(?)アイコンをクリック
  • AccessoriesのByobu Terminal を起動
  • sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  • wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
  • sudo apt update
  • sudo apt upgrade -y
  • sudo apt install -y ros-kinetic-desktop-full
  • sudo rosdep init
  • rosdep update
  • echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
  • source ~/.bashrc
  • sudo apt install -y python-rosinstall
  • sudo apt install -y qt5-default
  • sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool ros-$ROS_DISTRO-catkin libmosquitto-dev gksu
  • mkdir -p autoware.ai/src
  • cd autoware.ai
  • wget -O autoware.ai.repos "https://gitlab.com/autowarefoundation/autoware.ai/autoware/raw/1.12.0/autoware.ai.repos?inline=false"
  • vcs import src < autoware.ai.repos
  • rosdep update
  • rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
  • pip3 install -U setuptools
  • colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

make -j2 もかかったが、最後のコマンドだけでも合計2時間半かかった(1回目の途中でXが固まって実行し直した)。

AutowareのDockerコンテナのサイズは異常にでかい。ので、3GB上限のSIMルータとかではすぐにギガが枯渇する。可能な限り光や企業LAN内でのインストールをすすめる。

AWS Greengrass を使ったあと、ROSをインストールすると、AWS Greengrass を設計した人がROS(というか分散ROSかな)を模倣していることに気づく。

DonkeycarアプリケーションがAwtowareに類似していることもわかる。Pub-Subモデルをベースにせず、1つのコンピュータ完結にするため通信をやめてViechleフレームワークという簡略化した実装に替えているのだ。Donkeycarを構成するソフトウェアスタックもAutoware/ROSに似ている。catkin関連がdonkeyコマンドだったり、rosbagがtubデータだったり、トピック名がV.memのキー名だったり..

複数の実装を学習すると、AWSやAWF、Donkeycarコミッタの思想の違いが俯瞰できて実に興味深い。

0 件のコメント:

ClaudeをOpenAI O1のように思考させるDifyサンプルを試す

 Difyの「探索」タブにはさまざまなサンプルが載っており、その1つに「Thinking Claude (OpenAI O1 Alternative)」というものがある。   このサンプルがどういうものか、未だに自分でも解けない以下の問題をためしに聞いてみることにした。 『人類の...