<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一款基于A(yíng)RM的多自由度人形教育機器人控制系統的設計

一款基于A(yíng)RM的多自由度人形教育機器人控制系統的設計

作者:席東河 申一歌 杜娟 高吉珍 時(shí)間:2014-12-29 來(lái)源:電子產(chǎn)品世界 收藏
編者按:  摘要:針對以往教育機器人自由度少、控制不靈活、教育功能弱的缺點(diǎn),使用高集成度ARM芯片設計了一個(gè)簡(jiǎn)潔的17自由度人形機器人控制系統。規劃了機器人的軟硬件結構,設計了控制電路和驅動(dòng)系統,采用1個(gè)定時(shí)器產(chǎn)生17路PWM驅動(dòng)信號。重點(diǎn)以實(shí)例講解了波形產(chǎn)生及驅動(dòng)函數的編寫(xiě)方法和技巧。設計的機器人能夠完成整套體操運動(dòng)。這種方法在多自由度機器人操控和教學(xué)中具有廣泛的借鑒意義。   1 系統方案設計   人形機器人控制系統包括機器人控制器和機器人遙控器兩部分。其中控制器以飛利浦公司的ARM7處理器為核心,包含1

  多個(gè)舵機的驅動(dòng)需要依據的姿態(tài)數據計算出轉動(dòng)時(shí)間,將其時(shí)間數據按一定算法進(jìn)行排序,并在CPU的控制下設置各舵機的運動(dòng)和停止時(shí)間。

  3.3 舵機整體驅動(dòng)函數 ManMoveFrame()設計

本文引用地址:http://dyxdggzs.com/article/267427.htm

  函數功能:將輸入的各角度轉換為各的高電平時(shí)間,按照17個(gè)高電平時(shí)間從短到長(cháng)依次調用對應伺服器驅動(dòng)。共18個(gè)入口參數,17個(gè)是伺服器角度,1個(gè)是動(dòng)畫(huà)停留時(shí)間,轉換關(guān)系:1度約為0.00814ms。

  函數定義:void ManMoveFrame(int16 Head_Angle,int16 Larm1_Angle,… ,,int16 Rleg5_Angle,uint8 t)

  {uint8 i,t1; int HeadTime,Larm1Time,Larm2Time, … ,Rleg4Time,Rleg5Time;/*與角度對應的時(shí)間變量*/

  int MotorTime[17]; /*各舵機驅動(dòng)脈沖時(shí)間數組*/

  MotorTime[0]=HeadTime=Head_0+Head_Angle*Angle1;/*頭部驅動(dòng)脈沖時(shí)間*/

  /*MotorTime[1]至MotorTime[16]略;*/

  qsort(MotorTime,17,sizeof(int),Compare); /*對MotorTime數組快排序,使其值從小到大重排*/ …

  for(i=0;i<17;i++)/*循環(huán)17次依次比較并輸出驅動(dòng)脈沖低電平*/

  {if(MotorTime[i]==HeadTime) head(HeadTime);/* 如果頭部轉動(dòng)角度小則頭部轉動(dòng)結束*/

  else if(MotorTime[i]== Larm1Time) Larm1(Larm1Time); /*如果左肩轉動(dòng)角度小則頭部轉動(dòng)結束*/

  … else Rleg5(Rleg5Time);} while(T0TC

  3.4 姿態(tài)數據輸入驅動(dòng)函數ManMoveKeyframeData()設計

  機器人動(dòng)作的關(guān)鍵姿態(tài)是由各舵機轉動(dòng)位置決定的,需要參照機器人的體態(tài)對17個(gè)舵機的自由度關(guān)系數據進(jìn)行設置,驅動(dòng)函數將如表2所示設置的參數轉換為驅動(dòng)信號,控制17個(gè)舵機的轉動(dòng),從而完成機器人行走的動(dòng)作。表格空白的地方默認數據為0。

  函數功能:初始化各伺服器角度/時(shí)間數組,將機器人每姿態(tài)動(dòng)作的各舵機角度數據輸入給各伺服器數組。共19個(gè)入口參數:1個(gè)關(guān)鍵幀號、17個(gè)伺服器角度、1個(gè)動(dòng)畫(huà)停留時(shí)間。

  函數定義:void ManMoveKeyframeData(uint16 ID,int16 H_Angle, …,int16 RL5_Angle,uint8 t){

  ID_Max++;/*動(dòng)作幀數,全局變量,記錄動(dòng)作幀數,每加入1幀,ID_Max的值就增1*/

  H[ID]=H_Angle;/*頭的角度*/ … RL5[ID]=RL5_Angle; /*左肩的角度*/

  T_Key[ID]=t;/*幀動(dòng)作完成的時(shí)間長(cháng)度*/ }

  3.5 機器人動(dòng)作控制驅動(dòng)函數ManMoveKeyframeToFrame()設計

  主要功能:把動(dòng)作幅度較大的姿態(tài)關(guān)鍵幀數據結合其下面緊挨的姿態(tài)關(guān)鍵幀數據轉換為時(shí)間均勻的普通幀驅動(dòng)參數,供整體驅動(dòng)使用。入口參數:無(wú)。出口參數:無(wú)。

萬(wàn)能遙控器相關(guān)文章:萬(wàn)能遙控器代碼


pwm相關(guān)文章:pwm是什么


晶振相關(guān)文章:晶振原理


關(guān)鍵詞: ARM 機器人 PWM 伺服器 LPC2114 201501

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>