再聊機器人設計:如何加速開發(fā)流程?
01
一套機械臂系統(tǒng)引發(fā)的思考
此種復雜的機械臂控制系統(tǒng)到底如何開發(fā),如何設計?
02
與機器人相關的系統(tǒng)開發(fā)流程
比如:我們在設計機器人機械臂時,機械臂驅動電路已經(jīng)設計并制作完成,但小伙伴的機械臂結構還未搭建好,我們必須得等小伙伴完成機械臂結構后才能測試。無形中,也浪費了開發(fā)時長。
那么,如何提升效率、減少時間和資金,從而加快開發(fā)流程呢?
加快反饋!
在早期進行整體設計時,如果可以仿真,在仿真過程中,不斷調試裝置和系統(tǒng)參數(shù),多次反饋后得出我們想要的模型,同時進行結構與軟硬件制作,并根據(jù)仿真模型的變動進行修改,多階段同時進行,以此來減少開發(fā)時長以及資金成本。
當然,既然要進行仿真,要選取哪款軟件呢。
在這之前,我們曾經(jīng)有寫過一篇:
MATLAB R2020a新鮮出爐,我來替各位嘗嘗鮮?。ǔ溄樱c擊即可閱讀)
在這篇文章中,我們有聊過利用MATLAB/Simulink對機器人運動規(guī)劃進行仿真。
那么在加速機器人開發(fā)流程上,MATLAB又會給我們帶來什么驚喜呢?
03
MATLAB如何加速機器人開發(fā)
在未設計出機械臂硬件系統(tǒng)之前,我們是無法驗證算法,其抓取效果以及準確度,此時MATLAB即可上場,擔當搭建相關模型,提前完成仿真測試的重任。
在開篇的腰間機械臂視頻中,機械臂有給人遞送工具的應用場景,我們以機械臂抓取物品為例,使用MATLAB模擬仿真該運動過程。
在MATLAB中,有較多的機械臂模型供大家選擇,可供自己的設計需求選擇相應的機械臂模型,接下來使用MATLAB對進行機械臂拾放工作流程仿真。
首先,使用Stateflow圖表創(chuàng)建狀態(tài)流程圖,由以下三個步驟組成:
1、初始化機器人和環(huán)境
初始化機械臂模型,并創(chuàng)建其運行環(huán)境,初始化相關參數(shù)配置,建立機械臂模型。
該環(huán)境由機械手、用于分類的架子和藍色障礙物組成。
2、識別零件并確定放置位置
在識別階段的第一步中,必須檢測零件。我們可以直接調用相關函數(shù)直接給出待拾放的物體檢測算法,也可以通過我們特定的物體,來設計對應的物體檢測算法。
接下來,調用相關函數(shù)將零件分為兩種類型,以確定放置它們的位置(頂部或底部架子)。
3、執(zhí)行取放工作流程
一旦識別出物品,并指定了它們的目的地,手爪將其拾取,然后移動到目標位置。
*詳細流程如下圖所示:
在完成狀態(tài)流程圖后,就可以運行可視化仿真。
通過確定選用MATLAB中提供的機器人模型,初始相關參數(shù)配置,完成機械手的初始配置,建立機械臂模型。
【案例來自MATLAB官網(wǎng),該仿真使用帶有手爪的KINOVA GEN3機械臂模型】
代碼:
調用函數(shù),即可將可視化模型連接到前文狀態(tài)流程圖,
coordinator.FlowChart = exampleHelperFlowChartPickPlace('coordinator',coordinator);
輸入下方代碼,可進行拾放物體過程仿真:
answer = questdlg('Do you want to start the pick-and-place job now?', ...
'Start job','Yes','No', 'No');
switch answer
case 'Yes'
% Trigger event to start Pick and Place in the Stateflow Chart
coordinator.FlowChart.startPickPlace;
case 'No'
% End Pick and Place
coordinator.FlowChart.endPickPlace;
delete(coordinator.FlowChart);
04
總結
本文只是淺談了機器人系統(tǒng)開發(fā)中,通過MATLAB/Simulink的配合使用,我們可以提前驗證機械臂控制算法,同樣的,除開機器人的機械臂模型仿真,我們也可以利用Simulink對機器人的移動控制、視覺等組件進行仿真,提前驗證我們的控制算法,無需等到相關硬件制作完成后再驗證,可以加快整個機器人系統(tǒng)的開發(fā)過程,提升效率。
總的來說,在機器人開發(fā)上,MATLAB給技術人員提供了足夠多且友好的開發(fā)工具,并且也涵蓋了多個demo,供初學者快速入門。我們可以通過學習調用demo,快速搭建出我們的機器人各個組件系統(tǒng),進行仿真測試,無論是機器視覺,或者機械臂相關軟硬件,亦或是移動路徑規(guī)劃等。都可以在MATLAB中找到相應的工具包對其進行仿真測試。
與此同時,在基于MATLAB模型設計下,我們可以將機器人系統(tǒng)如此龐大陌生的系統(tǒng)劃分成各個模塊進行組件設計,利用Simulink對其組件進行仿真測試,使用基于模型設計去開發(fā)軟件,我們可以盡早對一個階段的工作產(chǎn)品進行驗證,同時鏈接到后一階段的設計。不僅僅是節(jié)省開發(fā)時間成本和資金成本,并且對于基于模型的設計來講,圖形化設計是天然的、固有的。
能讓人較為明朗了解設計原理以及過程,方便工程師們交流以及后期維護。
了解更多機器人解決方案:(復制到瀏覽器打開)
https://ww2.mathworks.cn/solutions/robotics.html?s_eid=PEP_23450
你可以申請30天免費試用工具包:(復制到瀏覽器打開)
https://ww2.mathworks.cn/campaigns/products/trials.html?s_eid=PEP_23450
-END-
推薦閱讀
免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!