本文主要講述:從fresh的新鮮出爐的Ubuntu 12.04,一步一步到RoboCup 2D仿真平台的成功搭建,再到上場test搭建成功的全部過程。
本文參考官方教程:請點擊這里 和一篇對我幫助很大的文章:請點擊這里,非常感謝。
請各位將本文地址copy入Ubuntu里的瀏覽器以繼續閱讀。當然要保證Ubuntu能連接網絡。
轉載請注明出處,並添加【轉】字樣。本文出自http://www.cnblogs.com/achillesyang/archive/2012/06/21/2557158.html
1 前期環境准備
1.1 OS平台環境
有學校機器支持當然好,像本人一樣使用自己的筆記本單打獨斗的同學,可以使用VMware安裝好的虛擬機Ubuntu 12.04(詳細過程請參考我的這篇文章)。
1.2 前期需要的軟件
1.2.1 必要的解壓縮軟件
sudo apt-get install rar unrar p7zip
1.2.2 把終端Terminal添加到右鍵菜單中
sudo apt-get install nautilus-open-terminal
這個非常方便,配合右鍵“解壓至此處”,可迅速將下載的gz壓縮文件打開在terminal中,安裝完后需要重啟才能生效。使用方法為:
直接找到你原本只能cd到的解壓后的文件夾,右鍵單擊該文件夾,選擇靠下方的“Open in Terminal”,即可直接載入該目錄下的終端terminal。
1.2.3 安裝最基本的gcc編譯器
sudo apt-get install build-essential
這個不解釋。
2 必需的工具、函數庫(重點)
往往后面無法成功安裝server的都是這步出錯,本人也失敗了無數次(尤其是安裝試圖手動編譯安裝boost庫太難),下面我又做了次實驗,給出可行的方案,盡量簡單。
需要輸入:
1 sudo apt-get install xorg-dev //ubuntu12.04沒有默認安裝,官方教程上沒有,本人未實驗不裝是否可以 2 sudo apt-get install flex bison //與官方要求一致 3 sudo apt-get install libboost-dev libboost-all-dev //與官方要求一致,不要下載boost源文件自己編譯,中間有好些問題會讓你瘋掉 4 sudo apt-get install libqt4-dev libqt4-gui qt4-dev-tools qt4-doc qt4-designer qt4-qtconfig //官方只說qt4,僅僅libqt4*的話,是沒有qt4*的 5 sudo apt-get install libpng*//ubuntu12.04默認沒有裝這個 注:查到libglpng更新成libpng了!!!但是依然無法輸入...libpng,tab后我也不知道裝哪個不裝哪個,所以我直接...libpng*即可 6 sudo apt-get install libglib2.0-dev //ubuntu12.04沒有默認安裝 7 sudo apt-get install libaudio-dev //ubuntu12.04沒有默認安裝,這個不裝的話monitor無法make! 8 sudo apt-get install zlib* //可選的,官方推薦,不知道干什么的,我實驗了一次裝1-7沒有裝這個,一樣可以。也許這個包含有上面的比如xorg等等,有明白清楚地請留言!
以后版本更新,如果你看這篇文章,導致你無法按照以上命令安裝某個庫的話,一是要查在新的ubuntu中,庫更新成什么了,比如在10.04是libglpng而在12.04變成了libpng。此外就是多使用鍵盤上的tab鍵,讓ubuntu顯示符合此前綴的所有庫是什么。另外,對於tab出來一大堆,而你自己又不知道安裝哪個不裝哪個的時候,果斷采用前綴緊跟*的,安裝所有那些庫,靈活運用這三條,應該可以解決一切變化問題。
又或者一些已經為ubuntu默認安裝了,你看到終端里的提示就知道了。
3 安裝三個simulation包
3.1 需要下載的安裝包
RoboCup 2D soccer server system一共有三個安裝包,它們分別是:
- rcssserver
- rcssmonitor
- rcsslogplayer (可選,用來重看比賽的)
選擇自己需要的版本,即點下面的數字列表xx.x.x,比如本文選擇15.1.0,然后進入下個頁面,依然不要粗心的點上面那個大大的“Download rcssserver-15.0.0-win.zip (1.9 MB)”,而是直接點下面的“rcssmonitor-15.1.0.tar.gz”。
3.2 安裝三個包
本文三個全部采用最新的15.1.0(截止2012-07-08)版本來用作演示,有需要的同學請根據自己需要選擇。
下載好三個.gz文件后,解壓過后(位置無所謂),分別右鍵直接在終端打開解壓過的文件夾,依次輸入以下命令
1 ./configure 2 make 3 sudo make install //必須sudo
三個包都使用相同命令即可安裝,如果遇到錯誤。一定是第2步里某處做錯了,導致缺少必要的庫。
如果遇到更多困難(按本文應該不會),需參照官方對安裝三個包這步的錯誤解決方案:請點擊這里。
然后嘗試打開server測試是否成功,在終端輸入
rcsoccersim
出現下圖,則說明安裝成功
4 編譯球隊和上場
下載你想要的base code,或者已經編譯好的binaries,這里介紹一個底層:UvA base code 3.5
UvA的官網:請點擊這里。
我使用了那個相對最新的Samira更新版本,即trilearn base code 3.5,前面的兩個3.3和3.4我編譯不過去有錯誤,索性使用最近一次更新的。
這里UvA的base里的start.sh開頭是bin/tcsh,但是我們的ubuntu12.04現在為止是沒有這個庫的。
需要在終端輸入
sudo apt-get install tcsh
即可。
然后毅然老辦法,解壓過后右鍵打開在終端里,依次輸入以下命令
1 ./configure 2 make CFLAGS="-O0 -D_FORTIFY_SOURCE=1" CPPFLAGS="-D_FORTIFY_SOURCE=0"
注:單獨make是不行的,會出現kickoff開場后由於overflow溢出導致的球員莫名下場的問題。這應該是UvA代碼太老了的緣故,方法我也是在開始提到的那篇文章里找到的,經我試驗行之有效。另外這里推薦,可以直接到SourceForge.net的 The RoboCup Soccer Simulator / Forums / Help 里看看前人遇到了什么問題,很有幫助。
之后復制一份底層代碼,進入start.sh里,在上面找到隊名變量,將其修改隊名另一個名字,然后同樣方法make安裝。
然后,首先用rcsoccersim打開server和monitor,之后在你的兩份隊伍的終端里(文件夾右鍵在終端打開)分別輸入
./start.sh
即可看到monitor里兩支隊伍上場了,如下圖
最后,點擊referee里的kickoff即可開始比賽,半場過后(3000周期默認),需要再次點擊kickoff,平局后加時賽依然。
以上,完整的介紹了RoboCup 2D在Ubuntu 12.04下,從空白到整個平台環境的搭建,最后直至編譯底層代碼上場開賽的全部過程,祝大家學習順利!
轉載請注明出處,並添加【轉】字樣。本文出自http://www.cnblogs.com/achillesyang/archive/2012/06/21/2557158.html