ROS Installation ================ ## 作業環境 - Windows 8.1 Professional Edition. ## 1. Edison用ドライバのインストール [Intelの公式配布ページ](http://www.intel.com/support/edison/sb/CS-035180.htm)から、 ドライバをダウンロードします。(最新版のドライバを入れておく必要があります。) ## 2. Debianイメージの取得 [ubilinuxの公式配布ページ](http://www.emutexlabs.com/ubilinux)から、 Edison用のDebianイメージをダウンロードします。 これを解凍し、任意のフォルダに展開しておきます。 ## 3. dfu-utilの取得 [コミュニティサイト](https://community.particle.io/t/latest-2014-dfu-util-for-windows-compiled/5264)から、 イメージの転送ソフトをダウンロードします。 ## 4. Debianイメージの書き込み 1. ***toFlash***ディレクトリ内に、3.でダウンロードした***dfu-util.exe***を設置します。 2. ***flashall.bat***内のコメントアウト行を、***cmd.exe***に合わせて**"rem"**に書き換えます。 (この作業を行わないと、バッチファイルの実行時にエラーがでます。) 3. ***flashall.bat***を実行したのち、EdisonをPCに接続します。 4. 転送処理の開始に成功すると、プロンプト上にログが表示されます。(そのまま10分ほど待機してください。) ## 5. Edisonとのシリアル接続 FTDI制御マイコンの実装されている側のUSBポートへ、USBケーブルを接続します。 その後、TeraTermなどのターミナルエミュレータを用いて、認識されたCOMポートに**baudrate 115200**で接続します。 ``` root [Enter] edison [Enter] ``` 以上のように入力し、rootユーザへログインします。 ## 6. ネットワークの設定 初期状態では、**usb0**がデフォルトゲートウェイを握っているため、インターネット接続ができません。 まずはこれを**wlan0**へと変更するために、以下のように入力し、ネットワークの設定ファイルを開きます。 ``` vi /etc/network/interfaces [Enter] ``` そして、wifiの設定を以下のように書き換えます。 ``` iface wlan0 inet dhcp wpa-ssid wpa-psk ``` 最後に、以下のように入力し、ネットワークを再構成します。 ``` ifup wlan0 [Enter] service networking restart [Enter] ``` 念のため、**ping**コマンドを用いて接続確認を行ってみてください。 ``` ping plen.jp ``` ## 7. sudoのインストール パッケージのアップデートを行うために以下のコマンドを入力します。 ``` apt-get update [Enter] ``` 次にsudoをインストールします。 ``` apt-get install sudo [Enter] ``` ## 8. ユーザの作成 ユーザを作成するために以下のコマンドを入力します。< USERNAME >が作成したいユーザ名になります。 ``` useradd -m -g users -s /bin/bash passwd ``` root権限を与えるためにvisudoに追記します。 ``` visudo ``` nanoが起動しますので、以下の部分の内容を変更します。 ``` Defaults secure_path="/home//.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" Defaults env_keep += "PYTHONPATH" # User privilege specification root ALL=(ALL:ALL) ALL ALL=(ALL:ALL) ALL ``` sudoコマンドを利用した時にエラーが出ますので/etc/hostsへの追記を行います。 ``` vi /etc/hosts [Enter] ``` 追記は内容は以下のようになります。 ``` 127.0.0.1 localhost ubilinux ``` ここで一度再起動します。 ``` reboot [Enter] ``` ## 9.容量の問題を解決するためにをhome以下になるべく逃がす設定 先程作成したユーザでログインします。 まず、.bashrcを編集します。 ``` vi .bashrc [Enter] ``` 次の内容を追加します。 ``` export PATH=~/.local/bin:$PATH export PYTHONPATH=~/.local/lib/python2.7/:~/.local/lib/python2.7/site-packages/ ``` 追加した設定を反映させます。 ``` source ~/.bashrc [Enter] ``` 次に~/.pydistutils.cfg を作成し、内容は以下のようにします。 ``` [install] user=1 ``` ## 10.pipのインストール pipのインストールを行います。apt-getでインストールした場合はバージョンが古くなるため次のようにします。 ``` sudo wget https://bootstrap.pypa.io/ez_setup.py --no-check-certificate -O - | python [Enter] easy_install pip [Enter] ``` 共有ライブラリをhome以下のものも見に来るように設定します。 ``` sudo sh -c "echo $HOME/.local/lib > /etc/ld.so.conf.d/locallib.conf" [Enter] sudo ldconfig [Enter] ``` ここで再起動を行います。 ``` sudo reboot [Enter] ``` ## 11. ROS [解説サイト1](http://qiita.com/yoneken/items/eda0bedec847761088c1)、[解説サイト2](http://martinkronberg.com/new-blog/2015/3/18/ros-on-intel-edison-using-ubilinux-and-porting-to-yocto)を参考に、 ROSのインストールを行います。 ### 11.1. 準備 まず、新しいパッケージを入手するために/etc/apt/sources.list に追記を行います。 ``` sudo vi /etc/apt/sources.list [Enter] ``` ``` deb http://ftp.jp.debian.org/debian wheezy-backports main ``` 次に、パッケージを更新します。 ``` sudo apt-get update [Enter] ``` 次に、必要だと考えられるライブラリを入手します。 ``` sudo apt-get install libjpeg8-dev libgtest-dev sbcl python-imaging liblog4cxx10-dev libboost-all-dev liblz4-dev libtinyxml-dev libbz2-dev libffi-dev[Enter] pip install rosdep rosinstall_generator wstool rosinstall nose argparse PyYaml empy netifaces paramiko coverage mock crypto Pillow numpy pyserial [Enter] sudo rosdep init [Enter] rosdep update [Enter] ``` 次に~/.pydistutils.cfg の内容を変更します。 ``` [install] user=0 ``` ### 11.2. console_bridgeのインストール catkinで利用するため,個別にインストールしておく必要があります. [解説サイト](http://answers.ros.org/question/62215/where-to-install-console_bridge/)を参考に行います。 ``` mkdir ~/cb_ws [Enter] cd ~/cb_ws [Enter] git clone https://github.com/ros/console_bridge [Enter] mkdir build [Enter] cd build [Enter] cmake -DCMAKE_INSTALL_PREFIX=~/.local ../console_bridge [Enter] make install [Enter] ``` ### 11.3. ROS-Comm: (Bare Bones)のインストール catkinワークスペースの作成をします。 ``` mkdir ~/ros_catkin_ws [Enter] cd ~/ros_catkin_ws [Enter] ``` 次に、GUIなしのバージョンをインストールします。 ``` rosinstall_generator ros_comm --rosdistro indigo --deps --wet-only --tar > indigo-ros_comm-wet.rosinstall [Enter] wstool init -j2 src indigo-ros_comm-wet.rosinstall [Enter] ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release [Enter] ``` 環境変数を設定します。(.bashrcに追記します) ``` source ~/ros_catkin_ws/install_isolated/setup.bash export LD_LIBRARY_PATH=~/.local/lib/i386-linux-gnu:$LD_LIBRARY_PATH ``` ``` source ~/.bashrc [Enter] ``` roscoreでマスターが起動することを確認します。 ``` roscore [Enter] ``` rootの.bashrcも追記します。 ``` PYTHONPATH=/usr/local/lib/i386-linux-gnu/python2.7/site-packages/:/home//.local/lib/python2.7/:/home//.local/lib/python2.7/site-packages/ export LD_LIBRARY_PATH=/home//.local/lib/i386-linux-gnu/:$LD_LIBRARY_PATH export PATH=/home//.local/bin/:/home//ros_catkin_ws/install_isolated/bin/:$PATH source /home//ros_catkin_ws/install_isolated/setup.bash export LC_ALL=C ``` ## 12. BlueZのインストール まず、blueZを取得し、解凍を行います。 ``` wget https://www.kernel.org/pub/linux/bluetooth/bluez-5.35.tar.xz [Enter] tar xvf bluez-5.35.tar.xz [Enter] ``` 次に、ビルドを行い、その後インストールします。 ``` cd bluez-5.35 [Enter] ./configure --disable-systemd --enable-library [Enter] make [Enter] sudo make install [Enter] ``` 最後に、必要なpythonのライブラリを入手します。 ``` sudo apt-get install python-dbus python-gobject [Enter] ``` ## 13. PLEN用ノードの作成 //fix me. ## 14. Intel Edisonのアクセスポイント化 この作業は必要な作業ではありませんので興味のある方は[解説サイト](http://qiita.com/musubi05/items/4d28ec60d0ba4cdea00c)を参考にアクセスポイント化を行ってください。