2016/9/1 追記 : Quick Start の途中でエラーになる。詳細は末尾に追加
環境構築
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key
sudo apt-key add ./ros.key
sudo apt update
sudo apt install ros-indigo-desktop-full ros-indigo-nmea-msgs ros-indigo-nmea-navsat-driver ros-indigo-sound-play ros-indigo-jsk-visualization libnlopt-dev freeglut3-dev qtbase5-dev libqt5opengl5-dev libssh2-1-dev libarmadillo-dev libpcap-dev gksu
ビルド
# 本来は .bashrc とかに追加する
source /opt/ros/indigo/setup.bash
mkdir -p ~/project
cd ~/project
git clone https://github.com/CPFL/Autoware.git
cd Autoware/ros/src
catkin_init_workspace
cd ..
./catkin_make_release
実行(失敗)
# 必要に応じて。
# 本来は .bashrc とかに追加する
source /opt/ros/indigo/setup.bash
cd ~/project/Autoware/ros
Process Manager
(gksudo:9442): Gtk-WARNING **: cannot open display:
./run: 行 41: --geometry=50x10+0+0: コマンドが見つかりません
./run: 行 44: --geometry=50x10+500+0: コマンドが見つかりません
./run
ディスプレイとターミナルがないのでエラー。 方針としては下記。- lxterminal をインストールする
- Windows に xserver 立てる
必要な環境を追加
lxterminal
sudo apt install lxterminal
xserver
Xming をインストールする。インストールするファイルは下記。
- Xming-6-9-0-31-setup.exe
実行リベンジ
export DISPLAY=localhost:0.0
./run
だめだった...。文字化けについては、
export LC_ALL=C
で回避。.Xauthority は touch で作ってしまう。
実行リベンジ2
export LC_ALL=C
touch ~/.Xauthority
./run
が、ダメ。cap_last_cap が権限関係の何からしいので、とりあえずコメントアウトしてみる。
※これで大丈夫な根拠ない。だれかよい方法おしえて...。
実行リベンジ3
# drop_capabilities() をコメントアウトする。
vim ~/project/Autoware/ros/src/util/packages/runtime_manager/scripts/proc_manager.py
こうなった。
roscore
が動いているみたいなので実行してみる。実験
$ roscore
... logging to /home/mikoto/.ros/log/5330c532-6f82-11e6-a03c-74d02b272f3b/roslaunch-MNHOMEWIN-3539.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://MNHOMEWIN:53403/
ros_comm version 1.11.20
SUMMARY
========
PARAMETERS
* /rosdistro: indigo
* /rosversion: 1.11.20
NODES
Traceback (most recent call last):
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/__init__.py", line 307, in main
p.start()
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/parent.py", line 279, in start
self.runner.launch()
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/launch.py", line 654, in launch
self._setup()
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/launch.py", line 630, in _setup
self._launch_master()
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/launch.py", line 394, in _launch_master
validate_master_launch(m, self.is_core, self.is_rostest)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/launch.py", line 83, in validate_master_launch
if not rosgraph.network.is_local_address(m.get_host()):
File "/opt/ros/indigo/lib/python2.7/dist-packages/rosgraph/network.py", line 176, in is_local_address
local_addresses = ['localhost'] + get_local_addresses()
File "/opt/ros/indigo/lib/python2.7/dist-packages/rosgraph/network.py", line 219, in get_local_addresses
for iface in netifaces.interfaces():
OSError: [Errno 22] Invalid argument
調べてみると、https://github.com/gavanderhoorn/getifaddrs_preload
を導入するとうまくいくらしい。実行リベンジ4
cd ~/project
git clone https://github.com/gavanderhoorn/getifaddrs_preload
cd getifaddrs_preload
make
export LD_PRELOAD=~/project/getifaddrs_preload/_getifaddrs.so
cd ~/project/Autoware/ros/
./run
動いた。Quick Start を試すのはまた今度。2016/9/1 追記
Quick Start してみたらうまく動かなかった...。悲しい。
@mikoto2000 ファイル読み込み系でエラー吐いてる。map, localization の読み込みと、 RViz の表示がうまくいかなくて QuickStart やりきれない感じ。 pic.twitter.com/UHZVaw39UI
— 大雪 命 (@mikoto2000) 2016年8月31日
参考資料
- CPFL/Autoware: Open-source software for urban autonomous driving : https://github.com/CPFL/Autoware
- Autoware/autoware-users-manual.pdf at master · CPFL/Autoware : https://github.com/CPFL/Autoware/blob/master/docs/jp/autoware-users-manual.pdf
- Bash on Ubuntu on Windows + XmingによるGUI - Qiita : http://qiita.com/makky0620/items/e31edc90f22340d791ff
- Installing ROS on Ubuntu Bash in Windows 10 - ROS Answers: Open Source Q&A Forum : http://answers.ros.org/question/238646/installing-ros-on-ubuntu-bash-in-windows-10/
- gavanderhoorn/getifaddrs_preload : https://github.com/gavanderhoorn/getifaddrs_preload