IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クラッターボット インコーポレイテッドの特許一覧

特表2024-540846大きな物体のロボットフロントローディングアルゴリズム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-06
(54)【発明の名称】大きな物体のロボットフロントローディングアルゴリズム
(51)【国際特許分類】
   B25J 5/00 20060101AFI20241029BHJP
   B25J 13/08 20060101ALI20241029BHJP
   B61B 13/00 20060101ALI20241029BHJP
【FI】
B25J5/00 A
B25J13/08 Z
B61B13/00 V
【審査請求】未請求
【予備審査請求】有
(21)【出願番号】P 2024520979
(86)(22)【出願日】2022-10-11
(85)【翻訳文提出日】2024-06-04
(86)【国際出願番号】 US2022077917
(87)【国際公開番号】W WO2023060285
(87)【国際公開日】2023-04-13
(31)【優先権主張番号】63/253,812
(32)【優先日】2021-10-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/253,867
(32)【優先日】2021-10-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】523201384
【氏名又は名称】クラッターボット インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【弁理士】
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】ハミルトン,ジャスティン,デービット
(72)【発明者】
【氏名】バニスター―サットン,ジャック,アレキサンダー
(72)【発明者】
【氏名】フリッツェル,ブライデン,ジェームス
【テーマコード(参考)】
3C707
3D101
【Fターム(参考)】
3C707AS01
3C707CS08
3C707DS01
3C707HS26
3C707HS27
3C707JS03
3C707JU02
3C707KS03
3C707KS10
3C707KT02
3C707KW03
3C707LS15
3C707LV07
3C707LV14
3C707LW12
3C707LW15
3C707MS07
3C707WA16
3C707WA17
3D101BB34
3D101BB51
(57)【要約】
本願では方法及びシステムが開示され、ロボットは、大きいか、扱い難いか、変形し易いか又は収容及び保持が困難な物体を取り扱う。ロボットは環境をナビゲートし、感知システムを用いて物体を検出及び分類するように動作する。ロボットは、物体の種類、サイズ及び位置を特定し、検出した属性に基づいて物体を分類する。グラバーパッドアーム及びグラバーパッドは他の物体を邪魔にならないように動かし、搬送すべきショベル上に対象物体を移動させる。ロボットは、搬送すべき物体の種類に最適化されたプロセスに従って、ショベル及びグラバーパッドアームを含む収容領域に物体を出し入れする。大きいか、扱い難いか、変形し易いか又は扱いが困難な物体は、本願に開示の方法によって管理され得る。
【特許請求の範囲】
【請求項1】
ロボットによって持ち上げられるべき対象物体の開始位置及び属性を受信することであって、該ロボットは、ロボット制御システムと、ショベルと、グラバーパッドを備えるグラバーパッドアームと、該ロボットの移動のための少なくとも1つの車輪又は1つのトラックを含む、ことと、
報酬及びペナルティを含む強化学習ベースの戦略、ルールベースの戦略及び観察、現在の物体の状態及びセンサーデータへの依存うちの少なくとも1つを用いることを含む、物体分離戦略を決定することと、
前記対象物体を他の物体から分離するために前記物体分離戦略を実行することと、
拾い上げ戦略を決定することであって、該拾い上げ戦略を決定することは、
前記ロボットの前記対象物体への接近経路と、
前記対象物体との最初の接触のための把持高さと、
前記対象物体を捕捉する間の前記グラバーパッドの動きのための把持パターンと、
搬送のために前記ロボット上の収容領域で前記対象物体を固定するための前記グラバーパッド及び前記ショベルの保持位置であって、該収容領域は前記グラバーパッドアーム、前記グラバーパッド及び前記ショベルのうちの少なくとも2つを含む、保持位置と、
を含む、ことと、
前記拾い上げ戦略を実行することであって、前記拾い上げ戦略は、
前記グラバーパッドを前記グラバーパッドアームに対して外方及び前方に伸ばし、前記グラバーパッドを前記把持高さに上げることと、
前記接近経路を介して前記対象物体に接近し、前記対象物体が前記グラバーパッドの間に位置した場合に停止することと、
前記収容領域内で前記対象物体を捕捉できるように前記把持パターンを実行することと、
前記対象物体が前記収容領域内にあるか確認することと、
を含む、前記拾い上げ戦略を実行することと、
前記対象物体が前記収容領域内にあることを条件として、
前記グラバーパッドで前記対象物体に圧力をかけて、前記対象物体を前記収容領域内で固定して保持することと、
前記対象物体を保持する前記ショベル及び前記グラバーパッドのうちの少なくとも1つを前記保持位置に上げることと、
を行うことと、
前記対象物体が前記収容領域内にないことを条件として、
異なる強化学習ベースの戦略、異なるルールベースの戦略及び異なる観察、現在の物体の状態及びセンサーデータへの依存のうちの少なくとも1つを用いて前記拾い上げ戦略を変更することと、
変更された前記拾い上げ戦略を実行することと、
を行うことと、
を含む方法。
【請求項2】
目的地にある落下位置にナビゲートすることと、
機械学習モデル又はルールベースのアプローチを用いて落下戦略を決定することと、
前記落下戦略を実行することであって、前記落下戦略を実行することは、
目的地接近経路及び物体配置パターンを決定することであって、該物体配置パターンは落下パターン又は設置パターンのうちの1つである、ことと、
前記目的地接近経路を介して前記目的地に接近することと、
前記物体配置パターンが前記設置パターンであることを条件として、
前記ショベル及び前記グラバーパッドが前側にある状態で前記目的地で停止することと、
前記ショベル及び前記グラバーパッドを配置高さに下げることと、
前記グラバーパッドを用いて、前記対象物体を前記収容領域から前記落下位置に押し出すこと及び前記ショベルを前方に傾斜させて、前記対象物体を前記収容領域から前記落下位置に落下させることのうちの少なくとも一方を行うことと、
を行うことと、
前記物体配置パターンが前記落下パターンであることを条件として、
前記ショベル及び前記グラバーパッドが後方にある状態で前記目的地で停止することと、
前記ショベル及び前記グラバーパッドを前記配置高さに上げることと、
前記グラバーパッドを伸ばして、前記対象物体が前記収容領域から前記落下位置に落下するようにすることと、
を行うことと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記落下戦略のための前記ルールベースの戦略は、
箱の側面に近接する位置に前記ロボットをナビゲートすること、
前記ロボットを定位置で回転させて前記箱に面して整列させること、
前記箱の側面を中心とした整列を維持しながら、前記箱の方に前記ロボットを駆動すること、
前記箱の側面から少し離れたところで停止すること、
後方落下を試みる場合に後方カメラを用いてナビゲートすること、
前方落下を試みる場合に前方カメラを用いてナビゲートすること、
前記箱の側面に対して前記ロボットが正確に位置しているか確認すること、
前記ロボットが正確に位置することを条件として、
前記ショベルを上方及び後方に持ち上げて、前記対象物体を前記箱内に落下させること及び前記ショベルを持ち上げ、前記ショベルを前方に傾けて、前記対象物体を前記箱内に落下させることのうちの少なくとも1つを行うこと、及び
前記ロボットが正確に位置していないことを条件として、前記箱から離れて、前記落下戦略を再実行することを行うことと
のうちの少なくとも1つを含む、請求項2に記載の方法。
【請求項4】
前記落下戦略を実行するための報酬及びペナルティは、
最大時間を超える場合に毎秒追加されるペナルティ、
前記ロボットが収納箱に正確にドッキングした場合の報酬、
前記対象物体が前記収納箱に正常に落下させられた場合の報酬、
前記収納箱を動かす衝突に対するペナルティ、
力フィードバックの最大値を超える障害物又は壁との衝突に対するペナルティ、及び
前記ロボットが立ち往生するか又は前記対象物体の上を走行した場合のペナルティ、
のうちの少なくとも1つを含む、請求項2に記載の方法。
【請求項5】
前記物体分離戦略を実行するための報酬及びペナルティは、
最大時間を超える場合に毎秒追加されるペナルティ、
正確なグラバーパッドアームが前記対象物体と壁との間にある場合の報酬、
前記壁からの対象物体の距離が所定の距離を超える場合の報酬、
誤って前記対象物体と衝突した場合のペナルティ、
力フィードバックの最大値を超える障害物又は壁との衝突に対するペナルティ、及び
前記ロボットが立ち往生するか又は前記対象物体の上を走行した場合のペナルティ、
のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項6】
前記拾い上げ戦略を実行するための報酬及びペナルティは、
最大時間を超える場合に毎秒追加されるペナルティ、
前記対象物体が前記ショベルの縁に最初に接触した場合の報酬、
前記対象物体が前記ショベル内に完全に押し込まれた場合の報酬、
前記対象物体が前記ショベルから失われた場合のペナルティ、
力フィードバックの最大値を超える障害物又は壁との衝突に対するペナルティ、
非対象物体を拾い上げた場合のペナルティ、及び
前記ロボットが立ち往生するか又は前記対象物体の上を走行した場合のペナルティ、
のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項7】
物体を分離するためのルールベースの戦略は、
分離すべき対象物体に面するが、前記グラバーパッドアーム及び前記グラバーパッドを開き、前記ショベルを下げるのに十分離れた位置に前記ロボットをナビゲートすることと、
前記グラバーパッドアーム及び前記グラバーパッドを開き、前記グラバーパッドアーム及び前記グラバーパッドを下げ、前記ショベルを下げること、
前記対象物体が正面図の中心になるように、前記ロボットを適所で僅かに回転させること、
前記対象物体よりもわずかに広くなるように前記グラバーパッドアーム及び前記グラバーパッドを開くこと、
前記グラバーパッドアーム及び前記グラバーパッドの端部が前記対象物体を越えて位置するまでゆっくり前方に駆動すること、
前記グラバーパッドアーム及び前記グラバーパッドが前記対象物体を取り囲むように、前記グラバーパッドアーム及び前記グラバーパッドをV字状になるように僅かに閉じること、及び、
短い距離後方に駆動し、それにより前記対象物体をオープン空間内に動かすこと、
のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項8】
対象物体拾い上げの成功を評価することをさらに含み、該対象物体拾い上げの成功を評価することは、
前記ショベル及び前記グラバーパッドアームの前記収容領域内の前記対象物体を検出して前記対象物体が前記収容領域内にあるか判定すること、
前記対象物体が前記グラバーパッドアームによって保持されていることを示すアクチュエータ力フィードバックセンサーからの力フィードバックを受信すること、
前記ショベルの領域内への拾い上げの間に前記対象物体の動きを追跡し、前記対象物体の状態をメモリに保持すること、
前記対象物体が前記ショベル内にあることを示す、前記対象物体の持ち上げの間の前記ショベルの重量増加を検出すること、
分類モデルを利用して前記対象物体が前記ショベル内にあるかどうか判定すること、及び
前記力フィードバック、前記重量増加及び専用カメラのうちの少なくとも1つを用いて、前記ロボットが動作の間に前記対象物体が前記ショベル内にあることを再確認すること、
のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項9】
強化学習戦略及びルールベースの戦略は、個々のアクチュエータを制御するアクションを含み、該個々のアクチュエータを制御するアクションは、
左側グラバーパッドアームを上方又は下方に回転させることにより新たな位置に動かすこと、
左側グラバーパッドリストを左側又は右側に回転させることにより新たな位置に動かすこと、
右側グラバーパッドアームを上方又は下方に回転させることにより新たな位置に動かすこと、
右側グラバーパッドリストを左側又は右側に回転させることにより新たな位置に動かすこと、
前記ショベルを上方又は下方に回転させることにより新たな位置に持ち上げること、
第2のモーター又は第2のアクチュエータを用いて、対象物体の前方落下をもたらすショベル角度を変更すること、
前記ロボットの左側車輪又は左側トラックを駆動すること、及び
前記ロボットの右側車輪又は右側トラックを駆動すること、
の少なくとも1つを含む、請求項1に記載の方法。
【請求項10】
強化学習戦略及びルールベースの戦略は、アクチュエータを制御する複合アクションを含み、該アクチュエータを制御する複合アクションは、
位置又は通過点への経路を辿って前記ロボットを駆動すること、
前記ロボットを定位置で左側又は右側に回転させること、
前記対象物体に対して前記ロボットをセンタリングすること、
前記グラバーパッドアームを前記対象物体の頂部、底部又は中央区画に整列させること、
前記対象物体が前記ショベルの縁に接するまで前方に駆動すること、
前記グラバーパッドアームの両方を閉じ、前記対象物体を滑らかな動きで押し込むこと、
前記対象物体を把持しながら、前記ショベル及び前記グラバーパッドアームを共に持ち上げること、
前記グラバーパッドアームの両方を閉じ、素早いタップ及び僅かなリリースで前記対象物体を押すこと、
前記ショベルを床に軽く置くこと、
前記ショベルを前記床に押し下げること、
抵抗が発生するまで前記グラバーパッドアームを閉じ、その位置を保持すること、
前記グラバーパッドアームを振動で閉じ、左側又は右側に回転させて不安定性を発生させ、前記ショベルの縁を越えて平らな対象物体を僅かに跳ねさせること、
のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項11】
ロボットであって、該ロボットは、
ショベルと、
グラバーパッドを備えるグラバーパッドアームと、
該ロボットの移動のための少なくとも1つの車輪又は1つのトラックと、
プロセッサと、
前記プロセッサによって実行された場合に、前記ロボットの動作及び制御を可能にする命令を記憶するメモリと、
を含むロボットと、
基地局と、
物体を収容する複数の箱と、
前記ロボット及びクラウドサーバのうちの少なくとも一方にあるロボット制御システムと、
ロジックと、
を含むロボットシステムであって、
前記ロジックは、
持ち上げられるべき対象物体の開始位置及び属性を受信すること、
報酬及びペナルティを含む強化学習ベースの戦略、ルールベースの戦略及び観察、現在の物体の状態及びセンサーデータへの依存うちの少なくとも1つを用いることを含む、物体分離戦略を決定することと、
前記対象物体を他の物体から分離するために前記物体分離戦略を実行することと、
拾い上げ戦略を決定することであって、該拾い上げ戦略は、
前記ロボットの前記対象物体への接近経路と、
前記対象物体との最初の接触のための把持高さと、
前記対象物体を捕捉する間の前記グラバーパッドの動きのための把持パターンと、
搬送のために前記ロボット上の収容領域で前記対象物体を固定するための前記グラバーパッド及び前記ショベルの保持位置であって、該収容領域は前記グラバーパッドアーム、前記グラバーパッド及び前記ショベルのうちの少なくとも2つを含む、保持位置と、
を含む、ことと、
前記拾い上げ戦略を実行することであって、前記拾い上げ戦略を実行することは、
前記グラバーパッドを前記グラバーパッドアームに対して外方及び前方に伸ばし、前記グラバーパッドを前記把持高さに上げることと、
前記接近経路を介して前記対象物体に接近し、前記対象物体が前記グラバーパッドの間に位置した場合に停止することと、
前記収容領域内で前記対象物体を捕捉できるように前記把持パターンを実行することと、
前記対象物体が前記収容領域内にあるか確認することと、
を含む、前記拾い上げ戦略を実行することと、
前記対象物体が前記収容領域内にあることを条件として、
前記グラバーパッドで前記対象物体に圧力をかけて、前記対象物体を前記収容領域内で固定して保持することと、
前記対象物体を保持する前記ショベル及び前記グラバーパッドのうちの少なくとも1つを前記保持位置に上げることと、
を行うことと、
前記対象物体が前記収容領域内にないことを条件として、
異なる強化学習ベースの戦略、異なるルールベースの戦略及び異なる観察、現在の物体の状態及びセンサーデータへの依存のうちの少なくとも1つを用いて前記拾い上げ戦略を変更することと、
変更された前記拾い上げ戦略を実行することと、
を行う、ロボットシステム。
【請求項12】
目的地にある落下位置にナビゲートすることと、
機械学習モデル又はルールベースのアプローチを用いて落下戦略を決定することと、
前記落下戦略を実行することであって、前記落下戦略を実行することは、
目的地接近経路及び物体配置パターンを決定することであって、該物体配置パターンは落下パターン又は設置パターンのうちの1つである、ことと、
前記目的地接近経路を介して前記目的地に接近することと、
前記物体配置パターンが前記設置パターンであることを条件として、
前記ショベル及び前記グラバーパッドが前側にある状態で前記目的地で停止することと、
前記ショベル及び前記グラバーパッドを配置高さに下げることと、
前記グラバーパッドを用いて、前記対象物体を前記収容領域から前記落下位置に押し出すこと及び前記ショベルを前方に傾斜させて、前記対象物体を前記収容領域から前記落下位置に落下させることのうちの少なくとも一方を行うことと、
を行うことと、
前記物体配置パターンが前記落下パターンであることを条件として、
前記ショベル及び前記グラバーパッドが後方にある状態で前記目的地で停止することと、
前記ショベル及び前記グラバーパッドを前記配置高さに上げることと、
前記グラバーパッドを伸ばして、前記対象物体が前記収容領域から前記落下位置に落下するようにすることと、
を行うことと、
ロジックをさらに含む、請求項11に記載のロボットシステム。
【請求項13】
前記落下戦略のための前記ルールベースの戦略は、
箱の側面に近接する位置に前記ロボットをナビゲートすること、
前記ロボットを定位置で回転させて前記箱に面して整列させること、
前記箱の側面を中心とした整列を維持しながら、前記箱の方に前記ロボットを駆動すること、
前記箱の側面から少し離れたところで停止すること、
後方落下を試みる場合に後方カメラを用いてナビゲートすること、
前方落下を試みる場合に前方カメラを用いてナビゲートすること、
前記箱の側面に対して前記ロボットが正確に位置しているか確認すること、
前記ロボットが正確に位置することを条件として、
前記ショベルを上方及び後方に持ち上げて、前記対象物体を前記箱内に落下させること及び前記ショベルを持ち上げ、前記ショベルを前方に傾けて、前記対象物体を前記箱内に落下させることのうちの少なくとも1つを行うこと、及び
前記ロボットが正確に位置していないことを条件として、前記箱から離れて、前記落下戦略を再実行することを行うことと
のうちの少なくとも1つを含む、請求項12に記載のロボットシステム。
【請求項14】
前記落下戦略を実行するための報酬及びペナルティは、
最大時間を超える場合に毎秒追加されるペナルティ、
前記ロボットが収納箱に正確にドッキングした場合の報酬、
前記対象物体が前記収納箱に正常に落下させられた場合の報酬、
前記収納箱を動かす衝突に対するペナルティ、
力フィードバックの最大値を超える障害物又は壁との衝突に対するペナルティ、及び
前記ロボットが立ち往生するか又は前記対象物体の上を走行した場合のペナルティ、
のうちの少なくとも1つを含む、請求項12に記載のロボットシステム。
【請求項15】
前記物体分離戦略を実行するための報酬及びペナルティは、
最大時間を超える場合に毎秒追加されるペナルティ、
正確なグラバーパッドアームが前記対象物体と壁との間にある場合の報酬、
前記壁からの対象物体の距離が所定の距離を超える場合の報酬、
誤って前記対象物体と衝突した場合のペナルティ、
力フィードバックの最大値を超える障害物又は壁との衝突に対するペナルティ、及び
前記ロボットが立ち往生するか又は前記対象物体の上を走行した場合のペナルティ、
のうちの少なくとも1つを含む、請求項11に記載のロボットシステム。
【請求項16】
前記拾い上げ戦略を実行するための報酬及びペナルティは、
最大時間を超える場合に毎秒追加されるペナルティ、
前記対象物体が前記ショベルの縁に最初に接触した場合の報酬、
前記対象物体が前記ショベル内に完全に押し込まれた場合の報酬、
前記対象物体が前記ショベルから失われた場合のペナルティ、
力フィードバックの最大値を超える障害物又は壁との衝突に対するペナルティ、
非対象物体を拾い上げた場合のペナルティ、及び
前記ロボットが立ち往生するか又は前記対象物体の上を走行した場合のペナルティ、
のうちの少なくとも1つを含む、請求項11に記載のロボットシステム。
【請求項17】
物体を分離するためのルールベースの戦略は、
分離すべき対象物体に面するが、前記グラバーパッドアーム及び前記グラバーパッドを開き、前記ショベルを下げるのに十分離れた位置に前記ロボットをナビゲートすることと、
前記グラバーパッドアーム及び前記グラバーパッドを開き、前記グラバーパッドアーム及び前記グラバーパッドを下げ、前記ショベルを下げること、
前記対象物体が正面図の中心になるように、前記ロボットを適所で僅かに回転させること、
前記対象物体よりもわずかに広くなるように前記グラバーパッドアーム及び前記グラバーパッドを開くこと、
前記グラバーパッドアーム及び前記グラバーパッドの端部が前記対象物体を越えて位置するまでゆっくり前方に駆動すること、
前記グラバーパッドアーム及び前記グラバーパッドが前記対象物体を取り囲むように、前記グラバーパッドアーム及び前記グラバーパッドをV字状になるように僅かに閉じること、及び、
短い距離後方に駆動し、それにより前記対象物体をオープン空間内に動かすこと、
のうちの少なくとも1つを含む、請求項11に記載のロボットシステム。
【請求項18】
対象物体拾い上げの成功を評価するロジックをさらに含み、該対象物体拾い上げの成功を評価することは、
前記ショベル及び前記グラバーパッドアームの前記収容領域内の前記対象物体を検出して前記対象物体が前記収容領域内にあるか判定すること、
前記対象物体が前記グラバーパッドアームによって保持されていることを示すアクチュエータ力フィードバックセンサーからの力フィードバックを受信すること、
前記ショベルの領域内への拾い上げの間に前記対象物体の動きを追跡し、前記対象物体の状態をメモリに保持すること、
前記対象物体が前記ショベル内にあることを示す、前記対象物体の持ち上げの間の前記ショベルの重量増加を検出すること、
分類モデルを利用して前記対象物体が前記ショベル内にあるかどうか判定すること、及び
前記力フィードバック、前記重量増加及び専用カメラのうちの少なくとも1つを用いて、前記ロボットが動作の間に前記対象物体が前記ショベル内にあることを再確認すること、
のうちの少なくとも1つを含む、請求項11に記載のロボットシステム。
【請求項19】
強化学習戦略及びルールベースの戦略は、個々のアクチュエータを制御するアクションを含み、該個々のアクチュエータを制御するアクションは、
左側グラバーパッドアームを上方又は下方に回転させることにより新たな位置に動かすこと、
左側グラバーパッドリストを左側又は右側に回転させることにより新たな位置に動かすこと、
右側グラバーパッドアームを上方又は下方に回転させることにより新たな位置に動かすこと、
右側グラバーパッドリストを左側又は右側に回転させることにより新たな位置に動かすこと、
前記ショベルを上方又は下方に回転させることにより新たな位置に持ち上げること、
第2のモーター又は第2のアクチュエータを用いて、対象物体の前方落下をもたらすショベル角度を変更すること、
前記ロボットの左側車輪又は左側トラックを駆動すること、及び
前記ロボットの右側車輪又は右側トラックを駆動すること、
の少なくとも1つを含む、請求項11に記載のロボットシステム。
【請求項20】
強化学習戦略及びルールベースの戦略は、アクチュエータを制御する複合アクションを含み、該アクチュエータを制御する複合アクションは、
位置又は通過点への経路を辿って前記ロボットを駆動すること、
前記ロボットを定位置で左側又は右側に回転させること、
前記対象物体に対して前記ロボットをセンタリングすること、
前記グラバーパッドアームを前記対象物体の頂部、底部又は中央区画に整列させること、
前記対象物体が前記ショベルの縁に接するまで前方に駆動すること、
前記グラバーパッドアームの両方を閉じ、前記対象物体を滑らかな動きで押し込むこと、
前記対象物体を把持しながら、前記ショベル及び前記グラバーパッドアームを共に持ち上げること、
前記グラバーパッドアームの両方を閉じ、素早いタップ及び僅かなリリースで前記対象物体を押すこと、
前記ショベルを床に軽く置くこと、
前記ショベルを前記床に押し下げること、
抵抗が発生するまで前記グラバーパッドアームを閉じ、その位置を保持すること、
前記グラバーパッドアームを振動で閉じ、左側又は右側に回転させて不安定性を発生させ、前記ショベルの縁を越えて平らな対象物体を僅かに跳ねさせること、
のうちの少なくとも1つを含む、請求項11に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2021年10月8日に出願された米国仮特許出願第63/253812号及び2021年10月8日に出願された米国仮特許出願第63/253867号の利益を主張し、これらの各々の内容はその全体が参照により本願に組み込まれる。
【背景技術】
【0002】
足元の物体は迷惑であるだけでなく安全上の危険でもある。毎年何千人もの人々が自宅での転倒により負傷している。床に物が散乱していると危険であり得るが、多くの人々は自宅の散らかりに対処する時間が限られている。自動清掃又はロボットは効果的な解決策を表し得る。
【0003】
しかしながら、一部の物は適切な収納場所又は配置場所に運ぶために、どのようにして効果的に捕捉し収容するかについて様々な課題がある。収容領域に比べて相対的に大きい物体は、単純に掃いて動かすことはできない。一式の小さく軽量な物体は最初の接触で散乱するか又は転がることがあり、それらを一度に1つずつ捕捉することは時間及びロボットのエネルギーの両方を浪費し得る。高度に変形可能な物体は剛性の捕捉機構から単に滑り落ちるか又は束になって離れたりし得る。一部の物体は注意してきれいに積み重なり得るが、単に落下させて着地したままにしておくと、不快なほど分散して無秩序に積み重なり得る。
【0004】
したがって、ロボットのコンポーネントの形状及び能力並びに特定の種類の物体に関連する潜在的な困難性を考慮した、捕捉、収容、搬送及び配置アルゴリズムが必要である。
【発明の概要】
【課題を解決するための手段】
【0005】
一態様では、方法は、ロボットによって持ち上げられるべき対象物体(target object)の開始位置及び属性を受信することを含む。ロボットは、ロボット制御システムと、ショベルと、グラバーパッド(grabber pads)を備えるグラバーパッドアーム(grabber arms)と、該ロボットの移動のための少なくとも1つの車輪又は1つのトラックを含む。本方法は、報酬及びペナルティを含む強化学習ベースの戦略、ルールベースの戦略及び観察、現在の物体の状態及びセンサーデータへの依存うちの少なくとも1つを用いることを含む、物体分離戦略を決定することを含む。本方法は、前記対象物体を他の物体から分離するために前記対象物体分離戦略を実行することも含む。本方法は、拾い上げ戦略を決定することであって、該拾い上げ戦略は、前記ロボットの前記対象物体への接近経路と、前記対象物体との最初の接触のための把持高さと、前記対象物体を捕捉する間の前記グラバーパッドの動きのための把持パターンと、搬送のために前記ロボット上の収容領域(containment area)で前記対象物体を固定するための前記グラバーパッド及び前記ショベルの保持位置であって、該収容領域は前記グラバーパッドアーム、前記グラバーパッド及び前記ショベルのうちの少なくとも2つを含む、保持位置と、を含む、ことを含む。本方法は、前記拾い上げ戦略を実行することであって、前記拾い上げ戦略を実行することは、前記グラバーパッドを前記グラバーパッドアームに対して外方及び前方に伸ばし、前記グラバーパッドを前記把持高さに上げることと、前記接近経路を介して前記対象物体に接近し、前記対象物体が前記グラバーパッドの間に位置した場合に停止することと、前記収容領域内で前記対象物体を捕捉できるように前記把持パターンを実行することと、前記対象物体が前記収容領域内にあるか確認することと、を含む、前記拾い上げ戦略を実行することも含む。前記対象物体が前記収容領域内にあることを条件として、本方法は、前記グラバーパッドで前記対象物体に圧力をかけて、前記対象物体を前記収容領域内で固定して保持することと、前記対象物体を保持する前記ショベル及び前記グラバーパッドのうちの少なくとも1つを前記保持位置に上げることと、を含む。前記対象物体が前記収容領域内にないことを条件として、本方法は、異なる強化学習ベースの戦略、異なるルールベースの戦略及び異なる観察、現在の物体の状態及びセンサーデータへの依存のうちの少なくとも1つを用いて前記拾い上げ戦略を変更することと、変更された前記拾い上げ戦略を実行することも含む。
【0006】
一態様では、ロボットシステムはロボットであって、該ロボットは、ショベルと、グラバーパッドを備えるグラバーパッドアームと、ロボットの移動のための少なくとも1つの車輪又は1つのトラックと、プロセッサと、該プロセッサによって実行された場合に該ロボットの動作及び制御を可能にする命令を記憶するメモリを含む、ロボットを含む。ロボットシステムは基地局も含む。ロボットシステムは物体を収容する複数の箱(bins)も含む。ロボットシステムはロボット制御システムも含む。ロボットシステムは、ロボット及びロボットシステムが開示するアクションを行うことを可能にするロジックも含む。
【図面の簡単な説明】
【0007】
特定の要素又は動作の説明を容易に識別するために、参照番号の最上位の数字は、その要素が最初に導入された図の番号を参照する。
図1A図1Aは一実施形態に係るロボット100の態様を示す。
図1B図1Bは一実施形態に係るロボット100の態様を示す。
図1C図1Cは一実施形態に係るロボット100の態様を示す。
図1D図1Dは一実施形態に係るロボット100の態様を示す。
図2A図2Aは、一実施形態に係るロボット100の低下ショベル位置及び低下グラバー位置200aを示す。
図2B図2Bは、一実施形態に係るロボット100の低下ショベル位置及び低下グラバー位置200bを示す。
図2C図2Cは、一実施形態に係るロボット100の上昇ショベル位置及び上昇グラバー位置200cを示す。
図2D図2Dは、一実施形態に係るグラバーパッド200dが伸長したロボット100を示す。
図2E図2Eは、一実施形態に係るグラバーパッド200eが引っ込められたロボット100を示す。
図3A図3Aは、一実施形態に係るロボット100の低下ショベル位置及び上昇グラバー位置300aを示す。
図3B図3Bは、一実施形態に係るロボット100の低下ショベル位置及び上昇グラバー位置300bを示す。
図3C図3Cは、一実施形態に係るロボット100の上昇ショベル位置及び上昇グラバー位置300cを示す。
図4A図4Aは、一実施形態に係るロボット100の低下ショベル位置及び低下グラバー位置400aを示す。
図4B図4Bは、一実施形態に係るロボット100の低下ショベル位置及び上昇グラバー位置400bを示す。
図4C図4Cは、一実施形態に係るロボット100の上昇ショベル位置及び上昇グラバー位置400cを示す。
図5図5は、一実施形態に係るロボット100の前方落下位置500を示す。
図6図6は、一実施形態に係るロボット600を示す。
図7図7は、一実施形態に係るロボット700を示す。
図8図8は、一実施形態に係るロボット800を示す。
図9図9は、一実施形態に係るロボット900を示す。
図10図10は、一実施形態に係るロボット1000を示す。
図11図11は、一実施形態に係るロボット1100を示す。
図12図12は、一実施形態に係るロボット1200を示す。
図13図13は、一実施形態に係るロボット1200を示す。
図14図14は、一実施形態に係るロボットを示す。
図15図15は、一実施形態に係るロボット1500を示す。
図16図16は、一実施形態に係るロボット1600を示す。
図17図17は、一実施形態に係るロボット1700を示す。
図18A図18Aは一実施形態に係るロボット1800を示す。
図18B図18Bは一実施形態に係るロボット1800を示す。
図19図19は、本明細書で説明するシステムのコンポーネント及びプロセスステップを実施するためのロボット制御システム1900の一実施形態を示す。
図20図20は、一実施形態に係るセンサー入力分析2000を示す。
図21図21は、一実施形態に係る主ナビゲーション、収集及び配置プロセス2100を示す。
図22図22は、一実施形態に係る分離戦略、拾い上げ戦略及び投下戦略2200のための戦略ステップを示す。
図23図23は、一実施形態に係るポリシー2300からアクションを決定するためのプロセスを示す。
図24図24は、一実施形態に係る開示されたアルゴリズムの配置プロセス2400の部分を示す。
図25図25は、一実施形態に係る開示されたアルゴリズムの捕捉プロセス2500の部分を示す。
図26図26は、一実施形態に係るプロセス図2600の第1の部分を示す。
図27A図27Aは、一実施形態に係る積み重ね可能な物体2700のプロセスを示す。
図27B図27Bは、一実施形態に係る積み重ね可能な物体2700のプロセスを示す。
図27C図27Cは、一実施形態に係る積み重ね可能な物体2700のプロセスを示す。
図27D図27Dは、一実施形態に係る積み重ね可能な物体2700のプロセスを示す。
図28A図28Aは、一実施形態に係る大きく、高度に変形可能な物体2900のプロセスを示す。
図28B図28Bは、一実施形態に係る大きく、高度に変形可能な物体2900のプロセスを示す。
図28C図28Cは、一実施形態に係る大きく、高度に変形可能な物体2900のプロセスを示す。
図28D図28Dは、一実施形態に係る大きく、高度に変形可能な物体2900のプロセスを示す。
図29A図29Aは、一実施形態に係る大きく、高度に変形可能な物体2900のプロセスを示す。
図29B図29Bは、一実施形態に係る主題の一態様を示す。
図29C図29Cは、一実施形態に係る大きく、高度に変形可能な物体2900のプロセスを示す。
図29D図29Dは、一実施形態に係る主題の態様を示す。
図30A図30Aは、一実施形態に係る小さく、容易に散乱する物体3000のプロセスを示す。
図30B図30Bは、一実施形態に係る主題の態様を示す。
図30C図30Cは、一実施形態に係る小さく、容易に散乱する物体3000のプロセスを示す。
図30D図30Dは、一実施形態に係る主題の態様を示す。
図31図31は、一実施形態に係るロボットシステム3100を示す。
図32図32は、一実施形態に係るロボットプロセス3200を示す。
図33図33は、一実施形態による別のロボットプロセス3300を示す。
図34図34は、一実施形態に係るロボットシステムの状態空間マップ3400を示す。
図35図35は、一実施形態に係るロボットシステムのロボット制御アルゴリズム3500を示す。
図36図36は、一実施形態に係るロボットシステムのロボット制御アルゴリズム3600を示す。
図37図37は、一実施形態に係るロボット制御アルゴリズム3700を示す。
図38図38は、一実施形態に係るロボットシステム3800を示す。
【発明を実施するための形態】
【0008】
ロボットを操作して、カメラを用いて環境をナビゲートし、おもちゃ、衣類、障害物及び他の物体の種類、サイズ及び位置をマッピングするロボットシステムの実施形態を開示する。ロボットは、前方カメラ、後方カメラ、前方及び後方の左右ステレオカメラ又は他のカメラ構成からの画像に加えて、慣性測定ユニット(IMU)、ライダー、オドメトリ及びアクチュエータ力フィードバックセンサーからのデータ等の感知システムからの入力に基づいて、物体のタイプ、サイズ及び位置を特定するニューラルネットワークを含む。ロボットは、拾い上げるべき特定の物体を選択し、経路計画を行い、対象物体に隣接し且つ面する点にナビゲートする。作動されたグラバーパッドアームは他の物体を邪魔にならないように動かし、グラバーパッドを操作して、搬送されるショベルに対象物体を移動させる。ロボットが配置目的地等の計画された経路内の次の位置にナビゲートする間、ショベルはわずかに上方に傾斜し、必要に応じて、グラバーパッドは物体を所定の位置に維持するために前方を閉じ得る。
【0009】
一部の実施形態では、システムは、高くなった物体に到達してそれを把持し、それらを下げてショベルに移動させるロボットアームを含み得る。一部の実施形態では、主ロボットをカウンタートップ、テーブル又は他の高くなった表面上に持ち上げ、次いで、それを床に降ろすためにコンパニオン「携帯エレベータ」ロボットも利用し得る。一部の実施形態では、容器、棚又は他の高い又は高くなった場所に物品を落とす場合にショベルの高さを変更するために上下垂直リフト(例えば、シザーリフト)を利用し得る。
【0010】
一部の実施形態では、
・物体をショベルに押し込むアクチュエータアーム上の左右回転ブラシ、
・物体を把持し、それらをショベルに移動させる作動グリッパ、
・上から物体をショベルに押し込むフラップ付きの回転ホイール、
・フロントショベルを空中に持ち上げるための1つのサーボ又はその他のアクチュエータ及びショベルを前方及び下方に傾斜させ物体を容器に落下させる別のアクチュエータ、
・ショベルを持ち上げ、高さが増すにつれて徐々に後方に傾けるシザーリフトのバリエーション、
・ロボットがアイテムをスロープ上に押し上げるだけで、物体がスロープの上部で重力によって容器に落下するようにするヒンジ上のフロントショベルを備えた容器上のスロープ、
・対象物体が前方ショベルを用いる代わりにスロープを上って収納ビンに押し込まれ、収納ビンがダンプトラックのように上方及び後方に傾斜してアイテムを容器に落下させるようにするための追加の運搬能力のためのロボット上の収納ビン、
というコンポーネントのうちの1つ以上も利用し得る。
【0011】
ロボットシステムは、表面に残されたアイテムが定期的なスケジュールで容器に自動的に捨てられる表面の自動的な整理のために利用され得る。1つの特定の実施形態では、システムは、子供が遊び終わった後に、おもちゃ及び/又は他のアイテムが異なる種類の物体に固有の容器に自動的に戻される(例えば、家庭、学校又は会社における)子供の遊び場を自動的にきれいにするために利用され得る。他の特定の実施形態では、システムは床から衣類を自動的に拾い上げ、洗濯のために衣類を洗濯カゴに整理するか又は床からゴミを自動的に拾い上げ、例えば種類別に箱又はリサイクルビンに入れるために利用され得る。一般に、システムは、表面から多種多様な異なる物体を効率的に拾い上げるために配備され、新たな種類の物体を拾い上げることを学習し得る。
【0012】
一部の物体は、グラバーパッド、グラバーパッドアーム及びショベルを用いて操作及び搬送することを困難にする属性を有する。これらの困難は、困難が生じる属性を具体的に構成するアルゴリズムに従うことによって克服され得る。例えば、ショベル内に完全にフィットするには大きすぎる物体は、物体の重心の上にグラバーパッドを配置することでショベル内に部分的に固定させ、グラバーパッドアームをわずかに下げることによって、グラバーパッドにわずかに下向きの圧力を加えさせ、物体をショベル内で又はショベルの底部又は縁部に対して確実に保持する。プラスチック構成ブロック又はビー玉等の小さく、軽量で、容易に散乱する物体は、グラバーパッドであまりにも速く掃引すると散らばり得る。代替的に、パッドは、床に沿ってそれらを掃くのではなく、パッドによる直接的かつ一定の圧力が物体に作用して床に強固に押し付ける高さの点でそのような物体に接触し得る。このような場合、最初は減少した力が加えられ、次に物体が動き始めると力が増加され得るか又は、床との摩擦を増加させ、物体の移動を妨げ得る下向きの力を回避しつつ、物体を動かす水平方向の力を与えるために、グラバーパッドによって一連の緩やかな打撃動作が採用され得る。多くの物体は、指定されたビン等の目的地でショベルから単に落され得るが、本、CD、DVD、狭い箱等の平坦で積み重ね可能な物体のクラスは、先に積み重ねられた物体の上に持ち上げられ、グラバーパッドによってショベルから操作されることによって、配置が容易で整然としている。これらのような物体を取り扱うためのアルゴリズムが本明細書で開示される。
【0013】
図1A図1Dは、一実施形態に係るロボット100を示す。図1Aはロボット100の側面図を示し、図1Bは上面図を示す。ロボット100は、シャーシ102、モビリティシステム104、感知システム106、捕捉及び収容システム108及びロボット制御システム1900を含み得る。捕捉及び収容システム108は、ショベル110、ショベルアーム112、ショベルアーム枢動点114、2つのグラバーパッド116、2つのグラバーパッドアーム118及び2つのパッドアーム枢動点122をさらに含み得る。
【0014】
シャーシ102はロボット100の他のコンポーネントを支持及び収容し得る。モビリティシステム104は、当該技術分野で良く理解されているように、図示の車輪に加えてキャタピラ軌道、コンベヤベルト等を含み得る。モビリティシステム104は、モーター、サーボ又はロボット100をその所望の経路に沿って推進する回転又は運動エネルギーの他のソースをさらに含み得る。モビリティシステム104のコンポーネントは、捕捉及び収容システム108が必要とする動作範囲を妨げるか又は阻害することなくロボット全体を動かす目的でシャーシ102に取り付けられ得る。カメラ、ライダーセンサー又は他のコンポーネント等の感知システム106の要素は、シャーシ102、ショベル110、グラバーパッド116及びグラバーパッドアーム118の互いに対する少なくとも一部の構成における環境の周りでロボット100に明確な視線を与える位置でシャーシ102に取り付けられ得る。
【0015】
シャーシ102は、一部の実施形態ではプロセッサと、メモリと、モビリティシステム104、感知システム106及び捕捉及び収容システム108への接続部を含む、ロボット制御システム1900のすべて又は一部(その一部はクラウドサーバへの接続を介してアクセスされ得る)を収容し、保護し得る。シャーシ102は、ロボット工学の分野でよく理解されているように、バッテリ、無線通信装置等の他の電子コンポーネントを含み得る。ロボット制御システム1900は、図19に関してより詳細に説明されているように機能し得る。モビリティシステム104及び/又はロボット制御システム1900は、モーターの速度、方向、位置及び滑らかな動きを制御するために使用されるモーターコントローラを組み込み得る。そのようなコントローラは、安全性を確保し且つ損傷を防止するために、力フィードバックを検出し且つ最大電流を制限する(過電流保護を提供する)ためにも用いられ得る。
【0016】
捕捉及び収容システム108は、ショベル110、ショベルアーム112、ショベルアーム枢動点114、グラバーパッド116、グラバーパッドアーム118、パッド枢動点120及びパッドアーム枢動点122を含み得る。一部の実施形態では、捕捉及び収容システム108は、二つのグラバーパッドアーム118、グラバーパッド116、及びそれらの枢動点を含み得る。他の実施形態では、グラバーパッド116は、グラバーパッドアーム118なしで、ショベル110に直接取り付けられ得る。そのような実施形態は後に本開示で示される。
【0017】
ショベル110の幾何学的形状及びショベル110に対するグラバーパッド116及びグラバーパッドアーム118の配置は、図2A図2Eでより明確に示される、物体がしっかり搬送される収容領域を記述し得る。図2A図2Cに示されるように、ショベル110、グラバーパッド116及びグラバーパッドアーム118の配置を完全に低下したショベル及び上げられたショベル及びグラバー位置との間で調整するためにショベルアーム枢動点114、パッド枢動点120及びパッドアーム枢動点122におけるサーボ、直流(DC)モーター又は他のアクチュエータが用いられ得る。
【0018】
ショベルアームとグラバーパッドアームとの間に示される接続点は例示の位置であり、そのような接続点の物理的位置を限定することを意図していない。そのような接続は、シャーシ及びアームの構造及び意図する使用の用途に適した様々な位置で行われ得る。
【0019】
一部の実施形態では、把持面は、持ち上げられるべき物体に面するグラバーパッド116の側に構成され得る。これらの把持面は、グラバーパッド116と捕捉及び収容されるべき物体との間で摩擦を高めるクッション、グリット、弾性又は他の何らかの特徴を提供し得る。一部の実施形態では、グラバーパッド116は、滑らかで平坦な表面を有する物体をより良く把持するために吸盤を含み得る。一部の実施形態では、グラバーパッド116は掃除用の毛で構成され得る。これらの掃引用の毛は小さな物体を床からショベル110上に動かすのを支援し得る。一部の実施形態では、掃引用の毛は、グラバーパッド116がショベル110の方に物体を掃く際に、掃引用の毛が傾斜を形成し、最前部の毛が物体の下を摺動し、物体をグラバーパッド116に向かって上方に向け、ショベル内の物体の捕捉を促進し、物体が床に押し付けられる傾向を減少させ、その摩擦を増加させ、移動をより困難にするためにグラバーパッド116から下方且つ内方に傾斜され得る。
【0020】
図1C及び図1Dは、ロボット制御システム1900に関連して、モビリティシステム104、感知システム106及び通信部134のコンポーネントの一般的な接続性とともに、シャーシ102の側面図及び上面図をそれぞれ示す。一部の実施形態では、通信部134は、ロボット制御システム1900に関してより詳細に説明するネットワークインターフェイス1912を含み得る。
【0021】
一実施形態では、モビリティシステム104は右側前輪136、左側前輪138、右側後輪140及び左側後輪142を含み得る。ロボット100は、右側前輪136及び左側前輪138が1つ以上のアクチュエータ又はモーターによって能動的に駆動される一方で、右側後輪140及び左側後輪142がシャーシ102の後部を支持しながら車軸上で受動的に回転する前輪駆動を有し得る。別の実施形態では、ロボット100は、右側後輪140及び左側後輪142が作動され、前輪が受動的に回転する後輪駆動を有し得る。別の実施形態では、各車輪は別々のモーター又はアクチュエータによって能動的に駆動され得る。
【0022】
感知システム106は、前方カメラ126及び後方カメラ128等のカメラ124、ライダーセンサー130等の光検出及び測距(LIDAR)センサー及びIMUセンサー132等の慣性測定ユニット(IMU)センサーをさらに含み得る。一部の実施形態では、前方カメラ126は前方右側カメラ144及び前方左側カメラ146を含み得る。一部の実施形態では、後方カメラ128は後方左側カメラ148及び後方右側カメラ150を含み得る。
【0023】
開示のアルゴリズムを行うために用いられ得るロボットの追加の実施形態を、図2A図2E図3A図3C図4A図4C図5図6図7図8図9図10図11図12及び図13に示す。図15図16及び図17並びに図18A及び図18Bは、開示のアルゴリズムを行うために用いられ得るロボットの例示の機械的な実施形態を示す。
【0024】
図2Aは、低下ショベル位置及び低下グラバー位置200aに配置された、図1Aに関して紹介されたようなロボット100を示す。この構成では、グラバーパッド116及びグラバーパッドアーム118は低下グラバー位置204に置かれ、ショベル110及びショベルアーム112はロボット100の前部202で低下ショベル位置206に置かれる。この位置では、ショベル110及びグラバーパッド116は、図示の収容領域210を大まかに記述する。
【0025】
図2Bは、低下ショベル位置及び上昇グラバー位置200bを有するロボット100を示す。パッド枢動点120及びパッドアーム枢動点122におけるサーボ又は他のアクチュエータの作用により、グラバーパッド116及びグラバーパッドアーム118は上昇グラバー位置208まで上げられる一方で、ショベル110及びショベルアーム112は低下ショベル位置206を維持する。この構成では、グラバーパッド116及びショベル110は、ショベル110の高さよりも高い物体がショベル110内に留まり、グラバーパッド116によって加えられる圧力によって適所に保持され得る図示の収容領域210を大まかに記述し得る。
【0026】
図5に示すように)パッドアーム枢動点122、パッド枢動点120、ショベルアーム枢動点114及びショベル枢動点502は、本願で示すものを超えるこれらのコンポーネントの動作範囲をロボット100に提供し得る。開示の図面に示す位置は例示にすぎず、ロボットのコンポーネントの動作範囲の限界を示すことを意味するものではない。
【0027】
図2Cは、上昇ショベル位置及び上昇グラバー位置200cを有するロボット100を示す。グラバーパッド116及びグラバーパッドアーム118は上昇グラバー位置208にある一方、ショベル110及びショベルアーム112は上昇ショベル位置212にある。この位置では、ロボット100は物体をショベル110及びグラバーパッドアーム118からロボット100の後部214にある領域に落とすことができ得る。
【0028】
以下の図27A図30Cに示すように、搬送位置は、低下ショベル位置及び低下グラバー位置200a並びに上昇ショベル位置及び上昇グラバー位置200cの極値間の相対的な構成で、グラバーパッド116、グラバーパッドアーム118、ショベル110及びショベルアーム112の配置を伴い得る。
【0029】
図2Dは、伸長されたグラバーパッド200dを有するロボット100を示す。パッド枢動点120におけるサーボ又は他のアクチュエータの作用によって、グラバーパッド116は、ロボット100がロボットシャーシ102及びショベル110と同程度又はそれよりも幅広の物体に近づくことができるように、伸長されたグラバーパッド216として構成され得る。一部の実施形態では、グラバーパッド116は、完全に伸長された場合に、それらの関連するグラバーパッドアーム118と平行且つその外側に静止するように略360度回転することができ得る。
【0030】
図2Eは、引っ込められたグラバーパッド200eを有するロボット100を示す。閉じたグラバーパッド218は、ショベル110に対するそれらの位置を介して収容領域210を大まかに定義し得る。一部の実施形態では、グラバーパッド116は、ショベル110の側壁と平行且つその内側に静止するように、略360度にわたって図示のものよりもさらに回転できる得る。
【0031】
図3A図3Cは、図1A図2Eに関連して紹介したようなロボット100を示す。そのような実施形態では、グラバーパッドアーム118は、シャーシ102とのショベルアーム112と同じ接続点302におけるサーボ又は他のアクチュエータによって制御され得る。ロボット100は、低下ショベル位置及び低下グラバー位置300a、低下ショベル位置及び上昇グラバー位置300b及び上昇ショベル位置及び上昇グラバー位置300cに配置されているものとして示され得る。このロボット100は、本願で開示のアルゴリズムを行うように構成され得る。
【0032】
ショベルアーム112/グラバーパッドアーム118とシャーシ102の間に示す接続点は例示の位置であり、この接続点の物理的位置を限定することを意図していない。そのような接続は、シャーシ102及びアームの構造及び意図された用途に応じて、様々な位置で適宜なされ得る。
【0033】
図4A図4Cは、図1A図2Eに関連して紹介したもの等のロボット100を示す。そのような実施形態では、グラバーパッドアーム118は、ショベルアーム112を制御する接続点とは異なる、シャーシ102との接続点402におけるサーボ(又は他のアクチュエータ)によって制御され得る。ロボット100は、低下ショベル位置及び低下グラバー位置400a、低下ショベル位置及び上昇グラバー位置400b及び上昇ショベル位置及び上昇グラバー位置400cに配置されているものとして示され得る。このロボット100は、本願で開示のアルゴリズムを行うように構成され得る。
【0034】
図示のショベルアームとシャーシ及びグラバーパッドアームとシャーシの間の異なる接続点402は例示の位置であり、これらの接続点の物理的位置を限定することを意図していない。そのような接続は、シャーシ及びアームの構造及び意図された用途に応じて、様々な位置で適宜なされ得る。
【0035】
図5は、前側落下位置500で前に紹介したもの等のロボット100を示す。ロボット100のアームは、前で説明したような収容領域210を形成するように位置し得る。
【0036】
ロボット100は、ショベル110がショベルアーム112に接続されるショベル枢動点502を備えて構成され得る。ショベル枢動点502は、ショベルアーム112が上げられている間にショベル110を前方且つ下方に傾斜させることを可能にし、収容領域210内の物体が摺動して外に出て、ロボット100の前側202の領域に配置されるようにする。
【0037】
図6は一実施形態に係るロボット600を示す。ロボット600は、本願に開示のアルゴリズムを行うように構成され得る。ロボット600は、ここでは詳細に説明されていないが前に紹介された多くの特徴を含み得る。これらに加えて、ロボット600は、隆起後方ショベルアーム枢動点602、分割ショベルアーム604、右側伸縮式グラバーパッドアーム606、左側伸縮式グラバーパッドアーム608、リニアアクチュエータ610、リストアクチュエータ612、右側前方駆動輪614、左側前方駆動輪616及び後方キャスター618を含み得る。
【0038】
隆起後方ショベルアーム枢動点602は、ショベル110を昇降させるために、分割ショベルアーム604に接続され得る。この構成により、前方カメラ126は、ショベルアームからの妨害なしに画像を撮影でき得る。ロボット600のシャーシ102内の溝又はスロットは、分割ショベルアーム604の部分がシャーシ102の寸法によって妨げられることなく動くことを可能にし得る。
【0039】
グラバーパッドアームは右側伸縮式グラバーパッドアーム606及び左側伸縮式グラバーパッドアーム608を含み得る。このようにして、グラバーパッドアームは伸長(長さの増加)及び引っ込み(長さの減少)し得る。この動きはグラバーパッドアームの一部として構成されたリニアアクチュエータ610によって生成され得る。リストアクチュエータ612はパッド枢動点120に位置し、グラバーパッドが枢動して物体をショベル110に押し込むことを可能にする。
【0040】
一実施形態におけるモビリティシステムは右側前方駆動輪614、左側前方駆動輪616、及びリアキャスター618を含み得る。前側駆動輪は、ロボット600がその環境をナビゲートできるようにする原動力を提供する一方で、リアキャスター618はその動作範囲を制限することなく、ロボット600の後部に支持を提供し得る。右側前方駆動輪614及び左側前方駆動輪616は独立して作動されてもよく、ロボット600が所定の位置で回転し且つ床を横断することを可能にする。
【0041】
図7は、一実施形態に係るロボット700を示す。ロボット700は、本願に開示のアルゴリズムを行うするように構成され得る。ロボット700は、本願で詳細に説明しないが、前で紹介した多くの特徴を含み得る。これらに加えて、ロボット700は、単一のグラバーパッド702、単一の伸縮式グラバーパッドアーム704、リニアアクチュエータ706、ベアリング708、反対側パッドアーム枢動点710、枢動ジョイント712及び反対側グラバーパッドアーム714を含み得る。
【0042】
単一のグラバーパッド702はグラバーパッドアームによって昇降され、それに加えてリニアアクチュエータ706によって推進される単一の伸縮式グラバーパッドアーム704の作用によって伸縮され得る。反対側パッドアーム枢動点710及び反対側グラバーパッドアーム714の摺動ジョイント712におけるベアリング708は、単一のグラバーパッド702を介して伝達されるリニアアクチュエータ706の力を可能にし、一方のアームが能動的に動かされている状態で、両方のグラバーパッドアームにおける対称的な動作を可能にし得る。別の実施形態では、単一のグラバーパッド702は、図6に示すように、右側伸縮式グラバーパッドアーム606及び左側伸縮式グラバーパッドアーム608の同期的な作動によって位置決めされ得る。
【0043】
図8は、一実施形態に係るロボット800を示す。ロボット800は、本願に開示のアルゴリズムを行うように構成され得る。ロボット800は、本願で詳細に説明しないが、前で紹介した多くの特徴を含み得る。これらに加えて、ロボット800は、隆起後方ショベルアーム枢動点802及び単一のショベルアーム804を含み得る。
【0044】
隆起後方ショベルアーム枢動点802は、ショベル110を昇降させるために単一のショベルアーム804に接続し得る。この構成により、前方カメラ126は、ショベルアームからの妨害なしに画像を撮影し得る。ロボット800のシャーシ102内の溝又はスロットは、シャーシ102の寸法によって妨げられることなく単一のショベルアーム804を動かすことを可能にし得る。
【0045】
図9は、一実施形態に係るロボット900を示す。ロボット900は、本願に開示のアルゴリズムを行うように構成され得る。ロボット900は、本願で詳細に説明しないが、前で紹介した多くの特徴を含み得る。これらに加えて、ロボット900は、単一の伸縮式ショベルアーム902及びリニアアクチュエータ904を含み得る。
【0046】
単一の伸縮式ショベルアーム902は、リニアアクチュエータ904によって駆動される伸縮によってシャーシ102から離れるように且つシャーシ102の方にショベル110を動かすことを可能にし得る。
【0047】
図10は一実施形態に係るロボット1000を示す。ロボット1000は、本願に開示のアルゴリズムを行うように構成され得る。ロボット1000は、本願で詳細に説明しないが、前で紹介した多くの特徴を含み得る。これらに加えて、ロボット1000は、ショベル取り付けグラバーパッドアーム1002及びショベル取り付けパッドアーム枢動点1004を含み得る。
【0048】
本願で開示した他の実施形態で見られるようにシャーシ102に接続するのではなく、ショベル搭載グラバーパッドアーム1002は、ショベル110上に位置するショベル取り付けパッドアーム枢動点1004に接続され得る。ショベル取り付けパッドアーム枢動点1004にあるアクチュエータは、ショベル取り付けグラバーパッドアーム1002がショベル110と共に昇降されることに加えて、ショベル110に対して昇降することを可能にし得る。
【0049】
図11は一実施形態に係るロボット1100を示す。ロボット1100は、本願に開示のアルゴリズムを行うように構成され得る。ロボット1100は、本願で詳細に説明しないが、前で紹介した多くの特徴を含み得る。これらに加えて、ロボット1100は、ショベル取り付けグラバーパッド1102及びショベル取り付けパッド枢動点1104を含み得る。
【0050】
グラバーパッドアームに接続するのではなく、ショベル取り付けグラバーパッド1102はショベル取り付けパッド枢動点1104でショベル110に接続され得る。ショベル取り付けパッド枢動点1104にあるリストアクチュエータは、物体をショベル110内に動かすために、ショベル取り付けグラバーパッド1102がショベル110内に及びショベル110外に枢動できるようにし得る。
【0051】
図12は一実施形態に係るロボット1200を示す。ロボット1200は、本願に開示のアルゴリズムを行うように構成され得る。ロボット1200は、本願で詳細に説明しないが、前で紹介した多くの特徴を含み得る。これらに加えて、ロボット1200は、分割ショベルアーム1202、隆起後方ショベルアーム枢動点1204、ショベル枢動点1206及びショベル枢動アクチュエータ1208を含み得る。
【0052】
ロボット1200は、2つの隆起後方ショベルアーム枢動点1204でシャーシ102に接続する分割ショベルアーム1202を有し得る。各隆起後方ショベルアーム枢動点1204にあるアクチュエータは、ショベル110を昇降させるために同期して作動され得る。
【0053】
ショベル110は、ショベル枢動点1206で分割ショベルアーム1202に接続され得る。ショベル枢動点1206にあるショベル枢動アクチュエータ1208は、ショベル110を分割ショベルアーム1202によって上昇させ、図5に示すような前方落下位置500に向けて前方及び下方に傾斜させることができ得る。
【0054】
図13は、一実施形態に係るロボット1300を示す。ロボット1300は、本願に開示のアルゴリズムを行うように構成され得る。ロボット1300は、本願で詳細に説明しないが、前で紹介した多くの特徴を含み得る。これらに加えて、ロボット1300は、トラック1302を具備するモビリティシステム104を含み得る。
【0055】
これらのトラック1302は、一部の表面上でのロボット1300の移動性及び安定性を改善し得る。左側及び右側トラック1302のそれぞれは個別に作動され、ロボット1300が横断中又は所定の位置に留まったまま旋回できるようにし得る。
【0056】
図14は、一実施形態に係るロボット1400を示す。ロボット1400は、本願に開示のアルゴリズムを行うように構成され得る。ロボット1400は、本願で詳細に説明しないが、前で紹介した多くの特徴を含み得る。これらに加えて、ロボット1400は、シャーシ102、ショベル110、単一のグラバーパッドアーム1402、単一のパッドアーム枢動点1404、単一のグラバーパッド1406及び単一のパッド枢動点1408を含み得る。
【0057】
単一のグラバーパッドアーム1402は、単一のパッドアーム枢動点1404でシャーシ102に接続され、単一のグラバーパッドアーム1402をロボット1400に対して動かすことを可能にする。単一のグラバーパッドアーム1402は単一のパッド枢動点1408で単一のグラバーパッドアーム1402に接続され、単一のグラバーパッド1406を単一のグラバーパッドアーム1402に対して動かすことを可能にする。単一のパッドアーム枢動点1404及び単一のパッド枢動点1408におけるサーボ、DCモーター又は他のアクチュエータが単一のグラバーパッドアーム1402及び単一のグラバーパッド1406の動作を推進して、物体をショベル110内に移動させ得る。
【0058】
図15は、一実施形態に係るロボット1500を示す。ロボット1500は、本願で開示のアルゴリズムを行うように構成され得る。ロボット1500は、他の特徴に加えて、前で説明したように、シャーシ102、ショベル110、ショベルアーム112、ショベルアーム枢動点114、グラバーパッド116、グラバーパッドアーム118、パッド枢動点120、パッドアーム枢動点122、前方右側カメラ144、前方左側カメラ146及びショベルアーム112とグラバーパッドアーム118とのための異なる接続点402を含み得る。
【0059】
図16は、一実施形態に係るロボット1600を示す。ロボット1600は、本願で開示のアルゴリズムを行うように構成され得る。ロボット1600は、他の特徴に加えて、前で説明したように、グラバーパッド116、右側伸縮式グラバーパッドアーム606、左側伸縮式グラバーパッドアーム608、各ショベルアーム112とこれらのグラバーパッドアームとの間の同じ接続点302及び右側伸縮式グラバーパッドアーム606、左側伸縮式グラバーパッドアーム608及びグラバーパッド116を同期的に又は別々に伸長させるリニアアクチュエータ610を含み得る。
【0060】
図17は、一実施形態に係るロボット1700を示す。ロボット1700は、本願で開示のアルゴリズムを行うように構成され得る。ロボット1700は、他の特徴に加えて、前で説明したように、単一のグラバーパッド702、単一の伸縮式グラバーパッドアーム704、リニアアクチュエータ706、ベアリング708、反対側パッドアーム枢動点710及び反対側グラバーパッドアーム714を含み得る。
【0061】
図18A及び図18Bは、一実施形態に係るロボット1800を示す。ロボット1800は、本願で開示のアルゴリズムを行うように構成され得る。ロボット1800は、他の特徴に加えて、前で説明したように、モビリティシステム104、ライダーセンサー130及びトラック1302を含み得る。
【0062】
図6図18Bに関連して示されるロボットの特徴は特定の実施形態で様々な組み合わせで存在し得る。当業者であれば容易に理解するように、これらの図は説明した特徴の構成を限定することを意図していない。
【0063】
図19は、本願で説明するシステムのコンポーネント及びプロセスステップを実施するためのロボット制御システム1900の実施形態を示す。ロボット制御システム1900及びその動作ロジックの一部又は全部は、ロボットの物理コンポーネント内及び/又はロボットと通信するクラウドサーバ内に含まれ得る。一実施形態では、クラウドサーバ上のロボット制御システム1900の態様は、一度に複数のロボットを制御し、複数のロボットが作業空間内で協調して作業できるようにする。
【0064】
(例えば、携帯電話又はパーソナルコンピュータ等のロボット又はコンパニオン装置の)入力装置1904は、物理現象を機械内部信号、典型的には電気、光学又は磁気信号に変換するトランスデューサを含む。信号は、無線周波数(RF)範囲であるが潜在的に赤外線又は光学範囲である電磁放射の形態の無線であり得る。入力装置1904の例は、物体からの接触又は物理的圧力又は物体の表面への近接に応答する接触センサー、空間を通過する動き又は平面を横切る動きに応答するマウス、媒体(典型的には空気)内の振動を装置信号に変換するマイクロホン、二次元又は三次元物体上の光学パターンを装置信号に変換するスキャナである。入力装置1904からの信号は、様々な機械信号導体(例えば、バス又はネットワークインターフェイス)及び回路を介してメモリ1906に提供される。
【0065】
メモリ1906は、典型的には、第1又は第2レベルのメモリ装置として知られるものであり、入力装置1904から受信した信号、中央処理装置又はCPU1902の動作を制御するための命令及び情報並びに記憶装置1910からの信号の記憶を提供する(事項の構成又は事項の状態を介して)。メモリ1906及び/又は記憶装置1910はコンピュータ実行可能命令を記憶し、故にCPU1902に適用され実行されると、本願で開示のプロセスの実施形態を実施するロジック1914を形成する。ロジック1914は、CPU1902又は別のプロセッサによって実行される構成データと共にコンピュータプログラムの一部を含み得る。ロジック1914は、開示の動作を行うのに用いられる1つ以上の機械学習モデル1916を含み得る。一実施形態では、ロジック1914の一部は、ロボットの直接的なユーザ制御を促進するために、ユーザによってアクセス可能なモバイル又はデスクトップコンピュータ装置上にも存在し得る。
【0066】
メモリ1906に記憶された情報は、通常、装置のCPU1902に直接アクセス可能である。装置に入力された信号は、メモリ1906の内部の材料/エネルギー状態の再構成をもたらし、実質的に新たな機械構成を作成し、制御信号(命令)及び制御信号に関連して提供されるデータを用いてCPU1902を構成することによって、ロボット制御システム1900の動作に影響を与える。
【0067】
第2又は第3レベルの記憶装置1910はより低速であるが大容量の機械メモリ機能を提供し得る。記憶装置1910の例はハードディスク、光ディスク、大容量フラッシュメモリ又は他の不揮発性メモリ技術及び磁気メモリである。
【0068】
一実施形態では、メモリ1906は、後で説明するように、ネットワークインターフェイス1912を用いてクラウドサーバとの接続を介してアクセス可能な仮想ストレージを含み得る。そのような実施形態では、ロジック1914の一部又は全部が記憶され、遠隔的に処理され得る。
【0069】
CPU1902は、記憶装置1910内の信号によりメモリ1906の構成を変更させ得る。つまり、CPU1902は、データ及び命令をメモリ1906内の記憶装置1910から読み取らせ、それらは命令及びデータ信号としてCPU1902の動作に影響を与え、出力装置1908にも提供され得る。CPU1902は、メモリ1906のマシンインターフェイスに信号を送って内部構成を変更し、次に信号を記憶装置1910に変換してその材料内部構成を変更することによって、メモリ1906の内容を変更し得る。つまり、データ及び命令は、しばしば揮発性であるメモリ1906から、しばしば不揮発性である記憶装置1910にバックアップされ得る。
【0070】
出力装置1908は、メモリ1906から受信した信号を、空気中の振動又は機械ディスプレイ上の光のパターン又は振動(すなわち触覚デバイス)又はインク又は他の材料(すなわち、プリンター及び3Dプリンター)のパターン等の物理現象に変換するトランスデューサである。
【0071】
ネットワークインターフェイス1912はメモリ1906から信号を受信し、それらを電気、光又は無線信号に変換して、典型的にはマシンネットワークを介して他の機械に送信する。ネットワークインターフェイス1912はマシンネットワークからも信号を受信し、それらを電気、光又は無線信号に変換してメモリ1906に送信する。ネットワークインターフェイス1912は、ロボットがクラウドサーバ、モバイル装置、他のロボット及び他のネットワーク対応装置と通信できるようにし得る。
【0072】
図20は、一実施形態に係るセンサー入力分析2000を示す。センサー入力分析2000は、ロボット100にその身近な環境2002の寸法及びその環境2002内のロボット自身及び他の物体の位置を通知し得る。
【0073】
前で説明したように、ロボット100は感知システム106を含む。感知システム106は、カメラ124、IMUセンサー132、ライダーセンサー130、オドメトリ2004及びアクチュエータ力フィードバックセンサー2006のうちの少なくとも1つを含み得る。これらのセンサーは、ロボット100の周囲の環境2002を記述するデータをキャプチャし得る。
【0074】
カメラ124からの画像データ2008は、物体検出及び分類2010のために用いられ得る。物体検出及び分類2010は、ロボット100のロボット制御システム1900内に構成されたアルゴリズム及びモデルによって行われ得る。このように、環境2002内の物体の特性及び種類が特定され得る。
【0075】
画像データ2008、物体検出及び分類2010データ及び他のセンサーデータ2012は、グローバル/ローカルマップ更新2014のために用いられ得る。グローバル及び/又はローカルマップはロボット100によって記憶され、その片付けをする環境2002内の寸法及び物体に関するその知識を表し得る。このマップは、片付けタスクに関連するナビゲーション及び戦略決定で用いられ得る。
【0076】
ロボットは、カメラ124、ライダーセンサー130及び他のセンサーの組み合わせを用いて、環境のグローバル又はローカルエリアマップを維持し、その中で自身を位置決めし得る。加えて、ロボットは物体検出及び物体分類を行い、各物体のめの視覚的再識別指紋を生成し得る。ロボットは、機械学習/ニューラルネットワークソフトウェアアーキテクチャ(例えば、半教師あり又は教師あり畳み込みニューラルネットワーク)と共にステレオカメラを利用して、環境のマップ上の異なる物体の種類、サイズ及び位置を効率的に分類し得る。
【0077】
ロボットは各物体への相対距離及び角度を特定し得る。次に、この距離及び角度を用いて、グローバル又はローカルエリアマップ上の物体の位置を特定し得る。ロボットは、前方及び後方を向いたカメラの両方を利用して、ロボットの前方及び後方の両方をスキャンし得る。
【0078】
画像データ2008、物体検出及び分類2010データ、他のセンサーデータ2012及びグローバル/ローカルマップ更新2014データは、観測値、現在のロボット状態、現在の物体状態及びセンサーデータ2016として記憶され得る。観測値、現在のロボット状態、現在の物体状態及びセンサーデータ2016は、ナビゲーションパス及びタスク戦略を決定する際にロボット100のロボット制御システム1900によって用いられ得る。
【0079】
図21は、一実施形態に係るメインナビゲーション、収集及び配置プロセス2100を示す。一部の例によれば、本方法はブロック2102で目標物体に向かうことを含む。例えば、図1Aに関連して紹介したようなロボット100は、図20に示すように特定される観察、現在のロボットの状態、現在の物体の状態及びセンサーデータ2016に依存して、目標物体の近くの位置にナビゲートするためにローカルマップ又はグローバルマップを用いて目標物体に向かう。
【0080】
一部の例によれば、本方法は、ブロック2104で物体分離戦略を決定することを含む。例えば、図1Aに示すロボット制御システム1900は、環境内の物体の位置に基づいて、環境内の他の物体から対象物体を分離するために、物体分離戦略を決定し得る。物体分離戦略は機械学習モデル又はルールベースのアプローチを用いて、図20に示すように特定される観察、現在のロボットの状態、現在の物体の状態及びセンサーデータ2016に依存して決定され得る。場合によっては、物体分離は必要なく、関連するブロックはスキップされ得る。例えば、拾い上げて移動すべきアイテムがいくつかあるか又は対象物体を拾い上げる障害となり得る家具、壁又は他の障害物が互いに近接していない領域では、物体分離は必要ないことがある。
【0081】
場合によっては、有効な分離戦略が存在しないことがある。例えば、図1Aに示すロボット制御システム1900は有効な分離戦略を決定することができないことがある。決定ブロック2106で有効な分離戦略が存在しないと決定された場合、ブロック2120で、対象物体は拾い上げに失敗したものとマークされ得る。メインナビゲーション、収集及び配置プロセス2100は、次の対象物体が決定されるブロック2128に進み得る。
【0082】
決定ブロック2106で有効な分離戦略が決定された場合、図1Aに関連して紹介したようなロボット100は、ブロック2108で対象物体を他の物体から分離するために物体分離戦略を実行し得る。分離戦略は、図22に示す分離戦略、拾い上げ戦略及び落下戦略2200の戦略ステップを辿り得る。分離戦略は、観察、現在のロボットの状態、現在の物体の状態及びセンサーデータ2016に加えて報酬及びペナルティを用いる強化学習ベースの戦略又は図20に示すように特定される、観察、現在のロボットの状態、現在の物体の状態及びセンサーデータ2016に依存するルールベースの戦略であり得る。報酬及びペナルティに依存する強化学習ベースの戦略は、図22を参照してより詳細に説明する。
【0083】
ルールベースの戦略は、図20で展開されるような観察、現在のロボットの状態、現在の物体の状態及びセンサーデータ2016に基づいて次のロジックを決定するために条件付きロジックを用いり得る。各ルールベースの戦略は、それが考慮し得る利用可能な動作のリストを有し得る。一実施形態では、各動作に伴う動作範囲を決定するために動作衝突回避システムが用いられ得る。物体分離のためのルールベースの戦略は、
・分離すべき対象物体に面するが、グラバーパッドアーム及びグラバーパッドを開き、ショベルを下げるのに十分離れた位置にロボットをナビゲートすること、
・グラバーパッドアーム及びグラバーパッドを開き、グラバーパッドアーム及びグラバーパッドを下げ、ショベルを下げること、
・対象物体が前面ビューの中心になるように、ロボットを少し所定の位置に回転させること、
・対象物体よりもわずかに広くなるようにグラバーパッドアーム及びグラバーパッドを開くこと、
・グラバーパッドアーム及びグラバーパッドの端が対象物体を超えて配置されるまでゆっくりと前進すること、
・グラバーパッドアーム及びグラバーパッドが対象物体を取り囲むように、グラバーパッドアーム及びグラバーパッドをV字型にわずかに閉じること、
・100センチメートル後方に移動し、対象物体をオープンスペースに動かすこと、
を含み得る。
【0084】
一部の例によれば、本方法は、決定ブロック2110で分離が成功したかどうか判定することを含む。例えば、図1Aに示すロボット制御システム1900は、対象物体が成功裏に分離されたか否かを判定し得る。分離戦略が成功しなかった場合、ブロック2120で対象物体は拾い上げに失敗したものとマークされ得る。メインナビゲーション、収集及び配置プロセス2100はブロック2128に進み、そこで次の対象物体が決定される。一部の実施形態では、次の対象物体を決定するのではなく、同じ対象物体に対して異なる戦略が選択され得る。例えば、現在の分離戦略によって対象物体を分離できない場合、異なる分離戦略が選択され、分離が再試行され得る。
【0085】
対象物体の分離に成功した場合、本方法はブロック2112で拾い上げ戦略を決定することを含む。例えば、図1Aに示すロボット制御システム1900は拾い上げ戦略を決定し得る。特定の対象物体及び位置のための拾い上げ戦略は、機械学習モデル又はルールベースのアプローチを用いて、図20に示すように特定される観察、現在のロボットの状態、現在の物体の状態及びセンサーデータ2016に依存して決定され得る。
【0086】
場合によっては、有効な拾い上げ戦略が存在しないことがある。例えば、図1Aに示すロボット制御システム1900は有効な拾い上げ戦略を決定することができないことがある。判定ブロック2114で有効な拾い上げ戦略がないと判定された場合、上述したように、ブロック2120で、対象物体は拾い上げに失敗したものとマークされ得る。拾い上げ戦略は、
・拾い上げを始める前のグラバーパッドアーム及びショベルのための初期デフォルト位置、
・拾い上げ戦略に影響を与え得る、硬い表面対カーペットの床の種類の検出、
・運搬のための最終的なショベル及びグラバーパッドアームの位置、
を考慮する必要がある。
【0087】
決定ブロック2114で決定された有効な拾い上げ戦略がある場合、図1Aに関連して紹介したようなロボット100はブロック2116で拾い上げ戦略を実行し得る。拾い上げ戦略は、図22に示す分離戦略、拾い上げ戦略及び落下戦略2200の戦略ステップを辿り得る。拾い上げ戦略は、図20に示すように特定される、観察、現在のロボットの状態、現在の物体の状態及びセンサーデータ2016に依存する、強化学習ベースの戦略又はルールベースの戦略であり得る。物体の拾い上げのためのルールベースの戦略は、
・目標物体に面するが、グラバーパッドアーム及びグラバーパッドを開き、ショベルを下げるのに十分離れた位置にロボットをナビゲートすること、
・グラバーパッドアーム及びグラバーパッドを開き、グラバーパッドアーム及びグラバーパッドを下げ、ショベルを下げること、
・対象物体が前面ビューの中央に位置するように、ロボットを所定の位置でわずかに回転させること、
・ショベルの端に対して対象物体が「拾い上げゾーン」内にあるようになるまで前進すること、
・右側、左側又は中央でショベルに対する対象物体の中心位置を特定すること、
-右側にある場合、右側グラバーパッドアーム及びグラバーパッドを最初に閉じ、左側グラバーパッドアーム及びグラバーパッドを後で閉じる
-そうでない場合、左側グラバーパッドアーム及びグラバーパッドを最初に閉じ、右側のグラバーパッドアームとグラバーパッドを後で閉じる
・対象物体が正常にショベルに押し込まれたかどうかを判定すること、
-「はい」の場合、拾い上げは成功
-「いいえ」の場合、グラバーパッドアーム及びグラバーパッドを持ち上げ、戦略の適切な部分で再試行する
を含み得る
【0088】
一部の例によれば、本方法は、決定ブロック2118で対象物体が拾い上げられたかどうか判定することを含む。例えば、図1Aに示すロボット制御システム1900は、目標物体が拾い上げられたかどうか判定し得る。拾い上げ成功は、
・物体がショベル/グラバーパッドアーム/収容領域内にあるか判定するための、ショベル及びグラバーパッドアーム(すなわち、前に示した収容領域)の領域内での物体検出、
・物体がグラバーパッドアームによって保持されていることを示すアクチュエータ力フィードバックセンサーからの力フィードバック、
・ショベルの領域内への拾い上げの間の物体の動きを追跡し、メモリにそれらの物体の状態を保持すること(メモリは、ショベルがその運搬位置にあるときに物体がもはや見えない可能性があるため、しばしば依存される)、
・物体がショベル内にあることを示す持ち上げの間のショベルの重量増加の検出、
・物体がショベル内にあるかどうかについての分類モデルの利用、
・ロボットが動いている間に物体がショベル内にあることを再チェックするための力フィードバック、重量増加及び/又は専用カメラの使用、
を用いて評価され得る。
【0089】
拾い上げ戦略が失敗した場合、前で説明したように、対象物体は、拾い上げに失敗したものとしてブロック2120でマークされ得る。対象物体の拾い上げが成功した場合、本方法は、ブロック2122で、落下位置にナビゲートすることを含む。例えば、図1Aに関連して紹介したようなロボット100は所定の落下位置にナビゲートされ得る。落下位置はコンテナ又は地面若しくは床の指定された領域であり得る。ナビゲーションは機械学習モデル又はルールベースのアプローチによって制御され得る。
【0090】
一部の例によれば、本方法は、ブロック2124で落下戦略を決定することを含む。例えば、図1Aに示すロボット制御システム1900は落下戦略を決定し得る。落下戦略は拾い上げ戦略のために決定された運搬位置を考慮する必要があり得る。落下戦略は機械学習モデル又はルールベースのアプローチを用いて決定され得る。物体落下のためのルールベースの戦略は、
・箱の側面から100cm離れた位置にロボットをナビゲートすること、
・ロボットを所定の位置で回転させて箱に面して整列させること、
・箱の側面を中心とした位置合わせを維持しながら、箱に向かって進むこと、
・箱の側面から3cmのところで停止すること、
・ロボットが箱の側面に対して正しく配置されているか確認すること、
-「はい」の場合、ショベルを上方及び後方に上げて、対象物体を箱に落下させる
-「いいえ」の場合、箱から離れてプロセスを再始動する
を含み得る。
【0091】
物体落下戦略は、後方落下を試みる場合は後方カメラで、前方落下を試みる場合は前方カメラでナビゲートすることを伴い得る。
【0092】
一部の例によれば、本方法は、ブロック2126で落下戦略を実行することを含む。例えば、図1Aに関連して紹介したようなロボット100は落下戦略を実行し得る。落下戦略は、図22に示す分離戦略、拾い上げ戦略及び落下戦略2200の戦略ステップを辿り得る。落下戦略は強化学習ベースの戦略又はルールベースの戦略であり得る。ブロック2126で落下戦略が実行されると、本方法は、ブロック2128で次の対象物体の決定に進み得る。例えば、図1Aに示すロボット制御システム1900は次の対象物体を決定し得る。新たな対象物体が決定されると、このプロセスは新たな対象物体のために繰り返される。
【0093】
上記で言及した分離戦略、拾い上げ戦略及び落下戦略等の戦略は単純な戦略であり得るか又は報酬及び衝突回避要素が組み込まれ得る。これらの戦略は、図22に示す分離戦略、拾い上げ戦略及び落下戦略2200の戦略ステップ等の一般的なアプローチに従い得る。
【0094】
一部の実施形態では、物体分離戦略は、
・床にあるV字状のグラバーパッドアーム及びグラバーパッドを用いて物体を取り囲み、後押しすること、
・V字状のグラバーパッドアーム及びグラバーパッドを用いて物体を正確に把持し、後押しすること、
・グラバーパッドアーム及びグラバーパッドを持ち上げた状態で大きな物体を緩く転がす
・山を緩く把持し後押しすることにより密集した散乱物を分散すること、
・単一のグラバーパッドアーム/グラバーパッドを対象物と散乱物との間で床に置き、次いで回転させること、
・小さなおもちゃをショベルに入れ、それらを分離するために落下させること、
・単一のグラバーパッドアーム/グラバーパッドを用いて対象物を壁から離すこと、
を含み得る。
【0095】
一部の実施形態では、拾い上げ戦略は、
・単純な対象物を拾うためにグラバーパッドアーム/グラバーパッドを床の上で閉じること、
・地面の上でグラバーパッドアーム/グラバーパッドを閉じることにより、小さなプラスチックの積み木等の小さな対象物の山を拾い上げること、
・ボール等の小さく転がりやすい対象物を、グラバーパッドアーム/グラバーパッドでそれらの上部を軽く叩くことにより拾い上げ、それらをショベル内に転がすこと、
・衣類等の変形可能な対象物をグラバーパッドアーム/グラバーパッドを用いて対象物を繰り返しショベルに圧縮して拾い上げること、
・大きなぬいぐるみ等の大きくて柔らかい対象物をグラバーパッドアーム/グラバーパッドでつかんで圧縮することにより、つかむこと、
・大きなボールを持ち上げられたグラバーパッドアーム/グラバーパッドで転がし、ショベルに対して保持することによりそれをつかむこと、
・グラバーパッドをパズルのピース等の平坦な物体上で通過させ、横向きに渡して不安定にすることによりそれを拾い上げること、
・本や他の大きく平坦な物体を把持すること、
・グラバーパッドアーム/グラバーパッドで衣類を持ち上げ、ショベルの上に持ち上げて、それらをショベルの中に落下させること、
・第1のグラバーパッドアームの動作を開始し、即座に第2のグラバーパッドアームの動作を開始することによりボールを転がすこと、
を含み得る。
【0096】
一部の実施形態では、落下戦略は、
・箱に後方落下させること、
・箱に前方落下させること、
・床に前方リリースすること、
・壁に対して前方リリースすること、
・本又は他の平坦な物体を積み重ねること、
・ショベルに依存する代わりに、グラバーパッドアーム/グラバーパッドを用いて大きな物体を直接落下させること、
を含み得る。
【0097】
図22は、一実施形態に係る分離戦略、拾い上げ戦略及び落下戦略2200の戦略ステップを示す。一部の例によれば、本方法は、ブロック2202でポリシーから動作を決定することを含む。例えば、図1Aに示すロボット制御システム1900はポリシーから動作を決定し得る。次の動作は、観察、現在のロボットの状態、現在の物体の状態及びセンサーデータ2016と共にポリシーに基づき得る。この決定は、図23に示すポリシー2300から動作を決定するためのプロセスを通じて行われ得る。
【0098】
一実施形態では、戦略は、ブロック2202でポリシーから動作を決定する際に報酬又はペナルティ2212を組み込み得る。これらの報酬又はペナルティ2212は強化学習モデルを訓練するために主に用いられ、一部の実施形態では、ロボットの進行中の動作には適用されない。強化学習モデルの訓練はシミュレーションを用いて又はロボットの動作の間のモデル入力/出力/報酬/ペナルティを記録することによって行われ得る。記録されたデータは報酬を最大化し、ペナルティを最小化する動作を選択するように強化学習モデルを訓練するために用いられ得る。一部の実施形態では、強化学習を用いた物体拾い上げのための報酬又はペナルティ2212は、
・毎秒追加される小さなペナルティ、
・対象物体がショベルの縁に最初に触れたときの報酬、
・対象物体がショベルに完全に押し込まれたときの報酬、
・対象物体がショベルから失われたときのペナルティ、
・障害物又は壁との衝突に対するペナルティ(力フィードバックの最大値を超える)
・非対象物体を持ち上げた場合のペナルティ、
・ロボットが立ち往生するか又は物体の上を走行した場合のペナルティ、
を含み得る。
【0099】
一部の実施形態では、強化学習を用いた物体分離(例えば、対象物体を壁から右側に遠ざける)のための報酬又はペナルティ2212は、
・毎秒追加される小さなペナルティ、
・右側グラバーパッドアームが対象物体と壁の間にある場合の報酬、
・壁からの対象物体の距離が10センチメートルを超えた場合の報酬、
・対象物体と誤って衝突した場合のペナルティ、
・障害物又は壁と衝突した場合のペナルティ(力フィードバックの最大値を超える)、
・ロボットが立ち往生するか又は物体の上を走行した場合のペナルティ、
を含み得る。
【0100】
一部の実施形態では、強化学習を用いた物体落下のための報酬又はペナルティ2212は、
・毎秒追加される小さなペナルティ、
・ロボットが箱に正しくドッキングした場合の報酬、
・対象物体が箱に正常に落下された場合の報酬、
・箱を動かす衝突の場合のペナルティ、
・障害物又は壁との衝突に対するペナルティ(力フィードバックの最大値を超える)、
・ロボットが立ち往生するか又は物体の上を走行した場合のペナルティ、
を含み得る。
【0101】
少なくとも1つの実施形態では、本願で説明する技術は、問題がタプル(S、O、A、P、r、γ)として表されるマルコフ決定プロセス(MDP)としてモデル化される強化学習アプローチを用いり得る。ここで、Sは環境内の状態のセットであり、Oは観察のセットであり、Aはアクションのセットであり、P:S×A×S
(外1)
は状態遷移確率関数で
あり、r:S×A
(外2)
は報酬関数であり、γは割引係数である。
【0102】
少なくとも1つの実施形態では、訓練の目標は、時間tでアクションa=π(o)を行うことが状態stからの割引将来報酬の合計を最大化するように決定論的方針π:O
(外3)
を学習することである。
【0103】
【数1】
【0104】
少なくとも1つの実施形態では、アクションaを行った後、環境はPからのサンプリングにより状態sから状態st+1に遷移する。少なくとも1つの実施形態では、状態sでのアクションaを行うことの質は、Q関数として知られる
(外4)
によって測定される。
【0105】
一実施形態では、ブロック2202でポリシーからのアクションを決定する際に移動衝突回避システム2214からのデータが用いられ得る。各戦略は、それが考慮する利用可能なアクションの関連リストを有し得る。戦略は、戦略の実行に伴う各アクションの動作範囲を決定するために移動衝突回避システムを用いり得る。例えば、ショベルをグラバーパッドアーム又はグラバーパッド(それらがショベルの下で閉じられている場合)、近くの壁等の障害物又はショベルの下で転がった可能性のある物体(ボール等)にぶつけることなく地面に降ろすことができるかどうかを確認するために移動衝突回避システムが用いられ得る。
【0106】
一部の例によれば、本方法は、ブロック2204でアクションを実行することを含む。例えば、図1Aに関連して紹介したようなロボット100は、ブロック2202から決定されたアクションを実行し得る。アクションは、観察、現在のロボットの状態、現在の物体の状態及びセンサーデータ2016に基づき得る。アクションは、ロボットモーター及びロボット100の他のアクチュエータ2210の動作を介して行われ得る。実世界環境2002はロボット100の動作によって影響を受け得る。環境2002の変化は、図20に関して説明したように検出され得る。
【0107】
一部の例によれば、本方法は、ブロック2206で目標に向けた進行状況を確認することを含む。例えば、図1Aに示すロボット制御システム1900は、目標に向けたロボット100の進行状況を確認し得る。この進行状況の確認により、判定ブロック2208で戦略の目標を達成したか又は致命的なエラーが起きたと判定された場合、戦略の実行が停止される。目標が達成されず、致命的なエラーが起きなかった場合、戦略はブロック2202に戻り得る。
【0108】
図23は、一実施形態に係るポリシー2300からアクションを決定するためのプロセスを示す。ポリシー2300からアクションを決定するプロセスは、戦略の種類2302を考慮に入れ、ブロック2304で戦略の種類2302に基づいて使用すべき利用可能なアクションを決定し得る。強化学習アルゴリズム又はルールベースのアルゴリズムは、単純なアクション及び予め定義された複合的なアクションの両方を利用し得る。個々のアクチュエータを制御する単純なアクションの例は、
・左側グラバーパッドアームを新たな位置に動かすこと(上又は下に回転させる)、
・左側グラバーパッドリストを新たな位置に動かすこと(左又は右に回転させる)、
・右側グラバーパッドアームを新たな位置に動かすこと(上又は下に回転させる)、
・右側グラバーパッドリストを新たな位置に動かすこと(左又は右に回転させる)、
・ショベルを新たな位置に持ち上げること(上又は下に回転させる)、
・ショベルの角度を変更すること(前方落下用の第2のモーター又はアクチュエータで)、
・左側ホイールを駆動すること
・右ホイールの駆動すること、
を含み得る。
【0109】
予め定義された複合的なアクションの例は、
・位置/通過点へのパスに従ってロボットを駆動すること、
・ロボットを所定の位置で左又は右に回転させること、
・物体に対してロボットをセンタリングさせること、
・グラバーパッドアームを物体の頂部/底部/中央に揃えること、
・物体がショベルの端に接するまで前進すること、
・両方のグラバーパッドアームを閉じ、滑らかな動きで物体を押すこと、
・物体を把持しながら、ショベル及びグラバーパッドアームを一緒に持ち上げること、
・両方のグラバーパッドアームを閉じ、素早いタップ及び僅かなリリースで物体を押すこと、
・ショベルを床/カーペットに軽く置くこと、
・ショベルを床/カーペットに押し下げること、
・抵抗に遭遇するまで/圧力が加えられるまでグラバーパッドアームを閉じ、その位置を保持すること、
・振動及び左右の回転によりグラバーパッドアームを閉じて、不安定性及びショベルの縁上の平らな物体のわずかな跳ね返りを作り出すこと、
を含み得る。
【0110】
ブロック2308で、ポリシー2300からアクションを決定するプロセスは、ブロック2304で決定された利用可能なアクション2306のリストを取り、各アクションについて動作範囲2312を決定し得る。動作範囲2312は、観測、現在のロボットの状態、現在の物体の状態及びロボット制御システムに利用可能なセンサーデータ2016に基づいて決定され得る。アクションの種類2310も移動衝突回避システム2214に示され、移動衝突回避システム2214は動作範囲2312を決定し得る。
【0111】
ポリシー2300からアクションを決定するプロセスのブロック2308は、決定された動作範囲2312に基づいて観測リスト2314を決定し得る。例示の観測リスト2314は、
・環境内の検出及び分類された物体、
・グローバル又はローカル環境マップ、
・状態1:左側アームが20度内側に位置する、
・状態2:右側アームが150度内側に位置する、
・状態3:対象物体がショベルの端から15cmの位置にある、
・状態4:対象物体が中心から5度右にある、
・アクション1の最大範囲:最大1センチメートル前方に駆動
・アクション2の最大範囲:最大10センチメートル後方に駆動
・アクション3の最大範囲:左側アームを最大70度開く
・アクション4の最大範囲:右側アームを最大90度開く
・アクション5の最大範囲:左側アームを最大45度閉じる
・アクション6の最大範囲:右側アームを最大0度閉じる
・アクション7の最大範囲:最大45度左に曲がる
・アクション8の最大範囲:最大45度右に曲がる
を含み得る。
【0112】
ブロック2316で、強化学習モデルが観察リスト2314に基づいて実行され得る。強化学習モデルは、関連するポリシーに基づいて、ロボット100が完了することを試みる戦略に適したアクション2318を返し得る。
【0113】
図24は、一実施形態に係る配置プロセス2400を示す。配置プロセス2400は、本願に開示のアルゴリズムの一部として、図1Aに関連して紹介したようなロボット100によって行われ得る。このロボットは、図1A図1Dに示す感知システム、制御システム、モビリティシステム、グラバーパッド、グラバーパッドアーム及びショベル又は当該技術分野でよく理解されている同等の機能を行う同様のシステム及び特徴を有し得る。
【0114】
ブロック2402で、ロボットは、ロボットによって運ばれる物体が配置されることを意図する目的地を検出し得る。ブロック2404において、ロボットは、目的地への目的地接近経路を決定し得る。この経路は、目的地付近の障害物を避けるように決定され得る。一部の実施形態では、ロボットは、目的地接近経路から物体を押し出すか又は遠ざけるための追加のナビゲーションステップを行い得る。ロボットは物体配置パターンも決定することがあり、物体配置パターンは、少なくとも設置パターン及び落下パターンのうちの1つである。本、他の媒体、狭い箱等のいくつかの整然と積み重ねることができる物体は、それらを注意深く積み重ねることによって最も整然と片付けられ得る。他の物体は整然と積み重ねることはできないが、箱に落とすことによって容易に配置でき得る。物体の属性に基づいて、ロボットは、どの物体配置パターンがその物体に最も適しているかを決定し得る。
【0115】
ブロック2406において、ロボットは目的地接近経路を介して目的地に近づき得る。ロボットが目的地接近経路をナビゲートする方法は、物体配置パターンに基づいて決定され得る。運ばれている物体をロボットのシャーシの背部に落下させる場合、ロボットは目的地接近経路を逆方向に横断して、シャーシの背部が目的地に最も近くなった状態で停止し得る。あるいは、ショベルの前、すなわちシャーシと反対側のショベルの領域に積み重ねるか又は置かれるべき物体の場合、ロボットはショベルが目的地に最も近くなるように目的地接近経路に沿って前進し得る。
【0116】
判定ブロック2408で、ロボットは、物体は置かれるべきか又は落下されるべきかに応じて、少なくとも2つの方法のうちの1つに進み得る。物体配置パターンが設置パターンであることを意図する場合、ロボットはブロック2410に進み得る。物体配置パターンが落下パターンであることを意図する場合、ロボットはブロック2416に進み得る。
【0117】
設置パターンを介して配置される物体の場合、ロボットは、ブロック2410で、目的地がショベル及びグラバーパッドの前にある状態で停止し得る。ブロック2412で、ロボットはショベル及びグラバーパッドを配置高さまで下げ得る。例えば、既存の積み重ねられた本の上に本を配置する場合、配置高さは、積み重ねられた本のうちの最も高い本の最上部より僅かに高くてもよく、それにより、積み重ねられた本の邪魔になることなく又は積み重ねられた本を崩すか又は積み重ねられた本を不安定にさせるのに十分な勢いを有し得る高さから本を落下させることなく本が置かれ得る。最後に、ブロック2414で、ロボットはそのグラバーパッドを用いて物体を収容領域から目的地に押し出し得る。一実施形態では、物体をショベルから押し出すグラバーパッドの支援の有無にかかわらず、ショベルを前方に傾けて物体が落下させられ得る。
【0118】
判定ブロック2408において、落下パターンである物体配置パターンで進むとロボットが判定した場合、ロボットはブロック2416に進み得る。ブロック2416で、ロボットは、目的地がショベル及びグラバーパッドの背後にあり、これにより、図1Aに示すようなロボットのシャーシの後ろにある状態で停止し得る。ブロック2418で、ロボットはショベル及びグラバーパッドを配置高さに上げ得る。一実施形態では、対象物は、ショベル及びグラバーパッドアームを搬送位置から配置高さに上げることにより、対象物が収容領域から目的領域内に落下させられるように配置され得る。さもなければ、ブロック2420で、ロボットはグラバーパッドを伸長させ、対象物が目的領域で又は内で静止するように対象物を収容領域から落下させ得る。一実施形態では、対象物をショベルから押し出すグラバーパッドの支援の有無にかかわらず、ショベルが前方に傾斜されて対象物が落下させられ得る。
【0119】
開示のアルゴリズムは、図25に示すような捕捉プロセス2500を含み得る。捕捉プロセス2500は、図1Aに関連して紹介したようなロボット100によって行われ得る。このロボットは、図1A図1Dに示す感知システム、制御システム、モビリティシステム、グラバーパッド、グラバーパッドアーム及びショベル又は当該技術分野でよく理解されている同等の機能を行う同様のシステム及び特徴を有し得る。
【0120】
捕捉プロセス2500は、ロボットが持ち上げるべき物体の開始位置及び属性を検出するブロック2502で始まり得る。開始位置は、ロボットが片付けるようにプログラムされている部屋内のランドマークの学習済みマップに対して決定され得る。そのようなマップはロボットの電気システム内のメモリに記憶され得る。これらのシステムについては、図19を参照してさらに詳細に説明されている。物体属性は、カメラ、LIDAR又は他のセンサーを含み得る感知システムからの入力に基づいて検出され得る。一部の実施形態では、そのようなセンサーによって検出されたデータは、変形可能性及び寸法等の属性を特定するために、共通物体のデータベースと比較され得る。一部の実施形態では、ロボットは、寸法等の物体属性を計算するために、既知のランドマーク属性を用いり得る。一部の実施形態では、属性の検出及び分析を改善するために機械学習が用いられ得る。
【0121】
ブロック2504では、ロボットは開始位置への接近経路を決定し得る。接近経路は周囲の空間の形状、物体の周囲で検出された障害物及びロボットが物体に接近するときにロボットが構成され得るコンポーネントを考慮し得る。ロボットは、物体との最初の接触のための把持高さをさらに決定し得る。この把持高さは、グラバーパッドが、物体の下又は物体の周囲で物体が滑り落ちる可能性が最も低い状態で物体を動かすか又は物体をショベルの中以外のある方向に偏向させるために、物体の推定重心を考慮し得る。ロボットは、物体をショベル内に向けて推進するのに最適化された間隔で適用される力で、ある方向から物体が接触されるように、物体の捕捉の間のグラバーパッドの移動のための把持パターンを決定し得る。最後に、ロボットは、グラバーパッドと、物体が捕捉された後に搬送のために収容領域に物体を固定するショベルとの搬送位置を決定し得る。この位置は、物体の寸法、その重量及びその重心等の属性を考慮し得る。
【0122】
ブロック2506で、ロボットは、そのグラバーパッドをグラバーパッドアームに対して外方及び前方に伸ばし、グラバーパッドを把持高さに上げ得る。これにより、ロボットは接近の後にこの延長のために部屋を出ることなく、可能な限り物体に近づくことができ得る。あるいは、ロボットは、接近経路に沿って障害物への衝突を防止するために、シャーシ及びショベルの近くでアームが折り畳まれた状態で接近の一部を行い得る。一部の実施形態では、ロボットは先ず接近経路をナビゲートし、アーム及びショベルを展開して接近経路か物体を取り除き得る。ブロック2508で、ロボットは、最終的に、接近経路を介して物体に近づき、物体がグラバーパッドの間に配置されたときに停止し得る。
【0123】
ブロック2510で、ロボットは、ブロック2502で決定された把持パターンを実行して、収容領域内の物体を捕捉し得る。収容領域は、ショベルの寸法及びショベルに対するグラバーパッドアームの配置によって大まかに記述される領域である。これは、搬送すべき物体が、移動中に、ショベル及びグラバーパッドアームからずれるか、外れるか又は落下する可能性が最小限となる領域であると理解されよう。判定ブロック2512で、ロボットは、物体が収容領域内にあることを確認し得る。物体が収容領域内にある場合、ロボットはブロック2514に進み得る。
【0124】
ブロック2514で、ロボットは、物体を収容領域内で静止させて保持するために、グラバーパッドで物体に軽い圧力を加え得る。一部の実施形態では、この圧力は、ショベルの頂部の上に延びる物体をショベルの側面及び表面に対して抑え込むために下向きのものであり得る。他の実施形態では、ショベル内の物体をショベルの背面に対して保持するためにこの圧力は水平に加えられ得る。一部の実施形態では、物体がショベルの前面から滑り落ちることを可能にする隙間が形成されるのを防止するために、圧力はショベルの底部に対するものであり得る。
【0125】
ブロック2516で、ロボットは、ショベル及びグラバーパッドをブロック2502で決定された搬送位置に上げ得る。次いで、ロボットは、ブロック2518で、物体を目的地に運び得る。ロボットは、開始位置と物体が配置される目的地との間の遷移経路を辿り得る。物体を目的地に配置するために、ロボットは、図24に示す配置プロセス2400を辿り得る。
【0126】
判定ブロック2512で、物体が収容領域内で検出されないか又は収容領域内に部分的に又は不安定に位置していると判定された場合、ロボットは、ブロック2520で、グラバーパッドをショベル2946から引き出してグラバーパッドアームに対して前方に伸ばし、グラバーパッドを把持高さに戻し得る。その後、ロボットはブロック2510に戻り得る。一部の実施形態では、ロボットは、ブロック2522で、物体を捕捉するために単に解放して再試行することが実行可能でない場合に、物体から後退し得る。これは、物体を捕捉しようとする最初の試みによって、物体が再配置又は移動された場合に起こり得る。ブロック2524で、ロボットは物体への接近経路を再決定し得る。その後、ロボットはブロック2508に戻り得る。
【0127】
図26は、上述した配置プロセス2400及び捕捉プロセス2500の一実施形態に係るプロセス図2600の初期を示す。ステップ2602で、ロボットは対象物体又は物体グループに向けて駆動し得る。ロボットは、ローカルマップ又はグローバルマップを用いて対象物体又は物体グループに近づくようにナビゲートし得る。
【0128】
ステップ2604で、ロボットは接近角度を調整し、障害物を動かし得る。本にその背の方向から接近する等、特定の物体のための最適な接近角度が決定され得る。障害物が邪魔にならないように押し出すためにグラバーパッドアームが用いられ、ロボットはその接近角度を調整するために駆動し得る。
【0129】
ステップ2606で、ロボットは、物体又は物体グループの種類に基づいてそのアームの高さを調整し得る。対象物体又は物体グループを拾い上げるための戦略は、アームの高さを含み、拾い上げるべき物体によって異なり得る。例えば、バスケットボールは、転がるようにその上から押され得る。ぬいぐるみは、滑って、横倒しになって押すのが困難になるか又はグラバーパッドアームの上に倒れるないようにするために中央から押され得る。本は、床の非常に近くで側部から押され得る。レゴは、アームで床に対して押し付けられ得る。
【0130】
ステップ2608で、ロボットは、アームが物体又は物体グループを越えて整列するように駆動し得る。物体又は物体グループはショベル又はスコップと接触し、2つのグラバーパッドアームの内側の領域内に存在し得る。
【0131】
ステップ2610で、ロボットはそのアームを用いて物体又は物体グループをショベル又はスコップに押し付け得る。アームは、前で説明したように把持パターンに従って知的に用いられ得る。一部の例では、両方のアームが共に徐々に押し得るが、物体が転がり、動くと調整が行われ得る。
【0132】
ステップ2612で、ロボットは物体が拾い上げられたかどうか判定し得る。カメラセンサー又は他のセンサーを利用して、物体又は物体グループがショベル又はスコップ上に成功裏に押し込まれたかどうか確認又は検出され得る。物体が拾い上げられていない場合、ステップ2614で、ロボットはアームをリリースして開き得る。アームは先ず、物体が締め付けられないように僅かにリリースされ、次に、物体がショベル又はスコップから現在よりも遠くに押し出されないようにするために物体又は物体群の上に動かされる。これにより、ロボットは、最初のアクションが十分でない場合に、拾い上げを徐々に進めることができる。ここから、ロボットはステップ2604に戻り得る。ステップ2612で物体がショベル内にあることが検出された場合、ロボットはステップ2616に進み得る。
【0133】
ステップ2616で、ロボットは、物体の頂部に又はショベル又はスコップに対して軽い圧力を加え得る。物体の種類に基づいて、ロボットは物体又は物体グループをショベル又はスコップ内で保持するために、物体に圧力を加え得る。例えば、ロボットはバスケットボールの頂部をしっかりと保持するか、ぬいぐるみをつかむか、本を押し下げるか又はショベル又はスコップに対して押し付けて、ビー玉又はプラスチック製のブロック等の小さな物体のグループを保持し得る。
【0134】
ステップ2618で、ロボットは、物体又は物体グループをグラバーパッドアームで保持し続けながら持ち上げ得る。ショベル又はスコップ及びアームは、物体又は物体グループがショベル又はスコップから転げ出るか又は外れることなく運ぶために、45度等の意図する角度に共に上げられ得る。ショベル及びアームが所望の角度まで持ち上げられた状態で、アームは物体をショベル内で固定し続けるために圧力を継続的に加え得る。
【0135】
ステップ2620で、ロボットは物体を置くために目的地に移動する。ロボットは、物体又は物体グループを置くためにローカル又はグローバルマップを用いて目的地にナビゲートし得る。例えば、これは、物体を保持することを意図した容器、積み重ねられた本又は物体又は物体グループが邪魔にならない床の指定された部分であり得る。
【0136】
ステップ2622で、ロボットは、物体又は物体グループを保持するショベル又はスコップを目的地の上に動かし得る。ショベルの高さ又は位置は目的地と整合するように調製され得る。例えば、ショベル又はスコップが容器の上に持ち上げられ得るか又は既存の積み重ねられた本の上部の領域に整合され得る。
【0137】
ステップ2624で、ロボットは、そのグラバーパッドアームを用いて目的地に物体又は物体グループを置き得る。アームは、物体又は物体グループを容器に落下させるために開かれ得るか又はショベル又はスコップから物体を前方に押し出すのに用いられ得る。例えば、バスケットボールは、ロボットの背越しに容器内に落とされ、本は既存の積み重ねられた本の上に慎重に前方に押され得る。最後に、プロセスは、ステップ2626で物体が目的地に成功裏に落とされるか又は置かれて終了する。
【0138】
図27A図27Dは、一実施形態に係る積み重ね可能な物体2700のプロセスを示す。図27Aは、ステップ2702~2710を行うロボットの側面図を示すのに対して、図27Bは、これらの同じステップの実行の上面図を示す。図27Cは、ステップ2712~2720の側面図を示し、図27Dはこれらのステップの上面図を示す。積み重ね可能な物体は、本、コンパクトディスク(CD)、デジタルビデオディスク(DVD)又は他の媒体を保持するケース、パズルボックス等の幅狭なボックス又は容易に且つ整然と積み重ねることができる何らかの他の物体であり得る。
【0139】
図27A及び図27Bに示すように、ロボットは先ず、ステップ2702に示すように、開始位置2724に位置する積み重ね可能な物体2722に移動する。ロボットは、接近経路2726を辿って積み重ね可能な物体2722に移動し得る。ステップ2704及びステップ2712に示すように、ロボットは、物体の種類に基づいてそのグラバーパッドアームを把持高さ2728に調整し得る。本等の積み重ね可能な物体の場合、これは、本の頂部のすぐ上であり得る。ロボットは、ステップ2706及びステップ2706で、そのアームが物体2730を越えて整列するように駆動し得る。ロボットは、ステップ2708及びステップ2708で把持パターン2732を採用し、そのアームを用いて本をショベル又はスコップに押し付ける。ステップ2710及びステップ2710でグラバーパッドアームを用いて、ロボットは、本をショベル内又はショベルの上部でしっかり保持するために、本の頂部に軽い圧力2734を加え得る。
【0140】
図27C及び図27Dに示すように、ロボットは、ステップ2712で、本をそのグラバーパッドアームで保持し続け、本をショベル内の搬送位置2736で維持しながら本を持ち上げ得る。ステップ2714で、ロボットは、目的地接近経路2740を辿って、本を置くことが意図されている目的地2738に移動し得る。ロボットは、ステップ2716で本を配置高さ2742に位置決めするために、ショベル及びグラバーパッドアームを調整し得る。本等の積み重ね可能な物体の場合、これは、既存の積み重ねられた本の上部より上の領域と水平に本を位置決めし得る。ステップ2718で、ロボットは、そのアームを用いて本を押し、配置パターン2744を用いて目的地(つまり、積み重ねられた本の上に)に置き得る。本は、このようにしてステップ2720でその目的地に落とされ得るか又は配置され得る。
【0141】
積み重ね可能な物体2700のためのこのプロセスは、図1A図1D図2A図2E図3A図3C図4A図4C図5図6図7図8図9図10図11図12図13図14図15図16及び図17並びに図18A及び図18Bに示すもの等の本願で開示のロボットのいずれかによって行われ得る。
【0142】
図28A図28Dは、一実施形態に係る大きく、僅かに変形可能な物体2800のためのプロセスを示す。図28Aは、ステップ2802~2810を行うロボットの側面図を示し、図28Bは、これらの同じステップの実行の上面図を示す。図28Cは、ステップ2812~2820の側面図を示し、図28Dはこれらのステップの上面図を示す。大きく、僅かに変形可能な物体は、ショベルの寸法の外側に延び、ほとんど変形又は形状の変化なしに圧力に応答し得るバスケットボール等の物体であり得る。
【0143】
図28A及び図28Bに示すように、ロボットは、先ず、ステップ2802で接近経路2826を辿って、開始位置2824に位置するバスケットボール等の大きく、僅かに変形可能な物体2822に移動し得る。ロボットは、ステップ2804で、物体の種類に基づいて、グラバーパッドアームを把持高さ2828に調整し得る。バスケットボール等の大きく、僅かに変形可能な物体2822の場合、これはバスケットボールの頂部の近く又は上であり得る。ロボットは、ステップ2806で、そのアームが物体2830を越えて整列するように駆動し得る。ロボットは、ステップ2808で把持パターン2832を採用し、そのアームを用いてショベル又はスコップにバスケットボールを押すか又は転がし得る。ステップ2810でグラバーパッドアームを用い、ロボットは、バスケットボールをショベル内又はその上でしっかり保持するために、バスケットボールの頂部に軽い圧力2834を加え得る。
【0144】
図28C及び図28Dに示すように、ロボットは、ステップ2812で、バスケットボールをそのグラバーパッドアームで保持し続け、ボールをショベル内の搬送位置2836で維持しながらバスケットボールを持ち上げ得る。次に、ステップ2814で、ロボットは、目的地接近経路2840を辿って、バスケットボールを置くことが意図されている目的地2838に移動し得る。ステップ2816で、ロボットは、バスケットボールを配置高さ2842に位置決めするために、ショベル及びグラバーパッドアームを調整し得る。バスケットボール等の物体の場合、これは、容器の方に傾斜するか又は向けられたロボットの上の領域にショベル及びボールを位置決めし得る。ステップ2818で、ロボットは、落下パターン2844を用いて物体を目的地の容器内にリリースするためにそのアームを開き得る。バスケットボールは、ステップ2820で、ショベル2846から落下してその目的地容器に置かれる。
【0145】
大きく、僅かに変形可能な物体2800のためのプロセスは、図1A図1D図2A図2E図3A図3C図4A図4C図5図6図7図8図9図10図11図12図13図14図15図16及び図17並びに図18A及び図18Bに示すもの等の本願で開示のロボットのいずれかによって行われ得る。
【0146】
図29A図29Dは、一実施形態に係る大きく、高度に変形可能な物体2900のためのプロセスを示す。図28Aは、ステップ2902~2910を行うロボットの側面図を示し、図28Bは、これらの同じステップの実行の上面図を示す。図29Cは、ステップ2912~2920の側面図を示し、図29Dはこれらのステップの上面図を示す。大きく、高度に変形可能な物体は、ショベルの寸法の外側に延び、大きく変形又は形状の変化して圧力に応答し得るぬいぐるみ、ビーンバッグのおもちゃ、空のバックパック等の物体であり得る。
【0147】
図29A及び図29Bに示すように、ロボットは先ず、ステップ2902で、開始位置2924に位置するぬいぐるみ等の大きく、高度に変形可能な物体2922に移動する。ロボットは、ステップ2904で、物体の種類に基づいて、そのグラバーパッドアームを把持高さ2928に調整し得る。ぬいぐるみ等の大きく、高度に変形可能な物体の場合、これは物体の垂直方向の中心の近くであり得るか又は予測された重心でもあり得る。ロボットは、ステップ2906で、そのアームが物体2930を越えて整列するように駆動し得る。ロボットは、ステップ2908で把持パターン2832を採用し、そのアームを用いてショベル又はスコップにぬいぐるみを押し付ける。ステップ2910でグラバーパッドアームを用い、ロボットは、ぬいぐるみをショベル内又はその上でしっかり保持するために、ぬいぐるみの頂部に軽い圧力2934を加え得る。
【0148】
図29C及び図29Dに示すように、ロボットは、ステップ2912で、ぬいぐるみをそのグラバーパッドアームで保持し続け、ぬいぐるみをショベル内の搬送位置2936で維持しながらぬいぐるみを持ち上げ得る。次に、ステップ2914で、ロボットは、目的地接近経路2940を辿って、ぬいぐるみを置くことが意図されている目的地2938に移動し得る。ステップ2916で、ロボットは、ぬいぐるみを配置高さ2942に位置決めするために、ショベル及びグラバーパッドアームを調整し得る。ぬいぐるみ等の物体の場合、これは、容器の方に傾斜するか又は向けられたロボットの上の領域にショベル及びぬいぐるみを位置決めし得る。ステップ2918で、ロボットは、落下パターン2944を用いて物体を目的地の容器内にリリースするためにそのアームを開き得る。ぬいぐるみは、ステップ2920で、ショベル2846の外に転がるか、滑り落ちるか又は落下してその目的地容器内に置かれる。
【0149】
大きく、僅かに変形可能な物体2800のためのプロセスは、図1A図1D図2A図2E図3A図3C図4A図4C図5図6図7図8図9図10図11図12図13図14図15図16及び図17並びに図18A及び図18Bに示すもの等の本願で開示のロボットのいずれかによって行われ得る。
【0150】
図30A図30Dは、一実施形態に係る小さく、容易に散乱する物体3000のためのプロセスを示す。図30Aは、ステップ3002~3010を行うロボットの側面図を示し、図30Bは、これらの同じステップの実行の上面図を示す。図30Cは、ステップ3012~3020の側面図を示し、図30Dはこれらのステップの上面図を示す。小さく、容易に散乱する物体は、ロボットのグラバーパッドアームと接触した場合に容易に散乱し得るか又は適切な注意が払われない場合、搬送の間にショベルから滑り落ち得る小さなプラスチック製のブロック、ビー玉、シリアル等の小さく軽量の物体であり得る。
【0151】
図30A及び図30Bに示すように、ロボットは先ず、ステップ3002で、開始位置3024に位置する一群のプラスチック製のブロック等の小さく、容易に散乱する物体3022に移動する。ロボットは、ステップ3004で、物体の種類に基づいて、そのグラバーパッドアームを把持高さ3028に調整し得る。小さく、容易に散乱する物体の場合、これは床の近く又は接触した高さである。ロボットは、ステップ3006で、そのアームが物体3030を越えて整列するように駆動し得る。ロボットは、ステップ3008で把持パターン2832を採用し、そのアームを用いてショベル又はスコップに物体を押し付ける。そのような物体のための把持パターン3032は、連続的な圧力ではなく小さな力又は小さな弧を描く動きを用いり得る。ステップ3010で、ロボットは、シャベルの前にわたってそのアームを閉じ、ショベルに対して小さな圧力を加えて物体が転がるか又は滑り出るのを防止し得る。
【0152】
図30C及び図30Dに示すように、ロボットは、ステップ3012で、そのグラバーパッドアームでショベルが開くのをブロックし続け、物体をショベル内の搬送位置3036で維持しながらブロックを持ち上げ得る。次に、ステップ3014で、ロボットは、目的地接近経路3040を辿って、物体を置くことが意図されている目的地3038に移動し得る。ステップ3016で、ロボットは、物体を配置高さ3042に位置決めするために、ショベル及びグラバーパッドアームを調整し得る。小さなプラスチック製のブロック等の物体の場合、これは、容器の方に傾斜するか又は向けられたロボットの上の領域にショベルを位置決めし得る。ステップ3018で、ロボットは、落下パターン3044を用いて、アームによって捉えられている物体を目的地の容器内にリリースするためにそのアームを開き得る。ブロックは、ステップ3020で、ショベル3046の外に転がるか、滑り落ちるか又は落下してその目的地容器内に置かれる。
【0153】
小さく、容易に散乱する物体3000のためのプロセスは、図1A図1D図2A図2E図3A図3C図4A図4C図5図6図7図8図9図10図11図12図13図14図15図16及び図17並びに図18A及び図18Bに示すもの等の本願で開示のロボットのいずれかによって行われ得る。
【0154】
図31は、一実施形態におけるロボットシステム3100を示す。ロボットシステム3100は1つ以上のセンサー3102及び1つ以上のカメラ3104から入力を受信し、これらの入力を位置確認ロジック3106、マッピングロジック3108及び知覚ロジック3110による処理のために提供する。処理ロジックの出力は、ロボットシステム3100の経路プランナー3112、拾い上げプランナー3114及び動作コントローラ3116に提供され、次に、システムのモーター及びサーボコントローラ3118を駆動する。
【0155】
カメラは正面ステレオ配置に配置されてもよく、後方カメラも含み得る。あるいは、単一の正面カメラを利用してもいいし、単一の後方カメラとともに単一の正面カメラを利用してもよい。場合によっては、他のカメラ配置(例えば、1つ以上の側面カメラ又は斜めに向いたカメラ)も利用され得る。
【0156】
位置確認ロジック3106、マッピングロジック3108及び知覚ロジック3110のうちの1つ以上は移動ロボット上に位置する及び/又は移動ロボット上で実行され得るか又は携帯電話、ラップトップコンピュータ、タブレットコンピュータ若しくはデスクトップコンピュータ等のロボットと無線通信するコンピューティング装置内で実行され得る。一部の実施形態では、位置確認ロジック3106、マッピングロジック3108及び知覚ロジック3110のうちの1つ以上は、「クラウド」、すなわち、インターネット又は他のネットワークを介してロボットに結合されたコンピュータシステム上に配置する及び/又は該コンピュータシステム上で実行され得る。
【0157】
知覚ロジック3110は画像セグメンテーション活性化3144信号によって結合され、周知の画像セグメンテーション及び物体認識アルゴリズムのうちの任意の1つ以上を利用して、カメラ3104の視野内の物体を検出する。知覚ロジック3110はマッピングの目的で較正及び物体3120信号を提供し得る。位置確認ロジック3106は、周知のアルゴリズムのうちの任意の1つ以上を用いて、その環境内で移動ロボットの位置確認を行う。位置確認ロジック3106は、ローカルからグローバルへの変換3122参照フレーム変換を出力し、マッピングロジック3108はこれを較正及び物体3120信号と組み合わせて、拾い上げプランナー3114のための環境マップ3124及びパスプランナー3112のための物体追跡3126信号を生成する。
【0158】
マッピングロジック3108からの物体追跡3126信号に加えて、パスプランナー3112は、システム状態設定3130からのシステムの現在の状態3128、拾い上げプランナー3114からの同期信号3132及び動作コントローラ3116からの動作フィードバック3134も利用する。パスプランナー3112はこれらの入力を、動作コントローラ3116を駆動するナビゲーション通過点3136に変換する。拾い上げプランナー3114は知覚ロジック3110からの画像セグメンテーション3138入力、マッピングロジック3108からの3124及びパスプランナー3112からの同期信号3132を用いて、動作コントローラ3116への操作アクション3140(例えば、ロボット把持装置、ショベルの)にローカル知覚を変換する。パスプランナー3112及び拾い上げプランナー3114によって利用されるアルゴリズムの実施形態は以下でより詳細に説明する。
【0159】
一実施形態では、同時位置確認及びマッピング(SLAM)アルゴリズムを利用して、グローバルマップを生成し、同時にマップ上でロボットを位置確認し得る。多数のSLAMアルゴリズムが当該技術分野で知られており、商業的に利用可能である。
【0160】
動作コントローラ3116は、ナビゲーション通過点3136、操作アクション3140、及び画像セグメンテーション3138信号による局所知覚を、モーター及びサーボコントローラ3118へのターゲット動作3142信号に変換する。
【0161】
図32は、一実施形態におけるロボットプロセス3200を示す。ブロック3202で、ロボットプロセス3200は、基地局でスリープ状態にあるロボットを起こす。ブロック3204で、ロボットプロセス3200は、カメラを用いてロボットをその環境の周りでナビゲートし、おもちゃ、衣服、障害物及び他の物体の種類、サイズ及び位置をマッピングする。ブロック3206で、ロボットプロセス3200はニューラルネットワークを操作して、左右のステレオカメラからの画像に基づいて物体の種類、サイズ及び位置を特定する。開ループブロック3208で、ロボットプロセス3200は、物体の各カテゴリについて、対応する容器を用いてを実行する。ブロック3210で、ロボットプロセス3200は、カテゴリ内で拾い上る特定の物体を選択する。ブロック3212で、ロボットプロセス3200は経路計画を行う。ブロック3214において、ロボットプロセス3200は、対象物体に隣接し且つ対象物体に面してナビゲートする。ブロック3216で、ロボットプロセス3200はアームを作動させて他の物体を邪魔にならないように動かし、対象物体を前面ショベル上に押し出す。ブロック3218で、ロボットプロセス3200は前面ショベルを上方に傾けてそれらをショベル上に保持する(ショベルの「ボウル」形状を作成する)。ブロック3220で、ロボットプロセス3200はアームを作動させて前方で閉じ、ロボットが次の位置にナビゲートする間に物体が車輪の下に入らないようにする。ブロック3222で、ロボットプロセス3200は経路計画を行い、収集のための現在の物体カテゴリについて容器の近くにナビゲートする。ブロック3224で、ロボットプロセス3200は、ロボットを容器の側面に揃える。ブロック3226で、ロボットプロセス3200はショベルを上方及び後方に持ち上げ、対象物体を容器の側面の上に持ち上げる。ブロック3228で、ロボットプロセス3200はロボットを基地局に戻す。
【0162】
あまり洗練されていない動作モードでは、ロボットは、最初に環境のグローバルマップを作成することなく、その視野内の物体を日和見的に拾い上げて容器に落とし得る。例えば、ロボットは、拾い上げる物体を見つけるまで単に探索し、その後、一致する容器を見つけるまで再び探索し得る。このアプローチは、探索する領域が限られているシングルルーム環境で効果的に機能する。
【0163】
図33は一実施形態におけるロボットプロセス3300も示し、ロボットシステムは図34に示すような状態空間マップ3400の実施形態を通してシーケンスする。
【0164】
シーケンスは、ロボットのスリープ(スリープ状態3402)及び基地局での充電(ブロック3302)から始まる。ロボットは、例えば、スケジュールに従って起動され、探索モードに入る(環境探索状態3404、起動アクション3406及びスケジュール開始時刻3408)。環境探索状態3404では、ロボットは、カメラ(及び他のセンサー)を用いて環境をスキャンし、その環境マップを更新し、自身の位置をマップ上で確認する(ブロック3304、設定された間隔3410を探索する)。ロボットは、拾い上げ物体がこれ以上ない場合3412又はバッテリが不足している場合3414に環境探索状態3404からスリープ状態3402に遷移し得る。
【0165】
環境探索状態3404から、ロボットは、床の上のアイテムを動かしてそれらをカテゴリごとにまとめる3418ように動作する物体整理状態3416に遷移し得る。この遷移は、ロボットが、床の上の物体が互いに近すぎると判定するか3420又は1つ以上の物体への経路が妨げられている3422と判定することによってトリガーされ得る。これらのトリガー条件のいずれも満たされなかった場合、ロボットは、環境マップが物体カテゴリの少なくとも1つの投下用の容器を含み3426、コンテナのカテゴリに拾い上げのための妨げられていない物体がある場合3428に、環境探索状態3404から物体拾い上げ状態3424に直接遷移し得る。同様に、ロボットは、これらの後者の条件の下で物体整理状態3416から物体拾い上げ状態3424に遷移し得る。ロボットは、拾い上げの準備ができている物体がない場合3430に、物体整理状態3416から環境探索状態3404に戻り得る。
【0166】
環境探索状態3404及び/又は物体整理状態3416では、カメラからの画像データを処理して異なる物体を識別する(ブロック3306)。ロボットは、拾い上げる特定の物体の種類/カテゴリを選択し、ナビゲートする次の通過点を決定し、対象物体及び拾い上げを行う場所の種類を環境マップに基づいて特定する(ブロック3308、ブロック3310及びブロック3312)。
【0167】
物体拾い上げ状態3424では、ロボットは対象物体に隣接するゴール位置を選択する(ブロック3314)。ロボットは、経路計画アルゴリズムを使用して、障害物を回避しながらその新たな位置にナビゲートする。ロボットは、左右のプッシャアームを作動させて、対象物体が通り抜けるのに十分な大きさであるが、ロボットが前進するときに他の不要な物体が収集されるほど大きくはない開口を形成する(ブロック3316)。ロボットは、対象物体が左右のプッシャアームの間に入るように前進し、左右のプッシャアームが協働して対象物体を収集ショベル上に押し込む(ブロック3318)。
【0168】
ロボットは、環境マップに基づいて、選択された種類の他の拾い上げるべき対象物体を識別するために拾い上げ状態3424を続け得る。他のそのような物体が検出された場合、ロボットは対象物体に隣接する新たな目標位置を選択する。ロボットは、経路計画アルゴリズムを用いて、前に収集された対象物体を運びつつ、障害物を回避しながらその新たな位置にナビゲートする。ロボットは、左右のプッシャアームを作動させて、対象物体が通り抜けるのに十分な大きさであるが、ロボットが前進するときに他の不要な物体が収集されるほど大きくはない開口を形成する。ロボットは、対象物体が左右のプッシャアームの間に入るように前進する。ここでも、左右のプッシャアームが協働して対象物体を収集ショベル上に押し込む。
【0169】
カテゴリ内の全ての識別された物体が拾い上げされた場合(3432)又はショベルが容量に達した場合(3434)、ロボットは物体落下状態(3436)に遷移し、環境のマップを用いて収集された物体の種類のための箱に隣接するゴール位置を選択し、経路計画アルゴリズムを用いて障害物を回避しながらその新たな位置にナビゲートする(ブロック3320)。ロボットは箱に向かって後退し、ロボットの背面がビンの背面と整列するドッキング位置に入る(ブロック3322)。ロボットはショベルを持ち上げ、ロボットの背面にある剛体アームの上を後方回転する(ブロック3324)。これにより、対象物体が箱の上部よりも上に持ち上げられ、箱に投棄される。
【0170】
拾い上げアイテムがさらにある場合(3438)又は環境のマップが不完全な場合(3440)、ロボットは物体落下状態3436から環境探索状態3404に戻り得る。ロボットは探索を再開し、関連する収集箱を有する環境内の他の種類の物体毎にプロセスが繰り返され得る(ブロック3326)
【0171】
ロボットは、拾い上げる物体がもうない場合(3412)又はバッテリが低い場合(3414)、物体落下状態3436からスリープ状態3402に遷移し得る。バッテリが十分に充電されるか又は次の作動又は予定された拾い上げ間隔で、ロボットは探索を再開し、関連する収集箱を有する環境内の他の種類の物体毎にプロセスが繰り返され得る(ブロック3326)。
【0172】
図35は、一実施形態におけるロボットシステムのためのロボット制御アルゴリズム3500を示す。ロボット制御アルゴリズム3500は、整理する物体の1つ以上のカテゴリを選択することによって開じまる(ブロック3502)
。選択されたカテゴリ内で、ターゲットカテゴリ及び経路のための開始位置を決定するグループ化が識別される(ブロック3504)。カテゴリ内の物体のグループ化を識別するために、任意の数の周知のクラスタリングアルゴリズムが利用され得る。
【0173】
開始目標位置への経路が形成され、経路はゼロ以上の通過点を含む(ブロック3506)。動作フィードバックが経路計画アルゴリズムに提供される。通過点は、静的及び/又は動的(移動)な障害物(対象グループ及び/又はカテゴリにない物体)を回避するように選択され得る。ロボットの動作コントローラは、対象グループへの通過点を辿るように取り組む(ブロック3508)。目標位置を到達した場合、安全に整理できるかどうかを判定するための追加の条件を含めて対象グループが評価される(ブロック3510)。
【0174】
ロボットの知覚システムは、ロボットのマニピュレータ(例えば、アーム)及び位置決めシステム(例えば、ホイール)のために生成される一連の動作を決定するための画像セグメンテーションを提供してグループを整理する(ブロック3514)ように動作する(ブロック3512)。対象グループが整理されるまで又は整理に失敗するまで(失敗するとブロック3510に戻る)、動作シーケンスが繰り返される。認識システムのエンゲージメントは対象グループへの近接によってトリガーされ得る。対象グループが整理されると、ロボットに十分なバッテリ寿命が残っており、整理するべきグループがカテゴリにあるという条件で、これらのアクションが繰り返される(ブロック3516)。
【0175】
バッテリ寿命の低下に応答して、ロボットはドッキングステーションに戻って充電する(ブロック3518)。しかしながら、バッテリ寿命が十分であり、カテゴリが整理されているという条件で、ロボットは物体拾い上げモードに入り(ブロック3520)、整理されたグループのうちの1つを拾い上げて落下容器に戻す。拾い上げモードに入ることは、対象物体の少なくとも1つの落下容器を含む環境マップ及び拾い上げのための対象グループ内の障害物のない物体の存在を条件としてもよい。拾い上げの準備ができている物体のグループがないという条件で、ロボットは環境を探索し続ける(ブロック3522)。
【0176】
図36は、一実施形態におけるロボットシステムのロボット制御アルゴリズム3600を示す。選択された物体カテゴリ内の対象物体が識別され(アイテム3602)、ロボットのための目標位置が対象物体の隣接位置として決定される(アイテム3604)。対象物体までの経路が一連の通過点として決定され(アイテム3606)、ロボットは障害物を避けながら経路に沿ってナビゲートされる(アイテム3608)。
【0177】
隣接位置に到達すると、対象物体の評価が行われ、安全に操作できるかどうか判定される(アイテム3610)。対象物体を安全に操作できるという条件で、ロボットはロボットのマニピュレータアーム、例えばショベルを用いて物体を持ち上げるように動作する(アイテム3612)。この時、操作をより良く制御するために、ロボットの知覚モジュールを利用して、対象物体及び近くの物体が分析され得る(アイテム3614)
【0178】
対象物体は、ショベル又は他のマニピュレータアーム上に置かれると、固定される(アイテム3616)。ロボットがさらなる物体に対する容量を有していないか又は選択されたカテゴリの最後の物体であるという条件で、物体落下モードが開始される(アイテム3618)。さもなければ、ロボットはプロセスを再び開始し得る(アイテム3602)。
【0179】
図37は、一実施形態によるロボット制御アルゴリズム3700を示す。ブロック3702で、本願で開示したようなロボットの左側カメラ及び右側カメラ又はロボットカメラの一部の他の構成は、ロボットの作業空間内のスケール不変キーポイントを生成するために用いられ得る入力を提供し得る。
【0180】
本開示における「スケール不変キーポイント」又は「視覚キーポイント」は、異なる領域から撮影された写真等の異なる視点にわたって維持され得る独特の視覚的特徴のことをいう。これは、異なる角度、異なるスケール又は元の撮影から異なる解像度を用いて撮影された他の画像内でこの特徴又は物体が撮影された場合に、領域又は領域内の物体の特徴を識別するために用いられ得る、ロボットの作業空間を撮影した画像内の一態様である。
【0181】
スケール不変キーポイントは、ロボットのカメラ又はモバイル装置のカメラによって撮影された画像に基づいて、ロボット又はモバイル装置にインストールされた拡張現実ロボットインターフェイスによって検出され得る。スケール不変キーポイントは、モバイル装置上のロボット又は拡張現実ロボットインターフェイスが、一致するコンテンツを表示するカメラフレーム間の幾何学的変換を決定するのを助け得る。これは、ロボットの作業空間内のロボット又はモバイル装置の位置の推定を確認又は微調整するのに役立つ。
【0182】
スケール不変キーポイントは、(限定されないが)スケール不変特徴変換(SIFT)、高速化ロバスト特徴(SURF)、指向ロバスト二値特徴(ORB)及びスーパーポイント等の当該技術分野でよく理解されているアルゴリズムを介して用いるために検出、変換及び照合され得る。
【0183】
ロボットの作業空間内に位置する物体は、左側カメラ及び右側カメラからの入力に基づいてブロック3704で検出され、それにより物体のための開始位置が定義され、物体がカテゴリに分類される。ブロック3706で、物体のために再識別指紋が生成され、再識別指紋は、将来検出される物体と物体との視覚的類似性を決定するために用いられる。将来検出される物体はグローバルエリアマップの更新又は変換の一部として再検出される同じ物体であり得るか又は将来の時点で同様に位置する同様の物体であってもよく、物体のより迅速な分類を支援するために再識別指紋が用いられ得る。
【0184】
ブロック3708で、ロボットは、ロボットの作業空間内で位置確認され得る。左側カメラ、右側カメラ、光検出及び測距(LIDAR)センサー及び慣性測定ユニット(IMU)センサーのうちの少なくとも1つからの入力を用いてロボットの位置が特定され得る。ロボットの作業空間は、スケール不変キーポイント、物体及び物体の開始位置を含むグローバルエリアマップを作成するためにマッピングされ得る。ブロック3710で、ロボットの作業空間内の物体は、開始位置、カテゴリ及び再識別指紋のうちの少なくとも1つに基づいて再識別され得る。ブロック3712で、各物体に永続的な一意の識別子が割り当てられ得る。
【0185】
ブロック3714で、ロボットは、ユーザによって操作されるモバイル装置にアプリケーションとしてインストールされた拡張現実ロボットインターフェイスからカメラフレームを受信し、カメラフレームに基づくカメラフレーム対グローバルエリアマップ変換を用いて開始位置及びスケール不変キーポイントでグローバルエリアマップを更新し得る。カメラフレーム対グローバルエリアマップ変換において、グローバルエリアマップは、特定の幾何学的変換を用いてモバイルカメラフレーム内で検出されたキーポイントに一致するスケール不変キーポイントのセットを見つけるために検索され得る。この変換は、幾何学的一貫性を維持しながら一致するキーポイントの数を最大化し、一致しないキーポイントの数を最小化し得る。
【0186】
ブロック3716で、物体のためにユーザインジケータが生成され、ユーザインジケータは次のターゲット、ターゲット順序、危険、大きすぎる、壊れやすい、乱雑及びブロッキング移動経路を含み得る。グローバルエリアマップ及び物体詳細はブロック3718でモバイル装置に送信され、物体詳細は、視覚的スナップショット、カテゴリ、開始位置、永続的な一意の識別子及び物体のユーザインジケータのうちの少なくとも1つを含み得る。この情報は、図1Cで紹介した通信134モジュール及び図19で紹介したネットワークインターフェイス1912によってサポートされるように、BlueTooth又はWifi等の無線シグナリングを用いて送信され得る。
【0187】
更新されたグローバルエリアマップ、物体、開始位置、スケール不変キーポイント及び物体詳細は、拡張現実ロボットインターフェイスを用いてモバイル装置上に表示され得る。拡張現実ロボットインターフェイスは、拡張現実ロボットインターフェイスへのユーザ入力を受け入れ、ユーザ入力は、ブロック3720で、物体タイプの変更、次に片付ける、片付けない及びユーザインジケータの変更を含む物体特性オーバーライドを示す。物体特性オーバーライドはモバイル装置からロボットに送信され、ブロック3722でグローバルエリアマップ、ユーザインジケータ及び物体詳細を更新するために用いられ得る。ブロック3718に戻って、ロボットは更新されたグローバルエリアマップをモバイル装置に再送信して、この情報を再同期し得る。
【0188】
図38は、一実施形態に係るロボットシステム3800を示す。ロボットシステム3800は、ロボット100、充電ステーション3802、物体3806が置かれ、それぞれが、物体カテゴリ3808、物体カテゴリ3810及び物体カテゴリ3812等の少なくとも1つの物体カテゴリに関連する複数の目的地こみ箱3804及びロボット100が開示の方法を行うことができるようにするロジック3814を含み得る。ロボット100、充電ステーション3802、物体3806及び目的地箱3804は、ロボットの作業空間3816とみなされ得る領域に位置し得る。
【0189】
ロボット100は、図1C及び図1Dに示すセンサー及びカメラを用いて、ロボットの作業空間3816の特徴を検出し得る。これらの特徴は、壁、コーナー、家具等のスケール不変キーポイント3818を含み得る。ロボット100は、ロボットの作業空間3816の床上の物体3806、ユーザ入力、過去に処理された物体との類似性の認識、機械学習又はこれらのいくつかの組み合わせに基づいてロボット100が決定し得るカテゴリに基づいて物体3806が置かれ得る目的地箱3804も検出し得る。ロボット100は、センサー及びカメラを用いて、ロボットの作業空間3816内で自身の位置確認を行い得る。ロボット100は、図37に関して説明したように、このデータの全てをグローバルエリアマップ3820に合成し得る。
【0190】
一実施形態では、ロボットシステム3800は、拡張現実ロボットインターフェイスアプリケーション3824がインストールされ、カメラフレーム3826を提供する機能を備えたモバイル装置3822も含み得る。ロボットシステム3800は、タブレット又はスマートフォン等のモバイル装置3822を所持するユーザを含み得る。モバイル装置3822は、本開示に従って機能するインストールされた拡張現実ロボットインターフェイスアプリケーション3824を有し得る。拡張現実ロボットインターフェイスアプリケーション3824は、モバイル装置3822の一部として構成されたカメラを用いるカメラフレーム3826を提供し得る。カメラフレーム3826は、ロボット100によって検出されるロボットの作業空間3816に関する情報が、カメラフレーム対グローバルエリアマップ変換3830に従って変換され、ロボット100及びモバイル装置3822が、ロボットの作業空間3816内の物体3806及びそれらの物体3828に付加され得るユーザインジケータ及び物体特性オーバーライドに関して同期を維持することを可能にするように、ロボットシステム3800内でモバイル装置3822の位置確認を行うために識別及び用いられ得るグラウンドプレーン3806を含み得る。
【0191】
グローバルエリアマップ3820は、一実施形態では、ロボットの作業空間3816のトップダウン二次元表現であり得る。グローバルエリアマップ3820は、ロボット100によって検出された情報がユーザの観点から拡張現実ロボットインターフェイスアプリケーション3824内で表現され得るように、カメラフレーム対グローバルエリアマップ変換3830を受け得る。グローバルエリアマップ3820は、モバイル装置位置3832、ロボット位置3834、物体開始位置3836及び物体落下位置3838を含むように更新され得る。一実施形態では、グローバルエリアマップ3820は家具又は他の物体3806を障害物3840として識別し得る。100によって現在考慮されている対象物体以外の物体3806は、拾い上げのそのフェーズの間に障害物3840と見なされ得る。一実施形態では、拡張現実ロボットインターフェイスアプリケーション3824はモバイル装置位置3832及びロボット位置3834も示し得るが、これらは図示されていない。
【0192】
本願で説明した様々な機能的な動作は、その動作又は機能を反映する名詞又は名詞句を用いて参照されるロジックで実施され得る。例えば、関連付け動作は「アソシエータ」又は「コリレータ」によって行われ得る。同様に、切り替えは「スイッチ」、「セレクタ」による選択等によって行われ得る。「ロジック」とは機械メモリ回路及び機械実行可能命令(ソフトウェア及びファームウェア)を含む非一時的機械読み取り可能媒体及び/又はその材料及び/又は材料エネルギー構成によって、装置の動作に影響を与えるために適用され得る制御及び/又は手続き信号及び/又は設定及び値(抵抗、インピーダンス、キャパシタンス、インダクタンス、電流/電圧定格等)を含む回路(ハードウェア)のことをいう。磁気媒体、電子回路、電気及び光学メモリ(揮発性及び不揮発性の両方)及びファームウェアはロジックの例である。ロジックは、純粋な信号又はソフトウェア自体を具体的に除外する(しかしながら、ソフトウェアを含み、それによって物質の構成を形成する機械メモリは除外されない)。
【0193】
本開示において、異なるエンティティ(これらは、「ユニット」、「回路」、他のコンポーネント等と様々な形で呼ばれ得る)は1つ以上のタスク又は動作を行うために「構成された」ものとして説明又はクレームされ得る。本願では、[1つ以上のタスクを行う]するように構成された[エンティティ]という定式は構造(すなわち、電子回路等の物理的なもの)のことをいう。より具体的には、この定式化は、この構造が動作の間に1つ以上のタスクを行うように構成されていることを示すために用いられている。構造は、その構造が現在動作していない場合でも、あるタスクを実行するように「構成されている」と言え得る。「クレジットを複数のプロセッサコアに分配するように構成されたクレジット分配回路」は、例えば、動作の間にこの機能を行う回路を有する集積回路をカバーすることを意図しており、この集積回路が現在用いられない場合であってもよい(例えば、電源装置が接続されていない)。そのため、あるタスクを行うように構成されたものとして説明又は記載されるエンティティは、デバイス、回路、タスクを実行するために実行可能なプログラム命令を記憶するメモリ等の物理的なもののことをいう。本願では、この語句は無形のものを指すために用いられていない。
【0194】
「構成された」という用語は「構成可能」を意味することを意図していない。例えば、プログラムされていないフィールドプログラマブルゲートアレイ(FPGA)は、プログラミング後にその機能を実行するように「構成可能」であっても、ある特定の機能を行うように「構成された」とはみなされない。
【0195】
添付の特許請求の範囲における、構造が1つ以上のタスクを行うように「構成された」との記載は、そのクレーム要素について米国特許法第112条(f)を発動させないことを明示的に意図している。したがって、[機能を行う]ための「手段」構造を含まない本願の特許請求の範囲は、米国特許法第112条(f)に基づいて解釈されるべきではない。
【0196】
本願で用いる「~に基づく」という用語は、決定に影響を及ぼす1つ以上の要因を記述するために用いられる。この用語は、追加の要因が決定に影響を及ぼし得ることを排除するものではない。すなわち、決定は特定の要因のみに基づき得るか又は特定の要因及び他の非特定の要因に基づき得る。「Bに基づいてAを決定する」という語句を考えてみる。この語句は、BがAを決定するために用いられる要因であるか又はAの決定に影響を及ぼす要因であることを特定する。この語句は、Aの決定はC等の他の何らかの要因にも基づき得ることを排除しない。この語句は、AがBのみに基づいて決定される実施形態をカバーすることも意図する。本願で用いる「~に基づく」という語句は、「~に少なくとも部分的に基づく」という語句と同義である。
【0197】
本明細書で使用される「~に応答して」という語句は、効果をトリガーする1つ以上の要因を記述する。この語句は、追加の要因が効果に影響するか又は効果をトリガーする可能性を排除するものではない。すなわち、効果はこれらの要因にのみ応答し得るか又は特定の要因及び他の不特定の要因に応答し得る。「Bに応答してAを行う」という語句を考えてみる。この語句はBがAの実行をトリガーする要因であることを指定する。この語句は、Aを行うことはC等の他の要因に応答し得ることを排除しない。この語句は、AがBのみに応答して行われる実施形態をカバーすることも意図している。
【0198】
本願で用いられる「第1」、「第2」等の用語はそれらが先行する名詞のラベルとして用いられ、別段の記載がない限り、いかなる種類の順序(例えば、空間的、時間的、論理的等)を意味しない。例えば、8つのレジスタを有するレジスタファイルにおいて、「第1のレジスタ」及び「第2のレジスタ」なる用語は8つのレジスタのうちの任意の2つを指すために用いられ、例えば、単なる論理レジスタ0及び1を指すために用いられるものではない。
【0199】
特許請求の範囲で用いられる場合、「又は」という用語は包含的な又はとして用いられ、排他的又はとして用いられない。例えば、「x、y又はzのうちの少なくとも1つ」は、x、y及びzのうちのいずれか1つに加えてそれらの任意の組み合わせを意味する。
【0200】
本願で用いる、2つ以上の要素に関する「及び/又は」なる記載は1つの要素のみ又は要素の組み合わせを意味すると解釈すべきである。例えば、「要素A、要素B及び/又は要素C」は要素Aのみ、要素Bのみ、要素Cのみ、要素A及び要素B、要素A及び要素C、要素B及び要素C又は要素A、B及びCを含み得る。加えて、「要素A又は要素Bのうちの少なくとも1つ」は、要素Aの少なくとも1つ、要素Bの少なくとも1つ又は要素Aの少なくとも1つ及び要素Bの少なくとも1つを含み得る。また、「要素A及び要素Bのうちの少なくとも1つ」は要素Aの少なくとも1つ、要素Bの少なくとも1つ又は要素Aの少なくとも1つ及び要素Bの少なくとも1つを含み得る。
【0201】
本開示の主題は、法的要件を満たすために本願で具体的に説明されている。しかしながら、説明自体は本開示の範囲を限定することを意図していない。むしろ、本発明者らは、特許請求の範囲の主題が他の現在又は将来の技術と関連して本願に記載されたものと同様の異なる工程又は工程の組み合わせを含むように、他のやり方で具体化され得ることをしている。さらに、「ステップ」及び/又は「ブロック」という用語は、本願で用いられる方法の異なる要素を意味するために使用され得るが、個々のステップの順序が明示的に説明されている場合を除き、本願に開示の様々なステップの間の特定の順序を意味するものとして解釈すべきではない。
【0202】
例示の実施形態を詳細に説明してきたが、特許請求の範囲の開示の範囲から逸脱することなく修正及び変形が可能であることは明らかである。開示の主題の範囲は説明した実施形態に限定されず、むしろ以下の特許請求の範囲に記載される。
図1A
図1B
図1C
図1D
図2A
図2B
図2C
図2D
図2E
図3A
図3B
図3C
図4A
図4B
図4C
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18A
図18B
図19
図20
図21
図22
図23
図24
図25
図26
図27A
図27B
図27C
図27D
図28A
図28B
図28C
図28D
図29A
図29B
図29C
図29D
図30A
図30B
図30C
図30D
図31
図32
図33
図34
図35
図36
図37
図38
【国際調査報告】