[MATLAB] 轉動馬達

最近開始嘗試使用MATLAB來控制NXT(舊文章請點我),要使用MATLAB控制NXT,需要使用由德國 RWTH Aachen University 所開發的工具箱,基本上只要從RWTH的網站上(連結請點我)下載MATLAB工具箱並照著網站上所提示的步驟即可順利地使用(MATLAB版本需2008以上),上手可說是非常容易。

使用MATLAB控制NXT就如同LabVIEW下的Direct mode一樣,也就是說NXT跟電腦必須透過USB或藍芽連結,才可執行程式,如此主要的計算都在電腦端,NXT機器人就相當於電腦的延伸,這樣做的優點在於使用者可以結合MATLAB最完整的功能來控制NXT,而不用受到NXT本身硬體效能的限制,缺點當然就在於機器人變得比較沒有行動能力。若要讓NXT可以自主執行程式,就要使用MATLAB的附屬軟體-Simulink來撰寫程式,這個我們日後再作介紹。

現在讓我們來看看第一個MATLAB程式,這是一個會讓AB馬達以全速轉三秒的程式:

%Initialize the working environment
clear all;
close all;
clc
COM_CloseNXT all;
hNXT=COM_OpenNXT();               %Search for NXT
COM_SetDefaultNXT(hNXT);        %Set the connected NXT as default handle
NXT_PlayTone(660,200);

%task main
Motor_AB =NXTMotor('AB','Power',100)
Motor_AB.SendToNXT
pause(3)
Motor_AB.Stop('brake')

%Close all handles
COM_CloseNXT(hNXT);

對於有使用NXC或JAVA的朋友們,相信以上的程式對您而言並不是全然的陌生,有興趣歡迎提問囉!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *