freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

機(jī)器人識(shí)別本科論文基于windows的家庭服務(wù)機(jī)器人仿真(編輯修改稿)

2024-07-25 01:25 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 le.”,“The green book is on the bed.”,“The cup which is green is near the table.”,“There must be a cup in the cupboard.”.比賽中自然語(yǔ)言可以出現(xiàn)的詞匯如表21所示 表21 詞匯表詞匯類型 詞匯代詞 me冠詞 a、an、the助動(dòng)詞 must動(dòng)詞 do、be、give、put、go、pick、open副詞 there、not名詞 plate、所有物體種類 在仿真過(guò)程中,使用很少的的詞匯避免了復(fù)雜的環(huán)境場(chǎng)景。代詞只有用戶“me”。對(duì)于任務(wù)描述中的目標(biāo),一般用祈使句表達(dá),例如:“Go to the bed.”,“Pick up the bottle which is green.”。其中主動(dòng)動(dòng)詞含義解釋如表22 動(dòng)詞 用法含義give 一般用法為“give somebody A”或“give A to somebody”在指令交互中轉(zhuǎn) 為give(human, A)put 一般用法為“put A in/on/near/next to/down to B”,在指令交互中表示為 puton(A,B)/putin(A,B)/putdowm(A) go 一般用法為“go to A”在指令交互中表示為goto(A) pick 一般用法為“pick up A”在指令交互中表示為pickup(A)open 一般用法為“open A”在指令交互中表示為opendoor(A)。 表22 主動(dòng)動(dòng)詞含義對(duì)于補(bǔ)充信息,用陳述句表達(dá),一般為“A is on/near/next to/inside B” 或者“There is A on/near/next to/in B” 的形式,他們同為A和B的位置屬性相同,除了B 為plate 的情況,此時(shí)解釋為A 在機(jī)器人的盤子里?! ∪蝿?wù)描述中約束用“Do not …”,“There must (not) be …”,或者“…must(not) be …” 的方式表達(dá)。“Do not” 后面一般接任務(wù)目標(biāo),例如“Do not pickup the red cup”, “Do not put the green bottle on the table.”?!癟here must (not) be” 后面一般接信息描述。 仿真評(píng)分標(biāo)準(zhǔn)一般情況下,一個(gè)任務(wù)集包含很多條命令,每執(zhí)行一條命令計(jì)分器根據(jù)完成任務(wù)過(guò)程中維護(hù)的約束去記分。正常情況下,完成一個(gè)命令獲得十分,維護(hù)一個(gè)約束獲得五分,完成一個(gè)補(bǔ)充信息十分,執(zhí)行一次move減去三分,執(zhí)行其他原子動(dòng)作減一分。問(wèn)題得分= 10乘以完成的目標(biāo)數(shù)目+ 5乘以維護(hù)的約束數(shù)目乘以sgn(完成的目標(biāo)數(shù)目)扣去 3乘以move 行動(dòng)個(gè)數(shù)減去 其他行動(dòng)個(gè)數(shù)。 仿真比賽平臺(tái) 仿真過(guò)程中使用ChallengeServer 作為比賽平臺(tái)ChallengeServer 負(fù)責(zé)管理比賽問(wèn)題集(場(chǎng)景描述和任務(wù)描述),在比賽中調(diào)用參賽程序,使其在規(guī)定的時(shí)間(5 秒)內(nèi)對(duì)一個(gè)問(wèn)題求解,并對(duì)輸出的規(guī)劃結(jié)果打分,最后按總分給所有參賽程序[13]。各參賽程序的接口部分用C++ 實(shí)現(xiàn),需要繼承Plug 類,實(shí)現(xiàn)相應(yīng)的接口函數(shù),并生成動(dòng)態(tài)鏈接庫(kù)(dll 文件)。ChallengeServer 通過(guò)加載動(dòng)態(tài)鏈接庫(kù)來(lái)調(diào)用參賽程序。為了方便調(diào)試,ChallengeServer 源代碼res 文件夾包含一些場(chǎng)景描述和任務(wù)描述樣例。比賽平臺(tái)將在Window XP 系統(tǒng)下運(yùn)行,比賽所用機(jī)器配置如下:CPU: AMD Athlon(tm) II X4 620Memory: 2GB ChallengeServer 在Windows XP 系統(tǒng)Visual Studio 2008 下用C++ 開(kāi)發(fā),目前只支持裝有VS2008 的Windows 系統(tǒng),因此要運(yùn)行平臺(tái),需要先安裝VS2008ChallengeServer 通過(guò)加載各參賽隊(duì)伍生成的動(dòng)態(tài)鏈接庫(kù)(dll 文件),來(lái)調(diào)用參賽程序。參賽程序需要繼承Plug 類,并實(shí)現(xiàn)相應(yīng)的接口函數(shù)??梢詤⒄誄hallengeServer 源代碼中sample 文件夾下代碼。具體細(xì)節(jié)如下: ,構(gòu)造Plug 類的子類。 類構(gòu)造函數(shù)的參數(shù)。 ()函數(shù),實(shí)現(xiàn)規(guī)劃程序。對(duì)于每個(gè)問(wèn)題,平臺(tái)將調(diào)用Plan()函數(shù),給予5 秒的計(jì)算時(shí)間。 (const char* amp。 dname, const char* amp。 tname)函數(shù),獲得記錄當(dāng)前場(chǎng)景描述的文件名dname 和記錄當(dāng)前任務(wù)描述的文件名tname。 ,來(lái)輸出相應(yīng)的規(guī)劃結(jié)果。 ,來(lái)輸出相應(yīng)的規(guī)劃結(jié)果。 在測(cè)試開(kāi)始前有數(shù)需要初始化,可重載Init() 函數(shù)實(shí)現(xiàn)。 ,可重載Fini() 函數(shù)實(shí)現(xiàn)。 ,參數(shù)為相應(yīng)的類名,將工程配置成生成動(dòng)態(tài)鏈接庫(kù)的方式,即可將相應(yīng)的程序打包成平臺(tái)可調(diào)用的動(dòng)態(tài)鏈接庫(kù)3 編程動(dòng)作序列規(guī)劃 機(jī)器人在仿真環(huán)境內(nèi)在規(guī)定時(shí)間里根據(jù)場(chǎng)景描述和任務(wù)描述規(guī)劃出結(jié)果,也就是原子動(dòng)作序列。Plateform中的評(píng)價(jià)程序會(huì)更據(jù)此原子動(dòng)作序列與需要完成的任務(wù)做對(duì)比,并根據(jù)任務(wù)的完成效果來(lái)評(píng)分。對(duì)于任務(wù)有兩種類型一種為基本任務(wù),另一種為復(fù)合型任務(wù)。基本任務(wù)類似于點(diǎn)對(duì)點(diǎn),如需要機(jī)器人幫助人取到某樣?xùn)|西,或者是需要把某件可以動(dòng)的物品轉(zhuǎn)移到另外一個(gè)位置。復(fù)合型任務(wù)包含若干基本任務(wù)組合,一般情況下機(jī)器人會(huì)獨(dú)立完成每一件任務(wù)。如一個(gè)簡(jiǎn)單的復(fù)合任務(wù)要,將可移動(dòng)的小物體A和B拿給人。機(jī)器人通常情況下會(huì)把A先拿給人然后在把B拿給人但是這樣機(jī)器人的工作效率很低。但是經(jīng)過(guò)規(guī)劃以后,我么可以以最少的原子動(dòng)作去完成此[6]。 指令語(yǔ)言動(dòng)作規(guī)劃在求解過(guò)程中,由于程序的的先后劃分順序,對(duì)于一個(gè)問(wèn)題集的求解通常是:先規(guī)劃出前面的原子動(dòng)作序列,然后再依次依據(jù)前一次的動(dòng)作序列所產(chǎn)生的場(chǎng)景描述來(lái)完成后面所有的的原子動(dòng)作序列。在實(shí)際的操作過(guò)程中,對(duì)于這樣的原子動(dòng)作序列,機(jī)器人的執(zhí)行效率很低,一般情況下我們不會(huì)采用。對(duì)于不同問(wèn)題中的的場(chǎng)景描述和任務(wù)描述,我們希望的是在產(chǎn)生最少的原子動(dòng)作序列情況下,完成任務(wù)。對(duì)于指令交互的原子動(dòng)作規(guī)劃我們用一下行動(dòng)方案來(lái)介[7]:任務(wù)指令: give(human,green cup ) give(human,blue bottle). 。 位置 爪子 盤子1 0 0 物體編號(hào) 種類 顏色 大小 位置 1 human big 202 desk big 303 teapoy big 324 cup green small 32 5 bottle blue small 32 在場(chǎng)景描述中機(jī)器人的屬性(location、hold、plate,)很重要,在解決問(wèn)題前我們需要對(duì)于機(jī)器人做預(yù)處理。我們要考慮機(jī)器人手中、盤子中是否有物體,如果有該物體是否和任務(wù)相關(guān)。機(jī)器人只有一只手、一個(gè)盤子所以組合在一起就有一下幾種情況:假設(shè)機(jī)器人的手中或盤子中有物體存在,我們先要考慮手中是否有物體存在即“plate_id”:是否為零,若不為零則首先處理手中物[9]。手中物體若與任務(wù)相關(guān)則可以直接完成該任務(wù)中的一條命令,若與任務(wù)不相關(guān)則直接放下。然后在考慮盤子中的狀態(tài),處理方法與手中處理方法相同。以下為代碼中對(duì)于機(jī)器人的屬性信息與處理辦法:if(hold_id!=0||plate_id!=0){ if(hold_id!=0) { for(int i=0。i20。i++) { if(task_a[i][0]==hold_id) { Move(state[findId(task_a[i][1])].loc,2)。 PutDown(2)。task_a[i][0]=0。task_a[i][1]=0。 break。 }}} if(hold_id!=0) {for(int i=0。i20。i++) { if(task_a[i][0]0) {for(int j=1。j7。j++) {if(state[findId(obj_color[task_a[i][0]][j])].id==hold_id) { Move(state[findId(task_a[i][1])].loc,2)。 PutDown(2)。 task_a[i][0]=0。task_a[i][1]=0。 break。 } } } break。 } } if(plate_id!=0) { for(int i=0。i20。i++) { if(task_a[i][0]==plate_id) { Move(state[findId(task_a[i][1])].loc,2)。 FromPlate(2)。PutDow
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1