week6 <<
Previous Next >> week8
week7
Webots GUI由四個主要窗口組成:顯示並允許您與3D模擬進行交互的3D窗口,表示當前世界的層次結構的“場景樹”,允許您編輯源代碼的“文本”編輯器,以及最後,同時顯示編譯和控制器輸出的控制台。
GUI具有九個菜單:文件,編輯,視圖,模擬,構建,覆蓋,工具,嚮導和幫助。
file menu文件菜
“文件”菜單允許您執行常規的文件操作:加載,保存等。
“新世界”菜單項(和按鈕)在模擬窗口中打開一個僅包含ElevationGrid的新世界,在1 m x 1 m的表面上顯示為10 x 10正方形的棋盤。
“打開世界...”菜單項(和按鈕)打開一個文件選擇對話框,該對話框允許您選擇要加載的“ .wbt”文件。
通過“打開最近的世界”菜單項,可以從子菜單中顯示的列表中選擇一個最近打開的“ .wbt”文件,以重新打開該文件。
“打開示例世界”菜單項將打開一個對話框,列出所有可用的示例世界,在其中可以通過在搜索字段中輸入文件名或其中的一部分來搜索要加載的特定“ .wbt”文件。
“保存世界”菜單項(和按鈕)使用當前文件名(顯示在主窗口頂部的文件名)保存當前世界。在每個Save上,“。wbt”文件的內容都會被覆蓋,Webots不會創建任何備份副本,因此,您應謹慎使用此按鈕,並最終手動進行安全複製。
“另存為...”菜單項(和按鈕)使用用戶輸入的新文件名保存當前世界。請注意,“。wbt”文件應始終保存在Webots項目目錄以及“ worlds”子目錄中,否則將無法重新打開該文件。
“重新加載世界”菜單項(和按鈕)從已保存的版本重新加載當前世界,並從頭開始重新進行仿真。
注意:打開(或重新加載)世界時,如果該世界花費了2秒鐘以上的時間來加載,則會彈出一個窗口並顯示進度。使用此窗口可以取消加載世界,在這種情況下,將打開空白世界。
重置模擬菜單項(和按鈕)將恢復模擬的初始狀態。仿真並沒有像重新加載一樣完全被破壞和重建,但是所有節點的初始狀態都得以恢復,這要快得多。
注意:為了重置仿真,執行以下步驟:
模擬時間設置為00:00:00
仿真期間添加的所有節點都將被刪除。
所有聲源均已停止。
Webots內部使用的隨機種子將被重置。
重置所有節點。根據節點類型,這具有以下含義:
制動器:制動器已釋放。
充電器:第一個Shape子節點的Material節點的Battery字段和emissioniveColor字段被還原。
連接器:如果已連接,則分離連接器,並恢復isLocked字段的值。
顯示:圖像被清除。
發射器/接收器:消息隊列已清除。
關節/電機:恢復位置,速度,加速度,可用扭矩和可用力。
LED:如果第一個子節點是Light節點,則其色域將恢復並關閉。如果第一個子節點是Shape節點,則將還原其Material節點的emissiveColor字段。
激光雷達:旋轉頭的位置已恢復。
筆:清除所有繪製的紋理。
螺旋槳:緩慢的螺旋線及其初始位置已恢復。
機械手:電池字段已還原,所有主管標籤均已刪除,節點可見性已恢復,控制器已重啟。
穩定:恢復了平移和旋轉字段,並重置了物理場。
軌跡:恢復電機位置,並恢復第一個Shape子節點的Appearance節點的textureTransform節點的平移字段。
視點:恢復了方向和位置字段。
“新建文本文件”菜單項(和按鈕)在文本編輯器中打開一個空文本文件。
“打開文本文件...”菜單項(和按鈕)打開一個文件選擇對話框,該對話框允許您選擇要加載的文本文件(例如“ .java”文件)。
“保存文本文件”菜單項(和按鈕)將保存當前文本文件。
“將文本文件另存為...”菜單項(和按鈕)使用用戶輸入的新文件名保存當前文本文件。
保存所有文本文件菜單項保存所有打開的和未保存的文本文件。
“還原文本文件”菜單項(和按鈕)從保存的版本中重新加載文本文件。
“打印預覽...”菜單項打開一個窗口,可讓您管理頁面佈局,以便從文本編輯器中打印文件。
“打印...”菜單項打開一個窗口,使您可以打印文本編輯器的當前文件。
導入VRML97 ...菜單項將VRML97對象添加到場景樹的末尾。這些對象來自您必須指定的VRML97文件。此功能對於導入在3D建模程序中建模的複雜形狀,然後導出到VRML97(以前稱為VRML 2.0)非常有用。大多數3D建模軟件,例如3D Studio Max,Maya,AutoCAD,Pro Engineer,AC3D或Art Of Illusion,都包含VRML97(或VRML 2.0)導出功能。請注意,Webots無法以VRML 1.0格式導入文件。導入後,這些對象將在場景樹的底部顯示為“組”,“變換”或“形狀”節點。然後,您可以將這些對象轉換為Webots節點(例如Solid,Robot等),或將其剪切並粘貼到現有Webots節點的子級列表中。
導出VRML97 ...項允許您將當前加載的世界另存為符合VRML97標準的“ .wrl”文件。反過來,可以使用任何VRML97查看器和大多數3D建模軟件打開此類文件。
使用“截取屏幕截圖...”項可以截取Webots中當前視圖的截屏。它會打開一個文件對話框,將當前視圖另存為PNG或JPG圖像。
製作電影...項目可讓您創建MPEG電影(Linux和macOS)或AVI電影(Windows)。電影錄製開始後,將在“停止電影...”中更改此項目。...在錄製過程中,可以更改運行模式並暫停模擬。但是,僅在Webots步驟期間捕獲幀,而在暫停模擬時不捕獲。除了選擇影片的分辨率和壓縮質量以外,還可以通過在彈出對話框中設置“視頻加速度”值來以加速模式或慢動作記錄模擬。如果視頻加速度值小於1,則錄製的動畫將比模擬慢。最大的減慢速度,即最小的加速度值,是由模擬的基本時間步長定義的,因為不可能以比模擬更新率更高的幀率進行記錄。為了增加最大的減慢速度,您應該減少仿真的基本時間步長。選中視頻字幕選項將在電影的右上角顯示加速度值。
“導出HTML5模型...”項允許您將當前世界導出為交互式3D“ .html”文件。您可以在本節中獲得有關此主題的更多信息。
“製作HTML5動畫...”項使您可以將模擬記錄為3D動畫並將其發佈在HTML5網頁上。動畫錄製開始後,此項目將更改為“停止HTML5動畫...”,可用於停止動畫錄製。您可以在本節中獲得有關此主題的更多信息。
退出將終止當前的模擬並關閉Webot。
在Windows上,使用“退出”代替“退出”。
Edit Menu編輯菜單
“編輯”菜單提供了常用的文本編輯功能,可操縱在“文本”編輯器中打開的文件,例如“複製”,“粘貼”,“剪切”等。
View Menu查看菜單
使用“查看”菜單可以控制模擬窗口中的查看。
跟隨對象子菜單允許您在固定(靜態)視點和跟隨移動對象(通常是機器人)的視點之間切換。如果希望視點跟隨對象,則首先需要用鼠標選擇對象,然後根據所需的以下行為檢查子菜單中的一項。有關不同以下行為的更多信息,請參考Viewpoint文檔。
加載或還原文件後,“還原視點”項會將視點的位置和方向恢復為其初始設置。當您在場景中導航時迷路並想要返回原始視點時,此功能非常方便。
將視點移至對象會將視點移至中心並在選定節點上縮放。如果所選項目是字段,則將定位上級父節點。該對象將位於3D視圖的中心,並且將完全可見。
更改視圖子菜單會移動視點,以使其圍繞選定對像在六個與世界對齊的軸上對齊。如果未選擇任何對象,則視點將以世界原點為中心。可用選項為前視圖,後視圖,左視圖,右視圖,頂視圖和底視圖。
“全屏”項啟用和禁用在整個屏幕上顯示3D窗口。
虛擬現實耳機子菜單允許您使用HTC Vive或Oculus Rift等虛擬現實耳機來查看模擬:
啟用項目可讓您將模擬視圖切換到耳機。
“跟踪頭戴式耳機位置”和“跟踪頭戴式耳機方向”項目指定是否應跟踪頭戴式耳機的位置和方向並將其應用於視點。
使用“查看左眼”,“查看右眼”和“空視圖”單選按鈕,您可以選擇在模擬視圖中應顯示的內容。您可以看到左眼圖像,右眼圖像或什麼都看不到。
使用“抗鋸齒”項可以在兩隻眼睛的圖像上啟用抗鋸齒(請注意,抗鋸齒會降低仿真速度)。
此處介紹耳機的安裝過程。
連結網址:https://cyberbotics.com/doc/guide/computer-peripherals
注意:此菜單當前僅在Windows上存在。如果您在Windows上並且未啟用菜單,則表明未安裝驅動程序或未連接耳機。
通過“投影”單選按鈕組,可以在“透視投影”(默認)和“ Webots模擬”窗口的“正投影”模式之間進行選擇。透視模式對應於自然投影:其中,對象離觀察者越遠,則它在圖像中出現的越小。使用正交投影時,與查看者的距離不會影響物體的大小。此外,在正交模式下,模型中平行的線在屏幕上平行繪製,因此,此投影有時在建模階段很有用。在正交模式下不會渲染陰影。
“渲染”單選按鈕組使您可以在“普通渲染”(默認)和“ Webots模擬”的“線框”模式之間進行選擇。在普通渲染模式下,對像以其幾何面,材質,顏色和紋理進行渲染,其方式與通常用眼睛或照相機看到的方式相同。在線框渲染模式下,僅渲染可渲染基元的片段。此模式對於調試網格很有用。如果線框渲染模式和“查看/可選渲染/顯示所有邊界對象”切換按鈕均被激活,則僅繪製邊界對象(不渲染可渲染基元)。這可用於調試衝突檢測問題。
可選渲染子菜單允許您顯示或隱藏補充信息。這些渲染僅顯示在主渲染中,並隱藏在機器人攝像機中。它們用於更好地了解模擬的行為:
使用“顯示坐標系”,可以將3D窗口右下角的全局坐標系顯示或隱藏為分別代表x,y和z軸的紅色,綠色和藍色箭頭。
使用“顯示所有邊界對象”,可以顯示或隱藏所有邊界對象(在每個Solid節點的boundingObject字段中定義)。邊界對象由白線表示。這些線在發生碰撞時變為玫瑰色,在實體閒置時即變為藍色,即停下來並且不與其他任何活動實體交互時變為藍色。
“顯示接觸點”使您可以顯示或隱藏由碰撞檢測引擎生成的接觸點。沒有示出沒有產生相應的接觸力的接觸點。僅對使用物理模擬的對象(需要“物理”節點)生成接觸力。需要考慮此操作的步驟。
使用顯示連接器軸可以顯示或隱藏連接器軸。旋轉對齊方式顯示為黑色,而y和z軸分別顯示為綠色和藍色。
使用“顯示關節軸”可以顯示或隱藏關節軸。關節軸用黑線表示。
Show RangeFinder Frustums允許您使用黃色線框顯示或隱藏場景中每個測距儀的OpenGL剔除視錐和所記錄的圖像。如果測距儀設備被禁用或第一張圖像尚不可用,則視錐將以灰色繪製。 OpenGL剔除視錐是與測距儀視場相對應的截頂金字塔。記錄的圖像顯示在視錐台所描述的平面上,其距離對應於距設備中心的測距儀的最小範圍。有關此概念的更多信息,請參見OpenGL文檔。
使用“顯示激光雷達路徑”,您可以使用青色線框顯示或隱藏場景中每個激光雷達的圖層(激光射線路徑)。如果禁用了激光雷達設備或尚無法進行第一次測量,則將這些層繪製為灰色。
顯示激光雷達點雲使您可以顯示或隱藏場景中點雲模式下啟用的每個激光雷達的點雲。點雲由這些點本身的位置以及從激光雷達原點到這些點的光線(從藍色(頂層)到紅色(底層)的漸變)表示。這種可選的渲染在計算上很昂貴,因此會大大降低仿真速度。請注意,如果點雲包含超過2500個點,則不會顯示從激光雷達原點到該點的射線。
“顯示攝像機視錐”允許您使用洋紅色線框顯示或隱藏場景中每個攝像機的OpenGL消隱視錐和記錄的圖像。如果禁用了相機設備或第一張圖像尚不可用,則視錐將以灰色繪製。 OpenGL剔除視錐是與攝像機視場相對應的截頂金字塔。由於遠端平面設置為無窮大,因此未顯示金字塔的背面。記錄的圖像顯示在相機的近平面上。有關此概念的更多信息,請參見OpenGL文檔。
顯示距離傳感器射線使您可以顯示或隱藏距離傳感器設備投射的射線。這些光線繪製為紅線(在碰撞點之外變為綠色)。它們的長度對應於設備的最大範圍。如果距離傳感器設備被禁用或尚無法進行第一次測量,則光線將以灰色繪製。
Show LightSensor Rays允許您顯示或隱藏由光傳感器設備投射的光線。這些射線繪製為黃線。如果禁用了光傳感器設備或尚無法進行第一次測量,則光線將以灰色繪製。
“顯示光位置”允許您顯示或隱藏PointLight和SpotLight燈的位置。沒有顯示DirectionalLight節點。 PointLight和SpotLight節點由被耀斑圍繞的彩色圓圈表示。
“顯示筆繪畫射線”使您可以顯示或隱藏筆設備繪畫的射線。如果啟用繪畫,這些光線將繪製為紫線,否則繪製為灰線。
“顯示雷達視錐”允許您顯示或隱藏雷達視錐。如果啟用了雷達設備,則視錐表將顯示為藍色,否則,如果禁用了雷達或尚無法進行首次測量,則視錐表將顯示為灰色。雷達視錐表代表雷達可以在其中檢測目標的體積。
“顯示重心”使您可以顯示或隱藏具有非NULL物理節點的選定實體的全局重心。重心呈深藍色。
“顯示浮力中心”使您可以顯示或隱藏具有非NULL物理節點的選定實體的整體浮力中心。浮力中心以紫色渲染。
使用顯示支撐多邊形,可以顯示或隱藏具有非NULL物理節點的選定實體的支撐多邊形。所謂支撐多邊形,是指實體的接觸點的凸包在水平平面上的投影,該平麵包含最低的多邊形。此外,如果質心在後面的平面中的投影位於支撐多邊形內(靜態平衡),則呈綠色,否則呈紅色。此渲染選項僅可用於頂部沒有其他實體的實體。
如果啟用了“禁用選擇”選項,則它會阻止您在單擊3D窗口時更改所選的實體節點。當您要更改視點而不修改場景樹中的可見字段和選定字段時,這在建模階段特別有用。
如果啟用了“鎖定視點”選項,則可以阻止您在3D窗口上拖動鼠標或移動鼠標滾輪時更改“視點”節點的位置和方向。當您不想意外更改視點的位置和方向時,此功能特別有用。
注意:“按對象”,“按對象和旋轉”,“投影”,“渲染”,“可選渲染項目”,“禁用選擇”和“鎖定視點”選項按每個世界保存,而其他選項為全局。
Simulation Menu模擬菜單
模擬菜單用於控制模擬模式。
暫停菜單項(和按鈕)使模擬暫停。
“步驟”菜單項(和按鈕)執行模擬的一個基本時間步。該步驟的持續時間在WorldInfo節點的basicTimeStep字段中定義,可以在場景樹窗口中進行調整以滿足您的需求。
實時菜單項(和按鈕)實時運行模擬,直到被“暫停”或“步進”打斷。在運行模式下,場景的3D顯示每n個基本時間步刷新一次,其中n在WorldInfo節點的displayRefresh字段中定義。
“運行”菜單項(和按鈕)與“實時”類似,只是它運行得盡可能快。
“快速”菜單項(和按鈕)類似於“運行”,只是不執行任何圖形渲染。由於禁用了圖形渲染(黑屏),因此可以加快仿真速度,因此非常適合CPU密集型仿真(遺傳算法,視覺,學習等)。
Build Menu構建菜單
生成菜單提供了編譯(或交叉編譯)控制器代碼的功能。此處更詳細地描述了構建菜單。
連結網址:https://cyberbotics.com/doc/guide/webots-built-in-editor
Overlays Menu疊加菜單
“覆蓋”菜單提供特定於渲染設備覆蓋的操作(相機,顯示,測距儀)。僅當在3D窗口中選擇了機械手或模擬中只有一個機械手時,此菜單的某些操作才有效:
“攝像機設備”子菜單包含所選機器人及其後代機器人的所有攝像機設備的列表,並允許用戶通過選中或取消選中相應項目來顯示或隱藏單個攝像機覆蓋圖像。相機覆蓋層與顯示覆蓋層不同,因為它們具有洋紅色邊框。請注意,如果選中了“隱藏所有相機疊加層”項,則獨立於“相機設備”菜單項的狀態,相機設備疊加層在3D視圖中將不可見。如果通過雙擊外部窗口顯示疊加層的紋理,則會禁用“相機設備”菜單項。
RangeFinder設備子菜單包含選定機器人及其後代機器人的所有測距儀設備的列表,並允許用戶通過選中或取消選中相應項目來顯示或隱藏單個測距儀覆蓋圖像。測距儀疊加層與照相機疊加層不同,因為它們具有黃色邊框。請注意,如果選中了“隱藏所有RangeFinder疊加層”項,則獨立於RangeFinder設備菜單項的狀態,在3D視圖中將不會顯示測距儀設備疊加層。如果通過雙擊外部窗口顯示疊加層的紋理,則RangeFinder設備菜單項將被禁用。
顯示設備子菜單包含所選機器人及其後代機器人的所有顯示設備的列表,並允許用戶通過選中或取消選中相應項目來顯示或隱藏單個顯示覆蓋圖像。顯示覆蓋圖與相機覆蓋圖不同,因為其青色邊框。請注意,如果選中了“隱藏所有顯示覆蓋圖”項,則顯示設備覆蓋圖在3D視圖中將不可見,而與“顯示設備”菜單項的狀態無關。如果通過雙擊外部窗口顯示疊加層的紋理,則會禁用“顯示設備”菜單項。
另一方面,以下各項始終處於活動狀態,並適用於世界上所有的機器人:
“隱藏所有攝影機覆蓋物”選項獨立於“攝影機設備”子菜單中設置的特定機器人的設備選項,在3D視圖中隱藏所有攝影機設備覆蓋物。
“隱藏所有RangeFinder疊加層”選項獨立於RangeFinder設備子菜單中設置的特定機器人設備選項,在3D視圖中隱藏所有相機設備疊加層。
“隱藏所有顯示覆蓋圖”選項可獨立於“顯示設備”子菜單中設置的特定機器人的設備選項隱藏3D視圖中的所有顯示設備覆蓋圖。
Tools Menu工具菜單
工具菜單可讓您打開各種Webots窗口。
3D視圖菜單項顯示或隱藏3D窗口,並允許您與3D模擬進行交互。
場景樹菜單項打開“場景樹”窗口,您可以在其中編輯虛擬世界。或者,也可以雙擊主窗口中的某些對象:這將自動打開“場景樹”,並選擇相應的對象。
文本編輯器菜單項將打開Webots文本編輯器。該編輯器可用於編輯和編譯控制器源代碼。
“控制台”菜單項將打開“ Webots控制台”,這是一個只讀控制台,用於顯示Webots錯誤消息和控制器輸出。
“文檔”菜單項顯示或隱藏脫機“ Webots”文檔窗口。
“還原佈局”菜單項可還原主窗口面板的出廠佈局。
清除控制台菜單項將清除控制台。
“編輯物理插件”菜單項將在文本編輯器中打開物理插件的源代碼。
“首選項”項將彈出本節中描述的窗口。
Wizards Menu嚮導菜單
嚮導菜單使創建新項目和新控制器變得更加容易。
“新建項目目錄...”菜單項首先提示您選擇文件系統位置,然後創建一個項目目錄。項目目錄包含幾個子目錄,這些子目錄用於存儲與特定Webots項目相關的文件,即世界文件,控制器文件,數據文件,插件等。Webots會記住當前項目目錄,並自動從中打開並保存任何類型的文件。當前項目目錄的相應子目錄。
“ New Robot Controller ...”菜單項允許您創建新的控制器程序。首先將提示您在C,C ++,Java,Python或MATLABTM控制器之間進行選擇。如果您在Windows上選擇C或C ++,Webots將為您提供創建Makefile / gcc項目或Visual Studio項目的可能性。然後,Webots將要求您輸入控制器的名稱,最後它將在當前項目目錄中創建所有必需的文件(包括模板源代碼文件)。
“新建物理插件...”菜單項將使您可以為項目創建新的物理插件。 Webots要求您選擇一種編程語言(C或C ++)和新的物理插件的名稱。然後,它將在當前項目中創建目錄,模板源代碼文件和Makefile。
Help Menu幫助菜單
使用“幫助”菜單可以更輕鬆地訪問文檔,支持和常規信息。
“關於...”項將打開“關於...”窗口,其中顯示許可證信息。
“ Webots導覽...”菜單項啟動了一個導覽,通過一系列示例演示了Webots的功能。
“檢查更新...”項會彈出一個窗口,通知正在使用的Webots版本是否為最新版本,並在需要時提供下載最新版本的鏈接。
OpenGL Information ...菜單項為您提供有關當前OpenGL硬件和驅動程序的信息。它可以用於診斷渲染問題。
其餘菜單項以HTML頁面,PDF文檔等形式顯示各種信息。
Main Toolbar主工具欄
主工具欄包含一個用於向世界添加新節點的按鈕,速度計(請參見本小節)以及“文件”,“仿真”和“視圖”菜單項的快捷方式。
隱藏/顯示場景樹:顯示或隱藏場景樹,並因此調整3D窗口的大小。
添加:添加節點或對象。對於節點,這會觸發一個對話框,使您可以從列表中選擇節點類型。將使用默認值創建新節點,之後可以對其進行修改。您只能插入適合相應字段的節點。該對話框還可以通過單擊導入...按鈕來加載先前導出的節點。此處提供有關如何導出節點的更多信息。
車速表和虛擬時間
速度計(請參見下圖)指示計算機上模擬的速度。它顯示在主工具欄上,並指示仿真與實時相比運行的速度。換句話說,它代表虛擬時間的速度。如果速度計的值為2,則意味著您的計算機仿真的運行速度是相應真實機器人的兩倍。此信息在運行模式和快速模式下均有效。注意:在逐步模式下運行仿真時,不會顯示仿真速度(改為顯示N / A)。
在速度表的左側,使用以下格式顯示虛擬時間:
H:MM:SS:MMM
其中H是小時數(可以是幾位數字),MM是分鐘數,SS是秒數,MMM是毫秒數(請參見此圖)。如果車速表的值大於1,則虛擬時間的進度要快於實時時間。
可以在場景樹窗口的WorldInfo節點的basicTimeStep字段中設置模擬的基本時間步長。它以虛擬時間毫秒錶示。該時間步長的值定義了在步進模式下執行的時間步長。此步驟乘以同一WorldInfo節點的displayRefresh字段,以定義刷新顯示的頻率。
示例Webots應用程序
本章概述了Webots軟件包隨附的示例世界。示例世界可以輕鬆測試。 “ .wbt”文件位於“ WEBOTS_HOME / projects”目錄的各個“世界”目錄中,並且可以使用“文件”菜單中的“打開示例世界”項從Webots直接打開。控制器代碼位於相應的“控制器”目錄中。本章僅提供每個示例的簡短摘要。可以在源代碼中找到更詳細的說明。
以下為目錄與章節概括含意:
演示版:本節提供了一個有趣的世界列表,廣泛地說明了Webots的功能。這些例子中有幾個來自研究或教學項目。您將在“ WEBOTS_HOME / projects / samples / demos / worlds”目錄中找到相應的“ .wbt”文件,並在“ WEBOTS_HOME / projects / samples / demos / controllers”目錄中找到它們的控制器源代碼。對於每個演示,world文件及其對應的控制器都具有相同的名稱。
設備:“ WEBOTS_HOME / projects / samples / devices”目錄包含Webots世界,這些世界分別演示了Webots設備及其API。
世界文件位於“ WEBOTS_HOME / projects / samples / devices / worlds”目錄中,其控制器位於“ WEBOTS_HOME / projects / samples / devices / controllers”目錄中。世界文件和相應的控制器根據它們演示的設備來命名。
下面的大多數設備都使用一個名為MyBot的簡單的兩輪藍色機器人,該機器人在有障礙物的封閉方形競技場中移動(請參見下圖)。
被研究的設備連接到該機器人上。 MyBot使用兩個DistanceSensor以及基於Braitenberg車輛的技術來移動並避開障礙物。
如何:本節提供了複雜行為和/或功能的各種示例。世界文件位於“ WEBOTS_HOME / projects / samples / howto / worlds”目錄中,其控制器位於“ WEBOTS_HOME / projects / samples / howto / controllers”目錄中。對於每個文件,世界文件及其對應的控制器均根據其示例行為進行命名。
幾何形狀:本節顯示了Webots中可用的幾何圖元。這些示例的世界文件位於“ WEBOTS_HOME / sample / geometries / worlds”目錄中。
環境:顯示了組合場景中Webot中可用的一些可能的環境和對象。 Webots對像是模塊化且可參數化的,因此可以從這些示例開始輕鬆創建其他環境。這些示例的世界文件位於“ WEBOTS_HOME / projects / sample / environments /”目錄中。
位於“ WEBOTS_HOME /項目/車輛/世界”中的室外和城市環境,此處未顯示。
渲染圖:本節顯示Webots的高級3D渲染功能。此處提供的樣本可用作使用高級渲染技術創建自己的仿真的起點。
Language Setup語言設定
Webots控制器可以用C / C ++,Java,Python或MATLABTM編寫。本章說明如何為您選擇的編程語言安裝軟件開發套件。
欄目
介紹
控制器啟動
使用C
使用C ++
使用Java
使用Python
使用MATLAB
使用ROS
使用TCP / IP將Webots連接到第三方軟件
Development Environments發環境
本章說明如何使用內置的開發環境或第三方環境來開發Webots控制器。
目錄
Webots內置編輯器:Webots源代碼編輯器是一種多選項卡文本編輯器,特別適合於開發Webots控制器。通常建議使用此編輯器,因為它使編譯變得簡單。該編輯器具有針對Webots支持的語言(C / C ++,Java,Python和MATLABTM)的語法突出顯示功能以及針對Webots C API的自動完成功能。
項目的標准文件層次結構:為了創建Webots可以使用的項目,必須遵循一些規則。本節描述了一個簡單項目的文件層次結構。
在終端中編譯控制器:可以在終端中編譯Webots控制器,而不必使用內置編輯器。在這種情況下,您需要定義WEBOTS_HOME環境變量並將其指向Webots安裝目錄。 WEBOTS_HOME變量用於在Makefiles中找到Webots頭文件和庫。設置環境變量取決於平台(和外殼)
使用Webots Makefile:什麼是Makefile
帶有多個源文件的控制器(C / C ++)
使用編譯器和鏈接器標誌(C / C ++)
添加外部庫(C / C ++)
在C ++控制器中使用Webots C API
詳細編譯
添加調試信息
調試C / C ++控制器:
使用您的IDE:使用集成開發環境(IDE)十分方便,因為它通常具有高級源代碼編輯工具,內置調試器等功能。幸運的是,您可以使用自己喜歡的IDE開發Webots控制器。
首先,Webots可與任何IDE一起創建,構建和調試機器人控制器。只需正確設置IDE即可使用Webots控制器的構建規則。
很難為每個OS記錄每個IDE。因此,此處僅記錄其中一些。它們可以為他人提供參考。
遠程啟動Webots(ssh):可以使用ssh(或類似命令)在遠程計算機上啟動Webot。但是,Webots僅能獲得與本地(在同一台計算機上)運行的X服務器的X11連接才能工作。當前無法將Webots圖形輸出重定向到另一台計算機。
運行Extern機器人控制器:介紹外部機器人控制器及其使用方法。
轉移到自己的機器人:在移動機器人仿真中,將結果傳輸到真實的移動機器人上通常很有用。 Webots在設計時就考慮了這種傳輸功能。模擬盡可能地逼真,並且編程接口可以移植或連接到現有的真實機器人上。 Webots已經包含了許多現有機器人的傳輸系統,包括e-puckTM,DARwIn-OPTM,KheperaTM和HemissonTM。本節說明如何將自己的傳輸系統開發到自己的移動機器人。
由於模擬只是真實機器人的物理近似,因此在開發真實機器人的傳輸機制時始終需要進行一些調整。這種調整將影響模擬模型,以便更好地匹配實際機器人的行為。
week6 <<
Previous Next >> week8