在我們小組,我和周佩負責機械人模組,其具體要求如下:
輸入:目標擊球位置,到達該位置的時間,以及在該位置擊球器的速度向量。
輸出:在每個控制週期給出x軸和y軸的實時位置和速度指令。
主要引數:x軸和y軸的最大行程、最大速度加速度限制。
功能:能夠根據輸入的運動目標指令,實時規劃從當前位置達到目標擊球位置的運動軌跡,以及到達擊球位置後的減速停止軌跡,在每個控制週期輸出x軸和y軸的位置和速度設定值。
故,首先經過討論我們首先理解團隊專案和插值功能需求:開始討論時,考慮到初始速度和目標速度的方向不一致性,會導致軌跡成曲線的後果,由於對上層遊戲策略子系統的控制方法不是很清楚,為了簡化模型,我們假設初始速度和目標速度方向一致,如有需要,後續再進行補充。
接著,進行了梯形插值數學模型建立和公式推導:在紙上對梯形插值進行了公式推導,求出了加速運動時間、減速運動時間、勻速運動時間的數學表示式,用於後續計算各時刻的運動速度和位置。
團隊專案開發日誌(四)
為了進行動力學計算,用dworldcreate 建立world,在其中生成剛體body,用dworldstep 進行動力學計算。主要用到如下api函式。dspaceid dhashspacecreate 0 建立碰撞檢測用space,返回它的id。djointgroupid djointgroupc...
團隊專案開發日誌(三)
在ode中,動力學計算和碰撞檢測計算是獨立封裝的。其中碰撞檢測庫opcode是標準。在ode中使用碰撞檢測功能的時候需要生成碰撞檢測用的space和動力學計算用的world。物體有兩個屬性 作為動力學計算的對像的body 剛體 和作為碰撞檢測對像的geometry 形狀 body的製作方法 1 bo...
團隊專案開發日誌(二)
繼續學習ode缸體動力學物理引擎開發庫 使用drawstuff畫簡單的形狀,在本次工程中主要用於話冰球和機械手動作點 用圓代替 程式中加入 include 標頭檔案就能使用。以下為繪製球的 const dreal pos1,r1 繪製球 dssetcolor 1,0,0 顏色的設定 紅,綠,藍 各分...