BHuman開始篇 CABSL語法理解

2021-09-25 17:19:57 字數 1057 閱讀 1881

cabsl 中,有以下的基本元素:options(選項), states(狀態), transitions(轉換), actions(動作)。乙個行為由一組在選項圖中排列的選項組成。有乙個單一的啟動選項,所有其他選項都被呼叫;這是選項圖的root。每個選項都是有限狀態機,它?述了乙個特定的行為部分,比如機械人的技能或頭部運動,或者它結合了這樣的基本特徵。每個選項都以它的 intital_state 開始。在乙個狀態中,可以執行的動作可以呼叫另乙個選項,並執行任何 c++**,例如修改行為控制?供的 representations。此外,在每個狀態內都有一項關於轉換到另乙個狀態(在選項內)的決定。像動作一樣,轉換能夠執行 c++**。

option中的**和普通的c++稍有不同,具體參考pdf第六章,option裡的語法是cabsl結構(這些語法都是通過巨集來實現的),具體表現為:option(name,xx,xx):括號中第乙個引數為名字,一般與圖的名字相同; 第二或以後的引數為變數。

①common_transition是隨著圖執行就在不停執行的邏輯判斷,不管當前執行到該option的哪乙個state,一旦滿足條件就會結束當前行為,goto相應的state。

②普通transition只在當前的state中判斷,滿足條件***xx,goto yyyyy state

①state()是某種狀態,相當於「大盒子」裡的「小盒子」,只能通過goto 盒子名字進入。

②initial_state是進option中的初始化狀態,自動執行 initial_state中的行為。

①action是當前state執行的行為,可以是某些函式或者跳到別的option中。

②action_done表示state中的action執行完畢,在transition中判斷action_done可以再state動作執行完後跳到別的state中。

③action_aborted表示動作未執行完或者意外終止。

①基於c++,底層封裝良好,故可帶著c++語言基礎並以一種新的心態看待cabsl語言,學習理解其語法。

像之前學習qt一樣( ̄︶ ̄*))

②可將option看作類函式,較容易理解。

③使用大量goto語句,其實在一定程度上簡化理解。

Microsoft Azure開始支援R語言

最新revolution r enterprise rre 的技術預覽版已經在microsoft azure上上線了,相關的window和linux虛擬機器可以在azure marketplace上獲得。rre由revolution analytics公司開發,該公司近期被微軟公司收購。之前對於微軟...

Learn C 之開始篇

最近搞多 學習gstreamer,ffmpeg,stagefright等多個框架的過程中發現對基礎語言有些生疏了。雖然多數框架都是以c語言為基礎,但是通用思想都是物件導向,如gobject的物件導向的c語言思想,所以撿一下基礎語言學習,恰好無意中看到乙個英文學習 順便提高一下英文閱讀能力,就進行了該...

leetcode刷題 開始篇

第一道題 reverse words in a string.也就是說翻轉乙個字串的單詞。例如輸入為 hello world,it suck but i love it.輸出為 it love it but suck it world,hello 基本思路為 首先進行整個字串的reverse。然後對...