Robotino 3

  • 最新版のRobotino 3のセットアップ情報をまとめます.

ネットワークの設定

  • 初期状態の /etc/network/interfaces は,以下の通り.
    robotino@robotino:~$ cat /etc/network/interfaces
    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    
    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    # The primary network interface
    auto eth0
    iface eth0 inet static
      address 192.168.0.1
      netmask 255.255.255.0
    
    # The primary network interface (fallback)
    auto eth0:10
    iface eth0:10 inet static
      address 172.27.1.1
      netmask 255.255.0.0
    
    iface wlan0 inet static
      address 172.26.1.1
      netmask 255.255.0.0
      post-up /usr/local/bin/start-wlan0-master.sh
      pre-down /usr/local/bin/stop-wlan0-master.sh
    
  • 有線LANは,192.168.0.1 と,172.26.1.1 の固定IP
    • 172.26.1.100 から172.26.1.200 のIP をDHCP で配布
  • 無線LAN は,どの機器を繋いだらONになるんだろう….
  • 逆にDHCP のネットワークに繋ぎたいなら,以下を追加.
    auto eth0:20
    iface eth0:20 inet dhcp
    

Ubuntu 12.04 のまま頑張る方法

  • Ubuntu 12.10 はサポート切れのため,12.04LTS で進めた方が色々と良い感じ.
    • 龍大用の設定
      • /etc/apt/apt.conf
        Acquire::http::Proxy "http://cache.st.ryukoku.ac.jp:8080/";
        
    • まずは,Fawkes Robotino 3のページを参考に,パッケージを入れてみましょう.
      • /etc/hosts と /etc/hostname を変更.
      • ドイツ→英語への変更
      • GCC とBoost の変更と,古いパッケージの削除
        • 龍大の内部で作業するときは,プロキシの設定を忘れずに
          export http_proxy=http://cache.st.ryukoku.ac.jp:8080
          export https_proxy=$http_proxy
          
        • sudo を使うときは,sudo -E として,環境変数を引き継ぐこと.
      • RoboCupに必要な環境を作るための準備
        • ROS 等のパッケージ環境を整える
        • ccache をインストール
        • OpenRobotino? daemons の停止
        • Socket Permissions の変更
        • Fawkes の導入
          git config --global http.proxy http://cache.st.ryukoku.ac.jp:8080
          git config --global url."https://".insteadOf git://
          
      • ついでにCarologisticsのコードもインストール(後のgazeboを入れてからの方が良い)
        wget https://files.fawkesrobotics.org/releases/fawkes-robotino-2014.tar.bz2 --no-check-certificate
        bunzip2 fawkes-robotino-2014.tar.bz2 
        tar xvf fawkes-robotino-2014.tar
        cd fawkes-robotino
        make
        
    • linux-hwe-generic のインストール
      sudo apt-get install linux-hwe-generic
      
  • RoboCup Logistics League Simulatorの準備
    • Gazebo Simulation Setup for fawkes-robotinoに従う.
      • gazebo のインストール
        • こちらを参考にしました.
        • apt-get install gazeboだと,libogre-dev を要求され,その後,libboost周りの依存関係が解決できなくなります.
        • gazebo3 を指定することで,なんとか導入できました.
          sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu precise main" > /etc/apt/sources.list.d/gazebo-latest.list'
          wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
          sudo apt-get update
          sudo apt-get install gazebo3
          
          • gazebo のdev が入らないので,ソースから作業.こちらを参考に.
            • ogre-3d が必要.ogre3dのページから,linux 用ソースogre_src_v1-8-1.tar.bz2 をダウンロード.
              sudo apt-get install libxaw7-dev
              wget http://sourceforge.net/projects/ogre/files/ogre/1.8/1.8.1/ogre_src_v1-8-1.tar.bz2/download
              bunzip2 ogre_src_v1-8-1.tar.bz2
              tar xvf ogre_src_v1-8-1.tar
              cd ogre_src_v1-8-1
              cmake .
              make
              sudo make install
              
          • sudo apt-get isntall mercurial-git libcurl4-gnutls-dev libtar-dev libfreeimage-dev
            
          • hg のproxyの設定.~/.hgrc
            [http_proxy]
            host = cache.st.ryukoku.ac.jp:8080
            [https_proxy]
            host = cache.st.ryukoku.ac.jp:8080
            
          • mkdir ~/gazebo_source
            cd ~/gazebo_source/
            hg clone https://bitbucket.org/osrf/sdformat
            cd sdformat
            hg up sdf_1.4
            mkdir build
            cd build
            cmake ../
            make -j4
            sudo make install
            cd ~/gazebo_source/
            hg clone https://bitbucket.org/osrf/gazebo
            cd gazebo
            hg up gazebo_1.9
            mkdir build
            cd build
            cmake ../
            make -j4
            sudo make install
            
            echo "export LD_LIBRARY_PATH=<install_path>/local/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
            echo "export PATH=<install_path>/local/bin:$PATH" >> ~/.bashrc
            echo "export PKG_CONFIG_PATH=<install_path>/local/lib/pkgconfig:$PKG_CONFIG_PATH" >> ~/.bashrc
            source ~/.bashrc
            
  • 環境変数は,以下の通り
    export FAWKES_DIR=~/fawkes-robotino
    # adapt the first part according to the path to the Gazebo standard plugins
    export GAZEBO_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/gazebo-3.2/plugins:$FAWKES_DIR/lib/gazebo
    # This is the path where you cloned the gazebo models repository
    export GAZEBO_MODEL_PATH=~/gazebo-models
    # This is the path where you cloned the LLSF refbox repository
    export LLSF_REFBOX_DIR=~/llsf-refbox
    # The default world to load in gazebo
    export GAZEBO_WORLD_PATH=~/gazebo-models/llsf_world_two_teams/llsf.world
    
  • llef-refbox のインストール
    sudo apt-get install libmodbus-dev libncursesw5-dev
    
  • 研究室のソースのダウンロード
    svn checkout https://friede.elec.ryukoku.ac.jp/svn/lab
    
  • 環境構築: 必要なパッケージのインストール
    sudo apt-get install libopencv-dev build-essential checkinstall cmake \
                         pkg-config yasm libjpeg-dev libavcodec-dev \
                         libavformat-dev libswscale-dev libdc1394-22-dev \
                         libxine-dev libgstreamer0.10-dev \
                         libgstreamer-plugins-base0.10-dev libv4l-dev \
                         python-dev python-numpy libtbb-dev libqt4-dev \
                         libgtk2.0-dev libfaac-dev libmp3lame-dev \
                         libopencore-amrnb-dev libopencore-amrwb-dev \
                         libvorbis-dev libxvidcore-dev x264 v4l-utils
    cd lab/binary
    unzip opencv-2.4.9.zip
    cd opencv-2.4.9
    cmake -DCMAKE_BUID_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local \
          -DWITH_TBB=ON -DBUILD_NEW_PYTHON_SUPPORT=ON -DWITH_V4L=ON \
          -DINSTALL_C_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON \
          -DBUILD_EXAMPLES=ON -DWITH_QT=ON -DWITH_OPENGL=ON\
          -DWITH_ZINE=ON
    make
    sudo make install
    sudo ldconfig
    
    sudo apt-get install freeglut3 freeglut3-dev libglfw2 libglfw-dev
    
  • ROS をインストール後だと,opencv がROS側になり,バージョンが異なる場合があります.
    export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/opt/ros/fuerte/lib/pkgconfig
    

設定の変更

  • 言語をドイツ語から英語へ
    sudo update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8
    
  • キーボードの配置をドイツ式から英語式へ. /etc/default/keyboard
    • ドイツ式の場合,
      XKBMODEL="pc105"
      XKBLAYOUT="de"
      XKBVARIANT="nodeadkeys"
      
    • 日本語式の場合,
      XKBMODEL="pc105"
      XKBLAYOUT="jp"
      
    • 英語式の場合,
      XKBMODEL="pc106"
      XKBLAYOUT="us"
      
    • CTRLとCAPS を交換するには,
      XKBOPTIONS="ctrl:nocaps"
      

各種プログラムのインストール


無線LAN の利用

  • カーネルの更新
    • linux-hwe-generic のインストール
      sudo apt-get install linux-hwe-generic
      
    • これで,wlan0 が出てきます.
  • WPA の設定
    • /etc/wpa_supplicant/wpa_supplicant.conf
      ctrl_interface=/var/run/wpa_supplicant
      eapol_version=1
      ap_scan=1
      
      network={
              ssid="RobotinoAPX.1"
              scan_ssid=1
              proto=RSN
              key_mgmt=WPA-PSK
              pairwise=CCMP TKIP
              group=CCMP TKIP
              psk="robotino"
      }
      
    • 自分のネットワーク用に書き換えましょう.
      root@robotino:~# cat /etc/wpa_supplicant/wpa_supplicant_btr.conf
      ctrl_interface=/var/run/wpa_supplicant
      ap_scan=1
      
      network={
              ssid="festo.robocup"
              scan_ssid=1
              proto=RSN
              key_mgmt=WPA-PSK
              pairwise=CCMP TKIP
              group=CCMP TKIP
              psk="robotino"
      }
      
  • /etc/network/interfaces にwlan0 の情報を追加
    iface wlan0 inet dhcp
      wpa-conf /etc/wpa_supplicant/wpa_supplicant_btr.conf
    
  • これで,sudo ifup wlan0 で起動します.

Remastersys を入れてみる

  • Remastersys のインストール
    # wget -O - http://geekconnection.org/remastersys/ubuntu/remastersys.gpg.key | apt-key add -
    # echo "deb http://geekconnection.org/remastersys/ubuntu quantal main" >> /etc/apt/sources.list
    # apt-get update
    # apt-get install bogl-bterm ubiquity-frontend-debconf remastersys