服務機器人應用開發(中級) 課件 項目7 讓機器人雙足步行_第1頁
服務機器人應用開發(中級) 課件 項目7 讓機器人雙足步行_第2頁
服務機器人應用開發(中級) 課件 項目7 讓機器人雙足步行_第3頁
服務機器人應用開發(中級) 課件 項目7 讓機器人雙足步行_第4頁
服務機器人應用開發(中級) 課件 項目7 讓機器人雙足步行_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

讓機器人雙足運動項目1CONTENT目錄項目導入01項目任務02學習目標03知識鏈接04項目準備05任務實施06任務評價07任務拓展08項目小結09項目導入01項目導入1上一個任務已經有了基礎,學習了用程序控制機器人揮動雙臂。那么如何更精確的控制機器人雙腿呢?4CONTENT目錄項目導入01項目任務02學習目標03知識鏈接04項目準備05任務實施06任務評價07任務拓展08項目小結09項目任務02項目任務171.通過本課程我們將學習步態算法的基礎概念、ZMP力矩零點、步態規劃和倒立擺模型原理等。2.通過這些知識的學習,我們逐漸開始認識一個雙足機器人要想穩定的走路所必須具備的基本條件和控制方法。3.最后我們會通過簡單的步態控制案例來體驗步態算法對于雙足機器人的重要作用。CONTENT目錄項目導入01項目任務02學習目標03知識鏈接04項目準備05任務實施06任務評價07任務拓展08項目小結09學習目標03知識目標職業素養目標技能目標1.了解零力矩點2.了解質心和力矩3.了解機器人步態規劃4.掌握雙足步態規劃流程知識目標:知識目標、技能目標、職業素養目標10學習目標31.掌握用程序初始化舵機2.掌握用程序初始化步態3.掌握用程序完成三點坐標值規劃步態4.掌握用程序控制機器人逆運動5.掌握用程序控制機器人完成雙足步行技能目標:1.培養質量意識2.培養精益求精的探究精神3.培養工匠精神職業素養目標:CONTENT目錄項目導入01項目任務02學習目標03知識鏈接04項目準備05任務實施06任務評價07任務拓展08項目小結09知識鏈接04零力矩點零力矩點在仿人機器人領域的應用運動物體質心Yanshee步態規劃基本原理質心和力矩雙足機器人的步態規劃法零力矩點(ZMP,ZeroMomentPoint),1968年南斯拉夫學者M.Vukobratovic在其步行機器人動態平衡理論中定義了這一概念,到了80年代早稻田的加藤一郎實驗室(IchiroKato'slaboratoryatWasedaUniversity)制作了一系列的WL機器人,這些雙足機器人是最早將此概念實際應用到動態平衡的雙足步行機器人。知識鏈接零力矩點413知識鏈接零力矩點在仿人機器人領域的應用414雙足機器人研究都是基于ZMP的方法。但是利用的方式各有巧妙不同。傳統的方法,建立雙足機器人的數學模型,并根據ZMP必須落在穩定區域(腳掌范圍)去推導控制法則建立雙足機器人的數學模型,用計算機模擬和驗證。質心是組成該物體所有質量的平均位置,對于規則物體,質心就是幾何中心。對于不規則物體,偏向質量偏多的一邊。知識鏈接質心和力矩415當物體運動時,例如拋出的球棒的運動很復雜,但是其質心會依然沿著平滑的拋物線運動。知識鏈接運動物體質心416基本概念具體定義步態仿人機器人的步態規劃類似于機械臂的軌跡規劃,但是機械臂軌跡規劃一般僅僅涉及到機械臂關節空間或者笛卡爾空間的軌跡的規劃問題,且二者之間是可以通過機器人的正向運動學和逆向運動學相互轉化的。但是仿人機器人的步態規劃則不同,機器人的沒有固定的基座,因而不存在特定的關節空間和笛卡爾空間的轉化關系,因為二者之間的轉換需要涉及到機器人漂浮基座的狀態。因而仿人機器人的步態可以認為是質心軌跡以及各個關節軌跡的綜合。靜態步行仿人機器人步行過程中,機器人相對于支撐腳始終處于靜力學平衡狀態,即機器人的質心在地面上的投影始終不超過支撐多邊fangrenbn形的范圍。動態步行仿人機器人步行過程中,機器人相對于支撐腳始終處于動力學平衡狀態,即機器人的質心在地面上的投影可以在某些時刻超過支撐多邊fangrenbn形的范圍。單腿支撐機器人僅僅有一只腳與地面接觸,此時機器人呈倒立擺狀態雙腿支撐機器人雙腿支撐某種程度上是一種過度階段,根據人類的行走狀態,雙腿支撐期只占一個步行周期的8%-25%。機器人在撐場行走過程中是處于單腿支撐和雙腿支撐的結合和切換。但是當機器人處于奔跑狀態時候,則是單腿支撐與騰空狀態的結合。單步機器人從一側腿著地到另一側腿著地構成一個步長,它包含一個雙腿支撐期和單腿支撐期。兩個單步會構成一個復步。復步在步行運動中,從機器人一側腳著地開始到該腳再次著地構成一個復步。期間兩只腿各相繼向前邁步一次。它包括兩個雙腳支撐期和兩個單腳支撐期。跨高擺動腿在擺動過程中腳底離地面的最大距離,常用于衡量機器人跨越小障礙物和在不平地面行走的能力。知識鏈接Yanshee步態規劃基本原理417雙足機器人的步行可以分為靜態步行和動態步行兩種。靜態步行是重心移動少、速度慢的步行方式,動態步行則是自身破壞平衡,向前傾倒地行走,人的行走以動態步行為主。倒立擺的移動就屬于這種典型的動態步行。關節類型主要作用髖關節用于擺動腿,實現邁步并使上軀體前傾或者后仰,使之在步行過程中起輔助平衡作用膝關節調整重心的高度,并用來調整擺動腿的著地高度,使之與地形相適應踝關節用來和髖關節相配合實現支撐腿和上軀體的移動,而且還可以調整腳掌與地面的接觸狀態。知識鏈接雙足機器人的步態規劃法418CONTENT目錄項目導入01項目任務02知識鏈接04項目準備05學習目標03任務評價07任務拓展08項目小結09任務實施06項目準備05項目準備521ROS環境Yanshee機器人一臺Gazebo機器人模擬環境010203CONTENT目錄項目導入01項目任務02知識鏈接04任務實施06學習目標03任務評價07任務拓展08項目小結09項目準備05任務實施06初始化步態初始化舵機角度完成三點坐標值規劃步態機器人逆運動使用ROS消息控制機器人動作//定義步態枚舉的狀態,分別為左腳抬起,扭左跨,右腳抬起,扭右跨enumgait_status{LEFT_UP=0,WAIST_TO_LEFT=1,RIGHT_UP=2,WAIST_TO_RIGHT=3,};gait_statusgait_current_status;boolfirst_step=true;intmain(intargc,char**argv){ros::init(argc,argv,"ik_test_node");ros::NodeHandlen;ros::Publisherjoint_pub=n.advertise<ubt_msgs::angles_set>("hal_angles_set",1);ubt_msgs::angles_setjoint_angle_;joint_angle_.angles.resize(17);gait::Kinematicskinematic;ros::Rateloop_rate(50);ros::Timetime_program_hold=ros::Time::now();任務實施初始化步態624//初始化關節角度,因為YANSHEE共17個舵機,因此設置17個角度值(initjoint_angle)joint_angle_.angles[0]=int((90+0)*2048/180);joint_angle_.angles[1]=int((130+0)*2048/180);joint_angle_.angles[2]=int((179+0)*2048/180);joint_angle_.angles[3]=int((90+0)*2048/180);joint_angle_.angles[4]=int((40+0)*2048/180);joint_angle_.angles[5]=int((15+0)*2048/180);joint_angle_.angles[6]=int((90+0)*2048/180);joint_angle_.angles[7]=int((60+0)*2048/180);joint_angle_.angles[8]=int((76-0)*2048/180);joint_angle_.angles[9]=int((110-0)*2048/180);joint_angle_.angles[10]=int((90+0)*2048/180);joint_angle_.angles[11]=int((90+0)*2048/180);joint_angle_.angles[12]=int((120-0)*2048/180);joint_angle_.angles[13]=int((104+0)*2048/180);joint_angle_.angles[14]=int((70+0)*2048/180);joint_angle_.angles[15]=int((90+0)*2048/180);joint_angle_.angles[16]=int((90+0)*2048/180);joint_angle_.time=25;。任務實施初始化舵機角度625//抬左腳caseLEFT_UP:foot_pos_l[2]=15*(waist[1]-LEG_UP_CONDITION);foot_pos_l[0]+=(first_step?(SPEED/2):SPEED);left_arm[0]=30000*(waist[1]-LEG_UP_CONDITION);right_arm[0]=left_arm[0];break;//重心移到左腳caseWAIST_TO_LEFT:foot_pos_l[2]=0;foot_pos_r[2]=0;break;任務實施完成三點坐標值規劃步態626//通過封裝的逆運動學函數,來推到出各個舵機的相應的弧度數值(IK代表IndirectKinematics逆運動學)kinematic.IK_leg(l_foot,waist,r_foot,l_joint,r_joint);任務實施機器人逆運動627/手臂的舵機數值joint_angle_.angles[0]=int((90+left_arm[0])*2048/180);joint_angle_.angles[3]=int((90+right_arm[0])*2048/180);//左腳的舵機數值joint_angle_.angles[6]=int((90+1*l_joint[1]*Rad2Deg)*2048/180);joint_angle_.angles[7]=int((98+1*l_joint[2]*Rad2Deg)*2048/180);joint_angle_.angles[8]=int((128-1*l_joint[3]*Rad2Deg)*2048/180);joint_angle_.angles[9]=int((94-1*l_joint[4]*Rad2Deg)*2048/180);joint_angle_.angles[10]=int((90+1*l_joint[5]*Rad2Deg)*2048/180);//右腳的舵機數值joint_angle_.angles[11]=int((90+1*r_joint[1]*Rad2Deg)*2048/180);joint_angle_.angles[12]=int((82-1*r_joint[2]*Rad2Deg)*2048/180);joint_angle_.angles[13]=int((52+1*r_joint[3]*Rad2Deg)*2048/180);joint_angle_.angles[14]=int((86+1*r_joint[4]*Rad2Deg)*2048/180);joint_angle_.angles[15]=int((90+1*r_joint[5]*Rad2Deg)*2048/180);joint_angle_.time=20;//把獲得的17個舵機數值,通過ROS發送給角度控制節點,來執行機器人運行joint_pub.publish(joint_angle_);/shaoyiwork/Yanshee_Gait任務實施使用ROS消息控制機器人動作628CONTENT目錄項目導入01項目任務02學習目標03任務評價07項目準備05任務實施06知識鏈接04任務拓展08項目小結09任務評價07自我評價小組評價任務評價自我評價小組評價731CONTENT目錄項目導入01項目任務

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論