JP2020512644A - ロボット経路計画のためのシステムおよび方法 - Google Patents

ロボット経路計画のためのシステムおよび方法 Download PDF

Info

Publication number
JP2020512644A
JP2020512644A JP2019553292A JP2019553292A JP2020512644A JP 2020512644 A JP2020512644 A JP 2020512644A JP 2019553292 A JP2019553292 A JP 2019553292A JP 2019553292 A JP2019553292 A JP 2019553292A JP 2020512644 A JP2020512644 A JP 2020512644A
Authority
JP
Japan
Prior art keywords
robot
mask
cost
environment
map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019553292A
Other languages
English (en)
Inventor
オレグ シニャフスキー
オレグ シニャフスキー
ジャン−バティスト パッソ
ジャン−バティスト パッソ
ボルハ イバルツ ガバルドス
ボルハ イバルツ ガバルドス
ディアナ ヴ レ
ディアナ ヴ レ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brain Corp
Original Assignee
Brain Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brain Corp filed Critical Brain Corp
Publication of JP2020512644A publication Critical patent/JP2020512644A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/28Floor-scrubbing machines, motor-driven
    • A47L11/282Floor-scrubbing machines, motor-driven having rotary tools
    • A47L11/283Floor-scrubbing machines, motor-driven having rotary tools the tools being disc brushes
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4002Installations of electric equipment
    • A47L11/4008Arrangements of switches, indicators or the like
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4061Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4063Driving means; Transmission means therefor
    • A47L11/4066Propulsion of the whole machine
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

ロボット経路計画のためのシステムおよび方法が開示される。本開示のいくつかの実装態様では、ロボットは、ロボットの環境と関連付けられたコストマップを生成し得る。コストマップは、環境内の場所に各々対応する複数のピクセルを含み得、各ピクセルが、関連付けられたコストを有し得る。ロボットは、環境内のロボットの移動のための投影された経路部分を有する複数のマスクをさらに生成し得、各マスクが、環境内の場所に対応する複数のマスクピクセルを含む。ロボットは、次いで、コストマップに少なくとも部分的に基づいて、各マスクと関連付けられたマスクコストを決定し、マスクコストに少なくとも部分的に基づいて、マスクを選択し得る。選択されたマスク内の投影された経路部分に基づいて、ロボットは、空間をナビゲートし得る。【選択図】図10

Description

優先権
本出願は、同じ名称の2017年3月30日に出願された米国特許出願第15/474,816号に対する優先権の利益を主張し、その全体が参照により本明細書に組み込まれる。
著作権
本特許文書の開示の一部には、著作権保護の対象となる資料が含まれている。著作権者は、特許商標庁の特許ファイルまたは記録に記載されているような本特許文書または本特許開示の、いかなる人物によるファクシミリ複製にも異論を唱えないが、それ以外の全ての著作権を留保する。
本出願は、概して、ロボット工学に関し、より具体的には、ロボット経路計画のためのシステムおよび方法に関する。
現在、いくつかの従来の移動ロボットは、ある場所から別の目的地に移動するように構成され得る。そのような移動ロボットは、設定された経路をたどる、および/または目的地への移動中に設定された経路に沿って調整を行い得る。
いくつかの従来の移動ロボットは、特定の目的地を有していない。むしろ、移動ロボットは、空間内でタスクを実行し得る。例えば、いくつかの家庭用掃除機は、ある空間を清掃するように設計されているが、特定の目的地を有していない場合がある。
しかしながら、特定の動的環境では、移動ロボットが空間内でタスクを実行し、ある場所から目的地まで移動することの両方が望ましい場合があり得る。従来の移動ロボットでは、両方の挙動を最適化することに苦労し得る。したがって、当技術分野では、ロボット経路計画のための改善されたシステムおよび方法の必要性が存在する。
上記の必要性は、特に、ロボット経路計画のためのシステムおよび方法を提供する本開示によって満たされる。いくつかの実装態様では、ロボットは、ロボットが移動することになる経路を選択する前に、複数の投影された経路を移動するコストおよび/または利益を決定し得る。
本明細書に記載されている例示的な実装態様は、革新的な特徴を有しており、そのうちのどれも、それらの望ましい属性に対して不可欠ではなく、または単独でその責任を担うものではない。特許請求の範囲の範囲を限定することなく、いくつかの有利な特徴をここで要約する。
第1の態様では、ロボットによる経路計画のための方法が開示される。例示的な一実装態様では、本方法は、ロボットの環境と関連付けられたコストマップを生成することであって、コストマップが、複数のコストマップピクセルを含み、複数のうちの各コストマップピクセルが、環境内のそれぞれの場所に対応し、複数のうちの各コストマップピクセルが、関連付けられたコストを有する、生成することと、複数のマスクを生成することであって、複数のうちの各マスクが、環境内でのロボットの移動のための投影された経路部分を有し、複数のうちの各マスクが、複数のマスクピクセルを含み、複数のうちの各マスクピクセルが、環境内の場所に対応する、生成することと、環境内の1つ以上の障害物に対するロボットの位置に少なくとも部分的に基づいて、回復条件が適用されるかどうかを決定することと、回復条件が適用される場合、(1)コストマップおよび/または(2)複数のマスクのうちの1つ以上、のうちの少なくとも1つを修正することと、生成されたコストマップに少なくとも部分的に基づいて、複数のうちの各マスクと関連付けられたマスクコストを決定することと、複数のマスクのうちの第1のマスクを、第1のマスクの決定されたマスクコストに少なくとも部分的に基づいて選択することと、第1のマスク内に含まれる投影された経路部分を移動するようにロボットに対するアクチュエータコマンドを決定することと、決定されたアクチュエータコマンドに少なくとも部分的に基づいて、ロボットのアクチュエータを作動させることと、を含む。
一変形形態では、マスクコストを決定することは、1つ以上のマスクを含む少なくとも1つのマトリックスを形成することと、少なくとも1つのマトリックスと生成されたコストマップとの間のドット積を取得することと、をさらに含む。
別の変形形態では、本方法は、コストマップおよび各マスクがロボットに対して実質的に同様に配向されるように、コストマップおよび各マスクを回転させることをさらに含む。別の変形形態では、回転させることは、生成されたコストマップおよび複数のマスクのうちの各マスクをロボット中心にする。
別の変形形態では、本方法は、複数の第2のコストマップピクセルを含む第2のコストマップを生成することをさらに含み、各第2のコストマップピクセルが、環境内のそれぞれの場所に対応し、複数のうちの各第2のコストマップピクセルが、ロボットの現在の場所および各第2のコストマップピクセルと関連付けられたそれぞれの場所からの最短経路に対するロボットの配向を少なくとも部分的に示すベクトルを含む。
別の変形形態では、複数のマスクのうちの各マスクと関連付けられたマスクコストを決定することは、生成された第2のコストマップに少なくとも部分的にさらに基づく。別の変形形態では、回復条件は、障害物の存在に少なくとも部分的に基づいて、ロボットの運動制限を決定することを含む。別の変形形態では、本方法は、第1のマスクが選択されるたびにコストペナルティを実施することをさらに含み、実施されたコストペナルティは、第1のマスクが再び選択されることになる可能性を低下させる。
別の変形形態では、投影された経路部分のうちの経路部分は、経時的なロボットの軌道を含む。別の変形形態では、投影された経路部分のうちの経路部分は、ロボットの清掃経路を含む。
別の例示的な実装態様では、ロボットによる経路計画のための方法は、ロボットの環境と関連付けられたコストマップを生成することであって、コストマップが、複数のコストマップピクセルを含み、複数のうちの各コストマップピクセルが、環境内のそれぞれの場所に対応し、複数のうちの各コストマップピクセルが、それぞれの場所を清掃する要望に少なくとも部分的に基づく関連付けられたコストを有する、生成することと、環境内のロボットの姿勢からの移動のための投影された軌道を有する複数のマスクを生成することであって、複数のうちの各マスクが、複数のマスクピクセルを含み、複数のうちの各マスクピクセルは、ロボットがマスクを選択する場合にロボットが清掃することになる環境内のそれぞれの場所に対応する、生成することと、生成されたコストマップに少なくとも部分的に基づいて、各マスクと関連付けられたマスクコストを決定することと、複数のマスクのうちの第1のマスクを、第1のマスクの決定されたマスクコストに少なくとも部分的に基づいて選択することと、を含む。
一変形形態では、本方法は、ロボットの1つ以上のアクチュエータを作動させて、第1のマスク内に含まれる第1の投影された軌道を清掃することを含む。別の変形形態では、本方法は、ユーザフィードバックに応答して、生成されたコストマップを調整することをさらに含む。
別の変形形態では、複数のマスクを生成することは、ロボットのフットプリントを受信することと、環境内の障害物とロボットの受信されたフットプリントとの間の衝突の回避に少なくとも部分的に基づいて、複数のマスクを生成することと、をさらに含む。
別の変形形態では、複数のマスクを生成することは、ロボットの1つ以上の物理的属性を受信することであって、1つ以上の物理的属性が、ロボットの操縦能力を制限する、受信することと、受信された1つ以上の物理的属性に少なくとも部分的に基づいて、複数のマスクを生成することと、をさらに含む。
第2の態様では、ロボットが開示される。例示的な一実装態様では、ロボットは、ロボットの環境に関するセンサデータを生成するように構成された1つ以上のセンサと、ロボットの移動を推進するように構成された1つ以上のアクチュエータと、プロセッサ装置と、を備え、プロセッサ装置が、1つ以上のセンサによって生成されたセンサデータに少なくとも部分的に基づいて、環境のマップを生成することと、環境の生成されたマップの少なくとも一部分と関連付けられたコストマップを生成することであって、生成されたコストマップが、複数のコストマップピクセルを含み、複数のうちの各コストマップピクセルが、環境内のそれぞれの場所に対応し、複数のうちの各コストマップピクセルが、関連付けられたコストを有する、生成することと、複数のマスクを生成することであって、複数のうちの各マスクが、環境内でのロボットの移動のための投影された経路部分を有し、複数のうちの各マスクが、複数のマスクピクセルを含み、複数のうちの各マスクピクセルが、環境内のそれぞれの場所に対応する、生成することと、環境内の1つ以上の障害物に対するロボットの位置に少なくとも部分的に基づいて、回復条件が適用されるかどうかを決定することと、回復条件が適用される場合、(1)コストマップおよび/または(2)複数のマスクのうちの1つ以上、のうちの少なくとも1つを修正することと、生成されたコストマップに少なくとも部分的に基づいて、複数のうちの少なくとも1つのマスクと関連付けられたマスクコストを決定することと、複数のマスクのうちの第1のマスクを、第1のマスクのマスクコストに少なくとも部分的に基づいて選択することと、第1のマスクに少なくとも部分的に基づいて、1つ以上のアクチュエータを作動させることと、を行うように構成されている。
一変形形態では、ロボットは、ロボットの清掃ブラシを動作させるように構成されている1つ以上のブラシアクチュエータをさらに備える。別の変形形態では、プロセッサ装置は、生成されたコストマップに少なくとも部分的に基づいて、1つ以上のブラシアクチュエータを作動させるようにさらに構成されている。別の変形形態では、プロセッサ装置は、ロボットが環境内の障害物に遭遇することに少なくとも部分的に基づいて、複数のうちの各マスクと関連付けられたマスクコストを更新するようにさらに構成されている。別の変形形態では、プロセッサ装置は、1つ以上の回復条件を識別する学習プロセスを実施するようにさらに構成されている。
別の例示的な実装態様では、ロボットは、ロボットは、ロボットの環境に関するセンサデータを生成するように構成された1つ以上のセンサと、ロボットの移動を推進するように構成された1つ以上のアクチュエータと、マッピングユニットと、を備え、プロセッサ装置が、1つ以上のセンサによって生成されたセンサデータに少なくとも部分的に基づいて、環境のマップを生成することと、環境の生成されたマップの少なくとも一部分と関連付けられたコストマップを生成することであって、生成されたコストマップが、複数のコストマップピクセルを含み、複数のうちの各コストマップピクセルが、環境内のそれぞれの場所に対応し、複数のうちの各コストマップピクセルが、関連付けられたコストを有する、生成することと、複数のマスクを生成することであって、複数のうちの各マスクが、環境内でのロボットの移動のための投影された経路部分を有し、複数のうちの各マスクが、複数のマスクピクセルを含み、複数のうちの各マスクピクセルが、環境内のそれぞれの場所に対応する、生成することと、環境内の1つ以上の障害物に対するロボットの位置に少なくとも部分的に基づいて、回復条件が適用されるかどうかを決定することと、回復条件が適用される場合、(1)コストマップおよび/または(2)複数のマスクのうちの1つ以上、のうちの少なくとも1つを修正することと、生成されたコストマップに少なくとも部分的に基づいて、複数のうちの少なくとも1つのマスクと関連付けられたマスクコストを決定することと、複数のマスクのうちの第1のマスクを、第1のマスクのマスクコストに少なくとも部分的に基づいて選択することと、を行うように構成されており、1つ以上のアクチュエータが、第1のマスクに少なくとも部分的に基づいて作動する。
別の例示的な実装態様では、ロボットは、データに少なくとも部分的に基づいて、ロボットの環境のマップを生成するための手段と、ロボットの移動を推進するための手段と、環境の生成されたマップの少なくとも一部分と関連付けられたコストマップを生成するための手段であって、生成されたコストマップが、複数のコストマップピクセルを含み、複数のうちの各コストマップピクセルが、環境内のそれぞれの場所に対応し、複数のうちの各コストマップピクセルが、関連付けられたコストを有する、手段と、複数のマスクを生成するための手段であって、複数のうちの各マスクが、環境内のロボットの移動のための投影された経路部分を有し、複数のうちの各マスクが、複数のマスクピクセルを含み、複数のうちの各マスクが、環境内のそれぞれの場所に対応する、手段と、環境内の1つ以上の障害物に対するロボットの位置に少なくとも部分的に基づいて、回復条件が適用されるかどうかを決定し、かつ回復条件が適用される場合、(1)コストマップおよび/または(2)複数のマスクのうちの1つ以上、のうちの少なくとも1つを修正するための手段と、生成されたコストマップに少なくとも部分的に基づいて、複数のうちの各マスクと関連付けられたマスクコストを決定するための手段と、複数のマスクのうちの第1のマスクを、第1のマスクのマスクコストに少なくとも部分的に基づいて選択するための手段と、第1のマスクに少なくとも部分的に基づいて、ロボットの移動を推進するための手段を作動させるための手段と、を備える。
第3の態様では、ロボットを製造するための方法が開示される。例示的な一実装態様では、製造するための方法は、プロセッサおよび1つ以上のセンサを含むモジュールを取り付けることと、ロボットの環境のマップを生成するように1つ以上のセンサを構成することと、プロセッサを構成することであって、ロボットの環境と関連付けられたコストマップを生成することであって、コストマップが、複数のコストマップピクセルを含み、複数のうちの各コストマップピクセルが、環境内のそれぞれの場所に対応し、複数のうちの各コストマップピクセルが、場所を清掃する要望に少なくとも部分的に基づく関連付けられたコストを有する、生成することと、環境内のロボットの姿勢からの移動のための投影された軌道を有する複数のマスクを生成することであって、複数のうちの各マスクが、複数のマスクピクセルを含み、複数のうちの各マスクピクセルは、ロボットがマスクを選択する場合にロボットが清掃することになる環境内の場所に対応する、生成することと、コストマップに少なくとも部分的に基づいて、各マスクと関連付けられたマスクコストを決定することと、第1のマスクを、第1のマスクのマスクコストに少なくとも部分的に基づいて選択することと、を行うように、構成することと、を含む。
第4の態様では、非一時的コンピュータ可読記憶装置が開示される。例示的な一実装態様では、非一時的コンピュータ可読記憶媒体は、そこに記憶された複数の命令を有し、命令は、ロボットを動作させるように処理装置によって実行可能である。命令は、処理装置によって実行されたとき、処理装置に、ロボットの環境と関連付けられたコストマップを生成することであって、コストマップが、環境内の場所に各々対応する複数のコストマップピクセルを含み、各コストマップピクセルが、関連付けられたコストを有する、生成することと、環境内のロボットの移動のための投影された経路部分を有する複数のマスクを生成することであって、各マスクが、複数のマスクピクセルを含み、各マスクピクセルが、環境内の場所に対応する、生成することと、環境内の1つ以上の障害物に対するロボットの位置に少なくとも部分的に基づいて、回復条件が適用されるかどうかを決定することと、回復条件が適用される場合、(1)コストマップおよび(2)複数のマスクのうちの1つ以上、のうちの少なくとも1つを修正することと、コストマップに少なくとも部分的に基づいて、各マスクと関連付けられたマスクコストを決定することと、第1のマスクを、第1のマスクのマスクコストに少なくとも部分的に基づいて選択することと、第1のマスク内に含まれる投影された経路部分を移動するようにロボットに対するアクチュエータコマンドを決定することと、アクチュエータコマンドに少なくとも部分的に基づいて、ロボットのアクチュエータを作動させることと、を行わせる。
別の例示的な実装態様では、非一時的コンピュータ可読記憶媒体は、そこに記憶された複数の命令を有し、命令は、ロボットを動作させるように処理装置によって実行可能である。命令は、処理装置によって実行されたとき、処理装置に、ロボットの環境と関連付けられたコストマップを生成することであって、コストマップが、複数のコストマップピクセルを含み、複数のうちの各コストマップピクセルが、環境内のそれぞれの場所に対応し、複数のうちの各コストマップピクセルが、場所を清掃する要望に少なくとも部分的に基づく関連付けられたコストを有する、生成することと、環境内のロボットの姿勢からの移動のための投影された軌道を有する複数のマスクを生成することであって、複数のうちの各マスクが、複数のマスクピクセルを含み、複数のうちの各マスクピクセルは、ロボットがマスクを選択する場合にロボットが清掃することになる環境内の場所に対応する、生成することと、コストマップに少なくとも部分的に基づいて、各マスクと関連付けられたマスクコストを決定することと、第1のマスクを、第1のマスクのマスクコストに少なくとも部分的に基づいて選択することと、を行わせる。
第5の態様では、ロボットの経路を計画するためのシステムが開示される。例示的な一実装態様では、システムは、ロボットの環境に関するセンサデータを生成するように構成された1つ以上のセンサを含むロボットと、ロボットに通信可能に連結されたネットワークであって、ネットワークが、環境の生成されたマップの少なくとも一部分と関連付けられたコストマップを生成するように構成され、生成されたコストマップが、複数のコストマップピクセルを含み、複数のうちの各コストマップピクセルが、環境内のそれぞれの場所に対応し、複数のうちの各コストマップピクセルが、関連付けられたコストを有する、ネットワークと、ユーザインターフェースを介してユーザ入力を提供するように構成されたアクセスポイントと、を含み、ネットワークが、ユーザ入力に基づいてコストマップをさらに生成する。
一変形形態では、コストマップの生成は、機械学習プロセスを利用する。
本開示のこれらおよび他の目的、特徴、および特性、ならびに構造の関連要素の操作方法および機能ならびに部品の組み合わせおよび製造の経済性は、それらの全てが本明細書の一部分を形成し、同様の参照番号が様々な図における対応する部分を示す、添付の図面を参照して下記の説明および添付の特許請求の範囲を考慮することにより、より明らかになるであろう。しかしながら、図面は、例示および説明の目的のみのためであり、本開示の限界の定義を意図するものではないことは、明白に理解されるべきである。本明細書および特許請求の範囲で使用されるように、「a」、「an」、および「the」の単数形は、文脈から明らかに別様であると認められない限り、複数の指示対象を含む。
開示された態様は、添付の図面と併せて以下で説明され、開示される態様を例示するために提供され、限定するために提供されるものではなく、同様の名称は同様の要素を示す。
本開示のいくつかの実装態様による、ロボットをナビゲートする例示的な方法のプロセスフロー図である。 本開示のいくつかの実装態様による、環境の一区分内の経路に沿って移動するロボットの俯瞰図である。 本開示のいくつかの実装態様による、変更された経路部分に沿って移動するロボットの俯瞰図である。 本開示のいくつかの動作原理による、ロボットの機能ブロック図である。 本開示のいくつかの実装態様による、ネットワークに通信可能におよび/または動作可能に連結されたロボットを含むシステムの機能ブロック図である。 本開示のいくつかの実装態様による、ロボットのロボット経路計画を動作させるための例示的な方法のプロセスフロー図である。 本開示のいくつかの実装態様による、コストマップの俯瞰図の図形表現である。 本開示のいくつかの実装態様による、インジケータの周りにスカートを有するコストマップの俯瞰図の図形表現である。 本開示のいくつかの実装態様による、ロボットにとってロボット中心であるコストマップの上面図である。 本開示のいくつかの実装態様による、ロボットのロボットフットプリントを例示する上面図である。 本開示のいくつかの実装態様による、3つの車輪を有するロボットの左側面図を例示する。 本開示のいくつかの実装態様による、3つの車輪を有するロボットの右側面図を例示する。 本開示の動作原理による、経時的なコントローラ特性のチャートである。 本開示のいくつかの実装態様による、連続コントローラ特性に追従するロボットの上面図である。 本開示のいくつかの実装態様による、決定された経路部分を例示する経路部分図を含む。 本開示のいくつかの実装態様による、経路部分図の3次元マトリックスの図形表現である。 本開示のいくつかの実装態様による、ロボットが障害物に衝突するロボットの軌道、およびロボットが障害物を迂回することを可能にするロボットの軌道の俯瞰図である。 本開示の実装態様による、各点が離散場所である、マップ部分の離散化されたバージョンを例示する俯瞰図である。 本開示のいくつかの実装態様による、図8Dに例示された離散化された点の区分からの最短非衝突経路を示す俯瞰図である。 本開示のいくつかの実装態様による、図8Dに例示された離散化された点と関連付けられた最短経路のベクトルを示す俯瞰図である。 本開示のいくつかの実装態様による、壁に面し、それによって制限された前方移動性を有する、ロボットの俯瞰図である。 本開示のいくつかの実装態様による、ロボットのフットプリントの計算された回転の上面図である。 本開示の実装態様による、マップを補正するためのユーザインターフェースである。 本開示のいくつかの実装態様による、経路計画のための例示的な方法のプロセスフロー図である。 本開示のいくつかの実装態様による、経路計画のための例示的な方法のプロセスフロー図である。 本開示のいくつかの実装態様による、経路計画のための例示的な方法のプロセスフロー図である。 本明細書に開示された全ての図は、Brain Corporationの著作権2017〜2018である。無断転用禁止。
本明細書に開示された新規なシステム、装置、および方法の様々な態様は、添付の図面を参照して以下でより完全に記載される。しかしながら、本開示は、多くの異なる形態で具現化することができ、本開示全体を通して提示される具体的な構造または機能に限定されると解釈されるべきではない。むしろ、これらの態様は、本開示が徹底的かつ完全であり、本開示の範囲を当業者に完全に伝えるように提供される。本明細書の教示に基づいて、当業者であれば、本開示の範囲が、本開示の任意の他の態様とは独立して実装されるか、またはそれと組み合わせられるかにかかわらず、本明細書に開示された新規のシステム、装置、および方法の任意の態様を包含することを意図していることを理解するであろう。例えば、本明細書に記載の任意の数の態様を使用して、装置を実装することができ、または方法を実施することができる。加えて、本開示の範囲は、本明細書に記載された開示の様々な態様に加えて、またはそれ以外の他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法を包含するように意図されている。本明細書に開示されるいかなる態様も、特許請求項の1つ以上の要素によって実装され得ることを理解されたい。
特定の態様が本明細書に記載されているが、これらの態様の多くの変形および置換が本開示の範囲内に含まれる。好ましい態様のいくつかの利益および利点が述べられているが、本開示の範囲は、特定の利益、用途、および/または目的に限定されることを意図しない。詳細な説明および図面は、限定ではなく本開示の単なる例示であり、本開示の範囲は、添付の特許請求の範囲およびその等価物によって定義される。
本開示は、改善されたモバイルプラットフォームを提供する。特に、本開示のいくつかの実装態様は、ロボットモバイルプラットフォームなどのロボットに関する。本明細書で使用される場合、ロボットは、複雑な一連の行動を自動的に実行するように構成された機械的および/または仮想的エンティティを含むことができる。場合によっては、ロボットは、コンピュータプログラムおよび/または電子回路によって案内および/または命令される機械であり得る。場合によっては、ロボットは、ナビゲーション用に構成された電子機械コンポーネントを含むことができ、ロボットは、ある場所から別の場所に移動することができる。このようなロボットは、自律的および/または半自律的自動車、床掃除機、ローバ、ドローン、飛行機、ボート、カート、路面列車、車椅子、産業機器、ストッキングマシン、モバイルプラットフォーム、個人用輸送デバイス(例えば、ホバーボード、SEGWAYS(登録商標)、車椅子など)、ストッキングマシン、トレーラムーバ、車両などを含むことができる。ロボットは、アイテム、人、動物、貨物、荷物、物体、手荷物、および/または望ましいものをある場所から別の場所に輸送するための任意の自律的および/または半自律的機械も含むことができる。ロボットは自律的および/または半自律的にナビゲーションおよび/または移動することができるモバイルシステムであるため、場合によっては、輸送に使用されるこのようなロボットは、ロボットモバイルプラットフォームを含むことができる。これらのロボットモバイルプラットフォームは、自律的および/もしくは半自律的車椅子、自転車、手こぎボート、スクーター、フォークリフト、路面列車、列車、カート、車両、タグボート、ならびに/または輸送に使用される任意の機械を含むことができる。
本明細書で言及されるように、床清掃機は、手動制御(例えば、駆動制御または遠隔制御)および/または自律(例えば、ユーザ制御をほとんどまたは全く用いない)床清掃機を含むことができる。例えば、床清掃機は、管理者、管理人、または他の人が操作する床洗浄機、および/または環境を自律的にナビゲートおよび/または清掃するロボット床洗浄機を含むことができる。同様に、床清掃機はまた、掃除機、スチーマ、バッファ、モップ、ポリッシャ、スイーパ、バニッシャなどを含み得る。
特定の例が、床清掃機もしくはモバイルプラットフォーム、またはロボット床清掃機もしくはロボットモバイルプラットフォームに関して本明細書に説明される。そのような例は、例示用にのみ使用され、本明細書で説明される動作原理は、ロボット一般に容易に適用され得る。
場合によっては、ロボットは、1つ以上のタスクを実行するように自動化された電気器具、機械、および/または機器を含むことができる。例えば、それらが自律的に動作することができるように、モジュールを電気器具、機械、および/または機器に取り付けることができる。そのような取り付けは、エンドユーザによって、および/または製造プロセスの一部として行うことができる。いくつかの実装態様では、モジュールは、電気器具、機械、および/または機器の自律運動を駆動するモータを含むことができる。場合によっては、モジュールは、既存のコントローラ、アクチュエータ、ユニット、ならびに/または電気器具、機械、および/もしくは機器のコンポーネントに制御信号を送信することによってなど、少なくとも部分的にスプーフィングに基づいて、電気器具、機械、および/または機器を動作させる。モジュールは、データを受信および生成するためのセンサおよび/またはプロセッサを含むことができる。モジュールは、センサデータを処理し、制御信号を送信し、かつ/または既存のコントローラ、ユニット、および/もしくは電気器具、機械、および/もしくは機器のコンポーネントを他の方法で制御するために、プロセッサ、アクチュエータ、および/または本明細書に記載されるコンポーネントのいずれかを含むこともできる。そのような電気器具、機械、および/または機器は、自動車、床掃除機、ローバ、ドローン、飛行機、ボート、カート、路面列車、車椅子、産業機器、ストッキングマシン、モバイルプラットフォーム、個人用輸送デバイス、ストッキングマシン、トレーラムーバ、車両、および/または任意の種類の機械を含むことができる。
本開示のシステムおよび方法の様々な実装態様および変形形態の詳細な説明がここで提供される。本明細書で論じる多くの例はロボット式床掃除機に言及している可能性があるが、本明細書に含まれる説明されるシステムおよび方法は任意の種類のロボットに適用可能であることが理解されよう。本明細書に記載される技術の無数の他の例示的な実装態様または使用は、本開示の内容を考慮すれば、当業者であれば容易に想到するであろう。
有利なことに、本開示のシステムおよび方法は、少なくとも、(i)ロボットが環境内で安全に動作することを可能にすることと、(ii)ロボットが自然に見える挙動を示すことを可能にすることによって、ロボットによる快適さ(例えば、人間や動物による)を提供することと、(iii)非対称および/または非円形ロボットがナビゲートすることを可能にすることと、(iv)ロボットリソースの計算効率の高い管理を提供することと、(v)ロボットの効率を改善することと、(vi)ロボットがナビゲートし、タスクを実行することを可能にすることと、を行う。他の利点は、本開示の内容を考慮すれば、当業者は容易に認識することができる。
例えば、いくつかの実装態様では、ロボットは、床清掃機を含み得る。床清掃機は、床を清掃するタスクを実行し得る。したがって、床清掃機は、床面積の一部分を清掃し得る。場合によっては、オペレータが清掃を望む部分と、オペレータが清掃を望まないエリアが存在し得る。例えば、床清掃機は、硬質床洗浄機とすることができる。オペレータは、硬質床洗浄機で硬質表面(例えば、タイル、コンクリート、テラゾ、セラミック、および/またはその他の硬質表面)を清掃するが、軟質表面(例えば、カーペット、人工芝もしくは芝、マット、および/または他の軟質表面)を清掃しない。さらに、ロボットが床清掃機である場合、オペレータは、清掃可能な空間全体が清掃されることを望み得る。さらに、オペレータは、床清掃機が壁および/または他の物体に近づくことを望み得る。例えば、床の一部分を横断しないことは、その部分が清掃されないことにつながり得る。別の例として、床清掃機が壁に衝突せずに壁に近づくことが望ましい場合があり、例えば、床清掃機が、壁から約1、2、3、4、5、6センチメートル以上離れるなどの所定の距離で動作することが望ましい場合がある。加えて、オペレータはまた、ロボットが空間内での衝突を回避する、および/または特定の目的地にナビゲートすることも望み得る。他の非清掃ロボットは、同様の望ましい特性を有し得る。例えば、ストッキングロボットが特定の場所で特定のアイテムをストックすることが望ましい場合がある。人、アイテム、動物などを輸送して、特定の場所でアイテムを荷積みおよび/または荷降ろしするモバイルプラットフォームが望ましい場合がある。ロボットが同時にナビゲートしながら特定の箇所(他の箇所ではなく)でタスクを実行することが望ましい、無数の他の用途が存在する。有利なことに、本明細書で開示されるシステムおよび方法は、ロボットが空間をナビゲートし(かつ他のものをナビゲートしない)、障害物を回避し、所望されるタスクを実行し、および/または目的地に行くことを可能にする。現在のロボットの多くは、ロボットの複数の挙動を最適化することが難しいため、この能力を有していない。
別の例として、ロボットナビゲーションの課題は、一般的な規則の例外に対処することである。場合によっては、これらは、コーナーケースと呼ばれる場合があり、ロボットが、非典型的なシナリオに遭遇し得る。有利なことに、本開示で説明されるシステムおよび方法は、ロボットがそのような例外的な場合に対処することを可能にし得る。
別の例として、従来のロボットは、多くの場合、対称であり、円形であり、狭い半径で旋回し、任意の方向に移動し、および/またはロボットの形状に大きく依存せずに操縦される。しかしながら、多くの従来の機械は、非円形であり、非対称であり、狭い半径で旋回することができず、いかなる方向にも移動することができず、および/または形状に大きく依存して操縦される。例えば、円形の機械は、任意の方向に旋回および/または移動することができる。三輪車形状を有する機械は、ある方向に旋回および/または移動することができるように追加の操縦を必要とし得る。例示として、三輪車形状のロボットがある方向(例えば、左または右)に旋回した場合、その方向から別の方向に旋回するためにより多くの動きを行い得る。有利なことに、本開示のシステムおよび方法は、多くの形状の従来の機械がロボット化されることを可能にする。
別の例として、従来のロボットは、堅牢な計画を可能にしないソフトウェアおよびハードウェアを有する場合がある。計画に使用される多くの従来のシステムおよび方法は、法外に高価および/またはサイズが大きいハードウェアを利用する。結果として、そのような従来のシステムおよび方法は、ロボットおよび/またはロボットシステムに容易に統合されない場合がある。有利なことに、本開示のシステムおよび方法は、ロボット経路計画のためのハードウェアおよび/またはソフトウェアの効率的な使用を可能にする。
図1Aは、本開示のいくつかの実装態様による、ロボットをナビゲートする例示的な方法100のプロセスフロー図である。ブロック102は、経路を受信することを含む。例えば、経路は、実演または他の学習プロセスなどを介して、ロボットによって学習され得る。別の例として、経路は、地図、座標、画像、および/または他のデータ形式などを介して、ロボットにアップロードされ得る。
場合によっては、経路は、移動のルートを含み得る。例えば、ルートは、ロボットの第1の場所から第2の場所への移動を含み得る。ルートは、環境内の場所と関連付けられた複数の位置、配向、および/または姿勢などの、ロボットの複数の位置、配向、および/または姿勢を含み得る。場合によっては、ルートは、ロボットが第1の場所から第2の場所に直接移動する直線経路を含み得る。一部の実装態様では、経路は、より複雑であり得、ロボットが並進する際の環境内での回旋、ダブルバッキング、オーバーラッピング、Uターン、および/またはその他の操縦を含む。例えば、そのような操縦は、ロボットがタスクを完了することを可能にし得る。例示として、ロボットが床清掃機である場合、操縦は、ロボットが床のエリアを清掃することを可能にし得る。別の例として、ロボットがアイテム、人、動物、船荷、積荷、物体、荷物、および/またはある場所から別の場所への望ましい任意のものを輸送している場合、そのような操縦は、ロボットが荷積み、荷降ろし、現場の確認、障害物の回避、および/または任意の他の理由で異なる場所に行くことを可能にし得る。
ブロック104は、環境に基づいてブロック102で受信された経路を調整することを含む。場合によっては、ブロック100で受信された経路は、ある時点での経路の少なくとも一部を示し得る。例えば、ロボットが実演によって訓練される場合、経路は、特定の時間に実演されたルートを示し得る。環境は、特定の時間に特定の特性を有し得、この特性は、別の時間に変化してもよい。例えば、環境は、1つ以上の物体および/または障害物を含み、動的であり得る。初回において、環境のセグメントは、障害物がない状態であり得る。いくつかの実装態様では、ブロック104は、ロボット200の経路がリアルタイムで環境とともに変化し得る動的計画を含み得る。
例えば、図1Bは、本開示のいくつかの実装態様による、環境の一区分108内の経路に沿って移動するロボット200の俯瞰図である。区分108は、ロボット200が環境内を横断する部分であり得る。区分108では、ロボット200は、経路部分110Aに沿って移動し得る。経路部分110Aは、ブロック102で受信された経路の一部分であり得る。例示されるように、経路部分100は、壁112などの壁の周りをナビゲートし、それらの壁に衝突することを回避する。経路部分110Aが壁を回避するため、ロボット200は、経路部分110Aに沿って移動している間、壁への衝突を回避することができる。
いくつかの実装態様では、壁112などの壁に加えて、物体および/または障害物が存在し得る。衝突を回避するためにロボット200が移動する際に、ロボット200がそのような物体および/または障害物を回避することが望ましい場合がある。したがって、経路部分110Aは、物体および/または障害物などの環境条件の存在によって影響を受け得る。
例示として、図1Cは、本開示のいくつかの実装態様による、区分108の変更された経路部分110Bに沿って移動するロボット200の俯瞰図である。物体114は、図1Bに例示されるように、経路部分110A上を移動するロボット200の通り道にあり得る。したがって、ロボット200が経路部分110Aに沿って移動した場合、ロボット200は、物体114と衝突および/またはそれに妨害され得る。したがって、ブロック104によると、ロボット200は、物体114を迂回するために、区分108を経路部分110Bに調整し得る。図1Bおよび1Cは、1つの調整を例示しているが、区分108内および/または環境内の経路の他の区分内に任意の数の調整が存在し得る。
ロボット200が物体114の周りをどのように計画し、および/または区分108をトラバースすることをどのように計画するかは、当技術分野における現在の課題である。ロボット200が採用し得る無数の可能な操縦が存在し得る。さらに、ロボット200は、空間のナビゲート、ロボットタスクの実行(例えば、清掃、輸送、および/またはロボット200が実行するように構成される任意の他のタスク)、可能な限り高速なタスクの実行、エネルギーの節約およびリソース費用のかかる操縦の回避、障害物からの安全な距離の維持、および/または他の目的などの、行動における複数の目的を有し得る。有利なことに、本開示のシステムおよび方法は、ロボット200が、複数の目的が存在する条件下で空間を通る経路を効果的および/または効率的に計画することを可能にし得る。
図1Aに戻ると、ブロック106は、経路に沿ってロボット200をナビゲートするようにアクチュエータコマンドを生成することを含み得る。例示として、ロボット200は、ロボット200を前方に推進する、ロボット200を旋回させる、および/またはロボット200の部分を作動させるアクチュエータなどのアクチュエータを含み得る。ロボット200が経路(例えば、経路部分110Aまたは110B)に沿って移動するために、ロボット200は、一連の作動を実行し得る。一連の作動(例えば、アクチュエータの)は、アクチュエータがどのように作動するかの少なくとも一部を示すコマンド信号などの、一連のコマンドに応答し得る。場合によっては、これらのコマンドは、アクチュエータコマンドおよび/またはモータコマンド(例えば、アクチュエータがモータである場合)とすることができる。場合によっては、そのようなコマンドは、モータプリミティブおよび/またはアクチュエータプリミティブなどのプリミティブとすることができる。動きを調整するために、コマンドは、ロボット200の1つ以上の自由度(「DOF」)に供給され得る。これらのアクチュエータコマンドは、ロボット200が、経路部分110Aまたは110Bなどの経路の少なくとも一部分に追従する軌道を形成することを可能にする。
図2は、本開示のいくつかの動作原理による、ロボット200の機能ブロック図である。図2に例示されるように、ロボット200は、コントローラ204、メモリ202、ユーザインターフェースユニット218、センサユニット212、アクチュエータユニット220、および通信ユニット222、ならびに他のコンポーネントおよびサブコンポーネント(例えば、それらのいくつかは例示されなくてもよい)を含むことができる。特定の実装態様が図2に例示されているが、本開示の内容が与えられた当業者には容易に明らかになるように、アーキテクチャは、特定の実装態様で変更され得ることが理解される。本明細書で使用される場合、ロボット200は、本開示に記載される任意のロボットの少なくとも一部を表すことができる。ロボット200は、方法100などの、本開示で説明されるシステムおよび方法のうちの1つ以上をインスタンス化し得る。
コントローラ204は、ロボット200によって実行される様々な操作を制御することができる。コントローラ204は、1つ以上のプロセッサ(例えば、マイクロプロセッサ)および他の周辺機器を含むことができる。本明細書で使用される場合、プロセッサ、マイクロプロセッサ、および/またはデジタルプロセッサは、限定することなく、デジタル信号プロセッサ(「DSP」)、縮小命令セットコンピュータ(「RISC」)、汎用(「CISC」)プロセッサ、マイクロプロセッサ、ゲートアレイ(例えば、フィールドプログラマブルゲートアレイ(「FPGA」))、プログラマブルロジックデバイス(「PLD」)、再構成可能コンピュータファブリック(「RCF」)、アレイプロセッサ、セキュアマイクロプロセッサ、専用プロセッサ(例えば、ニューロモルフィック(neuromorphic)プロセッサ)、および特定用途向け集積回路(「ASIC」)などの、任意の種類のデジタル処理デバイスを含むことができる。そのようなデジタルプロセッサは、単一の一元的な集積回路ダイに含まれてもよく、または複数のコンポーネントにわたって分散されてもよい。
コントローラ204は、メモリ202と操作可能におよび/または通信可能に結合されてもよい。メモリ202は、読み取り専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、不揮発性ランダムアクセスメモリ(「NVRAM」)、プログラマブル読み取り専用メモリ(「PROM」)、電気的消去可能プログラマブル読み取り専用メモリ(「EEPROM」)、ダイナミックランダムアクセスメモリ(「DRAM」)、モバイルDRAM、シンクロナスDRAM(「SDRAM」)、ダブルデータレートSDRAM(「DDR/2SDRAM」)、拡張データ出力(「EDO」)RAM、高速ページモードRAM(「FPM」)、低遅延DRAM(「RLDRAM」)、スタティックRAM(「SRAM」)、フラッシュメモリ(例えば、NAND/NOR)、メモリスタメモリ、擬似スタティックRAM(「PSRAM」)などを含むが、これらに限定されない、デジタルデータを格納するように構成された任意の種類の集積回路または他の記憶デバイスを含むことができる。メモリ202は、コントローラ204に命令およびデータを提供することができる。例えば、メモリ202は、ロボット200を操作するために処理装置(例えば、コントローラ204)によって実行可能な、複数の命令が格納された非一時的なコンピュータ可読記憶装置および/または媒体であってもよい。場合によっては、命令は、処理装置によって実行されたときに、処理装置に本開示に記載される様々な方法、特徴、および/または機能を実行させるように構成され得る。したがって、コントローラ204は、メモリ202内に格納されたプログラム命令に基づいて論理演算および/または算術演算を実行することができる。場合によっては、メモリ202の命令および/またはデータは、一部がロボット200内にローカルに位置し、一部がロボット200から遠隔に位置する(例えば、クラウド、サーバ、ネットワークなど)ハードウェアの組み合わせに格納できる。
いくつかの実装態様では、センサユニット212は、ロボット200内および/またはロボット200の周りの特性を検出することができるシステムおよび/または方法を含むことができる。センサユニット212は、複数のセンサおよび/またはセンサの組み合わせを含むことができる。センサユニット212は、ロボット200の内部もしくは外部にあり、かつ/または部分的に内部および/もしくは部分的に外部のコンポーネントを有するセンサを含むことができる。場合によっては、センサユニット212は、ソナー、光検出および測距(「LIDAR」)センサ、レーダ、レーザ、カメラ(ビデオカメラ(赤青緑(「RBG」)カメラ、赤外線カメラ、三次元(「3D」)カメラ、サーマルカメラなど)を含む)、飛行時間(「TOF」)カメラ、構造化光カメラ、アンテナ、動き検出器、マイクロフォン、ならびに/または当技術分野で知られている他の任意のセンサなどの、1つ以上の外受容センサを含むことができる。いくつかの実装態様では、センサユニット212は、生の測定値(例えば、電流、電圧、抵抗、ゲートロジックなど)、および/または変換された測定値(例えば、距離、角度、障害物内の検出点など)を収集することができる。場合によっては、測定値は、集約および/または要約することができる。センサユニット212は、少なくとも部分的には測定値に基づいてデータを生成することができる。そのようなデータは、マトリックス、アレイ、待ち行列、リスト、アレイ、スタック、バッグなどのデータ構造に格納することができる。いくつかの実装態様では、センサデータのデータ構造は、画像と呼ぶことができる。
いくつかの実装態様では、センサユニット212は、ロボット200の内部特性を測定することができるセンサを含むことができる。例えば、センサユニット212は、温度、動力レベル、ステータス、および/またはロボット200の任意の特性を測定することができる。場合によっては、センサユニット212は、ロボット200の走行距離測定を決定するように構成することができる。例えば、センサユニット212は、加速度計、慣性測定ユニット(「IMU」)、走行距離計、ジャイロスコープ、スピードメータ、カメラ(例えば、視覚的走行距離測定を使用する)、時計/タイマなどのセンサを含むことができる、固有受容センサを含むことができる。走行距離測定は、ロボット200の自律的なナビゲーションおよび/または自律的な行動を容易にすることができる。この走行距離測定は、初期の場所に対するロボット200の位置を含むことができる(例えば、位置は、ロボットの場所、変位、および/または配向を含み、本明細書で使用される姿勢という用語と互換的である場合がある)。そのようなデータは、マトリックス、アレイ、待ち行列、リスト、アレイ、スタック、バッグなどのデータ構造に格納することができる。いくつかの実装態様では、センサデータのデータ構造は、画像と呼ぶことができる。
いくつかの実装態様では、コントローラ204は、ロボット200をマップ内で位置特定するようにセンサデータをセンサユニット212から受信し得るマッピングおよび/または位置特定ユニットを含み得る。いくつかの実装態様では、マッピングおよび/または位置特定ユニットは、ロボット200がそれ自体をマップの座標内および/または場所(例えば、初期化場所、終了場所、ビーコン、基準点など)に対して位置特定することを可能にする位置特定システムおよび方法を含み得る。マッピングおよび/または位置特定ユニットはまた、グラフおよび/またはマップを生成することなどによって、ロボット200によって取得された測定値を処理し得る。マッピングおよび/または位置特定ユニットはまた、コントローラとは別個のユニットとすることもできる。
いくつかの実装態様では、ロボット200は、学習プロセスを通じてルートをマッピングおよび学習することができる。例えば、オペレータは、環境内のルートに沿ってロボット200を運転することにより、ロボット200に環境内でどこを移動するかを教えることができる。センサユニット212からのセンサデータの組み合わせを介して、ロボット200は、ロボット200の相対姿勢および環境内のアイテムの姿勢を決定し得る。このようにして、ロボット200は、ロボット200が環境内のどこにいるか、ロボット200がどこを移動したかを判定することができる。ロボット200は、その後、ロボット200がどこを移動したかを思い出し、実質的に同様の方法で移動することができる(ただし、その後の移動では、特定の障害物を回避する可能性がある)。ロボットは、ネットワーク302(図3を参照して説明される)などを介して、そのような経験を互いに共有することができる。いくつかの実装態様では、マッピングおよび位置特定ユニットは、限定されるものではないが、経路を受信および/または決定することと、経路の調整を行うことと、アクチュエータコマンドを決定することと、を含む、方法100を実行するために使用され得る。
いくつかの実装態様では、ユーザインターフェースユニット218は、ユーザがロボット200と対話できるように構成することができる。例えば、ユーザインターフェース218は、タッチパネル、ボタン、キーパッド/キーボード、ポート(例えば、汎用シリアルバス(「USB」)、デジタルビジュアルインターフェース(「DVI」)、ディスプレイポート、E−Sata、Firewire、PS/2、シリアル、VGA、SCSI、オーディオポート、高品位マルチメディアインターフェース(「HDMI」)、パーソナルコンピュータメモリカード国際協会(「PCMCIA」)ポート、メモリカードポート(例えば、セキュアデジタル(「SD」)およびminiSD)、および/もしくはコンピュータ読取可能媒体用のポート)、マウス、ローラーボール、コンソール、バイブレータ、オーディオトランスデューサ、ならびに/または、無線で結合されているか有線で結合されているかにかかわらず、ユーザがデータおよび/もしくはコマンドを入力および/もしくは受信するための任意のインターフェースを含むことができる。ユーザは、音声コマンドまたはジェスチャーを介して対話できる。ユーザインターフェースユニット218は、限定することなく、液晶ディスプレイ(「LCD」)、発光ダイオード(「LED」)ディスプレイ、LED LCDディスプレイ、面内スイッチング(「IPS」)ディスプレイ、陰極線管、プラズマディスプレイ、高精細(「HD」)パネル、4Kディスプレイ、網膜ディスプレイ、有機LEDディスプレイ、タッチスクリーン、表面、キャンバス、ならびに/または視覚的表現のための当技術分野で既知の任意のディスプレイ、テレビ、モニタ、パネル、および/もしくはデバイスを含むことができる。いくつかの実装態様では、ユーザインターフェースユニット218は、ロボット200の本体上に配置することができる。いくつかの実装態様では、ユーザインターフェースユニット218は、ロボット200の本体から離れて配置することができるが、(例えば、送信機、受信機、および/もしくはトランシーバを含む通信ユニットを介して)ロボット200と直接、または(例えば、ネットワーク、サーバ、および/もしくはクラウドを通じて)間接的に通信可能に結合することができる。いくつかの実装態様では、ユーザインターフェースユニット218は、例えば搭乗者またはロボットの周辺の人に情報を提供するために、ロボットの近位に位置する表面(例えば床)上に画像の1つ以上の投影を含むことができる。情報は、前方、左、右、後方、斜め、および/または他の方向への動きの表示など、ロボットの将来の動きの方向であり得る。場合によっては、そのような情報は矢印、色、記号などを利用できる。
いくつかの実装態様では、通信ユニット222は、1つ以上の受信機、送信機、および/またはトランシーバを含むことができる。通信ユニット222は、BLUETOOTH(登録商標)、ZIGBEE(登録商標)、Wi−Fi、誘導ワイヤレスデータ伝送、無線周波数、無線伝送、無線周波数識別(「RFID」)、近距離通信(「NFC」)、赤外線、ネットワークインターフェース、3G(3GPP/3GPP2)などの携帯電話技術、高速ダウンリンクパケットアクセス(「HSDPA」)、高速アップリンクパケットアクセス(「HSUPA」)、時分割多重アクセス(「TDMA」)、符号分割多元接続(「CDMA」)(例えば、IS−95A、広帯域符号分割多元接続(「WCDMA」)など)、周波数ホッピングスペクトラム拡散(「FHSS」)、直接シーケンス拡散スペクトル「DSSS」)、移動体通信用のグローバルシステム(「GSM」)、パーソナルエリアネットワーク(「PAN」)(例えば、PAN/802.15)、マイクロ波アクセスの世界的な相互運用性(「WiMAX」)、802.20、ロングタームエボリューション(「LTE」)(例えば、LTE/LTE−A)、時分割LTE(「TD−LTE」)、グローバル移動体通信システム(「GSM」)、狭帯域/周波数分割多元接続(「FDMA」)、直交周波数分割多重(「OFDM」)、アナログセルラ、セルラデジタルパケットデータ(「CDPD」)、衛星システム、ミリ波またはマイクロ波システム、音響、および赤外線(例えば、赤外線データ結合(「IrDA」))、のような送信プロトコル、ならびに/またはワイヤレスデータ伝送の任意の他の形式を送信/受信するように構成することができる。
本明細書において使用される際、ネットワークインターフェースは、限定するわけではないが、ファイヤワイヤ(FireWire)(例えば、FW400、FW800、FWS800T、FWS1600、FWS3200など)、ユニバーサルシリアルバス(「USB」)(例えば、USB1.X、USB2.0、USB3.0、USB Type−Cなど)、イーサネット(例えば、10/100、10/100/1000(ギガビットイーサネット)、10−Gig−Eなど)、同軸ケーブルマルチメディア協会(「MoCA」)、コアックスシーズ(Coaxsys)(例えば、TVNET(商標))、無線周波数チューナー(例えば、インバンド(in−band)またはOOB、ケーブルモデムなど)、ワイファイ(Wi−Fi)(802.11)、ワイマックス(WiMAX)(例えば、WiMAX(802.16))、パン(PAN)(例えば、PAN/802.15)、セルラ(例えば、3G、LTE/LTE−A/TD−LTE/TD−LTE、GSMなど)、IrDAファミリなどを含む、コンポーネント、ネットワーク、またはプロセスとの任意の信号、データ、もしくはソフトウェアインターフェースを含むことができる。本明細書において使用される際、ワイファイ(Wi−Fi)は、IEEE 802.11規格、IEEE 802.11規格の変形、IEEE 802.11規格に関連する規格(例えば、802.11a/b/g/n/ac/ad/af/ah/ai/aj/aq/ax/ay)、および/または他の無線規格のうちの1つ以上を含むことができる。
通信ユニット222はまた、信号線および接地を有する任意のケーブルなどの、有線接続を介した伝送プロトコルを利用して信号を送信/受信するように構成することができる。例えば、そのようなケーブルは、イーサネットケーブル、同軸ケーブル、ユニバーサルシリアルバス(「USB」)、FireWire、および/または当技術分野で既知の任意の接続を含むことができる。そのようなプロトコルは、コンピュータ、スマートフォン、タブレット、データ取り込みシステム、移動体通信ネットワーク、クラウド、サーバなどの外部システムと通信するために通信ユニット222によって使用することができる。通信ユニット222は、数字、文字、英数字、および/または記号を含む信号を送信および受信するように構成することができる。場合によっては、128ビットもしくは256ビットキーなどのアルゴリズムおよび/またはAdvanced Encryption Standard(「AES」)、RSA、Data Encryption Standard(「DES」)、Triple DESなどの規格に準拠する他の暗号化アルゴリズムを使用して、信号を暗号化することができる。通信ユニット222は、ステータス、コマンド、および他のデータ/情報を送信および受信するように構成することができる。例えば、通信ユニット222は、ユーザがロボット200を制御することを可能にするためにユーザオペレータと通信することができる。通信ユニット222は、ロボット200がデータ、ステータス、コマンド、および他の通信をサーバに送信することを可能にするために、サーバ/ネットワーク(例えば、ネットワーク)と通信することができる。サーバはまた、ロボット200を遠隔的に監視および/または制御するために使用することができるコンピュータ(複数可)および/またはデバイス(複数可)に通信可能に結合することができる。通信ユニット222はまた、ロボット200用のサーバから更新(例えば、ファームウェアまたはデータ更新)、データ、ステータス、コマンド、および/または他の通信を受信し得る。
アクチュエータ220は、場合によってはタスクを実行するために、作動させるために使用される任意のシステムを含むことができる。例えば、アクチュエータ220は、駆動される磁石システム、モータ/エンジン(例えば、電気モータ、燃焼エンジン、蒸気エンジン、および/もしくは当技術分野で既知の任意のタイプのモータ/エンジン)、ソレノイド/ラチェット(ratchet)システム、圧電システム(例えば、インチワーム(inchworm)モータ)、磁歪素子、ジェスティキュレーション(gesticulation)、ならびに/または当技術分野で既知の任意のアクチュエータを含むことができる。いくつかの実装態様において、アクチュエータユニット220は、推進を動力化するなど、ロボット200の動きを可能にするシステムを含むことができる。例えば、動力推進は、ロボット200を前方もしくは後方に移動させることができ、かつ/または少なくとも部分的にロボット200を旋回させる(例えば、左、右、および/もしくは他の任意の方向)のに使用することができる。例示として、アクチュエータ220は、ロボット200が移動しているか停止しているかを制御し、および/またはロボット200がある場所から別の場所にナビゲーションすることを可能にする。
図2に関して説明されたユニット(メモリ202、コントローラ204、センサユニット212、ユーザインターフェースユニット218、アクチュエータユニット220、通信ユニット222、および/または他のユニットを含む)のうちの1つ以上は、統合されたシステムなどにおいて、ロボット200に統合することができる。しかしながら、いくつかの実装態様では、これらのユニットの1つ以上は、取り付け可能なモジュールの一部とすることができる。このモジュールは、既存の装置がロボットとして挙動するように、自動化するために既存の装置に取り付けることができる。したがって、ロボット200に関して本開示で記載されている特徴は、既存の装置に取り付けることができ、および/または統合システムにおいてロボット200に統合することができるモジュール内でインスタンス化することができる。さらに、場合によっては、当業者であれば、本開示の内容から、本開示で説明される特徴の少なくとも一部もクラウド、ネットワーク、および/またはサーバなどで遠隔で実行できることを理解するであろう。
いくつかの実装態様では、ロボット200は、ネットワークに通信可能に結合することができる。図3は、本開示のいくつかの実装態様による、ネットワーク302と通信可能におよび/または操作可能に結合されたロボット200を含むシステム300の機能ブロック図である。ネットワーク302は、限定された、もしくは定義された期間、または無期限もしくは未定義の期間にわたって、仮想マシン、プロセス、または他のリソースをインスタンス化するために呼び出すことができる、ハードウェア、ソフトウェア、サービス、および/またはリソースの集合を含むことができる。ネットワーク302は、インターネットにアクセスできるデバイスおよび/またはサーバを含む、複数のデバイス、システム、および/またはサーバと通信可能におよび/または操作可能に結合することができる。アクセスポイント304Aおよび304Bなどのアクセスポイントのうちの1つ以上は、コンピュータ、モバイルデバイス、タブレット、スマートフォン、携帯電話、携帯情報端末、ファブレット、電子書籍リーダー、スマートウォッチ、セットトップボックス、インターネットストリーミングデバイス、ゲーム機、スマート家電、ならびに/またはインターネットおよび/もしくは任意のネットワークプロトコルにアクセスできる任意のデバイスを含むがこれらに限定されない、デバイス、システム、および/またはサーバであり得る。2つのアクセスポイントが例示されているが、所望に応じてより多くのまたはより少ないアクセスポイントがあってもよい。
本明細書で使用される場合、ネットワーク302は操作することができる、すなわち、ネットワーク302は、情報を受信、処理、および/または送信することができる、内蔵コンピュータを有することができる。これらのコンピュータは、自律的におよび/または1人以上の人間のオペレータによる制御下で、動作することができる。同様に、ネットワーク302は、ネットワーク302を操作するために同様に使用することができる、アクセスポイント(例えば、アクセスポイント304Aおよび304B)を有することができる。アクセスポイントは、情報を受信、処理、および/または送信することができる、コンピュータおよび/または人間のオペレータを有することができる。したがって、本明細書におけるネットワーク302の動作への言及は、人間のオペレータおよび/またはコンピュータのオペレータに適用することができる。
いくつかの実装態様では、ロボット200と実質的に同様の1つ以上のロボットは、ネットワーク302と通信可能におよび/または操作可能に結合することができる。これらのロボットのそれぞれは、ステータス、コマンド、および/または動作データをネットワーク302に通信することができる。ネットワーク302はまた、ステータス、コマンド、および/または動作データを、ロボットのうちの1つ以上に格納し、および/または通信することができる。場合によっては、ネットワーク302は、ロボット200および/または他のロボットからのマップ、センサデータ、および他の情報を格納することができる。次いで、ネットワーク302は、接続された複数のロボットの経験を互いに共有することができる。さらに、情報の集約により、ネットワーク302は、機械学習アルゴリズムを実行して、ロボットの性能を改善することができる。
当業者であれば、本開示の内容から、本開示の一部がロボット200、ネットワーク302、ならびに/またはアクセスポイント304Aおよび/もしくは304Bによって実行され得ることを理解するであろう。特定の例は、ロボット200、ネットワーク302、ならびに/またはアクセスポイント304Aおよび/もしくは304Bのうちの1つまたは複数を参照して説明され得るが、例の特徴は、実質的に同様の結果を達成するようにロボット200、ネットワーク302、ならびに/またはアクセスポイント304Aおよび/もしくは304Bの間に分散することができることが理解されるであろう。
図4は、本開示のいくつかの実装態様による、ロボット200のロボット経路計画を動作させるための例示的な方法400のプロセスフロー図である。この例は、床清掃の文脈で本開示に折に触れて説明され得るが、当業者は、方法400が、限定なしで本開示に別途説明されている用途のいずれかを含む、本開示の内容が与えられた他のロボット用途に即座に適用され得ることを理解するであろう。
ブロック404は、ロボットの環境と関連付けられたコストマップを生成することを含む。例えば、ロボット200は、ロボットタスクを実行することができる。例示として、ロボットタスクは、床清掃などの清掃とすることができる。床清掃の結果として、ロボット200が床および/またはマップ上の所定の箇所に移動することが望ましい場合がある。例えば、ロボット200が実質的に床の表面全体を清掃することが望ましく、それによって、ロボット200が床の実質的に全面積に移動することが望ましくなる場合がある(例えば、少なくとも1回であるが、エリアへの複数回の走行が望ましい場合もある)。別の例として、ロボット200が清掃することが望ましい床の区分があり、それによって、ロボットをそれらの区分に移動させることが望ましくなる場合がある。別の例として、ロボット200が清掃することが望ましくない床の区分が存在し得る。例えば、硬質表面の床清掃機(例えば、タイル、セラミック、コンクリートなどの清掃機)は、軟質表面(例えば、カーペット、人工芝もしくは芝、マット、および/または他の軟質表面)を清掃することができない場合があり、その逆も同様である。場合によっては、誤った表面で床清掃機を使用することは、水による損傷、摩耗、欠け、ならびに/または表面および/もしくはロボット200への他の損傷などの、損傷につながる場合がある。
別の例として、ロボット200は、輸送ロボットとすることができ、ロボット200は、特定の場所に、および場合によっては特定の順序で移動することが望ましい。これは、スケジュールに追従すること、効率的および/または効果的にナビゲートすること、輸送の予測可能性を提供すること(例えば、商品、人、動物など)、輸送のために特定のもののみを荷積みすること、交通を回避すること、および/または任意の他の望ましい輸送の特性のために望ましい場合がある。そのような場合、特定の場所に(および/または特定の順序で)移動しないロボット200は、商品、人、動物などが輸送されなくなることを結果としてもたらす可能性がある。したがって、ロボットがロボットタスクを実行する過程で特定のエリア、場所、および/または位置に移動することが望ましい場合がある。
他の類似のロボットの状況は、本開示の内容を与えられた当業者に容易に明らかになるであろう。例えば、ロボットアームは、物体を移動させるロボットタスクを実行することができる。ロボットアームが、物体を荷積みおよび/または荷降ろしするために、特定の場所/位置に移動することが望ましい場合がある。
いくつかの実装態様では、ロボットのタスク/動作の上記の選好は、少なくとも部分的にコストマップで実現することができる。いくつかの実装態様では、コストマップは、特定の場所へのロボット200の移動(例えば、ナビゲーション、動きなど)の選好値の少なくとも一部を反映することができる。場合によっては、そのような移動は、ロボットタスクを実行することであってもよい。
例示として、コストマップは、コストマップの一部分が環境内の場所に相関する(例えば、相対的および/または絶対的)、2、3、4以上の次元のデータ構造とすることができる。場合によっては、それらの場所は、場所の特性が経時的に変化し得る場合、時間に相関されることができる。例えば、2次元(「2D」)マップでは、各ピクセルは、ロボット200がナビゲートする環境内の物理的場所に少なくとも部分的に相関することができる。同様に、3次元(「3D」)マップでは、各ボクセルは、ロボット200がナビゲートする環境内の物理的場所に少なくとも部分的に相関することができる。いくつかの実装態様では、2Dマップは、ロボット200が実質的に平坦な動作で動作する場合(例えば、水平な表面上であるかどうかにかかわらず、ロボット200の動きが、左、右、前方、後方、および/またはそれらの組み合わせなどの平面内で動作する場合)に使用することができる。いくつかの実装態様では、3Dマップは、ロボット200が、左、右、前方、後方に加えて上、下、列、ピッチ、および/またはヨーなどの、平坦な動作を超えて動作する場合に使用することができる。空間が場所と関連付けられたより多くの特性(温度、時間、複雑さなど)を有する場合、マップにより多くの次元が存在し得る。
いくつかの実装態様では、値は、コストマップの1つ以上のピクセル(ここではピクセルが使用されるが、原理は、ボクセルおよび/または異なる次元の任意の他のアナログに容易に適用可能である)と関連付けられることができ、ピクセルと関連付けられた相対値の少なくとも一部を示す。例えば、コストマップは、バイナリ値を含むことができ、1つの値は、ロボット200が移動することが望ましいエリアの少なくとも一部を示すことができ、別の値は、ロボット200が移動することが望ましくない箇所の少なくとも一部を示すことができる。別の例として、コストマップは、ピクセルと関連付けられた異なる値を有してもよく、値の大きさは、ロボット200がそのピクセルに移動することがどれほど望ましいおよび/または望ましくないかの少なくとも一部を示すことができる。
図5Aは、本開示のいくつかの実装態様による、コストマップの俯瞰図の図形表現である。コストマップ502は、ロボット200の環境と相関するマップを含む。例えば、ロボットインジケータ500は、ロボット200の位置を示す。場合によっては、ロボットインジケータ500は、実際にはコストマップ502上に存在しない場合がある。インジケータ506A〜506Cは、壁などの障害物の位置を少なくとも部分的に示すことができる。インジケータ504は、望ましい移動経路部分の少なくとも一部を示すことができ、ロボット200がそのインジケータ504内を移動することが望ましい。当業者は、コストマップが画像としてではなく、むしろ、値を有するデータ構造として存在し得ることを理解するであろう。しかしながら、場合によっては、コストマップは、コストマップ502などの画像として存在してもよく、および/または画像としてより容易に視覚化され得る。
インジケータ506A〜506Cは、そこに含有されるピクセルと関連付けられた値を有することができる。これらの値は、ロボット200がそれらの場所(例えば、障害物に衝突する)に行かないように選好の少なくとも一部を示すことができる。同様に、値は、インジケータ504に含有されるピクセルと関連付けることができ、ロボット200がそれらの場所に移動することの選好を示す。
例えば、コントローラ204を含むロボット200は、経路部分を移動している間にロボット200が触れるピクセルと関連付けられた値を最大化するように構成することができる。したがって、インジケータ504のピクセルは、他の箇所のピクセルよりも高い値を有することができる。さらに、インジケータ506A〜506Cのピクセルは、ロボット200がそれらの場所に行かないという選好を示すために、より低い値および/または負の値を有することができる。別の例として、ロボット200は、それが触れるピクセルの値を最小化するように構成されてもよい。したがって、インジケータ504のピクセルは、ロボット200がこれらの場所に行くという選好を示すために、より低い値および/または負の値を有してもよい。同様に、この状況では、インジケータ506A〜506Cのピクセルは、ロボット200がそれらの場所に行かないという選好を示すために、より高い値を有してもよい。当業者は、人がロボット200およびコントローラ204を構成して、コストマップに基づく場所に行くように相対的な選好をロボット200に与えることができる、任意の数の手段が存在することを理解するであろう。場合によっては、ロボット200およびコントローラ204は、コストマップ内のより望ましいピクセルと関連付けられた場所に行こうとする。
いくつかの実装態様では、コストマップは、動的であってもよく、経時的に、かつロボット200が移動するにつれて変化する。例えば、環境内の物体(例えば、インジケータ506A〜506Cで示される)は、経時的に移動する場合がある。さらに、インジケータ504内のピクセルの値もまた、経時的に変化する場合がある。例えば、ロボット200がピクセルを横切って移動した後、ロボット200が再びそのピクセルと関連付けられた場所に移動することが、あまり好ましくないか、または全く好ましくない場合がある。その結果、そのような移動されたピクセルと関連付けられた値は、ロボット200が移動していない場所と関連付けられた他のピクセルよりも低い選好(例えば、高いピクセル値が選好の少なくとも一部を示す場合は、より低く、低いピクセル値が選好の少なくとも一部を示す場合は、より高い)を示すことができる。しかしながら、そのような移動されたピクセルは、依然として、物体のピクセル(例えば、インジケータ506A〜506Cのピクセル)または他の場所のピクセルよりも強い選好を示すように評価されてもよい。別の例として、障害物は、インジケータ508のピクセルと関連付けられた場所内などの、経路内に移動する場合がある。障害物および/または物体に加えて、表面の種類、エリア内の反射率、干渉(例えば、電子機器または他の構成要素に起因する)、危険、人および/もしくはアイテムの密度、ロボットの望ましくない妨害(例えば、社会的事象または他の出来事に起因する)、ならびに/またはその他の要因などの、望ましくない他の環境要因が存在する場合がある。
いくつかの実装態様では、ロボット200がそのような場所に行くために達成しなければならない操縦と関連付けられたコストも存在し得る。例えば、ロボット200は、近位ピクセルに触れる軌道に沿って移動することができるが、他の場所に行くためにピクセルを飛び越えることができない場合がある。したがって、近いピクセルに対する選考が存在し得、そのようなピクセルは、その選好を反映する値を有する場合がある。また、鋭い旋回およびUターンを行うのではなく、直進して徐々に旋回することによるなどの、ロボット200の特定の操縦を介して到達することができるピクセルに対する選好が存在し得る。さらに、一般に、ピクセルの値は、それらの場所に到達するためにロボット200によって費やされるリソースの少なくとも一部を示すことができる。したがって、ロボット200は、コストマップに従って好ましい場所に移動し、好ましくない場所を回避するように、その移動を最適化することができる。
いくつかの実装態様では、コストマップは、ロボットタスクに関連する情報を、直接的または間接的に含むことができる。例えば、ロボット200が床清掃機である場合、ロボット200がいくつかの箇所では清掃することが好ましいが、他の場所では清掃しないことが望ましい場合がある。したがって、コストマップは、どのエリアを、ロボットが、例えば、散水する、ブラシを動作させる、モップをかけるなどによって清掃すべきかを示すことができる。場合によっては、この指示は、コスト値自体によって行うことができ、より高い値(例えば、所定の動作閾値より上)および/またはより低い値(例えば、所定の動作閾値より下)は、ロボット200の一部が実行するロボットタスクを示すことができる。
図5Bは、本開示のいくつかの実装態様による、インジケータ504の周りにスカート516Aおよび516Bを有するコストマップの俯瞰図の図形表現である。インジケータ504のピクセルは、ロボット200が移動する選好を示すことができる。例えば、ロボット200が床清掃機である場合、ロボット200が特定のエリアを清掃することが望ましい場合がある。しかしながら、そのエリアを離れることが好ましくない場合がある。例えば、あるエリアを離れることは、表面の損傷(床清掃機が硬質表面を清掃するように想定されているが、軟質表面に行く場合)および/または他の危険/損傷につながる場合がある。したがって、ロボット200が運動の経路から離脱することを防止することが望ましい場合がある。スカート516Aおよび516Bは、ロボット200がインジケータ504のピクセルから離脱することを防止する手段を例示する。したがって、スカート516Aおよび516Bは、好ましくない値のピクセルを含有することができる(例えば、より高い値が好ましいときに、より低いおよび/または負の値、より低い値が好ましいときに、より高い値)。有利なことに、これは、ロボット200が特定のエリアに制約されることを可能にすることができ、場合によっては、ロボット200がそのエリアを離れることによって生じ得る任意の損傷を防止する。
いくつかの実装態様では、コストマップの値は、コスト関数を使用して決定(例えば、計算)することができる。コスト関数は、上記の選好のいずれかに基づいて各ピクセルに値を割り当てることができる。コスト関数は、時間に依存してもよく、経時的に割り当てられたピクセルの値を部分的に変化させる。有利なことに、この時間依存性は、コストマップのピクセル値が経時的に変化することを可能にすることができる。一部の実装態様では、コスト関数は、ロボットの動きを考慮するために、経時的に値の低下をもたらす場合がある。
ブロック404のコストマップを生成する際の課題は、メモリおよびプロセッサの電力の使用を管理することである。より多くのピクセルを記憶するために、より多くのメモリが必要である。ピクセル数は、コストマップのサイズ、解像度、および/または次元数に関連し得る。このサイズ、解像度、および/または次元数は、少なくとも計画された経路の範囲、詳細、および/または空間の複雑さに関連し得る。さらに、各ピクセルが利用するメモリの量は、各ピクセルと関連付けられた値(例えば、データの形式)およびピクセルに利用されるデータ構造に関連し得る。また、コストマップと関連付けられたメモリおよびプロセッサの使用量は、コストマップ上で実行される動作数に依存し得る。したがって、コストマップのサイズ(例えば、ピクセル数)は、ロボット間で変動し得る、処理のためのメモリバジェットに少なくとも部分的に基づいて決定することができる。
いくつかの実装態様では、ロボット中心であるコストマップを有することが有利な場合がある。例えば、コストマップに共通の形式を有することは、それらが即座に比較されることを可能にすることができる。さらに、ロボット中心のコストマップは、コストマップが、環境の一時的な部分(例えば、開始位置)ではなく、永続的な要素に関連する(ロボット200が測定する場所にロボット200があることになる)ことを可能にする、コストマップを正規化することができる。
例示として、図6は、本開示のいくつかの実装態様による、ロボット200のロボット中心であるコストマップ602の上面図である。ロボットアイコン500は、コストマップ602に表されるように、空間内のロボット200の相対位置に相関することができる。例えば、インジケータ604は、コストマップ602に表されるように、ロボット200が移動するための望ましいエリアを示す。
いくつかの実装態様では、コストマップは、既にロボット中心として作成されている場合がある。例えば、センサ測定値は、既にロボット中心/エゴセントリックビュー(例えば、ロボットに対する障害物のLIDAR範囲)にあり、したがって、測定値は、ロボット中心のコストマップ上に投影することができる。そのような場合、ブロック406は、一部の実装態様では、スキップされてもよく、および/またはブロック404と組み合わせられてもよい。
ロボット中心ではないコストマップが作成される場合、コストマップは、コストマップがロボット中心になるように回転することができる。例えば、コストマップ(および/または移動経路またはロボットタスクに関連する動作マップなどの他のマップ)がロボット200(例えば、コントローラ204)によって回転することができ、そのため、ロボットは、コストマップ内で静止し、他の全て(例えば、環境の特徴物および/またはロボット200の経路)は、相対的であり、および/または静止ロボット200の周りに投影される。有利なことに、これは、比較の計算を最小限に抑えながら、ロボット200の異なる代替経路が探索されることを可能にする。さらに、エゴセントリック(例えば、ロボット中心)ビューは、ロボット200が全配向を探索する必要がない場合に、利用可能な選択肢および/または順列を制限する。代わりに、いくつかの実装態様では、利用可能な選択肢は、ロボット200がロボット200の位置から見るものに基づいて、制限される。
ブロック406は、次いで、ロボット200に対して複数の経路部分を投影することを含む。これらの軌道は、空間内のロボット200の考えられる軌道を含むことができる。いくつかの実装態様では、これらの軌道は、ロボット200の形状を考慮することができる。例えば、ロボット200は、車台および/またはロボット200の外部要素によって決定されるサイズおよび形状を有し得る。さらに、ロボット200は、ロボット200がそれ自体を知覚するサイズおよび形状を含み得る所定のフットプリントを有し得る。ロボットの事前定義されたロボット自体のフットプリントを例示するために、図7Aは、本開示のいくつかの実装態様によるロボット200のロボットフットプリント702を例示する上面図である。ロボット200は、事前定義された本体形状および寸法を有することができる。ロボット200は、前面704A、右面704C、左面704D、および背面704Bなどの複数の面を備えた本体を含むことができる。ロボット200はまた、上面および底面を有することができる。当業者であれば、本開示の内容が与えられれば、ロボット200が、形状(例えば、長方形、ピラミッド形、人型、または任意の他の形状)によって変わり得る、ロボット200の表面に対応する他の面もまた有することができることを理解するはずである。例示として、前面704Aは、ロボット200の前方に向いている側に配置することができ、前方に向いている側は、ロボット200の前方への動きの方向において前方にある。背面704Bは、ロボット200の後方に向いている側に配置することができ、後方に向いている側は、前方に向いている側と実質的に反対方向に向いている側である。右側面704Cは、前面704Aに対して右側とすることができ、左側面704Dは、前面704Aに対して左側とすることができる。
ロボット200の実際の本体形状が例示されるが、フットプリント702は、ロボット200がタスクをどのようにナビゲートおよび/またはタスクを実行することができるかを決定するロボット200のソフトウェアおよび/またはハードウェアで構成されたロボット200のサイズであり得る。例示として、フットプリント702は、(図示のように)前面704A、右面704C、左面704D、および/または背面704Bを超えて広がり得、これが、ソフトウェアおよび/またはハードウェアにおけるロボット200のサイズがどのようなもの(例えば、フットプリント702)であるとロボット200が認識するかということと、ロボット200の実際のサイズ/形状がどのようなものであるかということとの差を作る。これにより、ロボット200および/または環境内の物体の間のクリアランスが付与され得る。有利なことに、フットプリント702により、ナビゲーションのための安全バッファが付与され得る。フットプリント702のサイズおよび/または形状は、所望のクリアランス、環境の複雑さ、支援に対する許容範囲、衝突のリスク(例えば、衝突の発生、衝突の損傷の量、など)、および/または他の要因を含む、いくつかの要因に少なくとも部分的に基づき得る。図示のように、フットプリント702は長方形であるが、フットプリント702は、正方形、三角形、長方形、平行四辺形の非対称形状、曲線など、望ましい任意の形状を採ることができる。さらに、フットプリント702は、2次元として見た平面図で例示されている。しかしながら、場合によっては、フットプリント702は、ロボット200の複数の表面からのロボット200の認識を反映する、3次元とすることができる。
図示のように、いくつかの実装態様では、フットプリント702は、ロボット200の実際のサイズより大きくなり得る。当業者は、本開示の内容を考慮して、ロボット200に対するフットプリント702の各側部からのクリアランスの量が、異なる点で独立して変化することができ、フットプリント702が、ロボット200とは異なる形状および/もしくはサイズであり、非対称なクリアランスを有し、ならびに/または全体を通して変動を有し得ることを理解することができる。いくつかの実装態様では、フットプリント702は、ロボット200とサイズおよび/または形状が実質的に同様であり、クリアランスを作らないことが可能である。有利なことに、この実質的な類似性を有することは、ロボット200が、物体の周りをぴったりとナビゲートすること、および/またはロボット200が適合することができないが、実際には適合することができることを認識する状況に関するオペレータの補助を最小限に抑えることを可能にする。しかしながら、ロボット200とフットプリント702との間にこの実質的な類似性を有することは、ロボット200のマッピングおよび/またはナビゲーションにおけるノイズおよび/または異常に起因する衝突のリスクを高める場合がある。
どこへ行くかを計画する際、ロボット200は、ロボット200が空間を移動することになるコース(例えば、移動ベクトルを含む)を含み得る軌道を計画することができる。いくつかの実装態様では、ロボット200が所定の数の軌道を決定することが有利であり得る。これらの軌道は、エリアをナビゲートするためにロボット200の空間内の可能な動きなどの、ロボット200の可能な動きを表すことができる。いくつかの実装態様では、所定の数は、メモリおよび処理能力、処理速度、ロボット200がナビゲートする環境の複雑さ、ロボット200の可能な配向の数、ロボット200のDOF、軌道内に包含される空間量、軌道内に包含される時間量、軌道を完了するために使用される時間量、および/または他の要因に少なくとも部分的に基づいて決定することができる。場合によっては、所定の数の軌道は、リアルタイムにどこに移動するかを決定することとロボットリソースを節約することとの実際的な考慮に対して、可能な限り多くの軌道を確認する要望のバランスを取る。床清掃機の用途におけるいくつかの例示的な実装態様では、5000個の軌道が十分な所定の数の軌道であった。しかしながら、数百、数千、数百万以上の軌道などの他の数が、上述の要因に少なくとも部分的に基づいて、想定され、処理および記憶技術の可用性に応じて拡張すべきである。
いくつかの実装態様では、軌道は、ロボット200の要素の従属運動を含むことができる。例えば、ロボット200が複数の車輪を有してナビゲートしている場合、軌道は、ロボット200の車輪の1つ以上の量および位置などのロボット駆動構成によって画定することができる。例示として、複数の車輪を有するいくつかのロボットでは、いくつかの車輪がロボットを操舵するために使用することができる。例えば、ロボットは、全輪、四輪、前輪、および/または後輪で駆動する。軌道は、1つ以上の車輪の動きを含むことができる。
例示として、図7Bは、本開示のいくつかの実装態様による、3つの車輪を有するロボット200の左側面図を例示する。同様に、図7Cは、本開示のいくつかの実装態様による、3つの車輪を有するロボット200の右側面図を例示する。例示されるように、いくつかの実装態様では、ロボット200は、3つの車輪を有することができ、2つの車輪(例えば、車輪710Aおよび710C)が、後側704Bの近位に位置付けられ、1つの車輪(例えば、車輪710B)が、前側704Aの近位に位置付けられてもよい。本例示では、ロボット200は、後輪駆動とすることができ、車輪710Aおよび710Cは、駆動力を提供することができ、車輪710Bは、車輪710Bが位置付けられる角度に少なくとも部分的に基づいて、操舵を提供することができる。例えば、車輪710Bは、ロボット200が直進するように、ロボット200の本体に対して垂直に位置付けることができる。同様に、車輪710Bは、ロボット200を旋回させるためにある角度にわたって旋回することができる。角度は、−90〜90度の範囲などのいくつかの離散的および/もしくはアナログの角度、ならびに/または操縦に望ましい任意の範囲のとすることができる。いくつかの実装態様では、車輪710Bの旋回は、操舵モータなどのアクチュエータによって制御され得る。このアクチュエータは、少なくとも部分的に、モータコマンドに従って車輪710Bを旋回させることができる。いくつかの実装態様では、スタビライザー、ショックアブソーバー、手動フィードバック(例えば、環境から車輪710Bに加えられる力からの)、および/または他の要素などの、追加の要素もまた、車輪710Bの位置を制御することができる。
いくつかの実装態様では、軌道は、一連のアクチュエータコマンドに分割することができる。例えば、いくつかの実装態様では、アクチュエータコマンドは、ロボット200のナビゲーションを制御するために、車輪710Bの角度を決定することができる。例えば、アクチュエータコマンドは、プリミティブ(例えば、所定の時間間隔で所定の電圧を送る)および/またはより高いレベルのコマンド(例えば、所定の角度に車輪を設定する)とすることができる。したがって、ロボット200の動きを制御する過程で、ロボット200は、経時的に一連のアクチュエータコマンドを発することができる。
図7Dは、本開示の動作原理による、経時的なコントローラ特性のチャートである。タイムライン712は、時間tにわたる期間を例示している。タイムライン712は、単位714などの単位(例えば、セグメント)に分割することができる。セグメントは、実質的に等しいサイズである、および/または実施的に等しいサイズではない場合があり、少なくとも、アクチュエータコマンドが適用される速度、アクチュエータが応答する能力、ロボット200に所望される操縦量、ロボット200の速度、および/または他の要因に依存する。タイムライン712内の単位数は、ロボット200の操縦の複雑さ、メモリおよび/またはプロセッサリソース、所望される解像度、計算された軌道の数、および/または他の要因に少なくとも部分的に依存し得る。同様に、期間は、少なくとも、アクチュエータコマンドが適用される速度、アクチュエータが応答する能力、ロボット200に所望される操縦量、ロボット200の速度、ロボット200の操縦の複雑さ、メモリおよび/もしくはプロセッサリソース、所望される解像度、計算された軌道の数、および/またはその他の要因に依存し得る。いくつかの例示的な実装態様では、期間は、25単位を有する約2.5秒であった。しかしながら、他の時間および/または単位数が、上述の要因に少なくとも部分的に基づいて考えられる。例えば、1、2、3、4、5、6秒以上の期間、および/またはその間の期間が使用されてもよい。単位数は、0〜100、数千以上を含む値などの、任意の所望される値とすることができる。
各セグメントについて、制御特性が、計算され得る。例えば、図7Bおよび7Cに例示されるロボット200の例では、制御特性は、車輪710Bの車輪角度および/またはロボット200の線速度とすることができる。例示として、ロボット200は、一組の所定の車輪角度にわたって一組の所定の速度を使用することができる。これらの所定の速度および車輪角度は、ロボット200の動きを操縦するために組み合わせることができる。制御特性の他の例が、同様に想定される。例えば、ロボット200がロボットアームである場合、制御は、アームの位置を制御するアクチュエータの位置とすることができる。場合によっては、ロボット200がロボットアーム、多輪車両、歩行ロボット、および/または他のロボットであるかどうかにかかわらず、ロボット200の様々なDOFを制御する複数のアクチュエータが存在し得る。したがって、所与の時点で、ロボット200の様々なアクチュエータの状態に対応する複数の制御特性(例えば、アレイ、マトリックス、または複数の構造に記憶される)が存在し得る。
また所与の時点で、制御特性の異なる変形が計算され得る。例えば、線716A〜716Nは、制御特性のN個の変形を例示する。場合によっては、これらの制御特性は、ロボット200の全ての可能な動きのサブセットとすることができる。例示として、例示された矢印は、ロボット200の車輪角度に対応することができる。このサブセットは、必要に応じて制限されてもよく、および/または無制限であってもよい。例えば、サブセットは、現実的な動きを反映するために、制御特性を徐々に変化する(例えば、後続および/または進行中の制御特性からの所定の変動範囲内で)ものに制限することができる。別の例として、制御特性は、環境内の障害物および/または物体を認識し、衝突を回避するもののみを含むことができる。別の例として、いくつかの実装態様では、制御特性は、ロボット200のフットプリントを認識することができ、ロボット200に十分なクリアランスを与える、および/またはロボット200のサイズおよび形状が物理的に現実的に与えられる操縦のみを含むことができる。しかしながら、場合によっては、これらの例に反して、軌道は、障害物に関する知識よりも前に計算される場合があり、それによって、制御特性は、クリアランスおよび障害物の衝突を考慮しない場合がある。別の例では、制御特性は、ロボット200が現実的にどのようにナビゲートすることができるかに関係を有し得るロボット200の他の要因を考慮することができる。例示として、ナビゲーションロボットに関して、ロボット200の重量は、ロボット200が現実的にどの程度鋭く旋回することができるかに影響を与え得る。別の例として、表面の滑り易さ、動的特徴物の存在、照明、湿気、温度、および/または他の環境要因などの環境要因は、ナビゲーションおよび/または任意の他のロボットタスクにおけるロボット200の操縦性に影響を及ぼし得る。制御特性は、これらの環境要因を与えられたロボット200の現実的な動作を反映するものに制限することができる。有利なことに、上述の制限のうちの1つ以上を使用することは、処理および/または検討する選択肢が少なくなることによって、より高速な(およびリソースの点でより効率的な)計算が可能になる場合がある。さらに、別の利点は、上述の制限が、ロボット200がより少ない命令で空間を動作することを可能にし得ることである。
一方、より多くの選択肢を検討することは、より完全な分析につながり、場合によっては、より良好な決定が可能になる場合がある。例えば、障害物を考慮せずに制御特性を計算すると、障害物が動的である場合があり、いくつかの軌道は、障害物が移動する場合により有利になる場合がある。さらに、後述されることになるブロック408などの別のブロックで、可能な軌道のさらなる削除が行われる場合がある。場合によっては、そのような計算は、事前に(例えば、追加の複雑さおよび/または制約を追加する前に)実行されてもよく、依然として計算リソースの経済的な使用を可能にする。
したがって、N本の線は、制御特性の望ましい数に相関し得る。場合によっては、Nは、軌道の数(例えば、5000個の軌道および/または任意の他の数)と相関してもよく、および/または少なくとも部分的に、メモリおよび処理能力、処理速度、ロボット200がナビゲートする環境の複雑さ、ロボット200の可能な配向の数、ロボット200のDOF、制御特性に包含される空間量、制御特性に包含される時間量、および/または他の要因によって事前決定されてもよい。
場合によっては、軌道は、制御特性によって画定されてもよい。図7Eは、本開示のいくつかの実装態様による、連続コントローラ特性に追従するロボット200の上面図である。例示されるように、ロボット200は、線716Aに例示されるコントローラ特性に追従する。したがって、ロボット200は、線716Aに例示されるコントローラ特性を含む軌道726に沿って移動し、緩やかな右折を形成することができる。この軌道は、経路部分をたどることができる。同様に、他の線716A〜716Nは、ロボット200の移動の軌道を形成することができる。
図8Aは、本開示のいくつかの実装態様による、決定された経路部分を例示する経路部分図800Aおよび800Bを含む。場合によっては、これらの図はまた、マスクと呼ばれる場合もある。例えば、経路部分802Aは、ロボット200の軌道から決定された経路の図形表現であり得る。そのような軌道は、図7Bおよび7Cならびに本開示の他の場所を参照して説明されるものなどの、コントローラ特性を含むことができる。経路部分802Aは、ロボット200がナビゲートするエリアの少なくとも一部を示す第1の形状を有することができる。同様に、経路部分802Bは、ロボット200の軌道から決定された経路の別の図形表現であり得る。そのような軌道は、図7Bおよび7Cならびに本開示の他の場所を参照して説明されるものなどの、コントローラ特性を含むことができる。当業者は、いくつかの図形表現が経路部分図800Aおよび800Bとして示されているが、経路部分が、マトリックス、画像、アレイ、ベクトル、および/または当技術分野で公知の任意の他のデータ構造などの、他のデータ構造として保存することができることを理解するであろう。
いくつかの実装態様では、経路部分図800Aおよび800Bに例示される決定された経路部分は、ロボット200に関連し、かつ/またはそれを中心にすることができる(例えば、図6を参照して説明されたものと実質的に同様)。いくつかの場合、各決定された経路部分がロボット200に関連する場合、決定された経路部分は、容易に比較することができる。
例えば、複数の経路部分が、決定され得る。図8Bは、本開示のいくつかの実装態様による、経路部分図の3次元マトリックス800の図形表現である。マトリックス800は、N個の経路部分を含むことができ、Nは、考慮すべき経路部分の望ましい数に相関することができる。場合によっては、Nは、軌道の数(例えば、5000個の軌道および/または任意の他の数)、制御特性と相関してもよく、ならびに/または少なくとも部分的に、メモリおよび/もしくは処理能力、処理速度、ロボット200がナビゲートする環境の複雑さ、ロボット200の可能な配向の数、ロボット200のDOF、制御特性に包含される空間量、制御特性に包含される時間量、および/もしくは他の要因によって事前決定されてもよい。
図4に戻ると、ブロック408は、投影された複数の経路部分のコストを決定することを含むことができる。いくつかの実装態様では、経路部分のコストは、コストマップ(例えば、図5A〜5B、6を参照して説明されたコストマップと実質的に同様のコストマップ)を参照して決定することができる。したがって、経路部分を介した移動のコストが、計算され得る。
経路部分図が決定され、コストマップおよび経路部分図が実質的に同様に配向される場合(例えば、ロボット200に対して、および/またはそれを中心として、の両方)、経路部分のコストは、容易に計算することができる。例えば、コストマップと経路部分図の間のドット積を取得することは、経路部分図と関連付けられたコストを計算し得る。したがって、複数の経路部分図が存在する場合、コストマップと複数の経路部分図との間のドット積は、各経路部分図と関連付けられたコストを与えることができる。マトリックス800が複数の経路部分を含む場合、マトリックスとコストマップとのドット積は、マトリックス800内に含まれた経路部分のコストを計算することになる。有利なことに、これは、複数の経路部分の迅速かつ間違いのない計算を可能にすることができ、そのため、それらを比較することができる。
ブロック410は、経路部分の各々のコストに少なくとも部分的に基づいて、複数の経路部分から第1の経路部分を選択することを含むことができる。例えば、コストマップとマスクとの間のドット積は、マスクと関連付けられたコストを見つけるために取得することができる。コストマップ内のより高い値が、ロボット200が移動することが望ましい箇所に割り当てられる場合、ドット積の結果として実質的な最大値および/またはより高い値を見つけることは、最適経路を示すことができる。別の例として、コストマップ内のより低い値が、ロボット200が移動することが望ましい箇所に割り当てられる場合、ドット積の結果として実質的な最小値および/またはより低い値を見つけることは、最適経路を示すことができる。
しかしながら、コストおよび/またはコストの修正に加えて、他の要因が考慮される場合がある。例えば、経路部分の操縦時間が考慮される場合がある。例示として、所定の操縦時間閾値が事前決定される場合がある。経路部分を完了するための操縦が所定の操縦時間閾値よりも長くかかる場合、経路部分は、無視される、および/またはペナルティを与えられる場合がある(例えば、乗算および/または加算によるコストの増加)。別の例として、コストマップは、時間を節約する操縦を反映するように調整される場合がある。例示として、ロボット200は、操縦速度を最大化するように、経路を見つける際に貪欲なアプローチを取ることができる。
別の例として、最短経路フィールドが計算され得る。例えば、終点がロボット200に対して決定され得る。経路毎に、終点に対する最短経路が、ロボットの現在の配向を考慮して決定され得る。このようにして、最短経路は、マップ内の点毎に決定され得る。終点へのそのような最短経路は、コストマップの値を調整するために使用することができ、それによって、より短い経路(および/または現実的な経路)をより有利にする。場合によっては、最短経路を含むマップは、追加のマップである場合があり、本質的にコストマップを形成する。いくつかの実装態様では、最短経路は、当技術分野で公知のアルゴリズムを使用することなどによって、障害物をさらに考慮することができる。
例えば、終点は、ロボット200の制限された視野に関連する場合がある。例えば、ロボット200は、所定の距離および/または時間範囲を有する視野を計画および/または見る場合がある。例えば、視野は、フィート、ヤード、メートルなどの事前定義された単位の距離とすることができる。視野は、秒、分などの事前定義された時間(例えば、ロボット200が範囲外になる前に移動することができる)であってもよい。
例示的な例として、図8Cは、本開示のいくつかの実装態様による、ロボット200が障害物822に衝突するロボット200の軌道820、およびロボット200が障害物822を迂回することを可能にするロボット200の軌道824の俯瞰図である。マップ部分818は、ロボット200がナビゲートしている環境の一部分を例示する。マップ部分818は、コストマップに対応し得るロボット200の視野を例示することができる。例示されるように、軌道820は、障害物822を通過し、それによって、潜在的に衝突させる、および/またはロボット200を障害物822の正面で動かなくさせる。ロボット200が障害物822に近づくほど、ロボット200の操縦は、より制限されるようになる場合がある。一方、ロボット200が障害物822を迂回すべきであると認識した場合、ロボット200は、次いで、軌道824として例示されるものなどの、障害物822を迂回するより最適な経路を計画することができる。軌道824で例示されるこのより最適な経路は、ロボット200をより速く旋回させる。
最短経路を決定するために、マップ部分818は、複数の点を見ることなどによって、離散化され得る。図8Dは、本開示の実装態様による、各点が離散場所である、マップ部分818の離散化されたバージョンを例示する俯瞰図である。例えば、点830Aは、マップ部分818内の離散化された点とすることができる。いくつかの実装態様では、ナビゲート不能な点が、障害物822内にある可能性がある、点834などの、離散化に含まれ得る。いくつかの実装態様では、ナビゲート不能な点が、含まれない場合がある。場合によっては、各離散化された点は、セルと呼ばれ得る。
最短経路を決定するために(例えば、最短経路フィールドで)、点が選択され得る。任意の点を使用することができるが、いくつかの実装態様では、点は、ロボット200が経路に沿って前進しているときに確認することができる実質的に最も遠い点(例えば、距離および/または時間において最も遠い)などの、ロボット200の視野に沿った点である。有利なことに、これは、ロボット200が、それが移動するときに前進する経路を計画することを可能にすることができる。ロボット200は、次いで、各離散化された点(図8Dに例示される離散化された点などの)からその選択された点までの最短非衝突点を見つけることができる。
図8Eは、本開示のいくつかの実装態様による、図8Dに例示された離散化された点の区分からの最短非衝突経路を示す俯瞰図である。例えば、マップ部分818Aは、マップ部分818の例示的な部分(例えば、例示的な目的のための)であり得る。点830Aは、他の点からの最短非衝突経路が計算される点を選択され得る。例えば、点830Bは、マップ部分818A内の離散化された点および/またはセルとすることができる。最短非衝突経路(例えば、マップ部分818内に示される環境内の物体と衝突しない)は、点830Bから点830Aに直進する、経路836Bによって示され得る。別の例として、点830Cは、障害物822の反対側の別の点であってもよい。したがって、点830Cと点830Aとの間の最短非衝突経路は、障害物822を迂回する、経路836Cによって例示された曲線経路である。
場合によっては、最短経路フィールドからの関連情報は、選択された点までの最短経路(例えば、最短非衝突経路)を移動するために、その点のロボット200のベクトル(例えば、方向、配向、姿勢、位置、速度など)である。したがって、ベクトル場は、各離散化された点でのベクトルを示すように生成され得る。図8Fは、本開示のいくつかの実装態様による、図8Dに例示された離散化された点と関連付けられた最短経路のベクトルを示す俯瞰図である。例えば、点830Bは、ベクトル838Bに対応し、これは、点830Aへの最短経路を移動するためにロボット200のベクトルを与える。
いくつかの実装態様では、各離散化された点のベクトルは、最短経路と関連付けられたベクトル場を形成することができる。後の計算を容易にするために、各ベクトルは、場合によっては、単位長さのベクトルとすることができる。これらのベクトルは、ロボット200の計画された経路部分および/または軌道、例えば、マトリックス800内に含まれる計画された経路部分と比較され得る。例えば、ロボット200は、計画された経路部分および/または軌道の各々と関連付けられたベクトルを決定することができる。ベクトルは、計画された経路部分および/または軌道を開始するときのロボット200の配向、速度、位置、姿勢などを反映することができる。いくつかの実装態様では、このベクトルは、計算を容易にするために、単位長さのベクトルとすることができる。したがって、計画された各経路部分および/または軌道の各々のベクトルは、最短経路と関連付けられたベクトル場のベクトルと比較され得る。場合によっては、ベクトル間の比較がなされ得る。例えば、ベクトルが角度において少なくとも所定の角度だけ異なる場合、次いで、経路部分および/または軌道は、検討から外され得る。この所定の角度は、計算リソース、環境の複雑さ、計算時間、経験的な検討事項、および/または他の要因に少なくとも部分的に基づいて決定することができる。90度の所定の角度は、現実的には移動しない経路部分および/または軌道を考慮から除外するために効果的であったことがわかった。他の場合、ペナルティが、最短経路と関連付けられた軌道の角度とは実質的に異なるベクトルに対応する経路部分および/または軌道に割り当てられる場合がある。そのようなペナルティは、コスト値、乗算および/または加算などを介して、回復マトリックス、コストマップ、および/またはマトリックス(例えば、マトリックス800)で実現することができる。場合によっては、比較が、最短経路のベクトルと、ロボット200によって計算された経路部分および/または軌道のベクトルのベクトルとの間のドット積を調べることによって計算され得る。このようにして、軌道および/または経路部分が最短経路の方向と実質的に同様である適切な方向を有するとき、それは、ドット積に反映されることになる。このドット積は、最短経路と同じ初期方向を有する軌道および/または経路部分の値が優先されるように、コスト関数の依存関係になる場合がある。
別の例として、回復条件が決定され得る。そのような回復条件は、事前決定された場合および/または状況に対する操縦を識別することができる。場合によっては、回復条件は、例示的な例を介して以下に説明されるように、状況から抜け出すためにロボット200が実行する操縦であり得る。場合によっては、回復条件がロボット200の意思決定に影響を与える場合があり、ロボット200が使用する経路または経路部分に少なくとも部分的に影響を与える。
例示として、図9Aは、本開示のいくつかの実装態様による、壁906に面し、それによって、制限された前方移動性を有する、ロボット200の俯瞰図である。壁906が例示されているが、ロボット200のように他の障害物/物体を壁906の代わりに使用されてもよい。例示されるように、ロボット200は、前側704Aの近位に壁906を有する。この位置から、前方軌道902は、ロボット200を壁906に向かって進ませて、場合によっては、壁906と衝突させ得る。ロボット200が壁906と衝突しない場合でも、特に、ロボット200の形状が、三輪車および/または他の形状などの非円形である場合、ロボット200の操縦性は、ロボット200が壁906に近づくにつれて、より制限される。したがって、軌道904上で少なくとも部分的に画定された経路などの旋回経路が望ましい場合がある。
回復条件に基づいて、特定の軌道が考慮から除外されてもよく、より有利/不利にされてもよい。例えば、図9Aに例示されている図では、ロボット200を壁906に近づけておよび/またはその中に移動させる軌道が、マトリックス800から取得され得る。別の例として、ロボット200を壁906に近づけておよび/またはその中に移動させる軌道は、コストペナルティを有してもよく、マスクに対するコスト関数計算を変更し、それによって、それらを選択され難くする。別の例として、有利な軌道(例えば、図9Aでは、軌道904および/または他の軌道)は、有利なコスト影響を有し得、マスクのコスト関数計算を変更し、それによって、それらが選択される可能性を高くする。場合によっては、ロボット200は、壁906および/または任意の他の障害物に直面しないように、異なる方向(例えば、所定の角度で左または右)に移動するなどの所定の操縦を選択することができる。
場合によっては、マトリックス800を修正する代わりに、別の回復マトリックスが存在してもよい。有利なことに、完全に他の回復マトリックスを使用することは、個々の軌道の値を調整するよりも高速である場合がある。そのような場合、回復マトリックスは、軌道のコストを決定するために、マトリックス800の代わりに使用され得る。したがって、本開示における参照は、コスト関数値の変更、コストペナルティの呼び出し、および/または有利なコスト影響を回復マトリックスの値に関連させることができると説明した。回復マトリックスの使用は、本明細書で説明された回復条件の例などの、回復条件のいずれかに関連する指標によってトリガーされ得る。例えば、ロボット200がその正面に壁を検出したとき、ロボット200は、実装するこができる様々な軌道選択肢と関連付けられたコストを反映する回復マトリックスを使用することができる。別の例として、ロボットは、それが外れた経路であることを決定し、その発生と関連付けられた回復マトリックスをトリガー/利用して、どのように回復するかを決定することができる。いくつかの実装態様では、ロボット200は、マトリックス800を使用して経路を決定することに失敗すると、回復マトリックスを利用することができる。したがって、回復マトリックスは、ロボット200が移動するための軌道を識別することに他の計算が失敗したときの、代替および/または追加の計算であり得る。
回復条件の別の例として、ロボット200が、障害物(例えば、壁906などの壁に面している)によって制約されることによるなどの、動きを制限されている状況では、回復条件は、障害物から離れて移動するために、ロボット200の回転を決定することができる。例示として、ロボット200は、ロボット200の回転を計算することができる。図9Bは、本開示のいくつかの実装態様による、ロボット200のフットプリントの計算された回転の上面図である。フットプリント702Aは、ロボット200のフットプリントを少なくとも部分的に示すことができる。例えば、フットプリント702Aは、障害物(例えば、壁906)に面するときのロボット200のフットプリントであり得る。ロボット200は、複数の角度で回転されたフットプリント702Aの位置などの、フットプリント702Aの回転を計算することができる。フットプリント702B〜702Hは、フットプリント回転角の例を例示する。フットプリント702Aが回転される角度は、利用可能なメモリおよび/もしくは処理リソース、ロボット200の利用可能な動きの範囲、検出された障害物の位置、ロボット200のフットプリントの形状および/もしくはサイズ、ならびに/または他の要因に少なくとも部分的に基づいて決定され得る。いくつかの実装態様では、角度の範囲が計算され得る(例えば、回転の総面積を少なくとも部分的に決定する)。この範囲は、事前決定され得る、ケースバイケースに基づいて見つけられ得る、および/または全ての実行可能な回転を試行することによって決定され得る。角度は、回転範囲全体で周期的および/または断続的であり得る。いくつかの実装態様では、フットプリント702B〜702Hは、ロボット200の中心(例えば、幾何学的中心、重心、旋回中心など)の共通中心点、および/または任意の他の点を中心として回転され得る。
回復条件の別の例は、物体に接触および/または接近することに関し得る。例えば、ロボット200は、所定の距離閾値内などの、近くにある物体を示すピクセルを検出することができる。そのような所定の距離閾値は、ロボット200の停止距離、ロボット200の速度、ロボット200の物体との衝突の潜在的な損傷、衝突の許容度、ロボット200の操縦に必要な空間量、および/または他の要因に少なくとも部分的に基づいて決定され得る。ロボット200はまた、ロボット200のフットプリント内の物体を示すピクセルを検出することができる。これらの場合、ロボット200が物体から離れて移動することが望ましい場合がある。別の例として、ロボット200は、物体と衝突してもよく、物体の1つ以上のピクセルがロボット200のフットプリント内に突出する。物体の接触および/または接近の検出に応答して、ロボット200は、物体から180度離れる(例えば、逆転および/または反転)またはロボット200の形状および/もしくは操作性、ならびに/またはロボット200のフットプリントに応じて物体から離れる角度などの、物体から離れる方向に移動され得る。この離れる動きは、ロボット200が、経路を決定する前に物体から取り除かれることを可能にし得る。場合によっては、ロボット200は、物体に対する様々なルートと関連付けられたコストを調整することができる。例えば、物体から離れる経路は、ロボット200を物体の方向に進ませる経路よりもコストを有利にすることができる。
回復条件の別の例は、ロボット200が決定ループで動かなくなったときに起こり得る。例示として、ロボット200は、移動する経路を選択することができるが、障害物が、その経路を追従することを妨げる場合がある。ロボット200は、次いで、例えば、追従する異なるマスクを選択することによって、移動する別の経路を選択することができる。しかしながら、障害物は、次いで、移動してロボットを妨害する場合がある。他の妨害のシナリオが、ロボット200に妨害を検出させ得るセンサノイズおよび/または人工物に起因して起こる場合がある。別のシナリオとして、実質的に静止している障害物が、障害物の以前には見えなかった部分が見えるようになる、回転などの変化のために移動しているように知覚され得る。場合によっては、ロボット200が繰り返し第1の経路に沿って移動しようとするが、妨げられ、次いで、第2の経路に沿って移動しようとする、周期的な決定が起こる場合がある。ロボット200は、次いで、第1の経路および第2の経路を移動しようとする間でサイクルに入る場合があり、それによると、ロボット200は、ナビゲーション目標への移動および/またはロボット200の動作タスクの終了にいかなる実質的な進捗ももたらさない。
そのような循環を遮断するために、回復条件は、循環的決定の遮断器を含むことができる。いくつかの実装態様では、ロボット200(例えば、コントローラ204)は、選択された軌道、経路/経路部分、および/または制御特性を記憶し(例えば、メモリ202に)、繰り返しを見つけることができる。例えば、循環的決定の閾値が存在してもよく、軌道、経路/経路部分、および/または制御特性が循環的決定の閾値以上繰り返された場合、その軌道、経路/部分、および/または制御特性は、もはや考慮されなくなる、および/またはコストペナルティを受けることになる。循環的決定の閾値は、所定の時間窓にわたる、および/または場所(および/または実質的に同様の場所)と関連付けられた、繰り返し数とすることができる。いくつかの実装態様では、循環的決定の決定数は、環境の複雑さ、ロボット200の未決定/停止の許容度、オペレータの補助の利用可能性、繰り返しの類似性、および/またはその他の要因に、少なくとも部分的に依存し得る。場合によっては、3回の繰り返し決定の発生が、循環的決定の閾値として有効であることが見出された。
説明されたように、循環的決定の閾値が満たされた後、ロボット200は、そのような繰り返される決定をもはや考慮することができない。有利なことに、これは、循環を遮断し、ロボット200が循環的意思決定につながり得ない別の経路を見つけることを可能にし得る。
いくつかの実装態様では、上述の回復条件および/または選択のいずれかにおいて、軌道、経路部分、および/または制御特性が選択されるたびに、コストペナルティが、選択された軌道、経路/経路、および/または制御特性に対応するコストマップに追加され得る。代替的に、コストマップを調整する代わりに、ペナルティが、選択された軌道、経路/経路部分、および/または制御特性のマスクに追加されてもよく、そのため、マスクのコストが決定されるときに、そのコストは、マスク(それゆえに、軌道、経路/経路部分、および/またはそこに含まれる制御特性)が選択されることになる可能性を低下させることになる。上記のように、別個の回復マトリックスが使用されてもよい。
いくつかの実装態様では、回復条件および/または動作制御特性(例えば、通常動作中またはその他)が学習プロセスの一部として決定され得る。そのような学習プロセスは、ロボット200(例えば、コントローラ204を使用して)、ネットワーク302、アクセスポイント304Aおよび/もしくは304B、ならびに/またはロボットシステムの任意の他の構成要素に実装され得る。例えば、コストマップが、調整されてもよく、および/または回復手順が、過去の性能および/またはロボット200が受信するフィードバックに少なくとも部分的に基づいて、実装されてもよい。場合によっては、ユーザフィードバックが、ライブラリなどのメモリ内に保存され得る。フィードバックは、(a)制御入力、(b)補正なし、(c)物理的補正、(d)マップ補正、および(e)性能パラメータのうちの1つ以上の形態を採ることができる。場合によっては、学習されたケースが、マトリックス800のマスクなどの、意思決定プロセスに統合され得る。
例えば、制御入力は、手動操作を介するなどの、ロボット200上で物理的に実行され得る。例示として、図7Bおよび7Cに例示されるなどの床清掃機は、カートと実質的に同様の手段で、操舵車輪およびフットペダルを使用して手動操作で駆動され得る。別の例として、オペレータは、遠隔制御を使用してコマンドを入力することができる。オペレータは、現場にいてもよく、ならびに/あるいはネットワーク302および/またはアクセスポイント304Aもしくは304Bのうちの1つ以上を介するなどの、遠隔操作を行ってもよい。したがって、問題のあるエリアでは、オペレータは、そのエリアを清掃するためにロボット200を駆動することができる。当業者は、他のロボットで同様の用途が存在することを認識することになる。例えば、オペレータは、問題のあるエリアで輸送ロボットを駆動し得る。別の例として、オペレータは、ロボットアームを制御してタスクを実行することができる。したがって、ロボット200は、状況(例えば、センサデータ、場所、姿勢、環境要因など)を、オペレータが実行した手動操作(例えば、シナリオにおけるコントローラコマンド、軌道、および/または経路部分)と関連付けることができる。場合によっては、ロボット200は、制御入力の軌道、経路/経路部分、および/または制御特性が、その後の実質的に同様の状況との遭遇で選択されることになる可能性をより高めることができる。いくつかの実装態様では、この可能性を高めることは、コストマップの値を変更して、ルートが選択される可能性を高めることを含み得る。いくつかの実装態様では、ロボット200は、状況が発生したときに、実演された制御入力を自動的に実行することができる。有利なことに、本開示のシステムおよび方法は、ロボット200が、より多くの情報を受信する際に、経路計画を継続的に学習および改善することができる。
別の例として、補正がないことは、ロボット200の経路計画をさらに定着させ得る。例えば、ロボット200が、ある状況における経路/経路部分を追従し、かつ補正されないたびに、ロボット200は、その状況が再び発生した場合に、その経路を移動することになる可能性をより高めることができる。これは、コストマップを調整して、実行したものと実質的に同様の経路/経路部分を優先させることによって、達成され得る。有利なことに、そのような挙動は、ロボット200が成功した挙動を継続することを可能にし得る。
別の例として、物理的補正が、ロボット200にフィードバックを提供するために使用され得る。物理的補正は、オペレータがロボット200に物理的に接触すること、および/またはそれを位置付けることを含み得る。例示として、ロボット200がロボットアームである場合、オペレータは、ロボットアームの1つ以上の関節を旋回させること、および/またはアームを空間内に位置付けることによって、ロボットアームを調整することができる。別の例として、オペレータは、ロボット200の少なくとも一部分を持ち上げて、必要に応じてその部分を位置変更することができる。したがって、ロボット200は、物理的補正が起こった状況を観察し得る。場合によっては、ロボット200は、物理的補正の軌道、経路/経路部分、および/または制御特性が、その後の実質的に同様の状況との遭遇で選択されることになる可能性をより高めることができる。いくつかの実装態様では、この可能性を高めることは、コストマップの値を変更して、ルートが選択される可能性を高めることを含み得る。いくつかの実装態様では、ロボット200は、状況が発生したときに、実演された制御入力を自動的に実行することができる。有利なことに、本開示のシステムおよび方法は、ロボット200が、ユーザがそれを単に物理的に補正するときなどの、暗黙の修正に従って調整することを可能にする。この能力は、制御入力の形式にこだわらずにユーザフィードバックを可能にすることによって、ユーザ体験を向上させることができる。
別の例として、マップ補正は、ユーザ/オペレータによって入力され得る。例えば、ユーザは、経路の調整、コストマップの変更、ルートの移動、ルートの拡張、ルートの閉鎖、および/またはロボット200が移動することができる環境の部分のさらなる制約(および/または拡張)を行うことができる。ユーザは、ユーザインターフェースユニット218、ネットワーク302、および/またはアクセスポイント304Aおよび304Bを介してそのようにすることができる。場合によっては、ロボット200は、マップ補正の変更を組み込む、軌道、経路/経路部分、および/または制御特性が、その後の実質的に同様の状況で選択されることになる可能性をより高めることができる。いくつかの実装態様では、この可能性を高めることは、コストマップの値を変更して、ルートが選択される可能性を高めることを含み得る。いくつかの実装態様では、ロボット200は、状況が発生したときに、実演された制御入力を自動的に実行することができる。有利なことに、本開示のシステムおよび方法は、ロボット200が、マップおよび/または性能データを評価する遠隔操作者によるなどの、異なる時点で異なる場所から補正されることを可能にし得る。この能力は、ロボットが後続の実行の間で効率を向上させることができるため、よりシームレスなユーザ体験を可能にし得る。
例示として、図9C〜9Eは、本開示の実装態様による、マップを補正するためのユーザインターフェースである。例えば、図9Cは、本開示のいくつかの実装態様によって補正する地図を選択するためのユーザインターフェースを示す。デバイス920は、ユーザインターフェースユニット218ならびに/またはアクセスポイント304Aおよび304B内に含まれるユーザインターフェースなどのユーザインターフェースとすることができる。例示として、デバイス920は、携帯電話として示されているが、ユーザインターフェースユニット218ならびに/またはアクセスポイント304Aおよび304Bを参照して説明されたものうちのいずれかなどの、他のインターフェースが考えられる。デバイス920上では、表示される複数のセル(例えば、セル922A〜922F)が存在し得、これらのセルは、ユーザによって選択され得るマップを示している。図9Cは、6つのセルのみを示しているが、表示されるセルの数は、必要に応じてより少なくてもよく、またはより多くてもよい。例示されるように、いくつかのセルは、空であり(例えば、セル922C〜922F)、いくつかのセルは、マップを有している(例えば、セル922Aおよび922B)。セル922Aおよび922Bは、実行されたマップを含有し、ロボット200が環境内で以前に移動した場所の高レベルのマップを示している。
マップを有するセルを選択した後、選択肢が、マップを編集するために現れ得る。図9Dは、本開示の実装態様による、ユーザによって実行され得るマップの様々な操作を例示する。例えば、デバイス920は、経路部分940を含むマップ932を表示することができる。ユーザは、項目を含む表示されたメニューから選ぶことができる。ユーザが実行することができるマップの操作に関連して、ユーザが選択することができる任意の数の選択肢が存在し得る。例えば、インターフェースは、ユーザが、マップの編集、経路の調整、開始位置(例えば、ホームマーカ)の移動、経路/経路セグメントの削除、動作の追加(例えば、清掃、操作、作動など)、および/またはユーザが所望し得る任意の他の操作を行うことを可能にし得る。例えば、選択肢934Aは、ユーザが経路セグメントを削除することを可能にし得る。例えば、オプション934Aを選択した後、ユーザは、次いで、マップ932および/または経路部分940に表示される経路の一部分を選択することができる。ロボット200は、次いで、そのような選択された経路部分を削除することができる。別の例として、選択肢934Bは、ユーザが経路を調整することを可能にし得る。例えば、ユーザは、マップ932および/または経路部分940内に含まれる経路部分を選択し、その経路部分を移動/操作することができる。別の例として、選択肢934Cは、ユーザがホームマーカ(例えば、開始位置)を移動することを可能にする。例えば、開始位置は、ロボット200がロボット動作を開始および/または終了する場所であり得る。例えば、ロボットは、ホームマーカで開始する空間のナビゲートを始め、および/またはホームマーカに戻ったときに終了することができる。アイコン936は、ホームマーカの場所を示すことができる。図9Eは、本開示のいくつかの実装態様による、ホームマーカを移動する動作を例示する。例えば、ホームマーカは、場所936Aから場所936Bに移動され得る。
有利なことに、ユーザ補正は、ロボット200がユーザフィードバックに基づいて直接調整することを可能にする。そのようなフィードバックは、ユーザのフィードバックがロボット200の所望される経路を示すことができるため、経路計画でロボット200を支援することができる。したがって、ロボット200は、フィードバックに従う経路をより有利に重み付けすることができる。
別の例として、性能尺度がメモリ202内に記憶され得る。性能尺度は、少なくとも部分的に、どれほど良くロボット200が実行したかを反映し得る。場合によっては、性能尺度がパラメータであってもよい。パラメータは、ロボット200が目標軌道および/または経路/経路部分にどれほど接近しているかの尺度であり得る。当業者は、パーセンテージ、差など、この比較が数値的に測定され得る任意の数の手段が存在し得ることを理解するであろう。場合によっては、それは、どれほど良くロボット200が実行しているかを反映し得るパラメータの相対値(例えば、ロボットの実行の間の)である。別の例として、パラメータは、コストマップロボット200内の望ましいピクセルと関連付けられたいくつの場所が横断するかを測定し得る。ロボット200がナビゲートする場合(例えば、床清掃機、運搬装置、および/または他のナビゲーションロボット)、性能パラメータは、ロボット200が移動する床面積(例えば、平方メートル、平方フィート、平方インチ)の少なくとも一部を示すことができる。別の例として、パラメータは、ロボット200が選択された経路/経路部分で達成する理想的な経路(コストマップの観点から最も価値がある)から外れたパーセンテージを測定することができる。性能尺度に少なくとも部分的に基づいて、ロボット200は、動作を変更して性能を改善することができる。
性能特性は、サブセット(例えば、1つの所与のインスタンスにおけるロボット200の選択および/またはロボット200の複数の選択)に起因し得る。したがって、ロボット200は、インスタンスおよび/または複数のインスタンスで挙動を最適化することができ、それによって、挙動をさらに最適化することができる。同様に、ロボット200は、ある状況での挙動をどのように最適化するかを観察し、その状況のその後の発生で実質的に同様の挙動を実行することができる。
図4に戻ると、ブロック412は、第1の経路部分に対するアクチュエータコマンドを決定することを含み得る。アクチュエータコマンドは、ロボット200が、1つ以上の制御特性によるなどの、経路部分に沿って移動することを可能にする。さらに、いくつかの実装態様では、アクチュエータコマンドは、ロボットが、ブラシの旋回、散水、物体(ならびに/または人および動物)の移動、関節運動、および/またはロボット200の任意の他の機能などの動作タスクを実行することを可能にし得る。
さらに、いくつかの実装態様では、アクチュエータコマンド関数が使用され得る。アクチュエータコマンド関数は、ロボット200の様々な一時的要因を考慮することができ、ロボット200が適切に挙動することを可能にする。実際、一時的要因がロボット200に十分な影響を及ぼす場合、一時的要因は、ブロック410で考慮され得る。
例えば、ロボット200の動きの物理学は、例えば、ロボット200の重量が変化したときに変わる場合がある。例示として、ロボット200の重量は、流体レベルが変化する(例えば、水、洗浄液、燃料など)、および/またはロボットが貨物および/または人を乗せる/送達するときに変化し得る。したがって、ロボット200の重量が変化したとき、旋回の物理特性が変化する。
別の例として、ロボット200のロボットタスクに関連するアクチュエータが、ロボット200の動きの物理特性に影響を及ぼす場合がある。例えば、ロボット200が回転ブラシを有する場合(例えば、バニッシャ、洗浄機、および/または他の床清掃機のように)、ブラシの回転は、ロボット200にモーメントを生じさせる場合があり、これは、ロボット200がどのように旋回および/または方向を変え得るかに影響を及ぼし得る。
場合によっては、アクチュエータコマンドは、ロボット200が第1の経路部分に沿って移動するために、ロボット200に対して識別された制御特性に従ってアクチュエータを調整する形態を採ることができる。例えば、ロボット200は、第1の経路部分の一連の制御特性のうちの第1の制御特性を実施するアクチュエータコマンドを生成することができる(例えば、軌道726の第1の矢印、ならびに/または任意の他の軌道、経路、および/もしくは経路部分に対応する制御特性を取る)。場合によっては、この第1の制御特性は、実施される唯一の制御特性であってもよく、ロボット200は、次いで、第1の制御特性を含むアクチュエータコマンドを送信した後に経路を再評価する(例えば、方法400によって、別の第1の経路部分を見つける)。有利なことに、これは、ロボット200が各移動後に経路を再評価することを可能にし、最適な経路計画のより大きい潜在性を与える。場合によっては、第1の制御特性は、モデル予測制御とすることができる。例示として、第1の制御特性は、第1の車輪角度、第1のアーム位置、および/または本開示で説明される他の任意の制御特性に対応することができる。
しかしながら、場合によっては、アクチュエータコマンドは、複数の制御特性を含んでもよい。例えば、複数の制御特性は、少なくとも部分的に、第1の経路部分の制御特性に関連し得る。制御特性を実施することによって、ロボット200は、第1の経路部分の少なくとも一部分を移動することができる。例えば、2つ、3つ、4つ、5つ以上の制御特性が、アクチュエータコマンドに関連して使用され得る。例示として、そのような制御特性は、軌道626の矢印のうちの2つ、3つ、4つ、5つ以上に関連し得る。有利なことに、そのような複数を使用することは、より円滑な移動および/またはより少ない計算リソースの消費を可能にする。より円滑な移動は、ロボットが、移動する際により自然な外観を有することを可能にし得る。
いくつかの実装態様では、ユーザインターフェース218は、起動されたときに、ロボット200に方法400の1つ以上のステップを実行させる、外部開始ボタンを含むことができる。例えば、外部開始ボタンは、少なくともブロック404、406、408、410、および412を繰り返すことができ、ロボット200が状況を再評価することを可能にする。有利なことに、エラー、ノイズ、および/またはセンサデータの任意の他の問題は、ロボット200に、そこに存在しない物体および/または障害物を誤って検出させる場合がある。外部ボタンは、ロボット200をトリガーして、問題のあるデータを再評価および/または取り除き、それによって、経路計画を再度実行することができる。場合によっては、これは、ロボット200がナビゲーションに問題があった空間を適切にナビゲートすることを可能にする。
図10は、本開示のいくつかの実装態様による、経路計画のための例示的な方法1000のプロセスフロー図である。ブロック1002は、ロボットの環境と関連付けられたコストマップを生成することを含み、コストマップは、環境内の場所に各々対応する複数のコストマップピクセルを含み、各コストマップピクセルは、関連付けられたコストを有する。ブロック1004は、環境内のロボットの移動のための投影された経路部分を有する複数のマスクを生成することを含み、各マスクは、複数のマスクピクセルを含み、各マスクピクセルは、環境内の場所に対応する。ブロック1006は、環境内の1つ以上の障害物に対するロボットの位置に少なくとも部分的に基づいて、回復条件が適用されるかどうかを決定することを含み、回復条件が適用される場合、(1)コストマップおよび(2)複数のマスクのうちの1つ以上、のうちの少なくとも1つを修正する。ブロック1008は、コストマップに少なくとも部分的に基づいて、各マスクと関連付けられたマスクコストを決定することを含む。ブロック1010は、第1のマスクのマスクコストに少なくとも部分的に基づいて、第1のマスクを選択することを含む。ブロック1012は、第1のマスク内に含まれる投影された経路部分を移動するようにロボットに対するアクチュエータコマンドを決定することを含む。ブロック1014は、アクチュエータコマンドに少なくとも部分的に基づいて、ロボットのアクチュエータを作動させることを含む。
図11は、本開示のいくつかの実装態様による、経路計画のための例示的な方法1100のプロセスフロー図である。ブロック1102は、環境の生成されたマップの少なくとも一部分と関連付けられたコストマップを生成することを含み、コストマップが、複数のコストマップピクセルを含み、各コストマップピクセルが、環境内の場所に対応し、各コストマップピクセルが、関連付けられたコストを有する。ブロック1104は、環境内のロボットの移動のための投影された経路部分を有する複数のマスクを生成することを含み、各マスクは、複数のマスクピクセルを含み、各マスクピクセルは、環境内の場所に対応する。ブロック1106は、環境内の1つ以上の障害物に対するロボットの位置に少なくとも部分的に基づいて、回復条件が適用されるかどうかを決定することを含み、回復条件が適用される場合、(1)コストマップおよび(2)複数のマスクのうちの1つ以上、のうちの少なくとも1つを修正する。ブロック1108は、コストマップに少なくとも部分的に基づいて、各マスクと関連付けられたマスクコストを決定することを含む。ブロック1110は、第1のマスクのマスクコストに少なくとも部分的に基づいて、第1のマスクを選択することを含む。ブロック1112は、第1のマスクに少なくとも部分的に基づいて、1つ以上のアクチュエータを作動させることを含む。
図12は、本開示のいくつかの実装態様による、経路計画のための例示的な方法1200のプロセスフロー図である。ブロック1202は、ロボットの環境と関連付けられたコストマップを生成することを含み、コストマップが、環境内の場所に各々対応する複数のコストマップピクセルを含み、各コストマップピクセルが、場所を清掃する要望に少なくとも部分的に基づく関連付けられたコストを有する。ブロック1204は、環境内のロボットの姿勢からの移動のための投影された軌道を有する複数のマスクを生成することを含み、各マスクが、複数のマスクピクセルを含み、各マスクピクセルは、ロボットがマスクを選択する場合にロボットが清掃することになる環境内の場所に対応する。ブロック1206は、コストマップに少なくとも部分的に基づいて、各マスクと関連付けられたマスクコストを決定することを含む。ブロック1208は、第1のマスクのマスクコストに少なくとも部分的に基づいて、第1のマスクを選択することを含む。
本明細書で使用されるように、コンピュータおよび/またはコンピューティングデバイスは、これらに限定されないが、 パーソナルコンピュータ(「PC」)およびミニコンピュータデスクトップ、ラップトップ、もしくはそれ以外、メインフレームコンピュータ、ワークステーション、サーバ、携帯情報端末(「PDA」)携帯型コンピュータ、埋め込み式コンピュータ、プログラマブルロジックデバイス、パーソナルコミュニケータ、タブレットコンピュータ、モバイルデバイス、ポータブルナビゲーションエイド、J2ME搭載デバイス、携帯電話、スマートフォン、パーソナル統合通信またはエンターテインメントデバイス、および/または、一組の命令を実行し、入力してくるデータ信号を処理することが可能である、任意の他のデバイスを含むことができる。
本明細書で使用される場合、コンピュータプログラムおよび/またはソフトウェアは、機能を実行する任意のシーケンスまたは人間もしくは機械認識可能なステップを含むことができる。そのようなコンピュータプログラムおよび/またはソフトウェアは、例えば、C/C++、C#、Fortran、COBOL、MATLAB(商標)、PASCAL、GO、RUST、SCALA、Python、アセンブリ言語、マークアップ言語(例えば、HTML、SGML、XML、VoXML)などを含む任意のプログラミング言語または環境、ならびにCommon Object Request Broker Architecture(「CORBA」)、JAVA(商標)(J2ME、Java Beansなどを含む)、バイナリランタイム環境(例えば、「BREW」)などのオブジェクト指向環境によって提供することができる。
本明細書で使用される場合、接続、リンク、および/またはワイヤレスリンクは、エンティティ間の情報交換を可能にする、(物理的か論理的/仮想的かにかかわらず)任意の2つ以上のエンティティ間の因果関係を含むことができる。
本開示のある特定の態様は、方法のステップの特定のシーケンスに関して記載されているが、これらの記載は、本開示のより広範な方法の単なる例示であり、特定の用途によって要求されるように変更され得ることが認識されるであろう。ある特定の状況下では、ある特定のステップが不要または任意選択になることがあり得る。さらに、開示された実装態様にある特定のステップもしくは機能が追加されてもよく、または2つ以上のステップの実行順序は並べ換えることができる。そのような変形は全て、本明細書に開示および特許請求されている開示内に包含されると見なされる。
上記の詳細な説明は、様々な実装態様に適用される本開示の新規な特徴を示し、説明し、指摘したが、例示されたデバイスまたはプロセスの形態および詳細における様々な省略、置換、および変更が、本開示から逸脱することなく当業者によりなされ得ることが理解されるであろう。前述の説明は、現在考えられる、本開示を実施する最良の形態に関するものである。この説明は、決して限定することを意味するものではなく、むしろ本開示の一般原理の例示として解釈されるべきである。本開示の範囲は、特許請求の範囲を参照して判断されるべきである。
本開示を図面および前述の説明において詳細に例示および記載してきたが、そのような例示および説明は説明的または例示的であり、限定的ではないと見なされるべきである。本開示は、開示された実施形態に限定されない。開示された実施形態および/または実装態様に対する変形は、図面、本開示および添付の特許請求の範囲の検討から、特許請求された開示を実施する際に当業者によって理解され、達成され得る。
本開示のある特定の特徴または態様を説明するときに特定の術語を使用することは、その術語が関連付けられている本開示の特徴または態様の任意の具体的な特性を含むように限定されるように、その術語が本明細書において再定義されていることを含意すると解釈されるべきではない。本出願で使用される用語および表現、ならびにとりわけ添付の特許請求の範囲中のその変形は、特に明記しない限り、限定ではなく非限定的なものとして解釈されるべきである。前述の例として、「含む(including)」という用語は、「限定することなく含む(including,without limitation)」、「含むがこれに限定されない(including but not limited to)」などを意味すると読まれるべきであり、本明細書で使用される「含む(comprising)」という用語は、「含む(including)」、「含有する(containing)」、または「によって特徴付けられる(characterized by)」と同義であり、包括的かつ開放式であり、追加の列挙されていない要素または方法ステップを排除するものではなく、「有する(having)」という用語は、「少なくとも有する(having at least)」と解釈されるべきであり、「など(such as)」という用語は「限定することなく、〜など(such as,without limitation)」と解釈されるべきであり、「含む(includes)」という用語は、「含むがこれに限定されない(includes but is not limited to)」と解釈されるべきであり、「例(example)」という用語は、考察における項目の例示的な例を提供するために使用され、それらの網羅的または限定的なリストではなく、「例として、しかし限定することなく(example,but without limitation)」として解釈されるべきであり、「既知の」、「普通の(normal)」、「標準的な(standard)」などの形容詞および同様の意味の用語は、記載された項目を所与の期間または所与の時点で利用可能な物品に限定すると解釈されるべきではないが、代わりに、現在または将来の任意の時点で利用可能または既知となる可能性がある既知の、普通の、または標準的な技術を包含すると読まれるべきであり、「好ましくは(preferably)」、「好ましい(preferred)」、「所望の(desired)」、または「望ましい(desirable)」などの用語の使用、および同様の意味の語句は、ある特定の特徴が本開示の構造または機能にとってクリティカル、不可欠、またはそれどころか重要であることを含意すると理解されるべきではないが、代わりに、単に特定の実施形態において利用されてもされなくてもよい代替または追加の特徴を強調することを意図したものとして理解されるべきである。同様に、接続詞「および(and)」によってリンクされた項目の群は、それらの項目のうちのひとつひとつがその群内に存在することを必要とするものとして読まれるべきではなく、むしろ特に明記しない限り「および/または(and/or)」として読まれるべきである。同様に、接続詞「または(or)」によってリンクされた項目の群は、そのグループ間の相互排他性を必要とするものとして読まれるべきではなく、むしろ特に明記しない限り「および/または(and/or)」として読まれるべきである。「約(about)」または「およそ(approximate)」などの用語は同義語であり、その用語によって修飾された値がそれに関連する理解された範囲を有することを示すために使用され、その範囲は±20%、±15%、±10%、±5%、または±1%、であり得る。「実質的に(substantially)」という用語は、結果(例えば、測定値)が目標値に近いことを示すために使用され、近いとは、例えば、結果がその値の80%以内、その値の90%以内、その値の95%以内、またはその値の99%以内であることを意味し得る。また、本明細書で使用される場合、「定義された(defined)」または「決定された(determined)」は、「事前に定義された(predefined)」もしくは「事前に決定された(predetermined)」および/または他の方法で決定された値、条件、しきい値、測定値などを含み得る。

Claims (20)

  1. ロボットによる経路計画のための方法であって、
    前記ロボットの環境と関連付けられたコストマップを生成することであって、前記コストマップが、複数のコストマップピクセルを含み、前記複数のうちの各コストマップピクセルが、前記環境内のそれぞれの場所に対応し、前記複数のうちの各コストマップピクセルが、関連付けられたコストを有する、生成することと、
    複数のマスクを生成することであって、前記複数のうちの各マスクが、前記環境内での前記ロボットの移動のための投影された経路部分を有し、前記複数のうちの各マスクが、複数のマスクピクセルを含み、前記複数のうちの各マスクピクセルが、前記環境内のそれぞれの場所に対応する、生成することと、
    前記環境内の1つ以上の障害物に対する前記ロボットの位置に少なくとも部分的に基づいて、回復条件が適用されるかどうかを決定することと、前記回復条件が適用される場合、(1)コストマップおよび/または(2)前記複数のマスクのうちの1つ以上、のうちの少なくとも1つを修正することと、
    前記生成されたコストマップに少なくとも部分的に基づいて、前記複数のうちの各マスクと関連付けられたマスクコストを決定することと、
    前記複数のマスクのうちの第1のマスクを、前記第1のマスクの前記決定されたマスクコストに少なくとも部分的に基づいて選択することと、
    前記第1のマスク内に含まれる前記投影された経路部分を移動するように前記ロボットに対するアクチュエータコマンドを決定することと、
    前記決定されたアクチュエータコマンドに少なくとも部分的に基づいて、前記ロボットのアクチュエータを作動させることと、を含む、方法。
  2. 前記マスクコストを決定することが、
    1つ以上のマスクを含む少なくとも1つのマトリックスを形成することと、
    前記少なくとも1つのマトリックスと前記生成されたコストマップとの間のドット積を取得することと、をさらに含む、請求項1に記載の方法。
  3. 前記コストマップおよび各マスクが前記ロボットに対して実質的に同様に配向されるように、前記コストマップおよび各マスクを回転させることをさらに含む、請求項1に記載の方法。
  4. 前記回転させることが、前記生成されたコストマップおよび前記複数の前記マスクのうちの各マスクをロボット中心にする、請求項3に記載の方法。
  5. 複数の第2のコストマップピクセルを含む第2のコストマップを生成することをさらに含み、前記複数のうちの各第2のコストマップピクセルが、前記環境内のそれぞれの場所に対応し、前記複数のうちの各第2のコストマップピクセルが、前記ロボットの現在の場所および各第2のコストマップピクセルと関連付けられた前記それぞれの場所からの最短経路に対する前記ロボットの配向を少なくとも部分的に示すベクトルを含む、請求項1に記載の方法。
  6. 前記複数のマスクのうちの各マスクと関連付けられた前記マスクコストを決定することが、前記生成された第2のコストマップに少なくとも部分的にさらに基づく、請求項5に記載の方法。
  7. 前記回復条件が、障害物の存在に少なくとも部分的に基づいて、前記ロボットの運動制限を決定することを含む、請求項1に記載の方法。
  8. 前記第1のマスクが選択されるたびにコストペナルティを実施することをさらに含み、前記実施されたコストペナルティは、前記第1のマスクが再び選択されることになる可能性を低下させる、請求項1に記載の方法。
  9. 前記投影された経路部分のうちの経路部分が、経時的な前記ロボットの軌道を含む、請求項1に記載の方法。
  10. 前記投影された経路部分のうちの前記経路部分が、前記ロボットの清掃経路を含む、請求項9に記載の方法。
  11. ロボットであって、
    前記ロボットの環境に関するセンサデータを生成するように構成された1つ以上のセンサと、
    前記ロボットの移動を推進するように構成された1つ以上のアクチュエータと、
    プロセッサ装置と、を備え、前記プロセッサ装置が、
    前記1つ以上のセンサによって生成された前記センサデータに少なくとも部分的に基づいて、前記環境のマップを生成することと、
    前記環境の前記生成されたマップの少なくとも一部分と関連付けられたコストマップを生成することであって、前記生成されたコストマップが、複数のコストマップピクセルを含み、前記複数のうちの各コストマップピクセルが、前記環境内のそれぞれの場所に対応し、前記複数のうちの各コストマップピクセルが、関連付けられたコストを有する、生成することと、
    複数のマスクを生成することであって、前記複数のうちの各マスクが、前記環境内での前記ロボットの移動のための投影された経路部分を有し、前記複数のうちの各マスクが、複数のマスクピクセルを含み、前記複数のうちの各マスクピクセルが、前記環境内のそれぞれの場所に対応する、生成することと、
    前記環境内の1つ以上の障害物に対する前記ロボットの位置に少なくとも部分的に基づいて、回復条件が適用されるかどうかを決定することと、前記回復条件が適用される場合、(1)コストマップおよび/または(2)前記複数のマスクのうちの1つ以上、のうちの少なくとも1つを修正することと、
    前記生成されたコストマップに少なくとも部分的に基づいて、前記複数のうちの各マスクと関連付けられたマスクコストを決定することと、
    前記複数のマスクのうちの第1のマスクを、前記第1のマスクの前記マスクコストに少なくとも部分的に基づいて選択することと、
    前記第1のマスクに少なくとも部分的に基づいて、前記1つ以上のアクチュエータを作動させることと、を行うように構成されている、ロボット。
  12. 前記ロボットの清掃ブラシを動作させるように構成されている1つ以上のブラシアクチュエータをさらに備える、請求項11に記載のロボット。
  13. 前記プロセッサ装置が、前記生成されたコストマップに少なくとも部分的に基づいて前記1つ以上のブラシアクチュエータを作動させるようにさらに構成されている、請求項12に記載のロボット。
  14. 前記プロセッサ装置は、前記ロボットが前記環境内の障害物に遭遇することに少なくとも部分的に基づいて、前記複数のうちの少なくとも1つのマスクと関連付けられた前記マスクコストを更新するようにさらに構成されている、請求項11に記載のロボット。
  15. 前記プロセッサ装置が、1つ以上の回復条件を識別する学習プロセスを実施するようにさらに構成されている、請求項11に記載のロボット。
  16. ロボットによる経路計画のための方法であって、
    前記ロボットの環境と関連付けられたコストマップを生成することであって、前記コストマップが、複数のコストマップピクセルを含み、前記複数のうちの各コストマップピクセルが、前記環境内のそれぞれの場所に対応し、前記複数のうちの各コストマップピクセルが、前記それぞれの場所を清掃する要望に少なくとも部分的に基づく関連付けられたコストを有する、生成することと、
    前記環境内の前記ロボットの姿勢からの移動のための投影された軌道を有する複数のマスクを生成することであって、前記複数のうちの各マスクが、複数のマスクピクセルを含み、前記複数のうちの各マスクピクセルは、前記ロボットが前記マスクを選択する場合に前記ロボットが清掃することになる前記環境内のそれぞれの場所に対応する、生成することと、
    前記生成されたコストマップに少なくとも部分的に基づいて、各マスクと関連付けられたマスクコストを決定することと、
    前記複数のマスクのうちの第1のマスクを、前記第1のマスクの前記マスクコストに少なくとも部分的に基づいて選択することと、を含む、方法。
  17. 前記ロボットの1つ以上のアクチュエータを作動させて、前記第1のマスク内に含まれる第1の投影された軌道を清掃することをさらに含む、請求項16に記載の方法。
  18. ユーザフィードバックに応答して、前記生成されたコストマップを調整することをさらに含む、請求項16に記載の方法。
  19. 前記複数のマスクを生成することが、
    前記ロボットのフットプリントを受信することと、
    前記環境内の障害物と前記ロボットの前記受信されたフットプリントとの間の衝突の回避に少なくとも部分的に基づいて、前記複数のマスクを生成することと、をさらに含む、請求項16に記載の方法。
  20. 前記複数のマスクを生成することが、
    前記ロボットの1つ以上の物理的属性を受信することであって、前記1つ以上の物理的属性が、前記ロボットの操縦能力を制限する、受信することと、
    前記受信された1つ以上の物理的属性に少なくとも部分的に基づいて、前記複数のマスクを生成することと、をさらに含む、請求項16に記載の方法。
JP2019553292A 2017-03-30 2018-03-26 ロボット経路計画のためのシステムおよび方法 Pending JP2020512644A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/474,816 2017-03-30
US15/474,816 US10293485B2 (en) 2017-03-30 2017-03-30 Systems and methods for robotic path planning
PCT/US2018/024350 WO2018183197A1 (en) 2017-03-30 2018-03-26 Systems and methods for robotic path planning

Publications (1)

Publication Number Publication Date
JP2020512644A true JP2020512644A (ja) 2020-04-23

Family

ID=62025963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019553292A Pending JP2020512644A (ja) 2017-03-30 2018-03-26 ロボット経路計画のためのシステムおよび方法

Country Status (5)

Country Link
US (3) US10293485B2 (ja)
EP (1) EP3602223B1 (ja)
JP (1) JP2020512644A (ja)
CN (1) CN110622081A (ja)
WO (1) WO2018183197A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230104331A (ko) * 2021-12-30 2023-07-10 인천대학교 산학협력단 장애물 충돌방지 기능이 결합된 휠체어 조이스틱 입력 기반 전동 휠체어

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11835343B1 (en) * 2004-08-06 2023-12-05 AI Incorporated Method for constructing a map while performing work
US11774944B2 (en) 2016-05-09 2023-10-03 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US20180284746A1 (en) 2016-05-09 2018-10-04 StrongForce IoT Portfolio 2016, LLC Methods and systems for data collection optimization in an industrial internet of things environment
US11327475B2 (en) 2016-05-09 2022-05-10 Strong Force Iot Portfolio 2016, Llc Methods and systems for intelligent collection and analysis of vehicle data
US11237546B2 (en) 2016-06-15 2022-02-01 Strong Force loT Portfolio 2016, LLC Method and system of modifying a data collection trajectory for vehicles
US11042161B2 (en) 2016-11-16 2021-06-22 Symbol Technologies, Llc Navigation control method and apparatus in a mobile automation system
US10293485B2 (en) 2017-03-30 2019-05-21 Brain Corporation Systems and methods for robotic path planning
US10929759B2 (en) 2017-04-06 2021-02-23 AIBrain Corporation Intelligent robot software platform
US11151992B2 (en) * 2017-04-06 2021-10-19 AIBrain Corporation Context aware interactive robot
US10963493B1 (en) 2017-04-06 2021-03-30 AIBrain Corporation Interactive game with robot system
US10839017B2 (en) 2017-04-06 2020-11-17 AIBrain Corporation Adaptive, interactive, and cognitive reasoner of an autonomous robotic system utilizing an advanced memory graph structure
US10810371B2 (en) 2017-04-06 2020-10-20 AIBrain Corporation Adaptive, interactive, and cognitive reasoner of an autonomous robotic system
US10949798B2 (en) 2017-05-01 2021-03-16 Symbol Technologies, Llc Multimodal localization and mapping for a mobile automation apparatus
US11367092B2 (en) 2017-05-01 2022-06-21 Symbol Technologies, Llc Method and apparatus for extracting and processing price text from an image set
DE112018002314T5 (de) 2017-05-01 2020-01-23 Symbol Technologies, Llc Verfahren und vorrichtung zur erkennung eines objektstatus
US11093896B2 (en) 2017-05-01 2021-08-17 Symbol Technologies, Llc Product status detection system
US10726273B2 (en) 2017-05-01 2020-07-28 Symbol Technologies, Llc Method and apparatus for shelf feature and object placement detection from shelf images
US11449059B2 (en) 2017-05-01 2022-09-20 Symbol Technologies, Llc Obstacle detection for a mobile automation apparatus
US11600084B2 (en) 2017-05-05 2023-03-07 Symbol Technologies, Llc Method and apparatus for detecting and interpreting price label text
EP3650181B1 (en) * 2017-07-05 2022-06-15 Omron Corporation Route output method, route output system and route output program
US10921801B2 (en) 2017-08-02 2021-02-16 Strong Force loT Portfolio 2016, LLC Data collection systems and methods for updating sensed parameter groups based on pattern recognition
US10012996B1 (en) * 2017-09-15 2018-07-03 Savioke, Inc. Route planning for a mobile robot using configuration-based preferences
US10788831B2 (en) * 2017-10-06 2020-09-29 Wipro Limited Method and device for identifying center of a path for navigation of autonomous vehicles
US11274929B1 (en) * 2017-10-17 2022-03-15 AI Incorporated Method for constructing a map while performing work
CA3088155A1 (en) * 2018-01-10 2019-07-18 Simbe Robotics, Inc Method for detecting and responding to spills and hazards
US11614743B2 (en) * 2018-02-26 2023-03-28 The Boeing Company System and method for navigating a sensor-equipped mobile platform through an environment to a destination
US11327504B2 (en) 2018-04-05 2022-05-10 Symbol Technologies, Llc Method, system and apparatus for mobile automation apparatus localization
US10823572B2 (en) 2018-04-05 2020-11-03 Symbol Technologies, Llc Method, system and apparatus for generating navigational data
US10832436B2 (en) 2018-04-05 2020-11-10 Symbol Technologies, Llc Method, system and apparatus for recovering label positions
US10740911B2 (en) 2018-04-05 2020-08-11 Symbol Technologies, Llc Method, system and apparatus for correcting translucency artifacts in data representing a support structure
US10809078B2 (en) * 2018-04-05 2020-10-20 Symbol Technologies, Llc Method, system and apparatus for dynamic path generation
US10996679B2 (en) * 2018-04-17 2021-05-04 Baidu Usa Llc Method to evaluate trajectory candidates for autonomous driving vehicles (ADVs)
WO2019212240A1 (en) * 2018-05-04 2019-11-07 Lg Electronics Inc. A plurality of robot cleaner and a controlling method for the same
KR102100476B1 (ko) 2018-05-04 2020-05-26 엘지전자 주식회사 복수의 이동 로봇 및 그 제어방법
US10955842B2 (en) * 2018-05-24 2021-03-23 GM Global Technology Operations LLC Control systems, control methods and controllers for an autonomous vehicle
US10739768B2 (en) * 2018-08-08 2020-08-11 Toyota Motor Engineering & Manufacturing North America, Inc. Smoothed and regularized Fischer-Burmeister solver for embedded real-time constrained optimal control problems in autonomous systems
US10835096B2 (en) * 2018-08-30 2020-11-17 Irobot Corporation Map based training and interface for mobile robots
US11506483B2 (en) 2018-10-05 2022-11-22 Zebra Technologies Corporation Method, system and apparatus for support structure depth determination
US11010920B2 (en) 2018-10-05 2021-05-18 Zebra Technologies Corporation Method, system and apparatus for object detection in point clouds
US11256260B2 (en) * 2018-10-05 2022-02-22 Waymo Llc Generating trajectories for autonomous vehicles
JP7259274B2 (ja) * 2018-11-12 2023-04-18 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム
US11003188B2 (en) 2018-11-13 2021-05-11 Zebra Technologies Corporation Method, system and apparatus for obstacle handling in navigational path generation
US11090811B2 (en) 2018-11-13 2021-08-17 Zebra Technologies Corporation Method and apparatus for labeling of support structures
US11416000B2 (en) 2018-12-07 2022-08-16 Zebra Technologies Corporation Method and apparatus for navigational ray tracing
US11079240B2 (en) 2018-12-07 2021-08-03 Zebra Technologies Corporation Method, system and apparatus for adaptive particle filter localization
US11100303B2 (en) 2018-12-10 2021-08-24 Zebra Technologies Corporation Method, system and apparatus for auxiliary label detection and association
US11015938B2 (en) 2018-12-12 2021-05-25 Zebra Technologies Corporation Method, system and apparatus for navigational assistance
US10731970B2 (en) 2018-12-13 2020-08-04 Zebra Technologies Corporation Method, system and apparatus for support structure detection
CA3028708A1 (en) 2018-12-28 2020-06-28 Zih Corp. Method, system and apparatus for dynamic loop closure in mapping trajectories
JP7147571B2 (ja) * 2019-01-15 2022-10-05 オムロン株式会社 経路生成装置、経路生成方法、及び経路生成プログラム
CN111561943A (zh) * 2019-02-14 2020-08-21 车彦龙 一种机器人巡检方法及系统
CN109857141B (zh) * 2019-03-13 2022-06-03 商丘中原无人机科技有限公司 植保无人机喷洒方法和系统
US10809734B2 (en) 2019-03-13 2020-10-20 Mobile Industrial Robots A/S Route planning in an autonomous device
US11565411B2 (en) * 2019-05-29 2023-01-31 Lg Electronics Inc. Intelligent robot cleaner for setting travel route based on video learning and managing method thereof
US11151743B2 (en) 2019-06-03 2021-10-19 Zebra Technologies Corporation Method, system and apparatus for end of aisle detection
US11960286B2 (en) 2019-06-03 2024-04-16 Zebra Technologies Corporation Method, system and apparatus for dynamic task sequencing
US11200677B2 (en) 2019-06-03 2021-12-14 Zebra Technologies Corporation Method, system and apparatus for shelf edge detection
US11341663B2 (en) 2019-06-03 2022-05-24 Zebra Technologies Corporation Method, system and apparatus for detecting support structure obstructions
US11080566B2 (en) 2019-06-03 2021-08-03 Zebra Technologies Corporation Method, system and apparatus for gap detection in support structures with peg regions
US11662739B2 (en) 2019-06-03 2023-05-30 Zebra Technologies Corporation Method, system and apparatus for adaptive ceiling-based localization
US11402846B2 (en) 2019-06-03 2022-08-02 Zebra Technologies Corporation Method, system and apparatus for mitigating data capture light leakage
CN112179361B (zh) * 2019-07-02 2022-12-06 华为技术有限公司 更新移动机器人工作地图的方法、装置及存储介质
CN110531759B (zh) * 2019-08-02 2020-09-22 深圳大学 机器人探索路径生成方法、装置、计算机设备和存储介质
US20220265110A1 (en) * 2019-08-12 2022-08-25 Avidbots Corp System and method of semi-autonomous cleaning of surfaces
US20210064031A1 (en) * 2019-08-28 2021-03-04 Zenuity Ab Path planning for autonomous and semi-autonomous vehicles
EP3792716B1 (de) * 2019-09-13 2022-11-09 Siemens Aktiengesellschaft Numerische steuerung mit pufferung von lagesollwerten
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
CN111028658A (zh) * 2019-11-18 2020-04-17 杭州晶一智能科技有限公司 一种基于gps和在线地图的割草机器人电子地图构建方法
US11224972B2 (en) 2019-11-22 2022-01-18 Fanuc Corporation State machine for dynamic path planning
US11507103B2 (en) 2019-12-04 2022-11-22 Zebra Technologies Corporation Method, system and apparatus for localization-based historical obstacle handling
US11107238B2 (en) 2019-12-13 2021-08-31 Zebra Technologies Corporation Method, system and apparatus for detecting item facings
US11726482B2 (en) * 2020-01-17 2023-08-15 Raytheon Company Systems and methods for multi-factor pathfinding
US11592299B2 (en) 2020-03-19 2023-02-28 Mobile Industrial Robots A/S Using static scores to control vehicle operations
US11822333B2 (en) 2020-03-30 2023-11-21 Zebra Technologies Corporation Method, system and apparatus for data capture illumination control
CN111459169B (zh) * 2020-04-27 2023-11-24 四川智动木牛智能科技有限公司 基于轮式机器人的综合管廊巡检方法
US11407590B1 (en) * 2020-05-13 2022-08-09 Amazon Technologies, Inc. Rotary unit management for a drive unit
US11450024B2 (en) 2020-07-17 2022-09-20 Zebra Technologies Corporation Mixed depth object detection
US11498213B2 (en) * 2020-09-23 2022-11-15 Applied Materials, Inc. Robot joint space graph path planning and move execution
US11593915B2 (en) 2020-10-21 2023-02-28 Zebra Technologies Corporation Parallax-tolerant panoramic image generation
US11392891B2 (en) 2020-11-03 2022-07-19 Zebra Technologies Corporation Item placement detection and optimization in material handling systems
US11847832B2 (en) 2020-11-11 2023-12-19 Zebra Technologies Corporation Object classification for autonomous navigation systems
CN112847340B (zh) * 2020-12-25 2022-09-16 深圳市优必选科技股份有限公司 一种控制方法、控制装置及机器人
WO2022146971A1 (en) * 2020-12-29 2022-07-07 Brain Corporation Systems and methods for precisely estimating a robotic footprint for execution of near-collision motions
US20220357167A1 (en) * 2021-05-07 2022-11-10 United Parcel Service Of America, Inc. Cloud-based platform for determining and generating optimized navigation instructions for autonomous vehicles
US11954882B2 (en) 2021-06-17 2024-04-09 Zebra Technologies Corporation Feature-based georegistration for mobile computing devices
CN117501199A (zh) * 2021-07-23 2024-02-02 阿尔弗雷德·卡赫欧洲两合公司 地面清洁系统、地面清洁设备以及用于运行地面清洁系统或地面清洁设备的方法
US20230082264A1 (en) * 2021-09-14 2023-03-16 Waymo Llc Flow-based motion planning blueprint for autonomous vehicles
US20230089452A1 (en) * 2021-09-22 2023-03-23 Hand Held Products, Inc. Apparatuses, computer-implemented methods, and computer program products for improved object pathing
CN115230718A (zh) * 2021-11-23 2022-10-25 上海仙途智能科技有限公司 无人驾驶清扫车的控制方法、系统和可读存储介质
CN114200939B (zh) * 2021-12-10 2024-02-27 江苏集萃智能制造技术研究所有限公司 一种机器人防碰撞路径规划方法
CN114004343B (zh) * 2021-12-31 2022-10-14 之江实验室 基于忆阻器脉冲耦合神经网络的最短路径获取方法及装置
CN114396945B (zh) * 2022-03-24 2022-07-12 陕西欧卡电子智能科技有限公司 无人船沿边清扫路径规划方法、装置、设备及存储介质
WO2023192297A1 (en) * 2022-03-28 2023-10-05 Seegrid Corporation Robotic vehicle navigation with dynamic path adjusting
US20240001550A1 (en) * 2022-06-29 2024-01-04 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Method of Controlling Movement of a Mobile Robot in the Event of a Localization Failure
CN115892378A (zh) * 2022-12-23 2023-04-04 广东深蓝水下特种设备科技有限公司 基于水下声呐定位的船舶清洗方法、系统及介质
CN117519212B (zh) * 2024-01-03 2024-04-12 杭州华橙软件技术有限公司 路径跟踪控制方法、装置、终端及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003029833A (ja) * 2001-07-19 2003-01-31 Japan Atom Energy Res Inst 移動体の自律走行経路の生成法
JP2009025974A (ja) * 2007-07-18 2009-02-05 Toyota Motor Corp 経路計画装置及び方法、コスト評価装置、並びに移動体
JP2010191502A (ja) * 2009-02-16 2010-09-02 Toyota Motor Corp 移動ロボット制御システム、経路探索方法、経路探索プログラム
US20140018996A1 (en) * 2012-07-13 2014-01-16 International Electronic Machines Corporation Straight Line Path Planning
CN105487535A (zh) * 2014-10-09 2016-04-13 东北大学 一种基于ros的移动机器人室内环境探索系统与控制方法
JP2017037468A (ja) * 2015-08-10 2017-02-16 トヨタ自動車株式会社 経路探索システム、経路探索方法及びプログラム

Family Cites Families (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280179A (en) 1979-04-30 1994-01-18 Sensor Adaptive Machines Incorporated Method and apparatus utilizing an orientation code for automatically guiding a robot
US4638445A (en) 1984-06-08 1987-01-20 Mattaboni Paul J Autonomous mobile robot
US5121497A (en) 1986-03-10 1992-06-09 International Business Machines Corporation Automatic generation of executable computer code which commands another program to perform a task and operator modification of the generated executable computer code
US4763276A (en) 1986-03-21 1988-08-09 Actel Partnership Methods for refining original robot command signals
US4852018A (en) 1987-01-07 1989-07-25 Trustees Of Boston University Massively parellel real-time network architectures for robots capable of self-calibrating their operating parameters through associative learning
FR2648071B1 (fr) 1989-06-07 1995-05-19 Onet Procede et appareil autonomes de nettoyage automatique de sol par execution de missions programmees
JPH0650460B2 (ja) 1989-10-17 1994-06-29 アプライド バイオシステムズ インコーポレイテッド ロボットインターフェース
US5648901A (en) 1990-02-05 1997-07-15 Caterpillar Inc. System and method for generating paths in an autonomous vehicle
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US5673367A (en) 1992-10-01 1997-09-30 Buckley; Theresa M. Method for neural network control of motion using real-time environmental feedback
CA2081519C (en) 1992-10-27 2000-09-05 The University Of Toronto Parametric control device
KR0161031B1 (ko) 1993-09-09 1998-12-15 김광호 로보트의 위치오차보정장치
US5602761A (en) 1993-12-30 1997-02-11 Caterpillar Inc. Machine performance monitoring and fault classification using an exponentially weighted moving average scheme
WO1997010081A1 (fr) 1995-09-11 1997-03-20 Kabushiki Kaisha Yaskawa Denki Circuit de commande de robots
US6169981B1 (en) 1996-06-04 2001-01-02 Paul J. Werbos 3-brain architecture for an intelligent decision and control system
US6366293B1 (en) 1998-09-29 2002-04-02 Rockwell Software Inc. Method and apparatus for manipulating and displaying graphical objects in a computer display device
US6243622B1 (en) 1998-10-16 2001-06-05 Xerox Corporation Touchable user interface using self movable robotic modules
EP1037134A2 (en) 1999-03-16 2000-09-20 Matsushita Electric Industrial Co., Ltd. Virtual space control data receiving apparatus and method
US6124694A (en) 1999-03-18 2000-09-26 Bancroft; Allen J. Wide area navigation for a robot scrubber
KR20010053322A (ko) 1999-04-30 2001-06-25 이데이 노부유끼 전자 페트 시스템, 네트워크 시스템, 로봇, 및 기억 매체
JP3537362B2 (ja) 1999-10-12 2004-06-14 ファナック株式会社 ロボットシステム用グラフィック表示装置
EP1297691A2 (en) 2000-03-07 2003-04-02 Sarnoff Corporation Camera pose estimation
CN1283428C (zh) 2000-03-31 2006-11-08 索尼公司 机器人设备、控制机器人设备动作的方法
US8543519B2 (en) 2000-08-07 2013-09-24 Health Discovery Corporation System and method for remote melanoma screening
JP4765155B2 (ja) 2000-09-28 2011-09-07 ソニー株式会社 オーサリング・システム及びオーサリング方法、並びに記憶媒体
US6442451B1 (en) 2000-12-28 2002-08-27 Robotic Workspace Technologies, Inc. Versatile robot control system
JP2002239960A (ja) 2001-02-21 2002-08-28 Sony Corp ロボット装置の動作制御方法、プログラム、記録媒体及びロボット装置
US20020175894A1 (en) 2001-03-06 2002-11-28 Vince Grillo Hand-supported mouse for computer input
SE0100924D0 (sv) * 2001-03-15 2001-03-15 Electrolux Ab Energy-efficient navigation of an autonomous surface treatment apparatus
US6917925B2 (en) 2001-03-30 2005-07-12 Intelligent Inference Systems Corporation Convergent actor critic-based fuzzy reinforcement learning apparatus and method
JP2002301674A (ja) 2001-04-03 2002-10-15 Sony Corp 脚式移動ロボット及びその運動教示方法、並びに記憶媒体
DE60118317T2 (de) 2001-04-30 2006-12-14 Sony France S.A. Autonom Roboter
US6584375B2 (en) 2001-05-04 2003-06-24 Intellibot, Llc System for a retail environment
US6636781B1 (en) 2001-05-22 2003-10-21 University Of Southern California Distributed control and coordination of autonomous agents in a dynamic, reconfigurable system
JP3760186B2 (ja) 2001-06-07 2006-03-29 独立行政法人科学技術振興機構 二脚歩行式移動装置及びその歩行制御装置並びに歩行制御方法
JP4188607B2 (ja) 2001-06-27 2008-11-26 本田技研工業株式会社 二足歩行移動体の床反力推定方法及び二足歩行移動体の関節モーメント推定方法
GB0115731D0 (en) * 2001-06-27 2001-08-22 Isis Innovation Temperature profile determination
JP4364634B2 (ja) 2001-07-13 2009-11-18 ブルックス オートメーション インコーポレイテッド 二次元3自由度ロボットアームの軌道プラニング及び移動制御戦略
US6710346B2 (en) 2001-08-02 2004-03-23 International Business Machines Corporation Active infrared presence sensor
JP3900870B2 (ja) * 2001-08-07 2007-04-04 オムロン株式会社 情報収集装置、情報収集方法、および情報収集システム
US7457698B2 (en) 2001-08-31 2008-11-25 The Board Of Regents Of The University And Community College System On Behalf Of The University Of Nevada, Reno Coordinated joint motion control system
US6812846B2 (en) 2001-09-28 2004-11-02 Koninklijke Philips Electronics N.V. Spill detector based on machine-imaging
US7243334B1 (en) 2002-01-16 2007-07-10 Prelude Systems, Inc. System and method for generating user interface code
JP3790816B2 (ja) 2002-02-12 2006-06-28 国立大学法人 東京大学 人型リンク系の運動生成方法
US20040134336A1 (en) 2002-04-22 2004-07-15 Neal Solomon System, methods and apparatus for aggregating groups of mobile robotic vehicles
US7505604B2 (en) 2002-05-20 2009-03-17 Simmonds Precision Prodcuts, Inc. Method for detection and recognition of fog presence within an aircraft compartment using video images
JP2005539296A (ja) 2002-08-21 2005-12-22 ニール,ソロモン マルチ−ロボットシステム内での自己設定可能なモバイルロボットエージェントの組織化団体の為のシステムと方法と装置
AU2003287154A1 (en) * 2002-10-17 2004-05-04 Time Domain Corporation Method and apparatus for generating rf waveforms having aggregate energy with desired spectral characteristics
AU2003900861A0 (en) 2003-02-26 2003-03-13 Silverbrook Research Pty Ltd Methods,systems and apparatus (NPS042)
JP3950805B2 (ja) 2003-02-27 2007-08-01 ファナック株式会社 教示位置修正装置
US7313279B2 (en) 2003-07-08 2007-12-25 Computer Associates Think, Inc. Hierarchical determination of feature relevancy
SE0301531L (sv) 2003-05-22 2004-11-23 Abb Ab A Control method for a robot
US7769487B2 (en) 2003-07-24 2010-08-03 Northeastern University Process and architecture of robotic system to mimic animal behavior in the natural environment
JP3994950B2 (ja) * 2003-09-19 2007-10-24 ソニー株式会社 環境認識装置及び方法、経路計画装置及び方法、並びにロボット装置
WO2005028166A1 (ja) 2003-09-22 2005-03-31 Matsushita Electric Industrial Co., Ltd. 弾性体アクチュエータの制御装置及び制御方法
US7342589B2 (en) 2003-09-25 2008-03-11 Rockwell Automation Technologies, Inc. System and method for managing graphical data
JP4592276B2 (ja) 2003-10-24 2010-12-01 ソニー株式会社 ロボット装置のためのモーション編集装置及びモーション編集方法、並びにコンピュータ・プログラム
KR101088250B1 (ko) * 2003-10-29 2011-11-30 칼 짜이스 에스엠테 게엠베하 조리개 변경 장치
EP1724653B1 (en) 2004-02-25 2014-05-07 The Ritsumeikan Trust Control system of floating mobile body
JP4661074B2 (ja) 2004-04-07 2011-03-30 ソニー株式会社 情報処理システム、情報処理方法、並びにロボット装置
DE602004028005D1 (de) 2004-07-27 2010-08-19 Sony France Sa Ein automatisiertes System zur Aktionsanwahl, sowie das Verfahren und dessen Anwendung, um Prognosemaschinen auszubilden und die Entwicklung sich selbst entwickelnder Geräte zu unterstützen
SE0402672D0 (sv) 2004-11-02 2004-11-02 Viktor Kaznov Ball robot
KR100745975B1 (ko) * 2004-12-30 2007-08-06 삼성전자주식회사 그리드 맵을 사용하여 최소 이동 경로로 이동하는 방법 및장치
US7211979B2 (en) 2005-04-13 2007-05-01 The Broad Of Trustees Of The Leland Stanford Junior University Torque-position transformer for task control of position controlled robots
US7765029B2 (en) 2005-09-13 2010-07-27 Neurosciences Research Foundation, Inc. Hybrid control device
JP4876511B2 (ja) 2005-09-29 2012-02-15 株式会社日立製作所 ロジック抽出支援装置
ATE524784T1 (de) 2005-09-30 2011-09-15 Irobot Corp Begleitroboter für persönliche interaktion
US7668605B2 (en) 2005-10-26 2010-02-23 Rockwell Automation Technologies, Inc. Wireless industrial control user interface
KR101300493B1 (ko) 2005-12-02 2013-09-02 아이로보트 코퍼레이션 커버리지 로봇 이동성
US7741802B2 (en) 2005-12-20 2010-06-22 Intuitive Surgical Operations, Inc. Medical robotic system with programmably controlled constraints on error dynamics
US8239083B2 (en) 2006-01-18 2012-08-07 I-Guide Robotics, Inc. Robotic vehicle controller
US8224018B2 (en) 2006-01-23 2012-07-17 Digimarc Corporation Sensing data from physical objects
US8924021B2 (en) 2006-04-27 2014-12-30 Honda Motor Co., Ltd. Control of robots from human motion descriptors
WO2007138987A1 (ja) 2006-05-25 2007-12-06 Takehiro Ishizaki 作業ロボット
KR100791382B1 (ko) 2006-06-01 2008-01-07 삼성전자주식회사 로봇의 이동 경로에 따라 소정 영역의 특성에 관한 정보를수집하고 분류하는 방법 및 상기 영역 특성에 따라제어되는 로봇, 상기 영역 특성을 이용한 ui 구성 방법및 장치
US20080059015A1 (en) * 2006-06-09 2008-03-06 Whittaker William L Software architecture for high-speed traversal of prescribed routes
JP4699426B2 (ja) 2006-08-08 2011-06-08 パナソニック株式会社 障害物回避方法と障害物回避移動装置
JP4267027B2 (ja) 2006-12-07 2009-05-27 ファナック株式会社 ロボット制御装置
EP2140316B1 (en) 2007-03-29 2011-12-28 iRobot Corporation Robot operator control unit configuration system and method
US8255092B2 (en) 2007-05-14 2012-08-28 Irobot Corporation Autonomous behaviors for a remote vehicle
KR101372482B1 (ko) * 2007-12-11 2014-03-26 삼성전자주식회사 이동 로봇의 경로 계획 방법 및 장치
JP5213023B2 (ja) 2008-01-15 2013-06-19 本田技研工業株式会社 ロボット
JP4445038B2 (ja) 2008-02-06 2010-04-07 パナソニック株式会社 ロボット、ロボットの制御装置及び制御方法、並びに、ロボットの制御装置の制御プログラム
JP5181704B2 (ja) 2008-02-07 2013-04-10 日本電気株式会社 データ処理装置、姿勢推定システム、姿勢推定方法およびプログラム
US8175992B2 (en) 2008-03-17 2012-05-08 Intelliscience Corporation Methods and systems for compound feature creation, processing, and identification in conjunction with a data analysis and feature recognition system wherein hit weights are summed
US8452448B2 (en) 2008-04-02 2013-05-28 Irobot Corporation Robotics systems
JP4715863B2 (ja) 2008-05-01 2011-07-06 ソニー株式会社 アクチュエータ制御装置及びアクチュエータ制御方法、アクチュエータ、ロボット装置、並びにコンピュータ・プログラム
EP3219295B1 (en) 2008-09-04 2023-11-15 Otto Bock HealthCare LP Hybrid terrain-adaptive lower-extremity systems
US8121749B1 (en) * 2008-09-25 2012-02-21 Honeywell International Inc. System for integrating dynamically observed and static information for route planning in a graph based planner
CA2775675C (en) 2008-10-29 2019-04-16 The Regents Of The University Of Colorado Long term active learning from large continually changing data sets
US20100114372A1 (en) 2008-10-30 2010-05-06 Intellibot Robotics Llc Method of cleaning a surface using an automatic cleaning device
JP5242342B2 (ja) 2008-10-31 2013-07-24 株式会社東芝 ロボット制御装置
US8428781B2 (en) 2008-11-17 2013-04-23 Energid Technologies, Inc. Systems and methods of coordination control for robot manipulation
US20140329172A1 (en) * 2008-12-10 2014-11-06 Holorad, Llc Anisotropic optical material
WO2010091857A1 (en) * 2009-02-13 2010-08-19 Eth Zurich Method to control a robot device and robot device
US8423182B2 (en) 2009-03-09 2013-04-16 Intuitive Surgical Operations, Inc. Adaptable integrated energy control system for electrosurgical tools in robotic surgical systems
US8120301B2 (en) 2009-03-09 2012-02-21 Intuitive Surgical Operations, Inc. Ergonomic surgeon control console in robotic surgical systems
US8364314B2 (en) 2009-04-30 2013-01-29 GM Global Technology Operations LLC Method and apparatus for automatic control of a humanoid robot
JP4676544B2 (ja) 2009-05-29 2011-04-27 ファナック株式会社 工作機械に対してワークの供給及び取り出しを行うロボットを制御するロボット制御装置
US8694449B2 (en) 2009-05-29 2014-04-08 Board Of Trustees Of Michigan State University Neuromorphic spatiotemporal where-what machines
US8706297B2 (en) 2009-06-18 2014-04-22 Michael Todd Letsky Method for establishing a desired area of confinement for an autonomous robot and autonomous robot implementing a control system for executing the same
JP4768086B2 (ja) 2009-07-02 2011-09-07 パナソニック株式会社 ロボット、ロボットアームの制御装置、及びロボットアームの制御プログラム
EP2284769B1 (en) 2009-07-16 2013-01-02 European Space Agency Method and apparatus for analyzing time series data
US20110026770A1 (en) 2009-07-31 2011-02-03 Jonathan David Brookshire Person Following Using Histograms of Oriented Gradients
US8250901B2 (en) 2009-09-22 2012-08-28 GM Global Technology Operations LLC System and method for calibrating a rotary absolute position sensor
TW201113815A (en) 2009-10-09 2011-04-16 Primax Electronics Ltd QR code processing method and apparatus thereof
EP2496995B1 (en) * 2009-11-06 2019-04-24 iRobot Corporation Methods and systems for complete coverage of a surface by an autonomous robot
US8679260B2 (en) 2009-11-11 2014-03-25 Intellibot Robotics Llc Methods and systems for movement of an automatic cleaning device using video signal
US8423225B2 (en) 2009-11-11 2013-04-16 Intellibot Robotics Llc Methods and systems for movement of robotic device using video signal
US8521328B2 (en) 2009-12-10 2013-08-27 The Boeing Company Control system for robotic vehicles
TW201123031A (en) 2009-12-24 2011-07-01 Univ Nat Taiwan Science Tech Robot and method for recognizing human faces and gestures thereof
JP5506617B2 (ja) 2009-12-28 2014-05-28 本田技研工業株式会社 ロボットの制御装置
JP5506618B2 (ja) 2009-12-28 2014-05-28 本田技研工業株式会社 ロボットの制御装置
WO2011100110A1 (en) 2010-02-11 2011-08-18 Intuitive Surgical Operations, Inc. Method and system for automatically maintaining an operator selected roll orientation at a distal tip of a robotic endoscope
KR101169674B1 (ko) 2010-03-11 2012-08-06 한국과학기술연구원 원격현전 로봇, 이를 포함하는 원격현전 시스템 및 이의 제어 방법
US8660355B2 (en) 2010-03-19 2014-02-25 Digimarc Corporation Methods and systems for determining image processing operations relevant to particular imagery
US9405975B2 (en) 2010-03-26 2016-08-02 Brain Corporation Apparatus and methods for pulse-code invariant object recognition
US9311593B2 (en) 2010-03-26 2016-04-12 Brain Corporation Apparatus and methods for polychronous encoding and multiplexing in neuronal prosthetic devices
US9122994B2 (en) 2010-03-26 2015-09-01 Brain Corporation Apparatus and methods for temporally proximate object recognition
US8336420B2 (en) 2010-06-02 2012-12-25 Disney Enterprises, Inc. Three-axis robotic joint using four-bar linkages to drive differential side gears
FR2963132A1 (fr) 2010-07-23 2012-01-27 Aldebaran Robotics Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface
US20120045068A1 (en) 2010-08-20 2012-02-23 Korea Institute Of Science And Technology Self-fault detection system and method for microphone array and audio-based device
KR20120035519A (ko) 2010-10-05 2012-04-16 삼성전자주식회사 먼지 유입 감지 유닛 및 이를 구비하는 로봇 청소기
US20120143495A1 (en) 2010-10-14 2012-06-07 The University Of North Texas Methods and systems for indoor navigation
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US8726095B2 (en) 2010-12-02 2014-05-13 Dell Products L.P. System and method for proactive management of an information handling system with in-situ measurement of end user actions
JP5185358B2 (ja) 2010-12-13 2013-04-17 株式会社東芝 行動履歴検索装置
CN103038030B (zh) 2010-12-17 2015-06-03 松下电器产业株式会社 弹性体致动器驱动机构的控制装置及控制方法
US9323250B2 (en) * 2011-01-28 2016-04-26 Intouch Technologies, Inc. Time-dependent navigation of telepresence robots
US8380652B1 (en) 2011-05-06 2013-02-19 Google Inc. Methods and systems for autonomous robotic decision making
US8639644B1 (en) 2011-05-06 2014-01-28 Google Inc. Shared robot knowledge base for use with cloud computing system
US9566710B2 (en) 2011-06-02 2017-02-14 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
US9189891B2 (en) 2011-08-16 2015-11-17 Google Inc. Systems and methods for navigating a camera
US9015092B2 (en) 2012-06-04 2015-04-21 Brain Corporation Dynamically reconfigurable stochastic learning apparatus and methods
US20130096719A1 (en) 2011-10-13 2013-04-18 The U.S.A. As Represented By The Administrator Of The National Aeronautics And Space Administration Method for dynamic optimization of a robot control interface
JP6305673B2 (ja) 2011-11-07 2018-04-04 セイコーエプソン株式会社 ロボット制御システム、ロボットシステム及びロボット
WO2013069291A1 (ja) 2011-11-10 2013-05-16 パナソニック株式会社 ロボット、ロボットの制御装置、制御方法、及び制御プログラム
CN107861102B (zh) * 2012-01-03 2021-08-20 阿森蒂亚影像有限公司 编码定位系统、方法和装置
KR101305819B1 (ko) 2012-01-04 2013-09-06 현대자동차주식회사 착용식 로봇의 사용자 조작 의도 토크 추출방법
US8958911B2 (en) 2012-02-29 2015-02-17 Irobot Corporation Mobile robot
JP5895628B2 (ja) 2012-03-15 2016-03-30 株式会社ジェイテクト ロボットの制御方法及びロボット制御装置、並びにロボット制御システム
US9258550B1 (en) * 2012-04-08 2016-02-09 Sr2 Group, Llc System and method for adaptively conformed imaging of work pieces having disparate configuration
US9221177B2 (en) 2012-04-18 2015-12-29 Massachusetts Institute Of Technology Neuromuscular model-based sensing and control paradigm for a robotic leg
US9208432B2 (en) 2012-06-01 2015-12-08 Brain Corporation Neural network learning and collaboration apparatus and methods
US9092698B2 (en) 2012-06-21 2015-07-28 Rethink Robotics, Inc. Vision-guided robots and methods of training them
US20130346347A1 (en) 2012-06-22 2013-12-26 Google Inc. Method to Predict a Communicative Action that is Most Likely to be Executed Given a Context
AU2012384518B2 (en) 2012-07-04 2019-01-24 Indra Sistemas, S.A. Infrared image based early detection of oil spills in water
US8977485B2 (en) * 2012-07-12 2015-03-10 The United States Of America As Represented By The Secretary Of The Army Methods for robotic self-righting
US8977582B2 (en) 2012-07-12 2015-03-10 Brain Corporation Spiking neuron network sensory processing apparatus and methods
US8793205B1 (en) 2012-09-20 2014-07-29 Brain Corporation Robotic learning and evolution apparatus
US9367798B2 (en) 2012-09-20 2016-06-14 Brain Corporation Spiking neuron network adaptive control apparatus and methods
US8972061B2 (en) 2012-11-02 2015-03-03 Irobot Corporation Autonomous coverage robot
US20140187519A1 (en) 2012-12-27 2014-07-03 The Board Of Trustees Of The Leland Stanford Junior University Biomarkers for predicting major adverse events
EP2752726B1 (de) 2013-01-08 2015-05-27 Cleanfix Reinigungssysteme AG Bodenbehandlungsmaschine und Verfahren zum Behandeln von Bodenflächen
US8958937B2 (en) 2013-03-12 2015-02-17 Intellibot Robotics Llc Cleaning machine with collision prevention
US9764468B2 (en) 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
EP2969408B1 (en) 2013-03-15 2021-12-15 Intuitive Surgical Operations, Inc. Software configurable manipulator degrees of freedom
US9008840B1 (en) 2013-04-19 2015-04-14 Brain Corporation Apparatus and methods for reinforcement-guided supervised learning
EP2999940A4 (en) * 2013-05-22 2017-11-15 Neurala Inc. Methods and apparatus for early sensory integration and robust acquisition of real world knowledge
US9292015B2 (en) 2013-05-23 2016-03-22 Fluor Technologies Corporation Universal construction robotics interface
US20140358828A1 (en) 2013-05-29 2014-12-04 Purepredictive, Inc. Machine learning generated action plan
US9242372B2 (en) 2013-05-31 2016-01-26 Brain Corporation Adaptive robotic interface apparatus and methods
TWI585561B (zh) 2013-06-03 2017-06-01 新智控私人有限公司 機器人裝置的離機式導航方法與裝置
US9792546B2 (en) 2013-06-14 2017-10-17 Brain Corporation Hierarchical robotic controller apparatus and methods
US9384443B2 (en) 2013-06-14 2016-07-05 Brain Corporation Robotic training apparatus and methods
US20150032258A1 (en) 2013-07-29 2015-01-29 Brain Corporation Apparatus and methods for controlling of robotic devices
WO2015017691A1 (en) * 2013-08-02 2015-02-05 Irobot Corporation Time-dependent navigation of telepresence robots
JP6227948B2 (ja) 2013-09-18 2017-11-08 村田機械株式会社 自律走行式床洗浄機、清掃スケジュールのデータ構造、記憶媒体、清掃スケジュールの生成方法、及びプログラム
SG2013071808A (en) 2013-09-24 2015-04-29 Ctrlworks Pte Ltd Offboard navigation apparatus capable of being coupled to a movable platform
US9296101B2 (en) 2013-09-27 2016-03-29 Brain Corporation Robotic control arbitration apparatus and methods
US9579789B2 (en) 2013-09-27 2017-02-28 Brain Corporation Apparatus and methods for training of robotic control arbitration
US9144907B2 (en) 2013-10-24 2015-09-29 Harris Corporation Control synchronization for high-latency teleoperation
US10612939B2 (en) 2014-01-02 2020-04-07 Microsoft Technology Licensing, Llc Ground truth estimation for autonomous navigation
DE102014205170A1 (de) * 2014-03-20 2015-11-26 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zum Ermitteln einer Trajektorie für ein Fahrzeug
US9346167B2 (en) 2014-04-29 2016-05-24 Brain Corporation Trainable convolutional network apparatus and methods for operating a robotic vehicle
US10255319B2 (en) 2014-05-02 2019-04-09 Google Llc Searchable index
US20150339589A1 (en) 2014-05-21 2015-11-26 Brain Corporation Apparatus and methods for training robots utilizing gaze-based saliency maps
US9475195B2 (en) 2014-09-12 2016-10-25 Toyota Jidosha Kabushiki Kaisha Anticipatory robot navigation
US20160121487A1 (en) 2014-11-03 2016-05-05 Qualcomm Incorporated Communicating Configurable Instruction Sets to Robots for Controlling Robot Behavior
US9754419B2 (en) * 2014-11-16 2017-09-05 Eonite Perception Inc. Systems and methods for augmented reality preparation, processing, and application
US10093021B2 (en) * 2015-12-02 2018-10-09 Qualcomm Incorporated Simultaneous mapping and planning by a robot
US10191495B2 (en) * 2015-12-17 2019-01-29 Board Of Trustees Of The University Of Arkansas Distributed ceiling-mounted smart cameras for multi-unmanned ground vehicle routing and coordination
US10579926B2 (en) * 2015-12-21 2020-03-03 Disney Enterprises, Inc. Method and device for multi-agent path planning
US10372968B2 (en) * 2016-01-22 2019-08-06 Qualcomm Incorporated Object-focused active three-dimensional reconstruction
US9864377B2 (en) * 2016-04-01 2018-01-09 Locus Robotics Corporation Navigation using planned robot travel paths
US20170329347A1 (en) * 2016-05-11 2017-11-16 Brain Corporation Systems and methods for training a robot to autonomously travel a route
US9996944B2 (en) * 2016-07-06 2018-06-12 Qualcomm Incorporated Systems and methods for mapping an environment
US10001780B2 (en) * 2016-11-02 2018-06-19 Brain Corporation Systems and methods for dynamic route planning in autonomous navigation
US10293485B2 (en) * 2017-03-30 2019-05-21 Brain Corporation Systems and methods for robotic path planning

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003029833A (ja) * 2001-07-19 2003-01-31 Japan Atom Energy Res Inst 移動体の自律走行経路の生成法
JP2009025974A (ja) * 2007-07-18 2009-02-05 Toyota Motor Corp 経路計画装置及び方法、コスト評価装置、並びに移動体
JP2010191502A (ja) * 2009-02-16 2010-09-02 Toyota Motor Corp 移動ロボット制御システム、経路探索方法、経路探索プログラム
US20140018996A1 (en) * 2012-07-13 2014-01-16 International Electronic Machines Corporation Straight Line Path Planning
CN105487535A (zh) * 2014-10-09 2016-04-13 东北大学 一种基于ros的移动机器人室内环境探索系统与控制方法
JP2017037468A (ja) * 2015-08-10 2017-02-16 トヨタ自動車株式会社 経路探索システム、経路探索方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230104331A (ko) * 2021-12-30 2023-07-10 인천대학교 산학협력단 장애물 충돌방지 기능이 결합된 휠체어 조이스틱 입력 기반 전동 휠체어
KR102592732B1 (ko) 2021-12-30 2023-10-25 인천대학교 산학협력단 장애물 충돌방지 기능이 결합된 휠체어 조이스틱 입력 기반 전동 휠체어

Also Published As

Publication number Publication date
US20210220995A1 (en) 2021-07-22
EP3602223B1 (en) 2023-06-07
EP3602223A1 (en) 2020-02-05
US20190299410A1 (en) 2019-10-03
CN110622081A (zh) 2019-12-27
WO2018183197A1 (en) 2018-10-04
US11701778B2 (en) 2023-07-18
EP3602223C0 (en) 2023-06-07
US10293485B2 (en) 2019-05-21
US10899008B2 (en) 2021-01-26
US20180281191A1 (en) 2018-10-04

Similar Documents

Publication Publication Date Title
US11701778B2 (en) Systems and methods for robotic path planning
US10379539B2 (en) Systems and methods for dynamic route planning in autonomous navigation
US20230021778A1 (en) Systems and methods for training a robot to autonomously travel a route
US20210223779A1 (en) Systems and methods for rerouting robots to avoid no-go zones
JP7106076B2 (ja) ロボットマッピングのためのシステムおよび方法
US11378953B2 (en) Autoscrubber convertible between manual and autonomous operation
US20210132615A1 (en) Systems and methods for optimizing route planning for tight turns for robotic apparatuses
JP2020502636A (ja) ロボットの遠隔操作および/または監視のためのシステムおよび方法
US20220026911A1 (en) Systems and methods for precise navigation of autonomous devices
US11340630B2 (en) Systems and methods for robust robotic mapping
JP2022512438A (ja) 非ホロノミックロボットシステムの改善された制御のためのシステム及び方法
Ripke et al. Cooperative Robot-Drone Agents for Obstacle Avoidance using Smart vision

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220516

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220815

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230116

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230411

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230807