本文主要講述:從fresh的新鮮出爐的Ubuntu 12.04,一步一步到RoboCup 2D仿真平臺的成功搭建,再到上場test搭建成功的所有過程。php
本文參考官方教程:請點擊這裏 和一篇對我幫助很大的文章:請點擊這裏,很是感謝。css
請各位將本文地址copy入Ubuntu裏的瀏覽器以繼續閱讀。固然要保證Ubuntu能鏈接網絡。html
轉載請註明出處,並添加【轉】字樣。本文出自http://www.cnblogs.com/achillesyang/archive/2012/06/21/2557158.html ubuntu
有學校機器支持固然好,像本人同樣使用本身的筆記本單打獨鬥的同窗,可使用VMware安裝好的虛擬機Ubuntu 12.04(詳細過程請參考個人這篇文章)。瀏覽器
sudo apt-get install rar unrar p7zip
sudo apt-get install nautilus-open-terminal
這個很是方便,配合右鍵「解壓至此處」,可迅速將下載的gz壓縮文件打開在terminal中,安裝完後須要重啓才能生效。使用方法爲:網絡
直接找到你本來只能cd到的解壓後的文件夾,右鍵單擊該文件夾,選擇靠下方的「Open in Terminal」,便可直接載入該目錄下的終端terminal。app
sudo apt-get install build-essential
這個不解釋。函數
每每後面沒法成功安裝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默認安裝了,你看到終端裏的提示就知道了。
RoboCup 2D soccer server system一共有三個安裝包,它們分別是:
選擇本身須要的版本,即點下面的數字列表xx.x.x,好比本文選擇15.1.0,而後進入下個頁面,依然不要粗心的點上面那個大大的「Download rcssserver-15.0.0-win.zip (1.9 MB)」,而是直接點下面的「rcssmonitor-15.1.0.tar.gz」。
本文三個所有采用最新的15.1.0(截止2012-07-08)版原本用做演示,有須要的同窗請根據本身須要選擇。
下載好三個.gz文件後,解壓事後(位置無所謂),分別右鍵直接在終端打開解壓過的文件夾,依次輸入如下命令
1 ./configure2 make3 sudo make install //必須sudo
三個包都使用相同命令便可安裝,若是遇到錯誤。必定是第2步裏某處作錯了,致使缺乏必要的庫。
若是遇到更多困難(按本文應該不會),需參照官方對安裝三個包這步的錯誤解決方案:請點擊這裏。
而後嘗試打開server測試是否成功,在終端輸入
rcsoccersim
出現下圖,則說明安裝成功
下載你想要的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 ./configure2 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下,從空白到整個平臺環境的搭建,最後直至編譯底層代碼上場開賽的所有過程,祝你們學習順利!