Robot---能打羽毛球的機器人

1 前言

? ? ? ? Robot系列主要介紹一些比較有意思的機器人,前面的博客文章中也給讀者朋友們展示了一些:

? ? ? ? 《人形機器人---越來越像人了》

? ? ? ? 《自動駕駛---兩輪自行車的自主導航》

? ? ? ? 《自動駕駛---會打架的“球形機器人”》

? ? ? ? 《Robot---SPLITTER行星探測機器人》

? ? ? ? 《Robot---奇思妙想輪足機器人》

? ? ? ? 目前強一些的研究團隊都在研究如何讓機器人(不管是雙足還是四足)完成人類的某些動作,這也是機器人技術進步的一種體現。

????????本篇博客介紹的是 ETH 蘇黎世聯邦理工大學的研究團隊在機器人頂刊Science Robotics上發布的成果,探索如何讓擁有腿部和手臂的機器人(即腿足機械臂)學習并執行像羽毛球這樣高度動態、需要全身協調的復雜技能。

2 羽毛球Robot

????????機器人由四足底盤(蘇黎世聯邦理工的老演員了)、機械臂和立體相機組成。立體相機為前置雙目立體相機,圖像采樣頻率為 30Hz,用于感知羽毛球的位置和運動狀態等信息,系統通過攝像感知、軌跡預測與整身控制策略實現對羽毛球的精準攔截與揮拍操作。

????????當前這種直接基于強化學習的端到端方法,不僅可應用于四足機器人,還應用于無人機,無人車等做種機器人載體。感興趣的讀者朋友可以看看,很多知名高校(蘇黎世聯邦理工大學,香港科技大學,浙大等)開源的論文和代碼都有不少,但目前仍然停留在學術Demo階段,還沒有到量產階段。

    2.1 架構

    ? ? ? ? 相機安裝:該腿式移動操作機器人由四足底盤和動態機械臂組成,額外安裝了一個帶全局快門的立體相機。

    ????????機器人控制系統接收在相機坐標系中計算出的羽毛球位置,預測攔截位置,并將其與機器人本體感知數據一起輸入強化學習(RL)策略。該策略通過生成關節指令控制機器人的全部 18 個驅動單元。

    ? ? ? ? 總體的思路比較簡單,預測羽毛球運動軌跡,通過強化學習方法計算最佳擊球位置,難點在于協同控制。

    ????????研究方法與設計:

    • 基于強化學習的整身控制策略:核心是利用 PPO(Proximal Policy Optimization)算法,訓練一個聯合控制機器人 18 個關節的策略網絡。策略結構采用非對稱 Actor-Critic 架構,Critic 能訪問 “特權信息”,如球的真實位置、速度和未來軌跡等,以獲得更穩定的訓練反饋;Actor 僅基于機器人部署時可獲得的感知信息,如本體狀態、預測擊球點進行動作輸出,提升訓練效率并保持策略的可部署性。
    • 貼近真實的感知誤差模型:由于羽毛球速度快,微小感知誤差會導致擊球失敗,因此在訓練中引入基于實測數據回歸的感知誤差模型。該模型考慮觀測角度、距離、球速對測量誤差的影響,并在仿真中為每次觀測引入高斯噪聲擾動,增強了策略對現實感知條件的魯棒性,還使機器人發展出主動視覺行為,如通過軀干姿態調整保持球在視野中央,擊球前微調站位以減少預測誤差。
    • 具備目標引導與物理約束的訓練機制:獎勵函數除擊中球的核心獎勵外,還設計多個輔助項,用于鼓勵策略提前接近預測擊球點、控制步態穩定性、控制揮拍速度與角度以匹配球速、在連續擊球任務中維持身體狀態穩定等。此外,提出多目標擺動訓練范式,每個訓練回合中機器人需連續完成多次擊球,模擬真實對戰中的回合場景,讓機器人學習擊球后的姿態收斂和過渡動作的快速調度。

    2.2 詳細框架

    ????????論文的核心貢獻在于提出了一種端到端的強化學習(Reinforcement Learning, RL)框架,用于學習腿足機械臂的全身協調羽毛球技能。

    • 強化學習范式

      • 模型無關(Model-Free)RL:?避免了對機器人復雜動力學模型的精確建模,而是通過與環境的交互來學習最優策略。
      • 策略梯度方法:?通常會使用如PPO (Proximal Policy Optimization) 或 SAC (Soft Actor-Critic) 等算法,這些算法在處理連續控制任務和高維狀態/動作空間方面表現出色。
    • 狀態空間(Observation Space)
      為了讓機器人“理解”當前情況,其觀測空間通常包括:

      • 機器人自身狀態:?各關節的角度、角速度、基座(body)的姿態(俯仰、滾轉、偏航)、線速度和角速度。
      • 羽毛球狀態:?羽毛球相對于機器人基座的位置、速度,甚至可能是其歷史軌跡,以便預測未來位置。
      • 目標信息:?例如,擊球目標點(如果任務要求將球擊到特定區域)。
    • 動作空間(Action Space)
      機器人直接控制的輸出:

      • 關節目標位置/力矩:?策略輸出的是機器人所有關節(包括腿部和手臂)的目標位置或力矩,由低層控制器執行。這確保了全身的協同控制。
    • 獎勵函數(Reward Function)
      獎勵函數是RL成功的關鍵,它引導機器人學習期望的行為:

      • 擊球成功獎勵:?當機器人成功擊中羽毛球時給予高獎勵。
      • 擊球質量獎勵:?鼓勵球擊過網,并落在對方場地內。可能還會細化為擊球速度、角度等。
      • 平衡與穩定性獎勵/懲罰:?避免機器人跌倒,鼓勵其在運動中保持基座的穩定和姿態的平穩。
      • 運動平滑性/能耗獎勵:?懲罰劇烈的關節抖動或過大的關節力矩,鼓勵更自然、高效的運動。
      • 任務完成獎勵:?例如,每成功擊打一次球就給予獎勵。
    • 訓練策略與Sim2Real

      • 大規模仿真訓練:?在高保真物理仿真器(如Isaac Gym, MuJoCo等)中進行數百萬甚至數十億步的訓練。這是因為在真實機器人上進行如此大規模的試錯是不可行且危險的。
      • 域隨機化(Domain Randomization):?為了彌合仿真與現實之間的差距(Sim2Real Gap),在仿真訓練過程中,會隨機化各種環境參數和機器人參數,例如:
        • 摩擦系數、空氣阻力。
        • 機器人質量、慣量、關節剛度、阻尼。
        • 傳感器噪聲、執行器延遲。
        • 羽毛球的初始速度和旋轉。
          這使得學習到的策略對真實世界中的不確定性更加魯棒。
      • 課程學習(Curriculum Learning):?可能從簡單的任務開始(例如,靜止擊球,然后逐步增加球速和復雜性),幫助策略循序漸進地學習。
      • 統一的全身控制策略:?整個機器人(腿部和手臂)由一個單一的神經網絡策略控制,確保了內在的協調性。

    2.3 難點與挑戰

    (1)難點

    ? ? ? ? 研究四足機器人打羽毛球是一個很有意思的課題,那么針對這兩件事情,分別有什么難點?

    • 腿足機械臂:?腿足機器人提供卓越的移動性和越障能力,而機械臂則賦予它們操作和交互的能力。將兩者結合,可以創造出能在復雜地形中移動并執行精細任務的機器人。然而,控制這種高自由度(High-DOF)的系統,尤其是在執行全身協調的動態任務時,是一個巨大的挑戰。
    • 羽毛球作為測試平臺:?羽毛球運動是一個極佳的測試平臺,因為它包含了機器人控制的諸多難點:
      • 高動態性:?羽毛球飛行速度快,軌跡多變,要求機器人快速感知和響應。
      • 全身協調:?機器人需要通過腿部移動來定位自身,同時用手臂揮拍擊球,且在擊球過程中保持平衡和穩定。
      • 實時決策:?需要在毫秒級時間內預測球的軌跡并規劃擊球動作。
      • 精確的接觸動力學:?擊球瞬間的力道和角度控制至關重要。
      • 平衡與魯棒性:?在劇烈揮拍和移動中保持不摔倒。

    (2)核心挑戰

    • 高維度控制空間:?腿足機械臂通常擁有數十個自由度,傳統控制方法難以有效優化。
    • 動態環境下的魯棒性:?機器人需要適應羽毛球來球的各種速度、角度和旋轉。
    • 全身運動的耦合:?腿部運動會影響手臂的基座,手臂揮拍的慣性力會影響腿部的平衡,兩者必須協同工作。
    • Sim2Real Gap:?在仿真環境中訓練的策略如何有效地遷移到真實的物理機器人上,是一個普遍存在的問題。

    2.4 實驗結果

    ????????論文通常會通過以下方式驗證其方法的有效性:

    • 仿真環境測試:
      • 展示機器人在仿真中成功擊打各種來球,包括高速球、不同角度的球等。
      • 量化擊球成功率、擊球精度、機器人穩定性等指標。
    • 真實機器人部署:
      • 將訓練好的策略部署到真實的腿足機械臂硬件平臺(例如,Unitree H1, ANYmal + Franka Emika Panda等組合)。
      • 通過實際視頻和數據展示機器人在真實世界中成功擊打羽毛球,驗證Sim2Real的有效性。
    • 性能對比:
      • 可能與傳統的基于模型或非全身協調的控制方法進行對比,突出強化學習和全身協調的優勢。
      • 展示機器人能夠應對復雜、動態的擊球場景,這是傳統方法難以實現的。

    3 總結

    ? ? ? ? 本篇博客所介紹的論文不僅僅是讓機器人學會打羽毛球,更重要的是它提供了一個通用的框架和方法,用于訓練高自由度、多模態機器人執行需要精細全身協調的復雜動態任務,這對于推動通用型機器人的發展具有里程碑式的意義。

    ? ? ? ? 當前這種直接基于強化學習的端到端不僅應用于四足機器人,還應用于無人機,無人車等做種機器人載體。感興趣的讀者朋友可以看看,開源的論文和代碼都有不少,但目前仍然停留在學術Demo階段,還沒有到量產。

    參考論文:《Learning coordinated badminton skills for legged manipulators》

    本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
    如若轉載,請注明出處:http://www.pswp.cn/diannao/89637.shtml
    繁體地址,請注明出處:http://hk.pswp.cn/diannao/89637.shtml
    英文地址,請注明出處:http://en.pswp.cn/diannao/89637.shtml

    如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

    相關文章

    瀏覽器默認非安全端口列表

    瀏覽器默認非安全端口列表: https://chromium.googlesource.com/chromium/src.git//refs/heads/master/net/base/port_util.cc 0, // Not in Fetch Spec.1, // tcpmux7, // echo9, // discard11, // systat13, // daytime15, // netstat17, …

    在線租房平臺源碼+springboot+vue3(前后端分離)

    大家好,今天給大家帶來一個非常完善的 在線租房平臺。大家可用學習下系統的設計和源碼風格。 視頻演示 在線租房平臺源碼springbootvue3 圖片演示 技術棧 后端 技術框架:JDK8SpringBoot Mybatis-Plus 數據庫:Mysql8 前端 核心框架 - Vue…

    android核心技術摘要

    Android APP 默認賦予權限apk簽名 apk簽名:https://blog.csdn.net/u014763302/article/details/149055647apksign使用反法:[https://www.cnblogs.com/fengxing999/p/11978037.html]從Android源碼生成系統簽名文件:https://blog.csdn.net/wenz…

    離線遷移 Conda 環境到 Windows 服務器:用 conda-pack 擺脫硬路徑限制

    背景: 在進行深度學習算法的環境部署時,由于生產服務器被徹底隔離外網,只能把conda中env文件夾中的虛擬環境文件夾從開發機直接拷到離線 Windows 服務器。 其中一運行labelimg就報錯: Fatal error in launcher: Unable to creat…

    vue3+原生javascript 手寫日期時間選擇框 滾動選擇可輸入

    需求: web端 想要跟手機端一樣選擇年月日時分,通過滾動選擇 實現效果圖: 理念: 1.年月日時分 分別為單個輸入框,用來做輸入修改 2.div把輸入框拼接起來,顯示出一個日期框的樣子 3.年月日時分 下拉給默…

    Jetson邊緣計算主板:Ubuntu 環境配置 CUDA 與 cudNN 推理環境 + OpenCV 與 C++ 進行目標分類

    最近由于業務需求,接觸到了Jetson邊緣AI計算主板,博主使用的是Jetson Orin NX 16GB這個版本,可以看到其算力達到了100TOPS,這是一個非常恐怖的算力了,接下來便是博主對其的環境配置過程,博主要在該主板上運…

    CLIP模型實現中的其他細節

    之前已經完整的拆解了CLIP中所用到的ResNet、ViT和Transformer三個模型(CLIP拆解-CSDN博客),這篇將講解model.py實現中的其他細節。 1.關于ResNet模型中vision_head的設置 ResNet: vision_heads vision_width * 32 // 64 ViT: vision_h…

    國科大深度學習作業1-手寫數字識別實驗

    背景介紹:單位實習,趁機摸魚,由于電腦只安裝了VSCode,所以算是從環境搭建寫起。 目錄 一、環境搭建 1. 安裝Anaconda 2. 創建Python環境 3. 安裝PyTorch 4. 安裝其他必要庫 二、在 VSCode 中配置環境 1. 安裝Pytho…

    基于Spring Boot的綠園社區團購系統的設計與實現

    第1章 摘 要 本設計與實現的基于Spring Boot的綠園社區團購系統,旨在為社區居民提供一套高效、便捷的團購購物解決方案。隨著電子商務的發展和社區居民對便捷購物需求的增加,傳統的團購模式已無法滿足用戶的個性化需求。本系統通過整合現代化技術&…

    【51單片機四位數碼管從0循環顯示到99,每0.5秒增加一個數字,打擊鍵計數】2022-6-11

    緣由 #include "REG52.h" unsigned char code smgduan[]{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0,64,15,56}; //共陰0~F消隱減號 unsigned char Js0, miao0;//中斷計時 秒 分 時 毫秒 unsigned int shu0; //bit Mb0;//…

    如何通過python腳本向redis和mongoDB傳點位數據

    向MongoDB傳數據 from pymongo import MongoClient #導入庫對應的庫localhost "172.16.0.203" #數據庫IP地址 baseName "GreenNagoya" client MongoClient(localhost, 27017, username"admin", password"zdiai123") #數…

    昆侖通泰觸摸屏Modbus TCP服務器工程 || TCP客戶端工程

    目錄 一、Modbus TCP服務端 1.設備地址 2.實操及數據 二、Modbus TCP客戶端 1.結果及協議解析 一、Modbus TCP服務端 1.設備地址 --單元標識符 DI輸入/4個離散輸入 DO輸出/單個線圈輸出 輸入寄存器 讀輸入寄存器操作,寫輸入寄存器操作 保持寄存器 …

    PyTorch 安裝使用教程

    一、PyTorch 簡介 PyTorch 是由 Facebook AI Research 團隊開發的開源深度學習框架。它以動態圖機制、靈活性強、易于調試而著稱,廣泛應用于自然語言處理、計算機視覺和學術研究。 二、安裝 PyTorch 2.1 通過官網選擇安裝命令(推薦) 訪問官…

    開源功能開關(feature flags) 和管理平臺之unleash

    文章目錄 背景Flagsmith 和 Unleash什么是unleash架構Unleash Edge 安裝和使用Unleash SDKs開放API Tokens訪問**Server-side SDK (CLIENT)****查詢所有 Feature Toggles****查詢特定 Toggle** API token typesClient tokensFrontend tokensPersonal access tokensService acco…

    細胞建模“圖靈測試”:解析學習虛擬細胞挑戰賽

    一、AI能否預測細胞的未來? 想象一下,有一天我們不必一管管地做實驗,就能在計算機中模擬細胞對基因敲除、藥物處理乃至微環境變化的反應。這不再是科幻,而是“虛擬細胞”(Virtual Cell)研究的宏大目標。然…

    centos9安裝docker Dify

    CentOS | Docker Docs yum -y install gcc gcc-c yum-utils Docker 官方的 YUM 軟件倉庫配置文件到系統,設置存儲庫 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 也可以從阿里云下(我選擇上面的) yum-config-manager --add-re…

    基于Jenkins和Kubernetes構建DevOps自動化運維管理平臺

    目錄 引言 基礎概念 DevOps概述 Jenkins簡介 Kubernetes簡介 Jenkins與Kubernetes的關系 Jenkins與Kubernetes的集成 集成架構 安裝和配置 安裝Jenkins 安裝Kubernetes插件 配置Kubernetes連接 配置Jenkins Agent Jenkins Pipeline與Kubernetes集成 Pipeline定義…

    MySQL 8.0 OCP 1Z0-908 題目解析(18)

    題目69 Choose three. A MySQL server is monitored using MySQL Enterprise Monitor’s agentless installation. Which three features are available with this installation method? □ A) MySQL Replication monitoring □ B) security-related advisor warnings □ …

    【mongodb】安裝和使用mongod

    文章目錄 前言一、如何安裝?二、使用步驟1. 開啟mongod服務2. 客戶端連接數據庫3. 數據庫指令 總結 前言 Mongodb的安裝可以直接安裝系統默認的版本,也可以安裝官網維護的版本,相對而言更推薦安裝官網維護的版本,版本也相當更新。…

    云效DevOps vs Gitee vs 自建GitLab的技術選型

    針對「云效DevOps vs Gitee vs 自建GitLab」的技術選型,我們從核心需求、成本、運維、擴展性四個維度進行深度對比,并給出場景化決策建議: 一、核心能力對比表 能力維度云效DevOpsGitee自建GitLab(社區版/企業版)代碼…