<cite id="l9n5r"><video id="l9n5r"></video></cite><var id="l9n5r"><video id="l9n5r"></video></var>
<menuitem id="l9n5r"><strike id="l9n5r"></strike></menuitem><menuitem id="l9n5r"><video id="l9n5r"><thead id="l9n5r"></thead></video></menuitem>
<var id="l9n5r"></var>
<var id="l9n5r"></var>
<var id="l9n5r"><video id="l9n5r"><menuitem id="l9n5r"></menuitem></video></var>
<cite id="l9n5r"><video id="l9n5r"></video></cite>

機器人雙機對弈平臺

一、背景介紹

本方案提供集成機器人集成教學單元系統 2 套,嚴格滿足實現《機器人基礎 課程實驗》、《機器人高級課程實驗》和機器人雙機對弈研究的實驗要求。 其中,機器人集成教學單元主要包括:六軸工業機器人、機器人教學控制系 統、機器人教學課程功能包、機器人實驗操作臺、六維力傳感器、手眼視覺系統、 遙操作手柄系統及固定視覺系統。

 

二、方案設計

機器人教學系統能夠向學生提供完整的機器人教學實驗環境,包括機器人系 統認識、正逆運動學、關節空間規劃、笛卡爾空間規劃、動力學辨識、機器人動 力學前饋控制、拖動示教、基于末端力傳感器的導納控制、機器人視覺相機標定、 機器人視覺手眼標定、機器人視覺引導抓取、遙操作等實驗課程。 同時支持棋盤位置和棋子的動態識別,為機器人雙機對弈提供棋子位置信息;

支持與開源棋類軟件進行配合,實現自動下棋;結合棋子偏好因子,對根節點所 產生局面的估值進行調整,分析棋子偏好因子對于博弈走法決策的影響;結合博 弈風格因子,對根節點所產生局面的估值進行調整,通過調整博弈風格因子大小 使得博弈程序具有激進、適中及穩健型風格。


三、平臺配置參數

3.1、六軸工業機器臂本體

1)自由度:6

2)負載:7kg

3)精度:0.02mm

4)工作半徑:650-750mm

5)工作環境溫度:0/+40°C

6)驅動方式:交流伺服驅動

7)防護等級:IP67

8)噪聲水平:≤70dB(A)

采用珞石XB7型號機器人,其技術參數指標如下:


一個完整的機器人系統包括機器人本體,控制器,示教器,連接線纜,軟件,末端執行器及其他附件,XB7如下圖所示。


圖中各部分表示:

①XB機器人;      ②xPad示教器;    ③控制柜;  ④示教器電纜;    ⑤柜間電纜

機器人本體主要結構材質為鑄造鋁合金,共6個自由度,每個關節電機都配有制動器。

提供機器人連桿慣量信息

XB7各軸電機參數如下表所示:

開放式機器人控制系統

1) 整體要求:包括通信模塊、運動控制模塊和安全模塊,實現多種構型機器人控制??梢钥焖俅罱C器人研究或應用平臺,支持機器人控制算法驗證及機器人應用的快速開發。

平臺基于Matlab/Simulink構建快速原型控制系統,可以通過模型化開發方式,快速搭建機器人應用。


2)功能要求:

支持Matlab/Simulink下建立的動態系統數學模型應用于實時仿真、算法測試,便于全流程控制和局部算法驗證。

機器人應用開發工具(CPS Builder)實現機器人控制系統的模型搭建,快速仿真測試。


開發流程

數字仿真。在Simulink中建立機器人控制模型,初步驗證模型及算法;

半實物模型準備。對數字仿真模型進行修改,建立半實物仿真模型;

目標代碼自動生成。將Simulink模型轉化為C代碼,并最終編譯為可執行程序;

仿真配置管理。配置仿真目標機屬性;

實時仿真。連接目標機成功后,啟動實時仿真??蓤绦形募詣舆\行,與實際機器人系統或HIL交互;開發工具支持在線調參,啟??刂?,實時數據存儲等功能;

仿真數據分析處理。


支持控制算法的純數字仿真和硬件在環仿真與機器人真機實時控制。支持Simulink環境下的自動代碼生成與部署、動態調參、參數回顯等調試功能。

以提供給的實驗課程為例,按照結構框圖在MATLAB Simulink中為搭建機器人閉環控制系統,Robot為仿真被控對象模型,對象輸入為各關節力矩(Nm),輸出為關節角度(rad)。


PID Control模塊使用實驗二的PID控制模塊。并完善動力學前饋模塊內容。仿真系統為離線系統,控制周期為0.001s。

調整控制器參數,保證控制系統的動態性能和穩態性能。PID Control模塊的期望輸入Expect 取為階躍信號,以二關節和六關節為例,完成下表(PID參數取值與實驗二內容一致)。


真機實驗部分,利用仿真實驗中的控制器完善PID+dynamics Control,由于仿真被控對象與真機不完全一致,因此控制器參數需要調整。本實驗僅對機器人六關節進行實驗,其他軸控制無效。



將該程序拷貝到真實機器人的上位機系統中,單擊編譯。


在應用程序中,打開快速開發工具


在run_model 面板中,依次進行以下操作。

  • 單擊1,目標機連接測試
  • 單擊2,打開需要下載的文件
  • 單擊3,選擇目標平臺類型x86以及單擊
  • 單機4,使用機器人庫
  • 單擊5,下載程序到目標機中,并編譯(需要一定時間,提示成果后進行下一步)
  • 單擊6,編譯成功后,運行該程序。


回到simulink程序,依次進行如下操作

初始化開關狀態,開關1:move;開關2:off;開關3:off

單擊1連接目標機

單擊2運行目標機程序

將機器人運動到初始構型(可雙擊robot模塊進行設置,參數可在線修改,修改的目標在開關3由off變為on時才會生效)

將開關1置于move狀態;將開關2置于on,機器人上電;將開關3置于on,開始移動。完成移動完成后,依次將開關3置于off,開關2置于off。

具有機器人基礎運動庫和高級動力學庫、視覺庫、人工智能算法庫,集成多種總線通訊模塊,支持快速搭建機器人教學和科研的算法開發環境。

系統提供多類型功能庫,支持用戶封裝自定義庫文件?;贛ATLAB S-Function和MATLAB Function模塊,可以封裝不同功能,不同算法的功能組件。



技術參數:

機器人運動控制器與伺服驅動器通信方式:EtherCAT

機器人IO端口數:數字量16-in, 16-out

與伺服間通信頻率:1KHz

通信接口類型:位置接口,速度接口,力接口

控制模式:位置,速度,力

控制器支持EtherCAT總線,提供16路DI、DO接口,伺服通信周期頻率滿足402協議,通信頻率為1Khz,支持位置、速度、力三種控制模式,控制接口封裝在機器人庫中。




開發語言:MATLAB, C/C++

應用基于MATLAB/Simulink仿真,


同時可以基于支持C語言封裝。


項目提供多課時實驗內容,同時提供相關demo。

支持通信方式:EtherCAT,TCP/IP, UDP

控制器支持EtherCAT,TCP/IP, UDP,相關的功能組件封裝在MATLAB庫中。

△2、軟件參數:

1)機器人教學科研開發環境:

支持Simlink環境下的虛擬機器人仿真與真機實時控制;

2)機器人軟件開發工具:

在Simulink環境下,提供運動學、動力學、視覺功能庫;提供程序下載部署工具軟件;

2.1 軟件系統概述

本實驗臺控制系統以機器人應用開發工具(CPS Builder)為核心軟件單元。實現機器人控制系統的模型搭建,快速仿真測試。


2.2開發流程

1. 數字仿真。在Simulink中建立機器人控制模型,初步驗證模型及算法;

2. 半實物模型準備。對數字仿真模型進行修改,建立半實物仿真模型;

3. 目標代碼自動生成。將Simulink模型轉化為C代碼,并最終編譯為可執行程序;

4. 仿真配置管理。配置仿真目標機屬性;

5. 實時仿真。連接目標機成功后,啟動實時仿真??蓤绦形募詣舆\行,與實際機器人系統或HIL交互;開發工具支持在線調參,啟??刂?,實時數據存儲等功能;

6. 仿真數據分析處理。


2.3 機器人模型庫

機器人工具箱:

? 機器人單軸控制庫

? 機器人接口庫

? 機器人基礎控制庫

? 機器人3D顯示庫

? 傳感器接口庫


2.4 仿真軟件使用流程

2.4.1運行

1、Matlab  -> APPS,中找到ExSim_DeT,單擊打開,顯示如下


2、點RPI_target,到運行時(包括本機+目標機)配置頁


3、Connect Test后執行ERT Configuration  配置ertcoder


4、Target Initialization 配置目標機編譯初始環境:

注:這個配置的目的是使目標機編譯的依賴庫,匹配開發主機的matlab版本;

如果不確定上下是否一致,請執行此操作


4*、更新自定義庫操作

步驟2中,已經配置了GKJ、Robot、和PCIE庫;界面中三個Update鍵的作用是,無需重新安裝app,來更新Libs只替換app路徑下包含lib 的壓縮包后,點擊對應按鍵,即可更新目標機的對應庫包;

PCIE鍵前的 ’當前路徑‘勾選,的作用是,用戶在調用了block塊之后,進行了修改,在模型路徑下生成了新的wrapper.c,勾選"當前路徑",并Update,可快速更新庫;主要是考慮用戶需要經常修改block的情況

但此操作并不修改app路徑下的庫包,可以不勾選,點Update,恢復安裝路徑下的庫包;


5、模型參數配置


a、Hardware Implementation


b、Optimization -> Signals and Parameters  選擇Tunable


c、Code Generation:Browser 選擇tlc


d、Code Generation -> Interface


6、仿真設置:外部模式

設置成External模式


7、點build生成代碼 (快捷鍵ctrl+B)  

 注意:生成代碼之前要保存所有設置,否則仿真時會報錯模型與目標中不匹配。


點擊模型下方View diagnositcs 可以查看生成進展;生成失敗會自動彈出。


8、可以確認,操作是否使用了正確的生成工具鏈

注意:當前路徑下有同名tmf文件,系統默認使用第一個工具鏈;


9、APP打開該模型


10、Deploy部署到目標機

編譯成功(勾選LIB_Robot)


11、RUN 鍵使能,目標程序運行


點RUN,彈出DOS窗口

如果不確定,可以點Get Run Info 獲取PID(進程號)

如圖,目標機程序的ID = 4815;


12、模型聯接目標機

點擊Connect to target,


右下角看連接操作進度.


連接成功狀態:Run鍵由灰變亮,右下角T=0,0%等待開始;


13、RUN開始仿真

由于目標機程序執行./ModelName -w,是等待模式,所以在模型連接目標機成功后再點擊RUN,模型才開是仿真。

點RUN,可以看到右下角的時間,和進度條 顯示仿真進度;

DOS窗口顯示目標機程序執行打印信息,默認為周期執行超出時間(給個周期超出才打印)


14、由于系統設置的時間15s,所以仿真自行結束;

點Get Run Info 可知目標機程序以結束;此時可點RUN,重復步驟4~6進行仿真;


注意:這里設的仿真時間,只是按所設solver情況下的時間;如果發生超時,仿真時間并不等于15s,即并不表示實際執行實際。執行過程中,或時間設置了inf,可點擊Stop停止仿真


3)機器人控制器運行時工具:

基于實時Linux環境,支持各類機器人研發相關軟件包的便利集成,如ROS相關軟件包、OpenCV/Halcon等視覺軟件包及TensorFlow人工智能應用框架軟件包的移植;

 

機器人控制器基于實時Linux系統,可以安裝ROS相關軟件包、OpenCV/Halcon等視覺軟件包及TensorFlow人工智能應用框架軟件包的移植。

△3、教學資源:

1)機器人教學課程實驗指導書:不少于16次課程,課程內容需涵蓋機器人系統認識、DH建模、正逆運動學、關節空間規劃、笛卡爾空間規劃、雅克比矩陣、動力學辨識、機器人動力學前饋控制、拖動示教、基于末端力傳感器的導納控制、機器人視覺相機標定、機器人圖像坐標系到世界坐標系的變換、機器人視覺手眼標定、機器人視覺引導抓取等實驗內容,指導書包括實驗目的、實驗設備、實驗原理、實驗步驟等內容。

 

提供88學時實驗內容,包括22次課程內容,設計機器人基礎和高級兩本實驗指導書

 

基礎課程如下:


高級課程如下:


2)實驗PPT:提供與機器人教學課程實驗指導書配套的課件內容;


3)實驗程序:提供與機器人教學課程實驗指導書相對應的實驗程序。實驗程序采用Matlab/Simulink,實驗包括虛擬仿真和機器人在線控制。前者提供機器人仿真模型,進行算法開發與驗證。后者支持代碼快速生成與一鍵部署,可以在線控制工業機械臂進行課程實驗。

提供相關指導書和對應實驗程序,包括基礎理論建模、離線仿真試驗,以及半實物仿真試驗。


△4、開放式機器人對弈軟件

總體功能:

支持用戶可參與的開放式及模塊式軟件,實現棋盤建模、棋子識別、機器人離線編程、棋類AI等功能的構建及升級。計算機對弈,簡單的講就是計算機模擬人類思維下棋,所以計算機對弈也是人工智能的一部分,是現代智能化研究水平的集中體現。

4.1、運行環境:

Linux操作系統由眾多微內核組成,其源代碼完全開源。Linux繼承了Unix的特性,具有非常強大的網絡功能,其支持所有的因特網協議,包括TCP/IPv4、 TCP/IPv6和鏈路層拓撲程序等,且可以利用Unix的網絡特性開發出新的協議棧。Linux系統工具鏈完整,簡單操作就可以配置出合適的開發環境,可以簡化開發過程,減少開發中仿真工具的障礙,使系統具有較強的移植性。支持各類機器人研發相關軟件包的便利集成,如ROS相關軟件包、OpenCV/Halcon等視覺軟件包及TensorFlow人工智能應用框架軟件包的移植。


Linux系統界面

4.2、軟件功能

1)視覺識別功能:支持棋盤位置和棋子的動態識別,為機器人棋子拾取提供位置信息;基于棋盤背景圖像實現棋盤角點粗定位;按序掃描棋盤角點,利用基于HSV空間的角點鄰域圖像判定角點處是否存在棋子及棋子的顏色類別。

2)棋類AI功能:支持與開源棋類軟件進行配合,實現自動下棋;結合棋子偏好因子,對根節點所產生局面的估值進行調整,分析棋子偏好因子對于博弈走法決策的影響;結合博弈風格因子,對根節點所產生局面的估值進行調整,通過調整博弈風格因子大小使得博弈程序具有激進、適中及穩健型風格。

3) 機器人接口功能: 支持與機器人控制系統間的通信,調度機器人執行拾取操作。支持通信方式: EtherCAT,TCP/IP, UDP。

 

1) 下棋決策

決策方式是受到 [sunfish]啟發,撰寫的純python的對弈引擎, 整個對弈引擎核心代碼簡潔高效,子力價值表直接的參考了 [象眼]mtd search部分的代碼。

由于其代碼簡潔高效,可以很方便的進行各種實驗,并且開放用戶對算法進行優化. 如果在優化后想要評估和目前版本的棋力差別,支持使用test.py中的self_arena來將用戶代碼和elephantfish進行對弈。

決策采用常見的幾種方式:

a.使用簡單而高效的 MTD 二分搜索算法

b.使用眾所周知的現代象棋引擎trick 比如空著裁剪.

c.通過簡單的子力價值表進行局面評估.

d.使用python標準數據結構. 

2) 視覺處理

視覺處理部分支持棋子的分類識別、判斷棋子位置、生成棋局態勢,并將棋盤信息通過TCP/IP協議發送至決策端。

采用工業相機讀取棋盤信息,將拍攝到的圖片利用opencv進行圖像處理(調節亮度、對比度等)。利用霍夫變換檢測圓,將所有的棋子提取出來,并將每個棋子進行360度旋轉,每次旋轉間隔1度,從而生成深度學習所用的數據集。通過Efficientnet深度學習算法實現對棋子的分類識別,將棋盤按照棋盤格劃分為9*10的子圖片,將提取的子圖片進行分類識別,并返回識別結果,生成棋盤信息并存入緩存中。

棋盤識別過程

將本次采集的棋盤信息與上一次的棋盤信息做異或處理,并生成棋盤態勢。采用TCP/IP通信協議與決策系統通信,將棋盤信息發送給決策端。視覺處理流程如下所示。



国产精品国产亚洲精品看不卡-色爽爽一区二区三区-国内精品久久人妻互换-A级毛片免费看久久
<cite id="l9n5r"><video id="l9n5r"></video></cite><var id="l9n5r"><video id="l9n5r"></video></var>
<menuitem id="l9n5r"><strike id="l9n5r"></strike></menuitem><menuitem id="l9n5r"><video id="l9n5r"><thead id="l9n5r"></thead></video></menuitem>
<var id="l9n5r"></var>
<var id="l9n5r"></var>
<var id="l9n5r"><video id="l9n5r"><menuitem id="l9n5r"></menuitem></video></var>
<cite id="l9n5r"><video id="l9n5r"></video></cite>