今天構(gòu)思了機(jī)械手的關(guān)節(jié)部位和坐標(biāo)計(jì)算方法,可能最終會(huì)最多用到四軸聯(lián)動(dòng),如果用不同轉(zhuǎn)速來(lái)控制四周軸的話,單線程可能會(huì)很吃力。所以如果用到的話,盡量用等速來(lái)控制,這是后話。
下面是關(guān)節(jié)的草圖,設(shè)計(jì)的初中是盡量大范圍的并從指定角度抓取物體,并用制定軌跡移動(dòng)物體。
各臂的長(zhǎng)短沒(méi)有按照最終比例繪出,最終可能會(huì)舍去某些關(guān)節(jié)。
下面是終端坐標(biāo)算法
上圖所示,B點(diǎn)到B‘點(diǎn)X,Y的相對(duì)坐標(biāo)等于A點(diǎn)到A‘點(diǎn)的相對(duì)坐標(biāo),而A和A’其實(shí)就是R圓軌跡上的兩點(diǎn),為了坐標(biāo)的計(jì)算,必須取一點(diǎn)作為參考點(diǎn)O,O點(diǎn)坐標(biāo)為R圓零度坐標(biāo)(R,0),設(shè)A點(diǎn)距O點(diǎn)旋轉(zhuǎn)了a°,根據(jù)圓的角度公示為Ax=rcosa,Ay=rsina。A’點(diǎn)的坐標(biāo)為A'x=rcosa',A'y=rsina'。得出A和A‘的相對(duì)位置為(Ax-A'x,Ay-A'y)。同理如果在R1上也有轉(zhuǎn)動(dòng)的話也可以用這個(gè)方法算出,最后將坐標(biāo)相加就可得出B點(diǎn)移動(dòng)了多少,如果需要在移動(dòng)的過(guò)程中B點(diǎn)X坐標(biāo)保持不變,只要控制伸縮臂進(jìn)行插補(bǔ)即可。同樣水平方向的Z坐標(biāo)也可如此計(jì)算。
下面一步要在實(shí)際中模擬出這一動(dòng)作,也就是程序的編寫和各軸數(shù)據(jù)的存儲(chǔ),以及參考點(diǎn)的設(shè)定與返回方法。
C51完成這些計(jì)算可能有些能力不足,考慮上位機(jī)交互的方法,單片機(jī)只處理各電機(jī)最終要走的步數(shù)即可,其他有電腦完成。