2018年12月8日 星期六

機械手手實作紀錄-4:與手手的第一次連接

終於來到最後一個階段了,上次我們已經可以在ROS上順利運行感測手套的讀取與傳輸了,接下來的部分就是與機械手連結了,這個過程對已經學會一定程度ROS的人來說是不成問題的,相信大家經過上篇的學習後對ROS的瞭解又更深了呢,現在就讓我們一起來學吧~


4.ROS連結機械手手

首先,我們需要一隻擁有5個或6個自由度的機械手,如果你沒有實體的話,也可以嘗試使用虛擬的機械手來模擬喔~

4-1.連結架構

我們使用兩個程式來連結機械手,一個用於mapping[1],一個用於傳輸資料到機械手的driver上[2],由於兩個程式的架構都蠻簡單的,我就不多說了,讓各位自行品嘗看看吧,值得注意的是,我們將機械手連結到Linux上時,有碰到和機械手手實作紀錄-2:5DT感應手套在Linux上運行一樣的問題,我們需要先將權限開通,在執行程式前,輸入指令:
#須注意通道名稱,可至路徑:
cd /dev/usb
#以下指令須在各自的終端機各自輸入喔
sudo -S chmod 666 /dev/usb/hiddev0
#開通5DT感測手套權限
sudo -S chmod 666 /dev/ttyACM0
#開通機械手權限
除了這個問題還有msg格式的不同喔,我的msg格式[3]
如果您還是無法理解手套與ROS、機械手連結的程式,請參考機械手手實作紀錄-4.5:手套程式講解
以上檔案都用好了後就執行看看並且測試看看吧,先試試Topic的資料是不是讀取的到、有沒有過長延遲時間等等。

4-2.成果展示

由於我在此階段遇到的問題比較少,大概只花了一個下午就搞定了,所以就很愜意的拍了個demo影片,放在下面供大家欣賞一下吧,不過那也是因為之前幾乎就把能碰到的問題都碰了一遍了哈哈,如果你有我沒有提到的問題的話,都可以跟我說喔,因為說不定之後我也會遇到相同的問題。

影片流程: 開啟roscore -> 開啟我自己撰寫的bash檔(自動輸入必要的指令並打開3個需要的程式) -> 校正 -> 人手動,機械手也動


有沒有覺得有點延遲啊?我也很想解決這個問題,我試過調整buffer大小與程式延遲,結果延遲太小竟然當機了,只能乖乖再調大一點,不過聽說這延遲是機械手本身馬達的問題,目前無能為力QQ

4-3.肌電感測器

由於5DT感測手套已經玩了差不多了,下一次我們會使用別的感測器來進行實作,目前我們預定的是肌電感測器呦~大家期待一下吧~

如有問題可以留言大家一起討論,留言請勿出現不雅言語與無端謾罵喔~
If u have any question,just leave comments to me.I will answer u as soon as possible,but don't be mean to me.Thanks!

沒有留言:

張貼留言