機器人運動學變成了一個充滿樂趣的視覺實驗場:我通過使用“小狗板”(PuppyPi)來實時觀察并調整機器人的行走、小跑和攀爬動作,從而掌握了動態(tài)步態(tài)的要領!
我一直對機器人的行走方式充滿好奇,但逆向運動學和步態(tài)規(guī)劃卻感覺像是抽象的數(shù)學知識——直到我接觸到了 Hiwonder PuppyPi 項目。這個項目旨在打破這些障礙。我不僅為機器人編寫了程序;我還實時地對它的行走步態(tài)進行了可視化設計和調整,將復雜的理論轉化為我可以直接看到、觸摸和調試的東西。以下是我是如何使用 PuppyPi 讓機器狗行走、小跑甚至攀爬的,我只需拖動滑塊并進行可視化操作就能實現(xiàn)這一切。
項目目標:為何這并非一個“黑匣子”
我的目標是超越僅僅成為一名“程序員”,而要成為一名“活動設計師”。我想要:
通過視覺方式控制逆運動學(IK),從而能夠直觀地創(chuàng)建姿勢和動作。
?通過調整實際參數(shù)來理解和優(yōu)化仿生步態(tài)(行走、小跑),而不僅僅是調用預先編好的函數(shù)。
?通過結合步態(tài)規(guī)劃和逆向運動學原理,可以解決諸如爬臺階這類實際的物理難題。
“小狗派”非常適合這項任務,因為它是一個開放式的平臺:其搭載的樹莓派 5 芯片、ROS 支持以及 8 個智能舵機提供了計算和物理方面的工具,而其軟件則使復雜的數(shù)學運算變得易于操作。
免費下載“小狗派”教程,您還能獲取所有電路圖、源代碼、視頻教程以及各種實驗案例等。
硬件部分:一個反應靈敏的機器人軀體
在搖晃的平臺上,你無法調整動態(tài)步態(tài)。而 PuppyPi 的硬件設計旨在提供即時反饋:
?連桿腿設計:這并非僅僅是為了美觀。四連桿系統(tǒng)能提供更寬廣、更自然的活動范圍。它將伺服旋轉直接轉化為高效的腿部運動,這是實現(xiàn)穩(wěn)定步態(tài)的基礎。
?帶反饋的無核心伺服系統(tǒng):這是關鍵所在。與普通伺服系統(tǒng)不同,這類系統(tǒng)會報告其位置并將其反饋回控制器。這種閉環(huán)反饋機制使得能夠實現(xiàn)實時調整和保持穩(wěn)定姿態(tài)。
?輕質鋁制框架:減小的慣性使得機器人能夠迅速啟動和停止動作,從而在桌面環(huán)境中實現(xiàn)步態(tài)的平穩(wěn)轉換并具有良好的響應性。
軟件工具包:奇跡誕生之地
真正的突破在于這套軟件系統(tǒng)。它將抽象的坐標轉化為鮮活的動態(tài)畫面。
1. 視覺逆向運動學控制:這是我開始的起點。該軟件提供了一個三維空間,您只需將一只腳拖拽至新的位置即可。逆向運動學求解器會立即計算出所有必要的關節(jié)角度(髖關節(jié)、膝關節(jié))并移動腿部。我從零開始,在幾分鐘內就設計出了“弓形”和“波浪形”的姿勢——無需任何數(shù)學運算。
2. 實時步態(tài)參數(shù)調整:這是實驗的核心部分。該軟件展示了行走引擎的關鍵控制要素:
?步幅高度與長度:控制雙腳抬升的高度以及伸展的幅度。
?步態(tài)周期:整個步態(tài)動作序列的完成速度。
?步態(tài)系數(shù):表示一只腳著地時間與在空中時間的百分比。在狗狗行走時調整這一參數(shù),能讓你直觀地看到其效果。提高踏板高度和循環(huán)頻率,平穩(wěn)的行走(三只腳始終著地)就會轉變?yōu)樘S式的快步(雙腿交叉同步移動)。
實驗內容:讓其向上爬一步
了解這些工具只是第一步;將它們組合起來使用才會帶來樂趣。我設定了一個經(jīng)典的挑戰(zhàn):自主完成踩踏低臺階的動作。
步驟 1:為保持穩(wěn)定而規(guī)劃步態(tài)。我讓機器人保持緩慢且穩(wěn)定的步行步態(tài)。這樣在向障礙物移動的過程中就能保證有三個接觸點來維持平衡。
步驟 2:精確腳部位置的骨骼動力學控制。當前腿到達臺階時,我沒有計算角度。而是利用可視化的骨骼動力學工具將腳部目標位置拖拽到臺階表面。骨骼動力學求解器處理了復雜的軌跡,將腿抬起并精確放置到位。
步驟3:動態(tài)姿勢調整。為了在攀爬時將重心向前轉移,我通過“身體姿勢”控制裝置,在行走時略微將軀干向前傾斜。這種實時調整確保了重心始終位于支撐腿之上。
步驟4:重復并迭代。我再次對后腿的操作流程進行了嘗試,觀察身體姿勢和步態(tài)節(jié)奏如何相互協(xié)調。經(jīng)過幾次迭代后,小狗機器人成功平穩(wěn)地爬上了臺階。
挑戰(zhàn)、調試與關鍵經(jīng)驗教訓
1. 挑戰(zhàn):步伐轉換時出現(xiàn)踉蹌。起初,在行進途中從“步行”狀態(tài)轉換到“快步”狀態(tài)時會引發(fā)踉蹌,這是因為時機把握不當所致。
修正:我利用軟件中的步態(tài)相位圖來直觀展示每條腿的狀態(tài)。我為每條腿調整了“偏移”參數(shù),以確保過渡過程的流暢性,并親身體驗到了不同腿部之間的協(xié)調配合。
2. 挑戰(zhàn):IK“奇異點”姿勢。有時,如果一只腳在身體下方伸展得太遠,就會導致一種不流暢的動作——這就是典型的 IK 奇異點現(xiàn)象。
解決方法:該軟件設定了關節(jié)角度的限制范圍。我學會了在這些可視界限內操作,這讓我比閱讀任何教科書都更能了解機器人可行的姿態(tài)。
3. 關鍵收獲:最穩(wěn)定的步態(tài)是由小幅度、逐步的調整所形成的。一次性改變多個參數(shù)會導致難以理解其因果關系。實際操作的過程培養(yǎng)了對動態(tài)平衡的直觀感受。
結論
該項目證明,PuppyPi 不僅僅是一個預先組裝好的機器人,它更是一個實踐性的運動學實驗室。通過將逆運動學和步態(tài)參數(shù)可視化并使其可調節(jié),它將機器人領域中最難的課題轉化為一種觸覺的、實驗性的過程。
本文編譯自hackster.io





