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





