亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? puma560_control.m

?? PUMA560仿真系統(tǒng),基于MATLAB的robotics toolbox工具箱。
?? M
?? 第 1 頁 / 共 2 頁
字號:
function varargout = puma560_control(varargin)% PUMA560_CONTROL M-file for puma560_control.fig%      PUMA560_CONTROL, by itself, creates a new PUMA560_CONTROL or raises the existing%      singleton*.%%      H = PUMA560_CONTROL returns the handle to a new PUMA560_CONTROL or the handle to%      the existing singleton*.%%      PUMA560_CONTROL('CALLBACK',hObject,eventData,handles,...) calls the local%      function named CALLBACK in PUMA560_CONTROL.M with the given input arguments.%%      PUMA560_CONTROL('Property','Value',...) creates a new PUMA560_CONTROL or raises the%      existing singleton*.  Starting from the left, property value pairs are%      applied to the GUI before puma560_control_OpeningFcn gets called.  An%      unrecognized property name or invalid value makes property application%      stop.  All inputs are passed to puma560_control_OpeningFcn via varargin.%%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one%      instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help puma560_control% Last Modified by GUIDE v2.5 04-May-2008 17:11:08% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name',       mfilename, ...                   'gui_Singleton',  gui_Singleton, ...                   'gui_OpeningFcn', @puma560_control_OpeningFcn, ...                   'gui_OutputFcn',  @puma560_control_OutputFcn, ...                   'gui_LayoutFcn',  [] , ...                   'gui_Callback',   []);if nargin && ischar(varargin{1})    gui_State.gui_Callback = str2func(varargin{1});endif nargout    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else    gui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before puma560_control is made visible.function puma560_control_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject    handle to figure% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% varargin   command line arguments to puma560_control (see VARARGIN)% Choose default command line output for puma560_controlhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes puma560_control wait for user response (see UIRESUME)% uiwait(handles.puma560_control);%初始化程序puma_gui=findobj('Tag','puma560_gui');if ~isempty(puma_gui),    %存在PUMA560演示窗口else    %不存在PUMA560演示窗口    uiwait(msgbox('您還沒有打開PUMA560演示窗口。程序?qū)⒆詣訛槟蜷_!','提示'));    puma560_gui();end% --- Outputs from this function are returned to the command line.function varargout = puma560_control_OutputFcn(hObject, eventdata, handles) % varargout  cell array for returning output args (see VARARGOUT);% hObject    handle to figure% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on button press in pushbtn_yunZ.function pushbtn_yunZ_Callback(hObject, eventdata, handles)% hObject    handle to pushbtn_yunZ (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)%運動學(xué)正問題% Forward kinematics is the problem of solving the Cartesian position and % orientation of a mechanism given knowledge of the kinematic structure and % the joint coordinates.close(findobj('tag','puma560_gui'));prompt={'輸入時間向量t:','輸入起始點坐標(biāo):','輸入終止點坐標(biāo):'};name='參數(shù):';numlines=1;defaultanswer={'0:0.056:2','[0 0 0 0 0 0]','[0 pi/2 -pi/2 0 0 0]'};answer=inputdlg(prompt,name,numlines,defaultanswer);if ~isempty(answer),    t=str2num(answer{1});    qz=str2num(answer{2});    qr=str2num(answer{3});endeval('puma560');figure('Name','PUMA560機器人仿真演示窗口---運動學(xué)正問題');q=jtraj(qz,qr,t);T=fkine(p560,q);subplot(3,1,1);plot(t, squeeze(T(1,4,:)));xlabel('Time (s)');ylabel('X (m)');subplot(3,1,2);plot(t, squeeze(T(2,4,:)));xlabel('Time (s)');ylabel('Y (m)');subplot(3,1,3);plot(t, squeeze(T(3,4,:)));xlabel('Time (s)');ylabel('Z (m)');puma_gui=puma560_gui();puma_gui=guihandles(puma_gui);axes(puma_gui.axes1);plot(p560,q);x=squeeze(T(1,4,:));y=squeeze(T(2,4,:));z=squeeze(T(3,4,:));figure('Name','PUMA560機器人仿真演示窗口---運動學(xué)正問題');plot3(x,y,z);% --- Executes on button press in pushbtn_yunN.function pushbtn_yunN_Callback(hObject, eventdata, handles)% hObject    handle to pushbtn_yunN (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)%運動學(xué)逆問題% Inverse kinematics is the problem of finding the robot joint coordinates,% given a homogeneous transform representing the last link of the manipulator.% It is very useful when the path is planned in Cartesian space, for instance % a straight line path as shown in the trajectory demonstration.eval('puma560');close(findobj('tag','puma560_gui'));prompt={'輸入時間向量:','輸入起始點坐標(biāo):','輸入終止點坐標(biāo):'};name='參數(shù):';numlines=1;defaultanswer={'0:0.056:2','transl(0.6,-0.5,0)','transl(0.4,0.5,0.2)'};answer=inputdlg(prompt,name,numlines,defaultanswer);if ~isempty(answer),    t=str2num(answer{1});    T1=str2num(answer{2});    T2=str2num(answer{3});endT=ctraj(T1,T2,length(t));q=ikine(p560,T);figure('Name','PUMA560機器人仿真演示窗口---運動學(xué)逆問題');subplot(3,2,1)plot(t,q(:,1))xlabel('Time (s)');ylabel('Joint 1 (rad)')subplot(3,2,2)plot(t,q(:,2))xlabel('Time (s)');ylabel('Joint 2 (rad)')subplot(3,2,3)plot(t,q(:,3))xlabel('Time (s)');ylabel('Joint 3 (rad)')subplot(3,2,4)plot(t,q(:,4))xlabel('Time (s)');ylabel('Joint 4 (rad)')subplot(3,2,5)plot(t,q(:,5))xlabel('Time (s)');ylabel('Joint 5 (rad)')subplot(3,2,6)plot(t,q(:,6))xlabel('Time (s)');ylabel('Joint 6 (rad)')eval('puma560');puma_gui=guihandles(puma560_gui());axes(puma_gui.axes1);plot(p560,q);% --- Executes on button press in pushbtn_dongZ.function pushbtn_dongZ_Callback(hObject, eventdata, handles)% hObject    handle to pushbtn_dongZ (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)%動力學(xué)正問題% Forward dynamics is the computation of joint accelerations given position and% velocity state, and actuator torques.  It is useful in simulation of a robot% control system.prompt={'輸入時間段:'};name='參數(shù)';numlines=1;defaultanswer={'[0 2]'};answer=inputdlg(prompt,name,numlines,defaultanswer);if ~isempty(answer),    t0=str2num(answer{1});endeval('puma560');[t,q,qd]=fdyn(nofriction(p560),t0(1),t0(2));nq=find(all(q==0)==0);figure('Name','PUMA560機器人仿真演示窗口---動力學(xué)正問題(位置)','NumberTitle','off');for i=1:length(nq),    subplot(round(length(nq)/2),2,i);    plot(t,q(:,i));    xlabel('Time(s)');    ylabel(['Joint ' num2str(nq(i)) ' (rad)']);endnq=find(all(qd==0)==0);figure('Name','PUMA560機器人仿真演示窗口---動力學(xué)正問題(速度)','NumberTitle','off');for i=1:length(nq),    subplot(round(length(nq)/2),2,i);    plot(t,qd(:,i));    xlabel('Time(s)');    ylabel(['Joint ' num2str(nq(i)) ' (rad/s)']);endpuma_gui=guihandles(puma560_gui());axes(puma_gui.axes1);plot(p560,q);% --- Executes on button press in pushbtn_dongN.function pushbtn_dongN_Callback(hObject, eventdata, handles)% hObject    handle to pushbtn_dongN (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)%動力學(xué)逆問題% Inverse dynamics computes the joint torques required to achieve the specified% state of joint position, velocity and acceleration.  % The recursive Newton-Euler formulation is an efficient matrix oriented% algorithm for computing the inverse dynamics, and is implemented in the % function rne().% Inverse dynamics requires inertial and mass parameters of each link, as well% as the kinematic parameters.  This is achieved by augmenting the kinematic % description matrix with additional columns for the inertial and mass % parameters for each link.prompt={'輸入時間向量:','輸入起始點:','輸入終止點:'};name='參數(shù)';numlines=1;defaultanswer={'0:0.056:2','[0 0 0 0 0 0]','[0 pi/2 -pi/2 0 0 0]'};answer=inputdlg(prompt,name,numlines,defaultanswer);if ~isempty(answer),    t=str2num(answer{1});    qz=str2num(answer{2});    qr=str2num(answer{3});endeval('puma560');[q,qd,qdd]=jtraj(qz,qr,t);tau=rne(p560,q,qd,qdd);taug=gravload(p560,q);nt=find(all(tau~=0));ng=find(all(taug~=0));figure('Name','PUMA560機器人仿真演示窗口---動力學(xué)逆問題(無重力)','NumberTitle','off');for i=1:length(nt),    subplot(length(nt),1,i);    plot(t,tau(:,nt(i)));    xlabel('Time(s)');    ylabel(['Joint ' num2str(nt(i)) ' torque(Nm)']);endfigure('Name','PUMA560機器人仿真演示窗口---動力學(xué)逆問題(有重力)','NumberTitle','off');for i=1:length(ng),    subplot(length(ng),1,i);    plot(t,taug(:,ng(i)));    xlabel('Time(s)');    ylabel(['Joint ' num2str(ng(i)) ' Gravity torque(Nm)']);endpuma_gui=guihandles(puma560_gui());axes(puma_gui.axes1);plot(p560,q);% --- Executes on button press in pushbtn_trace.function pushbtn_trace_Callback(hObject, eventdata, handles)% hObject    handle to pushbtn_trace (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)%軌跡規(guī)劃:關(guān)節(jié)空間(jtraj),直角坐標(biāo)(ctraj)和基坐標(biāo)變換(trinterp)三種方案str={'關(guān)節(jié)空間','直角坐標(biāo)'};[s,v]=listdlg('PromptString','選擇方案:','SelectionMode','single','ListString',str); switch s,    case 0,    case 1,        prompt={'輸入時間向量:','輸入起始點坐標(biāo):','輸入終止點坐標(biāo):'};        name='輸入所需參數(shù)';        numlines=1;        defaultanswer={'0:0.056:2','[0 0 0 0 0 0]','[0 pi/2 -pi/2 0 0 0]'};        answer=inputdlg(prompt,name,numlines,defaultanswer);        t=str2num(answer{1});        qz=str2num(answer{2});        qr=str2num(answer{3});        [q,qd,qdd]=jtraj(qz,qr,t);        nq=find(all(q==0)==0);        for i=1:length(nq),            figure('Name','PUMA560機器人仿真演示窗口---軌跡規(guī)劃(關(guān)節(jié)空間)');            subplot(3,1,1);            plot(t,q(:,nq(i)));            title('Theta');            xlabel('Time(s)');            ylabel(['Joint ' num2str(nq(i)) '(rad)']);            subplot(3,1,2);            plot(t,qd(:,nq(i)));            title('Velocity');            xlabel('Time(s)');            ylabel(['Joint ' num2str(nq(i)) 'vel(rad/s)']);            subplot(3,1,3);            plot(t,q(:,nq(i)));            title('Acceleration');            xlabel('Time(s)');            ylabel(['Joint ' num2str(nq(i)) 'accel(rad/s^2)']);        end        puma_gui=guihandles(puma560_gui());        axes(puma_gui.axes1);        eval('puma560');        plot(p560,q);    case 2,        prompt={'輸入時間向量:','輸入起始點坐標(biāo):','輸入終止點坐標(biāo):'};        name='輸入所需參數(shù):';        numlines=1;        defaultanswer={'0:0.056:2','transl(0.6,-0.5,0)','transl(0.4,0.5,0.2)'};        answer=inputdlg(prompt,name,numlines,defaultanswer);        if ~isempty(answer),            t=str2num(answer{1});            T1=str2num(answer{2});            T2=str2num(answer{3});        end        T=ctraj(T1,T2,length(t));        h=findobj('tag','puma560_gui');        if ~isempty(h),            close(findobj('Tag','puma560_gui'));        end        figure('Name','PUMA560機器人仿真演示窗口---軌跡規(guī)劃(直角坐標(biāo))');        subplot(3,1,1);        plot(t, squeeze(T(1,4,:)));        xlabel('Time (s)');        ylabel('X (m)');        subplot(3,1,2);        plot(t, squeeze(T(2,4,:)));        xlabel('Time (s)');        ylabel('Y (m)');        subplot(3,1,3);        plot(t, squeeze(T(3,4,:)))        xlabel('Time (s)');        ylabel('Z (m)');        figure('Name','PUMA560機器人仿真演示窗口---軌跡規(guī)劃(直角坐標(biāo))');        plot3(squeeze(T(1,4,:)),squeeze(T(2,4,:)),squeeze(T(3,4,:)));        eval('puma560');        q=ikine(p560,T);        puma_gui=guihandles(puma560_gui());        axes(puma_gui.axes1);        plot(p560,q);end% --- Executes on button press in pushbtn_exit.function pushbtn_exit_Callback(hObject, eventdata, handles)% hObject    handle to pushbtn_exit (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)%退出程序close(findobj('Tag','puma560_control'));puma_gui=findobj('Tag','puma560_gui');if ~isempty(puma_gui),close(puma_gui);end% --- Executes on button press in pushbtn_import.function pushbtn_import_Callback(hObject, eventdata, handles)% hObject    handle to pushbtn_import (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)%載入數(shù)據(jù)puma=findobj('Tag','puma560_gui');if ~isempty(puma),    %如果存在PUMA560演示窗口    puma=guihandles(puma);    eval('puma560');    axes(puma.axes1);    qz=zeros(1,6);    plot(p560,qz);else    %如果不存在PUMA560演示窗口    puma=guihandles(puma560_gui());    axes(puma.axes1);    qz=zeros(1,6);    eval('puma560');    plot(p560,qz);end% --- Executes on button press in pushbtn_animation.function pushbtn_animation_Callback(hObject, eventdata, handles)% hObject    handle to pushbtn_animation (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)T1=transl(0.6,-0.5,0.2);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月综合激情网| 日韩一级二级三级| 亚洲品质自拍视频网站| 99久久99久久精品免费观看| 国产精品亲子伦对白| heyzo一本久久综合| 亚洲另类一区二区| 欧美日韩一卡二卡| 日日骚欧美日韩| 日韩视频123| 丁香一区二区三区| 亚洲日本乱码在线观看| 欧美日韩精品福利| 久久91精品国产91久久小草| 久久久噜噜噜久久中文字幕色伊伊 | 久久国产精品第一页| 精品日韩99亚洲| 国产 日韩 欧美大片| 亚洲色图在线视频| 欧美一级xxx| 国产成人av电影在线| 亚洲男同1069视频| 欧美高清激情brazzers| 国产美女娇喘av呻吟久久| 中文字幕五月欧美| 欧美日韩免费在线视频| 极品少妇xxxx偷拍精品少妇| 日本一区二区三区在线观看| 色婷婷一区二区三区四区| 麻豆久久久久久久| 亚洲欧洲国产日本综合| 欧美一区二区三区思思人| 成人性色生活片| 日韩电影免费在线看| 国产日韩成人精品| 欧美高清精品3d| 亚洲欧美另类综合偷拍| 波多野结衣亚洲一区| 日韩视频免费观看高清完整版 | 精品人伦一区二区色婷婷| 99久久99精品久久久久久| 国产激情视频一区二区在线观看| 蜜臀国产一区二区三区在线播放| 日韩精品一区第一页| 丝袜美腿成人在线| 视频一区中文字幕国产| 免费一级欧美片在线观看| 美女视频免费一区| 国内成+人亚洲+欧美+综合在线| 麻豆精品精品国产自在97香蕉| 久久国产麻豆精品| 国产精品自拍一区| 成人久久18免费网站麻豆| av资源网一区| 在线观看三级视频欧美| 欧美专区亚洲专区| 欧美日韩精品久久久| 日韩欧美美女一区二区三区| 久久综合色婷婷| 亚洲国产精品av| 亚洲欧美视频在线观看| 亚洲第一激情av| 麻豆freexxxx性91精品| 国产精品一区二区久久精品爱涩| 懂色av中文一区二区三区| voyeur盗摄精品| 欧美日韩一二三| 欧美mv日韩mv亚洲| 国产精品免费av| 亚洲国产另类av| 久久91精品国产91久久小草| 成人av电影免费观看| 欧美午夜一区二区三区免费大片| 欧美一级夜夜爽| 国产女人18毛片水真多成人如厕 | 欧美精品 日韩| 亚洲精品一区二区精华| 国产欧美日韩另类一区| 亚洲乱码国产乱码精品精的特点 | 成人精品一区二区三区中文字幕| 91蜜桃传媒精品久久久一区二区| 欧美日韩三级在线| 久久久久88色偷偷免费 | 国产成人小视频| 欧美视频你懂的| 久久久精品免费网站| 亚洲精品国产精华液| 国产又粗又猛又爽又黄91精品| 97精品超碰一区二区三区| 日韩一区二区视频| 成人欧美一区二区三区黑人麻豆| 日本成人中文字幕在线视频| 成人蜜臀av电影| 日韩欧美一区中文| 亚洲免费在线视频| 黑人巨大精品欧美一区| 欧美午夜影院一区| 国产精品第五页| 精品一区二区在线播放| 欧美中文字幕一二三区视频| 国产欧美日韩另类一区| 麻豆成人综合网| 欧美精品久久99久久在免费线 | 91精品麻豆日日躁夜夜躁| 亚洲国产精品激情在线观看| 日本不卡一区二区三区| 91日韩在线专区| 国产欧美精品一区aⅴ影院 | 国产馆精品极品| 91精品国产综合久久婷婷香蕉| 最新日韩av在线| 国产毛片精品视频| 欧美一区二区三区四区久久| 亚洲国产一区二区视频| av在线不卡观看免费观看| 久久夜色精品一区| 欧美bbbbb| 欧美丰满少妇xxxxx高潮对白| 亚洲三级电影全部在线观看高清| 国产露脸91国语对白| 日韩欧美第一区| 三级在线观看一区二区 | 久久久精品综合| 久久成人久久爱| 日韩欧美一二三四区| 无吗不卡中文字幕| 欧美日韩中文字幕一区二区| 亚洲欧美日韩一区二区| 99久久精品免费观看| 国产精品久久久久久亚洲伦 | 日韩精品久久理论片| 欧美人伦禁忌dvd放荡欲情| 一区二区三区四区视频精品免费| 99久久免费精品高清特色大片| 国产午夜精品久久久久久免费视| 国产精品一级黄| 国产日韩精品一区二区三区| 国产a精品视频| 中文字幕不卡在线观看| 成人综合婷婷国产精品久久免费| 国产色产综合产在线视频| 国模一区二区三区白浆| 久久久久国色av免费看影院| 风间由美中文字幕在线看视频国产欧美 | 国产一区二区在线电影| 久久网站热最新地址| 国产精品一区久久久久| 日本一区免费视频| 99久久精品费精品国产一区二区| 国产精品免费av| 欧美在线观看你懂的| 亚洲第一久久影院| 日韩欧美一二区| 国产成人综合自拍| 国产精品二区一区二区aⅴ污介绍| 不卡一区二区三区四区| 有坂深雪av一区二区精品| 欧美婷婷六月丁香综合色| 亚洲妇熟xx妇色黄| 欧美一二三四区在线| 国产91精品在线观看| 亚洲女人的天堂| 777午夜精品视频在线播放| 精品一区二区久久久| 国产精品午夜免费| 日本高清不卡视频| 蜜臀av一区二区| 欧美国产国产综合| 欧美吻胸吃奶大尺度电影| 久久99久久久欧美国产| 国产精品理论片在线观看| 欧美午夜一区二区三区免费大片| 久久精品国产精品亚洲综合| 欧美极品少妇xxxxⅹ高跟鞋| 在线观看91精品国产入口| 美女诱惑一区二区| 国产欧美精品日韩区二区麻豆天美| 色8久久人人97超碰香蕉987| 蜜桃精品在线观看| 国产精品对白交换视频| 日韩三级免费观看| 波多野结衣亚洲| 久久激五月天综合精品| 最好看的中文字幕久久| 日韩欧美专区在线| 91美女视频网站| 精品影院一区二区久久久| 亚洲欧美国产三级| 精品人伦一区二区色婷婷| 欧美性生活大片视频| 国产成人综合网| 日本欧美一区二区三区乱码| 日韩一区在线播放| 久久久不卡网国产精品二区| 欧美三级午夜理伦三级中视频| 国产成人av电影免费在线观看| 日韩成人免费电影| 亚洲精品菠萝久久久久久久| 久久久久国产精品麻豆ai换脸| 欧美一区二区在线免费观看|