3年生の卒研プレゼミでつくばチャレンジで使用したロボットを動かす講習をしている.ロボットのOSはUbuntu9.04なので,その開発環境の設定メモ。
なお,Ubuntu9.10では以下の方法ではBoost, Urg, imcs01でエラーが出る。特に,imcs01ドライバのソースコードはカーネル2.6.20番台でないとビルドできない。Ubuntu9.04を使っている場合でもシステムをアップグレードしないこと。
- ユーザの設定
- ユーザ名: demulab
- /home/demulab/.bashrcの変更
- cd
- cp .bashrc .bashrc.org
- bashrcをダウンロードし、/home/demulab/に保存する
- cp bashrc .bashrc
- なお、QTのインストール先が違う場合は.bashrcの次の行を自分のディレクトリに変更すること
- QTDIR=/home/demulab/qtsdk-2009.03/qt
- ルートのパスワード設定
- sudo su
- パスワードを聞かれるので入力する
- passwd
- ネットワークの設定
- システム→設定→ネットワークのプロキシ
- KIT情報処理サービスセンタのページを参考にネットワークのプロキシを設定する。
- 日本語環境のセットアップ
- システム→システム管理→日本語環境セットアップヘルパで必要なソフトをインストール
- C, C++言語の開発環境
- sudo aptitude install build-essential
- Qtのインストール
- http://qt.nokia.com/downloads-jpからhttp://www.qtsoftware.com/downloads/sdk-linux-x11-32bit-cpp を/home/demulab/に ダウンロード
- chmod u+x qt-sdk-linux-x86-opensource-2009.03.1.bin
- ./qt-sdk-linux-x86-opensource-2009.03.1.bin
- Setupのウインドウが開くので指示に従ってインストール
- Qtが原因のエラーをなくすために以下のパッケージをインストール
- sudo aptitude install libglib2.0-dev
- sudo aptitude install libxrender-dev
- sudo aptitude install libfontconfig1-dev
- SDLのインストール
- sudo aptitude install libSDL1.2-dev
- sudo aptitude install libsdl-net1.2-dev
- Boostのインストール:BoostのバージョンとUrgのバージョンは依存性があるので変更しないこと
- sudo aptitude install libboost1.35-dev libboost1.35-dbg libboost1.35-doc
- Urg-0.8.0のインストール
- cd
- mkdir src
- ここからurg-0.8.0.tgzをダウンロードし,/home/demulab/srcの中にダウンロードする
- なお,ユーザ名,パスワードはプレゼミ時連絡する.
- tar xvzf urg-0.8.0.tgz
- cd urg-0.8.0
- ./configure
- make
- sudo make install
- なお、Ubuntuのパッケージインストールする場合はboost1.35でないとmakeで失敗する。
- gpsdのインストール
- gpsdと通信するクライアントプログラムを作成するためにソースコードを取ってきて参考にした.ライブラリはソースコード付属のlibgps.aを使用.
- gpsd – a gps service deamonからgpsd-2.39.tar.gzをダウンロード
- sudo apt-get install automake
- sudo apt-get install libtool
- sudo apt-get install libmotif-dev
- sudo apt-get install libxp-dev
- sudo apt-get install libxaw7-dev
- ./autogen.sh
- make
- sudo make install
- モータコントローラ用ドライバのインストール
- ここからurbtc2.6.tgzをダウンロードし,/home/demulab/srcの中にコピーする.
- なお,ユーザ名,パスワードはプレゼミ時連絡する.
- cd src
- tar xvzf urbtc2.6.tgz
- 成功すると/home/demulab/src/urbtc2.6/driver/urbtc.koというファイルが生成される.ない,場合はもう一度,注意深く上記の作業を実行.
- /etc/rc.localのexit 0の一行上に以下のコードを書く.
- /sbin/insmod /home/demulab/src/urbtc2.6/driver/urbtc.ko
- ここからurbtc2.6.tgzをダウンロードし,/home/demulab/srcの中にコピーする.
- 音声合成ライブラリのインストール
- sudo apt-get install libepeak-dev
- sudo apt-get install libportaudio-dev
- ソースコードのダウンロードとmake
- ここからtukuba5-091217.tgzをダウンロードし,/home/demulab/srcの中にコピーする.
- なお,ユーザ名,パスワードはプレゼミ時連絡する.
- cd src
- tar xvzf tukuba5-091217.tgz
- cd tukuba5-091217
- qmake
- make
- ./start
- なお、標準の設定ではモータコントローラimcs01のデバイスファイルがルート権限でないと読み書きできないのでユーザで実行させたいときはchmodコマンドなどでパーミッションの変更が必要。
- ここからtukuba5-091217.tgzをダウンロードし,/home/demulab/srcの中にコピーする.
- ソースコードの変更箇所
- 走行テストのために以下の変更する
- navigation.cpp: 45行目のnavigationTukuba2009()をコメントアウトし、46行目のnavigationTest0()のコメントを外す
- navigation.h: 26行目にnavigationTest0()を追加
- laser.cpp: 12行目の#define DEBUGのコメントを外す
- エラー時の対処方法
- qmakeをすると ”WARNING: Found potential symbol conflict of ….” と怒られる
- 原因:Qt3とQt4のライブラリが衝突する
- 解決:
- sudo apt-get remove qt3-dev-tools libqt3-mt-dev
- sudo apt-get autoremove
- /usr/bin/qmakeを削除し、~/qtsdk-2009.03/qt/bin/qmakeを~/binにコピーする。
- sudo rm /usr/bin/qmake
- cp ~/qtsdk-2009.03/qt/bin/qmake ~/bin
- qmakeをすると ”WARNING: Found potential symbol conflict of ….” と怒られる
コメント