JP7047830B2 - 自律走行システム、自律走行方法、及び自律走行プログラム - Google Patents

自律走行システム、自律走行方法、及び自律走行プログラム Download PDF

Info

Publication number
JP7047830B2
JP7047830B2 JP2019220184A JP2019220184A JP7047830B2 JP 7047830 B2 JP7047830 B2 JP 7047830B2 JP 2019220184 A JP2019220184 A JP 2019220184A JP 2019220184 A JP2019220184 A JP 2019220184A JP 7047830 B2 JP7047830 B2 JP 7047830B2
Authority
JP
Japan
Prior art keywords
traveling
processing unit
route
individual
travel
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.)
Active
Application number
JP2019220184A
Other languages
English (en)
Other versions
JP2021089629A (ja
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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2019220184A priority Critical patent/JP7047830B2/ja
Priority to EP20206459.8A priority patent/EP3832418A1/en
Priority to CN202011244344.9A priority patent/CN113031584A/zh
Priority to US16/953,734 priority patent/US12007776B2/en
Publication of JP2021089629A publication Critical patent/JP2021089629A/ja
Priority to JP2022018388A priority patent/JP7342985B2/ja
Priority to JP2022018389A priority patent/JP7078192B2/ja
Application granted granted Critical
Publication of JP7047830B2 publication Critical patent/JP7047830B2/ja
Priority to JP2023139620A priority patent/JP7485181B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • G05D1/0236Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
    • 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/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • 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/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • 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
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • 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/60Intended control result
    • G05D1/648Performing a task within a working area or space, e.g. cleaning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Acoustics & Sound (AREA)
  • Optics & Photonics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Electric Vacuum Cleaner (AREA)

Description

本発明は、自律走行可能な自律走行装置を走行させる自律走行システム、自律走行方法、及び自律走行プログラムに関する。
近年、労働力不足や人件費の高騰などにより、駅や空港などにおけるコンコースや、ショッピングモールなどの広範囲なスペースを清掃する清掃要員が不足している。そのため、自律走行可能に設計され、高い清掃能力と高い安全性を有する産業用の自律走行型の清掃ロボット(自律走行装置)の導入が進んでいる。
この種の自律走行装置の中には、作業者の操作に基づいて走行経路を教示させる教示機能(ティーチング機能)を備えるものがある(例えば特許文献1参照)。例えば、作業者は、経路教示モードに設定して、作業エリアにおいて自律走行装置を運転操作しながら所望の経路を走行させて自律走行装置が走行した走行経路(軌跡)を記憶させる。自律走行装置は、自律走行モードに設定されると、経路教示モードで記憶された前記走行経路を再現走行する。これにより、作業者の操作(教示操作)に基づいて生成された走行経路に従って自律走行装置を自律的に走行させることが可能になる。
特開2017-182175号公報
しかしながら、従来の自律走行装置では、自律走行装置に教示させた走行経路の一部、例えば教示走行開始地点から教示走行終了地点までの間の一部を修正したい場合に、作業者は、再度、自律走行装置を教示走行開始地点から教示走行終了地点まで運転操作して走行経路を記憶し直す必要がある。このため、自律走行装置の走行経路を生成する作業者の作業効率が低下する問題が生じる。
本発明の目的は、自律走行装置の走行経路を生成する作業者の作業効率を向上させることが可能な自律走行システム、自律走行方法、及び自律走行プログラムを提供することにある。
本発明の一の局面に係る自律走行システムは、走行経路に基づいて自律走行装置を走行させる自律走行システムである。前記自律走行システムは、作業者から前記自律走行装置を教示走行させる教示操作を受け付ける受付処理部と、前記受付処理部により受け付けられる前記教示操作に対応する個別走行経路を記憶部に登録する登録処理部と、前記記憶部に登録される複数の前記個別走行経路のうち作業者に選択される複数の前記個別走行経路を取得する取得処理部と、前記取得処理部により取得される複数の前記個別走行経路のそれぞれに順番を設定する設定処理部と、前記取得処理部により取得される複数の前記個別走行経路と前記設定処理部により設定される複数の前記個別走行経路のそれぞれの前記順番とに基づいて前記走行経路を生成する生成処理部と、を備える。
この構成によれば、作業エリアの走行経路を複数の個別走行経路に分割して記憶部に登録することができる。このため、作業者により選択される複数の個別走行経路を連結することにより、所望の走行経路を容易に生成することが可能となる。また、生成した走行経路の一部を修正したい場合には、修正箇所に対応する個別走行経路を新たに生成した個別走行経路に入れ替えることにより、前記走行経路を修正することができる。このため、生成した走行経路の一部を修正する必要が生じた場合に、前記走行経路を一から全て作り直す必要がない。よって、自律走行装置の走行経路を生成する作業者の作業効率を向上させることが可能となる。
前記自律走行システムでは、前記登録処理部は、前記受付処理部が前記教示操作の開始指示を受け付けてから前記教示操作の終了指示を受け付けるまでの期間に前記自律走行装置が走行する経路を前記個別走行経路として前記記憶部に登録してもよい。また前記自律走行システムでは、前記登録処理部は、前記教示操作ごとに前記個別走行経路を前記記憶部に登録してもよい。
これにより、記憶部50には、前記教示操作ごとの複数の個別走行経路が登録される。
前記自律走行システムでは、前記記憶部に登録される複数の前記個別走行経路を表示部に表示させる表示処理部をさらに備え、前記取得処理部は、前記表示部に表示される複数の前記個別走行経路のうち作業者に選択される複数の前記個別走行経路を取得してもよい。
これにより、作業者は自身が意図する走行経路を構成する複数の個別走行経路を取得することができる。
前記自律走行システムでは、前記設定処理部は、作業者が複数の前記個別走行経路を選択する選択順を、複数の前記個別走行経路のそれぞれの前記順番として設定してもよい。
前記自律走行システムでは、前記生成処理部は、前記取得処理部により取得される複数の前記個別走行経路を、前記設定処理部により設定される前記順番に従って連結することにより前記走行経路を生成してもよい。
これにより、作業者が意図する順路の走行経路を生成することができる。
前記自律走行システムでは、前記生成処理部は、前記順番が連続する2つの前記個別走行経路のそれぞれの連結位置が異なる場合に各連結位置を結ぶ補間経路を生成し、複数の前記個別走行経路と前記補間経路とにより前記走行経路を生成してもよい。
これにより、作業者は2つの前記個別走行経路を連結するための教示操作を行う必要がない。
前記自律走行システムでは、前記生成処理部により生成される前記走行経路を表示部に表示させる表示処理部をさらに備え、前記表示処理部は、前記表示部において前記走行経路のうち前記補間経路を識別可能に表示させてもよい。
これにより、作業者は生成された走行経路において補間経路を容易に認識することができる。
前記自律走行システムでは、前記登録処理部は、前記生成処理部により生成される前記走行経路を前記記憶部に登録してもよい。
前記自律走行システムでは、前記生成処理部により生成される前記走行経路に基づいて前記自律走行装置を走行させる走行処理部をさらに備え、前記走行処理部は、前記順番が連続する2つの前記個別走行経路のそれぞれの連結位置が異なる場合に、前記自律走行装置に、各連結位置の連結位置情報と前記自律走行装置の現在位置情報と地図情報とに基づいて、各連結位置を結ぶ補間経路を走行させてもよい。
これにより、作業者が選択した複数の個別走行経路が離れている場合であっても、自律走行装置を作業者が意図した順路で走行させることができる。
本発明の他の局面に係る自律走行方法は、走行経路に基づいて自律走行装置を走行させる自律走行方法である。前記自律走行方法は、作業者から前記自律走行装置を教示走行させる教示操作を受け付ける受付ステップと、前記受付ステップにより受け付けられる前記教示操作に対応する個別走行経路を記憶部に登録する登録ステップと、前記記憶部に登録される複数の前記個別走行経路のうち作業者に選択される複数の前記個別走行経路を取得する取得ステップと、前記取得ステップにより取得される複数の前記個別走行経路のそれぞれの順番を設定する設定ステップと、前記取得ステップにより取得される複数の前記個別走行経路と前記設定ステップにより設定される複数の前記個別走行経路のそれぞれの前記順番とに基づいて前記走行経路を生成する生成ステップと、を一又は複数のプロセッサにより実行する。
本発明の他の局面に係る自律走行プログラムは、走行経路に基づいて自律走行装置を走行させる自律走行プログラムである。前記自律走行プログラムは、作業者から前記自律走行装置を教示走行させる教示操作を受け付ける受付ステップと、前記受付ステップにより受け付けられる前記教示操作に対応する個別走行経路を記憶部に登録する登録ステップと、前記記憶部に登録される複数の前記個別走行経路のうち作業者に選択される複数の前記個別走行経路を取得する取得ステップと、前記取得ステップにより取得される複数の前記個別走行経路のそれぞれの順番を設定する設定ステップと、前記取得ステップにより取得される複数の前記個別走行経路と前記設定ステップにより設定される複数の前記個別走行経路のそれぞれの前記順番とに基づいて前記走行経路を生成する生成ステップと、を一又は複数のプロセッサに実行させるための自律走行プログラムである。
本発明によれば、自律走行装置の走行経路を生成する作業者の作業効率を向上させることが可能である。
図1は、本発明の実施形態に係る清掃装置の前方側の外観を示す斜視図である。 図2は、本発明の実施形態に係る清掃装置の構成を示す模式図である。 図3は、本発明の実施形態に係る清掃装置の後方側の外観を示す斜視図である。 図4は、本発明の実施形態に係る清掃装置の正面図である。 図5は、本発明の実施形態に係る清掃装置の構成を示す機能ブロック図である。 図6は、本発明の実施形態に係る清掃装置の記憶部に登録される地図情報の一例を示す図である。 図7は、本発明の実施形態に係る清掃装置の記憶部に登録される経路情報の一例を示す図である。 図8は、本発明の実施形態に係る清掃装置の記憶部に登録される経路画像の一例を示す図である。 図9は、本発明の実施形態に係る清掃装置に表示されるティーチング操作画面の一例を示す図である。 図10は、本発明の実施形態に係る清掃装置において生成される個別走行経路の一例を示す図である。 図11は、本発明の実施形態に係る清掃装置に表示される走行経路生成画面の一例を示す図である。 図12は、本発明の実施形態に係る清掃装置に表示される走行経路確認画面の一例を示す図である。 図13は、本発明の実施形態に係る清掃装置に表示される走行経路生成画面の一例を示す図である。 図14は、本発明の実施形態に係る清掃装置に表示される走行経路確認画面の一例を示す図である。 図15は、本発明の実施形態に係る清掃装置に表示されるティーチング操作画面の一例を示す図である。 図16は、本発明の実施形態に係る清掃装置に表示される走行経路生成画面の一例を示す図である。 図17は、本発明の実施形態に係る清掃装置に表示される走行経路確認画面の一例を示す図である。 図18は、本発明の実施形態に係る清掃装置で実行される走行経路生成処理の一例を示すフローチャートである。
以下、添付図面を参照しながら、本発明の実施形態について説明する。なお、以下の実施形態は、本発明を具体化した一例であり、本発明の技術的範囲を限定するものではない。
[清掃装置10]
図1は、本発明の実施形態に係る自律走行型の清掃装置10の前方側の外観を示す斜視図であり、図2は、清掃装置10の内部構造を示す模式図である。以下の説明では、各図に示される上下方向D1、前後方向D2、左右方向D3を用いる。清掃装置10は、本発明の自律走行装置の一例である。
清掃装置10は、空港や駅、ショッピングモールなどのコンコースの床面23(図2参照)を自律的に走行することによって移動する自律走行装置であり、移動ロボットとも称されている。清掃装置10は、自律走行によって移動しつつ、床面23の塵や埃などのゴミ類を吸い上げ、フィルタによってゴミ類を分離し、収集ボックス16(図2参照)に収集する。清掃装置10は、予め入力された走行経路や清掃エリア、清掃する時間帯、充電のために戻る帰還位置などの各種情報に基づいて、床面23を走行しながら自動的に清掃する。
なお、清掃装置10は、本発明の自律走行装置の単なる一例であって、本発明は、例えば、屋内の床面を自律走行しながら清掃する清掃装置、屋外の歩行路や車道路などの路面を自律走行しながら清掃する清掃装置などにも適用可能である。もちろん、清掃機能を備えておらず、他の用途を実現するための自律走行型の自律走行ロボット、例えば、自律して走行可能な警備ロボットや、介護ロボット、荷物運搬ロボットなどにも適用可能である。
図2に示すように、清掃装置10は、装置本体11と、装置本体11に設けられた各機能部とを備えている。具体的には、装置本体11には、走行部12、モータ13、バッテリ14、吸気ユニット15、収集ボックス16、支持ホルダ17、吸気ノズル18、拡張ノズル19(図1参照)、操作部20、表示パネル21、充電接続部30、及び制御部40(制御装置)などが設けられている。
図1に示すように、装置本体11は、その外装を構成する外装カバー11Aを有する。また、図2に示すように、装置本体11は、その下部にシャーシ11Bを有する。シャーシ11Bは、床面23に対して概ね平行に設けられている。また、装置本体11の内部には、上述の各機能部を支持するための支持フレームが適宜設けられている。
図2に示すように、走行部12は、装置本体11の下部に設けられている。走行部12は、装置本体11の走行姿勢を維持しつつ進行方向の搬送力を床面23に伝達するものであり、シャーシ11Bに取り付けられている。走行部12は、走行用の一対の車輪121と、4つのキャスタ122とを有する。
車輪121は、シャーシ11Bの前後方向の中央であって、左右方向D3(幅方向)の両端部それぞれに回転可能に支持されている。4つのキャスタ122は、装置本体11の走行姿勢を維持するためのものであり、シャーシ11Bの前方端の両端部、及びシャーシ11Bの後方端の両端部に回転可能に支持されている。清掃装置10が床面23に置かれた状態で、車輪121及びキャスタ122の各外周面は床面23によって支持される。これにより、装置本体11が、図1や図2に示される走行姿勢に維持される。
車輪121の回転軸には、減速ギヤなどの伝達機構を介して、モータ13の出力軸が連結されている。このため、モータ13が駆動されて、その回転駆動力が前記出力軸から出力されると、モータ13の回転駆動力が車輪121に伝達される。本実施形態では、一対の車輪121のそれぞれに対して、個別にモータ13が設けられている。したがって、各モータ13が個別に駆動制御されることによって、各車輪121の回転速度が制御される。例えば、各車輪121の回転速度が等速に制御されると、清掃装置10は真っ直ぐに進行し、各車輪121の回転速度が異なる速度に制御されると、回転速度の遅い車輪121側に清掃装置10が旋回する。
吸気ユニット15は、装置本体11の内部において、後述のバッテリ14の上側に設けられている。吸気ユニット15は、吸気ノズル18から空気を吸い込む吸引力を発生させるものであり、複数の吸気ファン151を有する。吸気ユニット15の吸気ポート154にフレキシブルホース24が接続されている。吸気ファン151が駆動されると、フレキシブルホース24の先端の吸気口から空気が吸い込まれ、その空気は、フレキシブルホース24、吸気ユニット15の内部、排気管(不図示)を通って、外部に排出される。
バッテリ14は、装置本体11の中心部に設けられている。バッテリ14は、モータ13及び吸気ファン151に駆動用の電力を供給する。
図3は、清掃装置10の後方側の外観を示す斜視図である。図2及び図3に示すように、収集ボックス16は、装置本体11の背面に設けられている。装置本体11の背面には、背面を覆うとともに、収集ボックス16を着脱可能に支持するための支持ホルダ17が設けられている。支持ホルダ17の左右方向D3(幅方向)の中央には、上下方向D1に延びる凹部171が形成されており、その凹部171に収集ボックス16が取り外し可能に装着されている。
図2に示すように、支持ホルダ17には、凹部171の底面から前方へ延びる吸気ポート174が設けられている。吸気ポート174は、収集ボックス16の上部に設けられた排出口に連結されている。吸気ポート174にフレキシブルホース24の端部が接続されている。
また、図3に示すように、支持ホルダ17の下部には吸気ノズル18が設けられており、支持ホルダ17の側部には拡張ノズル19が設けられている。吸気ノズル18には、一対の回転ブラシ26(26A,26B)が回転可能に設けられている。回転ブラシ26は、モータ(不図示)から回転駆動力が伝達されることにより回転する。清掃装置10の走行時に前記モータが制御部40によって駆動されると、回転ブラシ26が回転されて、床面23のゴミ類の回収が良好に行われる。また、支持ホルダ17には、バッテリ14の充電時に用いられる充電接続部30が設けられている。充電接続部30は、充電ステーションが備える3つの給電端子に接続される3つの受電端子31を有している。
図3に示すように、拡張ノズル19は、支持ホルダ17の左側に設けられている。支持ホルダ17の左側には、収容部176が設けられており、収容部176に拡張ノズル19が収容可能である。拡張ノズル19は、支持ホルダ17に支持されている。具体的には、拡張ノズル19は、収容部176に収容される収容姿勢(図1及び図3に示される姿勢)と、収容部176から左側へ倒されて装置本体11の左側の床面23を清掃可能な側方清掃姿勢(不図示)との間で姿勢変化可能なように、支持ホルダ17に支持されている。
図4は、清掃装置10の正面図である。図4に示すように、清掃装置10の正面には、フロントレーザセンサ41と、ソナーセンサ42とが設けられている。
フロントレーザセンサ41は、装置本体11の正面の下部に形成された幅方向に延びる溝部175に設けられている。フロントレーザセンサ41は、溝部175の内部の中央に配置されている。フロントレーザセンサ41は、レーザ発信素子、レーザ発信素子を駆動するレーザドライバ、受光素子、受光素子の出力をデジタル信号に変換する受光処理回路などを備えている。フロントレーザセンサ41は制御部40に接続されており、制御部40によって制御される。フロントレーザセンサ41は、前方へ向けて幅方向(水平方向)へ所定の走査角(例えば120°)の範囲内でレーザ光を走査する。フロントレーザセンサ41が、照射された物体(対象物)で反射して戻って来たレーザ光を受光すると、制御部40は、前記レーザ光が戻ってくるまでの時間を測定し、その測定値に基づいて各走査位置における物体までの距離を算出する。これにより、制御部40は、清掃装置10の正面側(進行方向側)に存在する物体までの距離や位置、その物体の幅方向における形状やサイズを把握することができる。
ソナーセンサ42は、表示パネル21の下側に設けられている。装置本体11の正面における幅方向の両端部それぞれにソナーセンサ42が設けられている。ソナーセンサ42は制御部40に接続されており、制御部40によって制御される。ソナーセンサ42は、音波を用いて物体を検知するものであり、その音波が物体に反射して戻ってくるまでの時間に基づいて、その物体との距離を測定する。
図1及び図3に示すように、装置本体11の両側面それぞれには、サイドレーザセンサ45が設けられている。サイドレーザセンサ45は、フロントレーザセンサ41と概ね同様に構成されており、レーザ発信素子、レーザ発信素子を駆動するレーザドライバ、受光素子、受光素子の出力をデジタル信号に変換する受光処理回路などを備えている。サイドレーザセンサ45は制御部40に接続されており、制御部40によって制御される。サイドレーザセンサ45は、前方から下方そして後方へ向けて所定の走査角(例えば180°)の範囲内でレーザ光を走査する。サイドレーザセンサ45が、照射された物体(対象物)で反射して戻って来たレーザ光を受光すると、制御部40は、前記レーザ光が戻ってくるまでの時間を測定し、その測定値に基づいて各走査位置における物体までの距離を算出する。これにより、制御部40は、清掃装置10の正面側(進行方向側)に存在する物体や、床面23に存在する段差や障害物までの距離や位置、それらの走査方向における形状やサイズを把握することができる。
操作部20(図3参照)は、装置本体11の背面の上部に設けられている。操作部20は、外装カバー11Aに取り付けられている。操作部20は、作業者よって操作される装置であり、例えば、タッチ操作が可能なタッチパネルを有する装置である。操作部20には、作業者が各種操作(ティーチング操作、登録操作、設定操作、走行指示操作など)を行うための操作画面が表示される。操作部20に対する操作情報は、制御部40に転送され、制御部40による走行制御に用いられる。なお、操作部20は、装置本体11の上面(天板)に設けられてもよい。操作部20は、本発明の表示部の一例である。
表示パネル21(図1参照)は、装置本体11の前面に設けられている。表示パネル21は、例えば液晶パネルである。表示パネル21には、清掃中に各種のアナウンス情報が制御部40によって表示される。前記アナウンス情報は、例えば、清掃中であることを示す情報、清掃しているフロアに関する案内情報などである。
操作ハンドル22(図3参照)は、装置本体11の背面の最上部に設けられている。操作ハンドル22は、外装カバー11Aに取り付けられている。操作ハンドル22は、作業者が手動で清掃装置10を運転操作して清掃する場合や、作業者が清掃装置10に走行経路を教示させるためのティーチング操作(教示操作)を行う場合に、作業者が把持する操作部材である。図3に示すように、操作ハンドル22には、作業者から運転操作を受け付ける各種操作ボタン(走行ボタン22F、後退ボタン22B、左旋回ボタン22L、右旋回ボタン22Rなど)が設けられている。前記操作ボタンに対する操作情報は、制御部40に転送され、制御部40による走行制御に用いられる。
通信部25(図5参照)は、清掃装置10を有線又は無線でネットワークに接続し、当該ネットワークを介してサーバ(不図示)などの外部機器との間で所定の通信プロトコルに従ったデータ通信を実行するための通信インターフェースである。
記憶部50(図5参照)は、各種の情報を記憶するHDD(Hard Disk Drive)又はSSD(Solid State Drive)などの不揮発性の記憶部である。具体的に、記憶部50には、地図情報51、経路情報52などのデータが記憶される。図6は地図情報51の一例を示す図である。図7は、経路情報52の一例を示す図である。
図6に示すように、地図情報51には、清掃装置10が走行する清掃エリア(作業エリア)に対応する環境地図の情報が登録される。地図情報51には、1又は複数の環境地図が登録される。図6には、一つの環境地図M1を例示している。例えば、施設のフロアごとに環境地図が生成される場合、地図情報51には、施設のフロアのそれぞれに対応する複数の環境地図が登録される。具体的には、地図情報51に、施設のフロアF1の環境地図M1と、フロアF2の環境地図M2と、フロアF3の環境地図M3とが登録される。前記環境地図は、外部機器において予め生成されたものであってもよいし、清掃装置10が走行しながら各センサ(フロントレーザセンサ41と、ソナーセンサ42など)により検出される障害物までの距離及び位置に基づいて生成されたものであってもよい。すなわち、制御部40は、清掃装置10を走行させることによって走行エリアの環境地図を生成してもよい。以下では、図6に示す環境地図M1を例に挙げて説明する。
図7に示すように、経路情報52には、作業者による前記ティーチング操作に基づいて生成される個別走行経路の情報が登録される。具体的には、経路情報52には、個別走行経路ごとに、「経路ID」、「経路名」、「位置情報」、「経路画像」などの情報が登録される。制御部40は、作業者による前記ティーチング操作に基づいて個別走行経路を生成し、生成した個別走行経路の情報を経路情報52に登録する。「経路ID」は、個別走行経路の識別情報であり、「経路名」は、個別走行経路の名称である。「位置情報」は、個別走行経路の位置(座標)を示す情報である。例えば一つの個別走行経路の出発地点(教示走行開始地点)から目的地点(教示走行終了地点)までの座標情報が、当該個別走行経路の前記位置情報に登録される。「経路画像」は、環境地図M1において個別走行経路を識別可能に表す画像情報である。例えば図8には、個別走行経路R1に対応する経路画像E1の一例を示している。経路画像E1には、個別走行経路R1の出発地点Sと、目的地点Gと、出発地点S及び目的地点Gを結ぶ走行軌跡(図中の矢印実線)とが含まれる。
他の実施形態として、地図情報51、経路情報52などの情報の一部又は全部が、清掃装置10からネットワークを介してアクセス可能なサーバに記憶されてもよい。
さらに、記憶部50には、制御部40に後述の走行経路生成処理(図18参照)を実行させるための走行経路生成プログラムなどの制御プログラムが記憶されている。例えば、前記走行経路生成プログラムは、CD又はDVDなどのコンピュータ読取可能な記録媒体に非一時的に記録されており、清掃装置10が備えるCDドライブ又はDVDドライブなどの読取装置(不図示)で読み取られて記憶部50に記憶される。
制御部40は、装置本体11の上部に設けられている(図2参照)。図5には、制御部40の構成を示す機能ブロック図を示している。制御部40は、CPU、ROM、及びRAMなどの制御機器を有する。前記CPUは、各種の演算処理を実行するプロセッサである。前記ROMは、前記CPUに各種の演算処理を実行させるためのBIOS及びOSなどの制御プログラムが予め記憶される不揮発性の記憶部である。前記RAMは、各種の情報を記憶する揮発性又は不揮発性の記憶部であり、前記CPUが実行する各種の処理の一時記憶メモリー(作業領域)として使用される。そして、制御部40は、前記ROM又は記憶部50に予め記憶された各種の制御プログラムを前記CPUで実行することにより清掃装置10を制御する。
具体的に、制御部40は、図5に示すように、表示処理部411、受付処理部412、登録処理部413、取得処理部414、設定処理部415、生成処理部416、及び走行処理部417などの各種の処理部を含む。なお、制御部40は、前記CPUで前記走行経路生成プログラムに従った各種の処理を実行することによって前記各種の処理部として機能する。また、一部又は全部の前記処理部が電子回路で構成されていてもよい。なお、前記走行経路生成プログラムは、複数のプロセッサを前記処理部として機能させるためのプログラムであってもよい。
表示処理部411は、各種情報を操作部20及び表示パネル21に表示させる。具体的には、表示処理部411は、清掃中に、清掃中であることを示す情報、清掃しているフロアに関する案内情報など各種のアナウンス情報を表示パネル21に表示させる。また、表示処理部411は、操作モード(通常操作モード、ティーチング操作モードなど)を切り替えるためのモード切替画面(不図示)、前記ティーチング操作を行うためのティーチング操作画面T1(図9参照)、走行経路を生成するための走行経路生成画面T2(図11参照)、生成された走行経路を表示するための走行経路確認画面T3(図14参照)などを操作部20に表示させる。制御部40は、例えば前記モード切替画面において作業者からティーチング操作モードに切り替える操作を受け付けると、操作モードをティーチング操作モードに切り替える。表示処理部411は、例えば図9に示すティーチング操作画面T1を操作部20に表示させる。
また表示処理部411は、ティーチング操作画面T1において、作業者により選択された環境地図(ここでは環境地図M1)を表示させる。表示処理部411は、本発明の表示処理部の一例である。
受付処理部412は、作業者による各種操作を受け付ける。具体的には、受付処理部412は、作業者から前記ティーチング操作を受け付ける。例えば、受付処理部412は、ティーチング操作画面T1において、作業者から開始ボタンK1の選択操作、終了ボタンK2の選択操作を受け付ける。作業者が開始ボタンK1を選択した場合、個別走行経路の登録処理が開始され、作業者が終了ボタンK2を選択した場合、個別走行経路の登録処理が終了される。また、受付処理部412は、作業者から操作ハンドル22に設けられた操作ボタン(走行ボタン22F、後退ボタン22B、左旋回ボタン22L、右旋回ボタン22R)(図3参照)の選択操作(走行操作)などを受け付ける。作業者が操作ボタンを選択(押下)すると、清掃装置10は当該操作ボタンに応じて走行する。ティーチング操作画面T1における作業者の操作及び操作ハンドル22における作業者の操作は、前記ティーチング操作(本発明の教示操作)の一例である。また、受付処理部412は、本発明の受付処理部の一例である。
登録処理部413は、受付処理部412により受け付けられる前記ティーチング操作に対応する個別走行経路を記憶部50の経路情報52に登録する。具体的には、登録処理部413は、受付処理部412が前記ティーチング操作の開始指示を受け付けてから前記ティーチング操作の終了指示を受け付けるまでの期間に清掃装置10が走行する経路を個別走行経路として経路情報52に登録する。
例えば、作業者は、環境地図M1に対応する作業エリアにおいて、清掃装置10を出発地点Sまで移動させてティーチング操作画面T1において開始ボタンK1を選択する(図9参照)。その後、作業者は清掃装置10の操作ハンドル22を操作して所望の経路を走行させる。清掃装置10が作業者の操作に応じて走行している間、登録処理部413は、清掃装置10の位置情報を取得する。また、表示処理部411は、ティーチング操作画面T1において、環境地図M1に清掃装置10の移動軌跡(図9に示す点線部分)と、現在位置(図9に示す“★”印)とを表示させる。作業者が清掃装置10の走行を停止させてティーチング操作画面T1において終了ボタンK2(図9参照)を選択すると、登録処理部413は、前記位置情報の取得を終了する。そして、登録処理部413は、作業者が開始ボタンK1を選択してから終了ボタンK2を選択するまでの期間に取得した前記位置情報を、当該期間に清掃装置10が走行した個別走行経路として経路情報52(図7参照)に登録する。図9に示す例では、登録処理部413は、経路ID「0001」、経路名「R1」、位置情報「P1」、経路画像「E1」(図8参照)を経路情報52に登録する。
登録処理部413は、作業者による前記ティーチング操作ごとに「経路ID」、「経路名」、「位置情報」、「経路画像」などの情報で構成される個別走行経路を経路情報52に登録する。図10には、図7に示す経路情報52に対応する5つの個別走行経路R1~R5を示している。すなわち、図10では、作業者により5回の前記ティーチング操作が行われて、5個の個別走行経路R1~R5が記憶部50に登録されたことを示している。登録処理部413は、本発明の登録処理部の一例である。
取得処理部414は、記憶部50の経路情報52に登録される複数の個別走行経路のうち作業者に選択される1又は複数の個別走行経路を取得する。具体的には、複数の個別走行経路が記憶部50に登録された場合に、表示処理部411は、作業者の操作に基づいて走行経路生成画面T2(図11参照)を操作部20に表示させる。また、表示処理部411は、走行経路生成画面T2において、個別走行経路R1~R5の経路画像E1~E5を選択可能に表示させる。取得処理部414は、走行経路生成画面T2において作業者に選択される個別走行経路を取得する。例えば、走行経路生成画面T2において作業者が個別走行経路R1,R2,R3,R4,R5をこの順に選択(タッチ操作)すると、取得処理部414は、個別走行経路R1~R5を取得する。取得処理部414は、本発明の取得処理部の一例である。
設定処理部415は、取得処理部414により取得される複数の個別走行経路のそれぞれに順番を設定する。例えば、設定処理部415は、作業者が複数の個別走行経路を選択する選択順を、複数の個別走行経路のそれぞれの順番として設定する。図11に示す例では、設定処理部415は、個別走行経路R1に「1番」を設定し、個別走行経路R2に「2番」を設定し、個別走行経路R3に「3番」を設定し、個別走行経路R4に「4番」を設定し、個別走行経路R5に「5番」を設定する。また、設定処理部415は、作業者に選択された個別走行経路R1~R5を含む経路の名称として、任意の経路名「経路パターンA」を設定する。設定処理部415は、走行経路生成画面T2において、経路名「経路パターンA」と、各個別走行経路の順番を識別可能な情報(「R1→R2→R3→R4→R5」)とを表示させる(図11参照)。設定処理部415は、本発明の設定処理部の一例である。
生成処理部416は、清掃装置10に自律走行させる走行経路を生成する。具体的には、生成処理部416は、取得処理部414により取得される複数の個別走行経路と設定処理部415により設定される複数の個別走行経路のそれぞれの前記順番とに基づいて前記走行経路を生成する。例えば、生成処理部416は、取得処理部414により取得される個別走行経路R1~R5を、設定処理部415により設定される順番(1番~5番)に従って連結することにより前記走行経路を生成する。
例えば、走行経路生成画面T2(図11参照)において作業者が登録ボタンK3を選択すると、生成処理部416は、個別走行経路R1の目的地点Gと個別走行経路R2の出発地点Sとを連結し、個別走行経路R2の目的地点Gと個別走行経路R3の出発地点Sとを連結し、個別走行経路R3の目的地点Gと個別走行経路R4の出発地点Sとを連結し、個別走行経路R4の目的地点Gと個別走行経路R5の出発地点Sとを連結することにより、個別走行経路R1の出発地点Sから個別走行経路R5の目的地点Gまでを結ぶ1つの走行経路(経路パターンA)を生成する。個別走行経路の出発地点及び目的地点はそれぞれ、本発明の連結地点の一例である。また、生成処理部416は、本発明の生成処理部の一例である。
表示処理部411は、走行経路確認画面T3(図12参照)に生成処理部416により生成される前記走行経路を表示させる。走行経路確認画面T3において作業者が確認ボタンK4を選択すると、登録処理部413は、前記走行経路(経路パターンA)を記憶部50に登録する。なお、走行経路確認画面T3において作業者が戻るボタンK5を選択すると、走行経路生成画面T2(図11参照)に戻り、作業者は例えば個別走行経路を選択し直すことができる。
ここで、例えば、前記順番が連続する2つの個別走行経路のそれぞれの連結位置が同一である場合、すなわち一方の個別走行経路の目的地点Gと他方の個別走行経路の出発地点Sとが同一位置(同一座標)である場合は、生成処理部416は、当該同一位置において2つの個別走行経路を連結する。
これに対して、前記順番が連続する2つの個別走行経路のそれぞれの連結位置が異なる場合、すなわち一方の個別走行経路の目的地点Gと他方の個別走行経路の出発地点Sとが離れている(座標が異なる)場合には、生成処理部416は、各連結位置を結ぶ補間経路を生成し、複数の個別走行経路と補間経路とにより前記走行経路を生成する。図10に示す例では、個別走行経路R1,R2のそれぞれの連結位置が異なり、個別走行経路R2,R3のそれぞれの連結位置が異なり、個別走行経路R3,R4のそれぞれの連結位置が異なり、個別走行経路R4,R5のそれぞれの連結位置が異なっている。このため、生成処理部416は、図12に示すように、個別走行経路R1,R2のそれぞれの連結位置を結ぶ補間経路R12と、個別走行経路R2,R3のそれぞれの連結位置を結ぶ補間経路R23と、個別走行経路R3,R4のそれぞれの連結位置を結ぶ補間経路R34と、個別走行経路R4,R5のそれぞれの連結位置を結ぶ補間経路R45とを生成する。そして、生成処理部416は、個別走行経路R1と補間経路R12と個別走行経路R2と補間経路R23と個別走行経路R3と補間経路R34と個別走行経路R4と補間経路R45と個別走行経路R5とを結ぶ前記走行経路を生成する。
また、生成処理部416は、前記順番が連続する2つの個別走行経路のそれぞれの連結位置を最短距離で結ぶ経路を補間経路として生成してもよいし、最短時間で結ぶ経路を補間経路として生成してもよいし、両連結位置間の走行負荷が最小となる経路を補間経路として生成してもよい。
また、表示処理部411は、走行経路確認画面T3において前記走行経路のうち前記補間経路を識別可能に表示させてもよい。例えば図12に示すように、表示処理部411は、補間経路R12,R23,R34,R45を個別走行経路R1~R5とは異なる表示態様(例えば点線)で表示させる。
登録処理部413は、個別走行経路R1~R5で構成される走行経路を記憶部50に登録してもよいし、個別走行経路R1~R5と補間経路R12,R23,R34,R45とで構成される走行経路を記憶部50に登録してもよい。
走行処理部417は、生成処理部416により生成される前記走行経路に基づいて清掃装置10を自律走行させる。具体的には、走行処理部417は、前記走行経路に応じた駆動信号をモータ13に出力して走行部12を駆動させることにより清掃装置10を前記走行経路に沿って自律走行させる。例えば、走行指示画面(不図示)において作業者が所望の走行経路(経路パターン)を選択すると、走行処理部417は、当該走行経路に従って清掃装置10を自律走行させる。また、作業者が走行経路の走行スケジュールを予め設定していた場合には、走行処理部417は、当該走行スケジュールに基づいて清掃装置10を自律走行させる。
また、走行処理部417は、設定処理部415により設定される複数の個別走行経路のそれぞれの前記順番が連続する2つの個別走行経路のそれぞれの連結位置が異なる場合に、清掃装置10に、各連結位置の連結位置情報と清掃装置10の現在位置情報と地図情報とに基づいて、各連結位置を結ぶ補間経路を自律走行させる。
例えば図10に示す例では、走行処理部417は、清掃装置10が個別走行経路R1の目的地点Gに到達した後、現在位置情報及び環境地図M1の地図情報に基づいて清掃装置10を、個別走行経路R2の出発地点Sまで自律走行させる。このようにして、走行処理部417は、清掃装置10を、作業者が設定した前記順番(走行順)に従って、各個別走行経路を自律走行させる。
また、個別走行経路R1~R5と補間経路R12,R23,R34,R45とで構成される走行経路が記憶部50に登録される場合には、走行処理部417は、当該走行経路に対応する位置情報に基づいて清掃装置10を自律走行させてもよい。
ここで、図13に示す走行経路生成画面T2において作業者が個別走行経路R5,R1,R3をこの順に選択(タッチ操作)した場合の制御部40の処理例について以下に説明する。
取得処理部414は、作業者が選択した個別走行経路R1,R3,R5を取得する。設定処理部415は、個別走行経路R5に「1番」を設定し、個別走行経路R1に「2番」を設定し、個別走行経路R3に「3番」を設定する。また、設定処理部415は、作業者に選択された個別走行経路R1,R3,R5を含む経路の名称として、任意の経路名「経路パターンB」を設定する。設定処理部415は、走行経路生成画面T2において、経路名「経路パターンB」と、各個別走行経路の順番を識別可能な情報(「R5→R1→R3」)とを表示させる。生成処理部416は、図14に示すように、個別走行経路R5,R1のそれぞれの連結位置を結ぶ補間経路R51と、個別走行経路R1,R3のそれぞれの連結位置を結ぶ補間経路R13とを生成する。そして、生成処理部416は、個別走行経路R5と補間経路R51と個別走行経路R1と補間経路R13と個別走行経路R3とにより前記走行経路を生成する。
このようにして、生成処理部416は、個別走行経路R5の出発地点Sから個別走行経路R3の目的地点Gまでを結ぶ1つの走行経路(経路パターンB)(図14参照)を生成する。走行処理部417は、経路パターンBに基づいて清掃装置10を走行させる。なお、作業者が走行スケジュールの設定画面(不図示)において、日時t1に経路パターンAの走行を開始させ、日時t2に経路パターンBの走行を開始させる走行スケジュールを設定した場合には、走行処理部417は、当該走行スケジュールに基づいて清掃装置10を自律走行させる。
また、記憶部50に登録された前記走行経路(経路パターン)の一部を修正する必要が生じた場合、制御部40は以下の処理を実行する。ここでは、図12に示す経路パターンAのうち個別走行経路R3の経路を修正する場合を例に挙げて説明する。
作業者は、作業エリアにおいて、清掃装置10を修正したい経路の出発地点Sまで移動させてティーチング操作画面T1の開始ボタンK1を選択する(図15参照)。その後、作業者は清掃装置10の操作ハンドル22を操作して所望の経路(図15に示す点線部分)を走行させる。作業者が清掃装置10の走行を停止させてティーチング操作画面T1において終了ボタンK2を選択すると、登録処理部413は、作業者が開始ボタンK1を選択してから終了ボタンK2を選択するまでの期間に取得した前記位置情報を、当該期間に清掃装置10が走行した個別走行経路として経路情報52(図7参照)に登録する。図15に示す例では、登録処理部413は、経路ID「0006」、経路名「R6」の個別走行経路を経路情報52に登録する。これにより、走行経路生成画面T2には、個別走行経路R6が追加される(図16参照)。
走行経路生成画面T2において作業者が個別走行経路R1,R2,R6,R4,R5をこの順に選択(タッチ操作)すると、取得処理部414は、これらの個別走行経路を取得し、設定処理部415は、個別走行経路R1に「1番」を設定し、個別走行経路R2に「2番」を設定し、個別走行経路R6に「3番」を設定し、個別走行経路R4に「4番」を設定し、個別走行経路R5に「5番」を設定する(図16参照)。そして、生成処理部416は、図17に示すように、個別走行経路R1,R2のそれぞれの連結位置を結ぶ補間経路R12と、個別走行経路R2,R6のそれぞれの連結位置を結ぶ補間経路R26と、個別走行経路R6,R4のそれぞれの連結位置を結ぶ補間経路R64と、個別走行経路R4,R5のそれぞれの連結位置を結ぶ補間経路R45とを生成する。そして、生成処理部416は、個別走行経路R1と補間経路R12と個別走行経路R2と補間経路R26と個別走行経路R6と補間経路R64と個別走行経路R4と補間経路R45と個別走行経路R5とを結ぶ前記走行経路(経路パターンC)を生成する。
これにより、図12に示す経路パターンAのうち個別走行経路R3を個別走行経路R6に修正した新たな経路パターンCを生成することができる。なお、制御部40は、個別走行経路R3を個別走行経路R6の経路に更新(上書き)して記憶部50に登録してもよい。この場合、経路パターンAが新たな経路に更新される。
その他、制御部40は、吸気ユニット15の吸気ファン151の駆動、充電ステーション(不図示)への帰還などを制御する。
[走行経路生成処理]
以下、図18を参照しつつ、清掃装置10において実行される走行経路生成処理について説明する。具体的に、本実施形態では、清掃装置10の制御部40によって前記走行経路生成処理が実行される。
なお、本発明は、前記走行経路生成処理に含まれる一又は複数のステップを実行する走行経路生成方法の発明として捉えることができる。また、ここで説明する前記走行経路生成処理に含まれる一又は複数のステップは適宜省略されてもよい。なお、前記走行経路生成処理における各ステップは同様の作用効果を生じる範囲で実行順序が異なってもよい。さらに、ここでは制御部40によって前記走行経路生成処理における各ステップが実行される場合を例に挙げて説明するが、複数のプロセッサによって当該走行経路生成処理における各ステップが分散して実行される走行経路生成方法も他の実施形態として考えられる。
まず、ステップS11において、制御部40は、作業者からティーチング操作を開始する指示を受けたか否かを判定する。具体的には、制御部40は、操作モードをティーチング操作モードに切り替えた後、ティーチング操作画面T1(図9参照)において、作業者から開始ボタンK1の選択操作を受け付けたか否かを判定する。ティーチング操作の開始指示を受け付けたと判定されると(S11:Yes)、処理がステップS12に移行し、ティーチング操作の開始指示を受け付けたと判定されるまでの間は処理がステップS11で待機する(S11:No)。ステップS11の処理は、制御部40の受付処理部412によって実行される。ステップS11は、本発明の受付ステップの一例である。
ステップS12において、制御部40は、清掃装置10の現在位置の位置情報を取得する。例えば、制御部40は、作業者が操作ハンドル22に設けられた操作ボタン(走行ボタン22F、後退ボタン22B、左旋回ボタン22L、右旋回ボタン22R)(図3参照)を操作(走行操作)して清掃装置10を手動走行させている間、清掃装置10の位置情報を順次取得する。
ステップS13において、制御部40は、作業者からティーチング操作を終了する指示を受けたか否かを判定する。具体的には、制御部40は、ティーチング操作画面T1(図9参照)において、作業者から終了ボタンK2の選択操作を受け付けたか否かを判定する。ティーチング操作の終了指示を受け付けたと判定されると(S13:Yes)、処理がステップS14に移行し、ティーチング操作の終了指示を受け付けたと判定されるまでの間はステップS12,S13の処理を繰り返す(S13:No)。
ステップS14において、制御部40は、前記ティーチング操作に対応する個別走行経路を記憶部50の経路情報52に登録する。具体的には、制御部40は、前記ティーチング操作の開始指示を受け付けてから前記ティーチング操作の終了指示を受け付けるまでの期間に清掃装置10が走行する経路を個別走行経路として経路情報52(図7参照)に登録する。ステップS12~S14の処理は、制御部40の登録処理部413によって実行される。ステップS12~S14は、本発明の登録ステップの一例である。
ステップS15において、制御部40は、全ての個別走行経路の登録が完了したか否かを判定する。例えば図11に示す環境地図M1に対応する作業エリアにおいて、作業者が意図する全ての走行経路についてティーチング操作が完了した場合に(S15:Yes)、処理がステップS16に移行する。一方、前記ティーチング操作が完了していない場合には(S15:No)、処理はステップS11に戻る。ステップS11~S14の処理を繰り返すことにより、複数の個別走行経路が記憶部50に登録される。
上述したステップS11~S15の処理は、ティーチング処理に対応する。制御部40は、前記ティーチング処理が終了すると、ステップS16~S19の処理(走行経路生成処理)を実行する。なお、前記ティーチング処理と前記走行経路生成処理とは、時間的に連続(継続)して実行されなくてもよい。
ステップS16において、制御部40は、作業者から個別走行経路を選択する操作を受けたか否かを判定する。具体的には、制御部40は、走行経路生成画面T2(図11参照)において、作業者から個別走行経路の選択操作を受け付けたか否かを判定する。個別走行経路の選択操作を受け付けたと判定されると(S16:Yes)、処理がステップS17に移行し、個別走行経路の選択操作を受け付けたと判定されるまでの間はステップS16の処理を繰り返す(S16:No)。例えば、作業者が走行経路生成画面T2において、個別走行経路R1~R5をこの順に選択した場合、処理はステップS17に移行する。
ステップS17において、制御部40は、作業者により選択された複数の個別走行経路を取得する。ここでは、制御部40は、個別走行経路R1~R5を取得する。ステップS17の処理は、制御部40の取得処理部414によって実行される。ステップS17は、本発明の取得ステップの一例である。
ステップS18において、制御部40は、取得した複数の個別走行経路のそれぞれに順番を設定する。図11に示す例では、制御部40は、個別走行経路R1に「1番」を設定し、個別走行経路R2に「2番」を設定し、個別走行経路R3に「3番」を設定し、個別走行経路R4に「4番」を設定し、個別走行経路R5に「5番」を設定する。ステップS18の処理は、制御部40の設定処理部415によって実行される。ステップS18は、本発明の設定ステップの一例である。
ステップS19において、制御部40は、取得した複数の個別走行経路と設定した複数の個別走行経路のそれぞれの前記順番とに基づいて、清掃装置10に走行させる走行経路を生成する。例えば、制御部40は、個別走行経路R1~R5を、設定した順番(1番~5番)に従って連結することにより前記走行経路を生成する。
また、制御部40は、前記順番が連続する2つの個別走行経路のそれぞれの連結位置が異なる場合、すなわち一方の個別走行経路の目的地点Gと他方の個別走行経路の出発地点Sとが離れている(座標が異なる)場合には、各連結位置を結ぶ補間経路を生成し、複数の個別走行経路と補間経路とにより前記走行経路を生成する。例えば図12に示すように、制御部40は、個別走行経路R1,R2のそれぞれの連結位置を結ぶ補間経路R12と、個別走行経路R2,R3のそれぞれの連結位置を結ぶ補間経路R23と、個別走行経路R3,R4のそれぞれの連結位置を結ぶ補間経路R34と、個別走行経路R4,R5のそれぞれの連結位置を結ぶ補間経路R45とを生成する。そして、制御部40は、個別走行経路R1と補間経路R12と個別走行経路R2と補間経路R23と個別走行経路R3と補間経路R34と個別走行経路R4と補間経路R45と個別走行経路R5とにより前記走行経路を生成する。ステップS19の処理は、制御部40の生成処理部416によって実行される。ステップS19は、本発明の生成ステップの一例である。
このようにして生成された走行経路(経路パターン)は記憶部50に登録される。作業者は、清掃装置10を自律走行させる場合に、記憶部50に登録された1又は複数の走行経路(経路パターン)から所望の走行経路を選択する。制御部40は、作業者が選択した前記走行経路に従って、清掃装置10を自律走行させる。
以上説明したように、本実施形態に係る清掃装置10は、作業者から清掃装置10をティーチング走行(教示走行)させるティーチング操作(教示操作)を受け付け、ティーチング操作に対応する個別走行経路を記憶部50に登録する。また、清掃装置10は、記憶部50に登録される複数の前記個別走行経路のうち作業者に選択される複数の前記個別走行経路を取得し、取得される複数の前記個別走行経路のそれぞれに順番を設定する。そして、清掃装置10は、複数の前記個別走行経路と前記順番とに基づいて、清掃装置10に自律走行させる走行経路を生成する。
この構成によれば、作業エリアの走行経路を複数の個別走行経路に分割して記憶部50に登録することができる。このため、作業者により選択される複数の個別走行経路を連結することにより、所望の走行経路を容易に生成することが可能となる。また、生成した走行経路の一部を修正したい場合には、修正箇所に対応する個別走行経路を新たに生成した個別走行経路に入れ替えることにより、前記走行経路を修正することができる。このため、生成した走行経路の一部を修正する必要が生じた場合に、前記走行経路を一から全て作り直す必要がない。よって、清掃装置10の走行経路を生成する作業者の作業効率を向上させることが可能となる。
上述した実施形態では、清掃装置10単体が本発明に係る自律走行システムに相当するが、本発明に係る自律走行システムは、清掃装置10及びサーバ(情報処理装置)のうち一又は複数の構成要素を含むものであってもよい。例えば、清掃装置10及びサーバのうち複数の構成要素が協働して前記走行経路生成処理(図18参照)を分担して実行する場合には、その処理を実行する複数の構成要素を含むシステムを本発明に係る自律走行システムとして捉えることが可能である。例えば、前記サーバ単体が本発明に係る自律走行システムを構成してもよい。具体的には、前記サーバが、図5に示す制御部40の各処理部(表示処理部411、受付処理部412、登録処理部413、取得処理部414、設定処理部415、生成処理部416、走行処理部417)を備え、清掃装置10を制御してもよい。
10 :清掃装置
11 :装置本体
20 :操作部
22 :操作ハンドル
40 :制御部
50 :記憶部
51 :地図情報
52 :経路情報
411 :表示処理部
412 :受付処理部
413 :登録処理部
414 :取得処理部
415 :設定処理部
416 :生成処理部
417 :走行処理部

Claims (12)

  1. 走行経路に基づいて自律走行装置を走行させる自律走行システムであって、
    作業者から前記自律走行装置を教示走行させる教示操作を受け付ける受付処理部と、
    前記受付処理部により受け付けられる前記教示操作に対応する個別走行経路を記憶部に登録する登録処理部と、
    前記記憶部に登録される複数の前記個別走行経路のうち作業者に選択される複数の前記個別走行経路を取得する取得処理部と、
    前記取得処理部により取得される複数の前記個別走行経路のそれぞれに順番を設定する設定処理部と、
    前記取得処理部により取得される複数の前記個別走行経路と前記設定処理部により設定される複数の前記個別走行経路のそれぞれの前記順番とに基づいて前記走行経路を生成する生成処理部と、
    前記生成処理部により生成される前記走行経路に基づいて前記自律走行装置を走行させる走行処理部と、
    を備え
    前記走行処理部は、前記順番が連続する2つの前記個別走行経路のそれぞれの連結位置が異なる場合に、前記自律走行装置に、各連結位置の連結位置情報と前記自律走行装置の現在位置情報と地図情報とに基づいて、各連結位置を結ぶ補間経路を走行させる、自律走行システム。
  2. 前記登録処理部は、前記受付処理部が前記教示操作の開始指示を受け付けてから前記教示操作の終了指示を受け付けるまでの期間に前記自律走行装置が走行する経路を前記個別走行経路として前記記憶部に登録する、
    請求項1に記載の自律走行システム。
  3. 前記登録処理部は、前記教示操作ごとに前記個別走行経路を前記記憶部に登録する、
    請求項1又は2に記載の自律走行システム。
  4. 前記記憶部に登録される複数の前記個別走行経路を表示部に表示させる表示処理部をさらに備え、
    前記取得処理部は、前記表示部に表示される複数の前記個別走行経路のうち作業者に選択される複数の前記個別走行経路を取得する、
    請求項1から3のいずれかに記載の自律走行システム。
  5. 前記設定処理部は、作業者が複数の前記個別走行経路を選択する選択順を、複数の前記個別走行経路のそれぞれの前記順番として設定する、
    請求項1から4のいずれかに記載の自律走行システム。
  6. 前記生成処理部は、前記取得処理部により取得される複数の前記個別走行経路を、前記設定処理部により設定される前記順番に従って連結することにより前記走行経路を生成する、
    請求項1から5のいずれかに記載の自律走行システム。
  7. 前記生成処理部は、前記順番が連続する2つの前記個別走行経路のそれぞれの連結位置が異なる場合に各連結位置を結ぶ前記補間経路を生成し、複数の前記個別走行経路と前記補間経路とにより前記走行経路を生成する、
    請求項1から6のいずれかに記載の自律走行システム。
  8. 前記生成処理部により生成される前記走行経路を表示部に表示させる表示処理部をさらに備え、
    前記表示処理部は、前記表示部において前記走行経路のうち前記補間経路を識別可能に表示させる、
    請求項7に記載の自律走行システム。
  9. 前記登録処理部は、前記生成処理部により生成される前記走行経路を前記記憶部に登録する、
    請求項1から8のいずれかに記載の自律走行システム。
  10. 前記走行処理部は、前記生成処理部により生成される前記走行経路と当該走行経路に対応する走行開始日時とが予め設定された走行スケジュールに基づいて、前記自律走行装置を走行させる、
    請求項1から9のいずれかに記載の自律走行システム。
  11. 走行経路に基づいて自律走行装置を走行させる自律走行方法であって、
    一又は複数のプロセッサが、
    作業者から前記自律走行装置を教示走行させる教示操作を受け付ける受付ステップと、
    前記受付ステップにより受け付けられる前記教示操作に対応する個別走行経路を記憶部に登録する登録ステップと、
    前記記憶部に登録される複数の前記個別走行経路のうち作業者に選択される複数の前記個別走行経路を取得する取得ステップと、
    前記取得ステップにより取得される複数の前記個別走行経路のそれぞれの順番を設定する設定ステップと、
    前記取得ステップにより取得される複数の前記個別走行経路と前記設定ステップにより設定される複数の前記個別走行経路のそれぞれの前記順番とに基づいて前記走行経路を生成する生成ステップと、
    前記生成ステップにより生成される前記走行経路に基づいて前記自律走行装置を走行させる走行ステップと、
    を実行し、
    前記走行ステップにおいて、前記順番が連続する2つの前記個別走行経路のそれぞれの連結位置が異なる場合に、前記自律走行装置に、各連結位置の連結位置情報と前記自律走行装置の現在位置情報と地図情報とに基づいて、各連結位置を結ぶ補間経路を走行させる、自律走行方法。
  12. 走行経路に基づいて自律走行装置を走行させる自律走行プログラムであって、
    作業者から前記自律走行装置を教示走行させる教示操作を受け付ける受付ステップと、
    前記受付ステップにより受け付けられる前記教示操作に対応する個別走行経路を記憶部に登録する登録ステップと、
    前記記憶部に登録される複数の前記個別走行経路のうち作業者に選択される複数の前記個別走行経路を取得する取得ステップと、
    前記取得ステップにより取得される複数の前記個別走行経路のそれぞれの順番を設定する設定ステップと、
    前記取得ステップにより取得される複数の前記個別走行経路と前記設定ステップにより設定される複数の前記個別走行経路のそれぞれの前記順番とに基づいて前記走行経路を生成する生成ステップと、
    前記生成ステップにより生成される前記走行経路に基づいて前記自律走行装置を走行させる走行ステップと、
    を一又は複数のプロセッサに実行させ
    前記走行ステップにおいて、前記順番が連続する2つの前記個別走行経路のそれぞれの連結位置が異なる場合に、前記自律走行装置に、各連結位置の連結位置情報と前記自律走行装置の現在位置情報と地図情報とに基づいて、各連結位置を結ぶ補間経路を走行させる、自律走行プログラム。
JP2019220184A 2019-12-05 2019-12-05 自律走行システム、自律走行方法、及び自律走行プログラム Active JP7047830B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2019220184A JP7047830B2 (ja) 2019-12-05 2019-12-05 自律走行システム、自律走行方法、及び自律走行プログラム
EP20206459.8A EP3832418A1 (en) 2019-12-05 2020-11-09 Autonomous traveling system, autonomous traveling method, and autonomous traveling program
CN202011244344.9A CN113031584A (zh) 2019-12-05 2020-11-10 自主行驶系统、自主行驶方法、以及自主行驶程序
US16/953,734 US12007776B2 (en) 2019-12-05 2020-11-20 Autonomous traveling system, autonomous traveling method, and autonomous traveling program stored on computer-readable storage medium
JP2022018388A JP7342985B2 (ja) 2019-12-05 2022-02-09 自律走行システム、自律走行方法、及び自律走行プログラム
JP2022018389A JP7078192B2 (ja) 2019-12-05 2022-02-09 自律走行システム、自律走行方法、及び自律走行プログラム
JP2023139620A JP7485181B2 (ja) 2019-12-05 2023-08-30 自律走行装置、自律走行システム、自律走行方法、及び自律走行プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019220184A JP7047830B2 (ja) 2019-12-05 2019-12-05 自律走行システム、自律走行方法、及び自律走行プログラム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2022018388A Division JP7342985B2 (ja) 2019-12-05 2022-02-09 自律走行システム、自律走行方法、及び自律走行プログラム
JP2022018389A Division JP7078192B2 (ja) 2019-12-05 2022-02-09 自律走行システム、自律走行方法、及び自律走行プログラム

Publications (2)

Publication Number Publication Date
JP2021089629A JP2021089629A (ja) 2021-06-10
JP7047830B2 true JP7047830B2 (ja) 2022-04-05

Family

ID=73198182

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2019220184A Active JP7047830B2 (ja) 2019-12-05 2019-12-05 自律走行システム、自律走行方法、及び自律走行プログラム
JP2022018388A Active JP7342985B2 (ja) 2019-12-05 2022-02-09 自律走行システム、自律走行方法、及び自律走行プログラム
JP2023139620A Active JP7485181B2 (ja) 2019-12-05 2023-08-30 自律走行装置、自律走行システム、自律走行方法、及び自律走行プログラム

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2022018388A Active JP7342985B2 (ja) 2019-12-05 2022-02-09 自律走行システム、自律走行方法、及び自律走行プログラム
JP2023139620A Active JP7485181B2 (ja) 2019-12-05 2023-08-30 自律走行装置、自律走行システム、自律走行方法、及び自律走行プログラム

Country Status (4)

Country Link
US (1) US12007776B2 (ja)
EP (1) EP3832418A1 (ja)
JP (3) JP7047830B2 (ja)
CN (1) CN113031584A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4372513A1 (en) * 2021-07-15 2024-05-22 Sumitomo Heavy Industries, LTD. Device and program for configuring operation of autonomous traveling vehicle, storage medium for storing operation configuration program, and operation configuration method
EP4374237A1 (de) * 2021-07-23 2024-05-29 Alfred Kärcher SE & Co. KG Bodenreinigungssystem, bodenreinigungsgerät und verfahren zum betreiben eines bodenreinigungssystems oder eines bodenreinigungsgerätes
EP4387499A1 (de) * 2021-08-19 2024-06-26 Alfred Kärcher SE & Co. KG Bodenreinigungssystem, bodenreinigungsgerät und verfahren zum betreiben eines bodenreinigungssystems oder eines bodenreinigungsgerätes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941261A (zh) 2019-10-19 2020-03-31 中国海洋大学 一种自主式水下航行器多区域遍历路径规划方法
JP2021015341A (ja) 2019-07-10 2021-02-12 ヤンマーパワーテクノロジー株式会社 自動走行システム
WO2021106331A1 (ja) 2019-11-25 2021-06-03 村田機械株式会社 自律走行台車、制御方法、及び、プログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104846A (ja) * 1993-09-30 1995-04-21 Fuji Heavy Ind Ltd 自律走行車の走行制御装置
US7010425B2 (en) * 2003-03-31 2006-03-07 Deere & Company Path planner and a method for planning a path of a work vehicle
KR100520079B1 (ko) * 2003-08-01 2005-10-12 삼성전자주식회사 로봇시스템 및 그 제어방법
JP2007226322A (ja) * 2006-02-21 2007-09-06 Sharp Corp ロボットコントロールシステム
JP5215740B2 (ja) 2008-06-09 2013-06-19 株式会社日立製作所 移動ロボットシステム
JP5436460B2 (ja) * 2009-02-12 2014-03-05 三菱電機株式会社 産業用ロボットシステム
ES2589463T3 (es) 2011-01-28 2016-11-14 Rakuten, Inc. Dispositivo para proporcionar información de rutas, procedimiento para proporcionar información de rutas, programa y medio de grabación de información
JP5669998B1 (ja) * 2014-07-04 2015-02-18 マミヤ・オーピー・ネクオス株式会社 作業機械、作業機械の走行経路生成のための装置、方法、プログラム、プログラムを記録した記録媒体、作業機械の走行制御装置
US9921064B2 (en) * 2015-10-30 2018-03-20 Deere & Company Method and system for guidance of off-road vehicles
JP6694279B2 (ja) * 2016-01-21 2020-05-13 株式会社ダイヘン 経路教示装置、及び移動体
JP6708828B2 (ja) 2016-03-28 2020-06-10 国立大学法人豊橋技術科学大学 自律走行装置及びその開始位置判定プログラム
US10980387B2 (en) * 2016-08-31 2021-04-20 Murata Machinery, Ltd. Autonomously traveling floor washer
CH713152A2 (de) * 2016-11-23 2018-05-31 Cleanfix Reinigungssysteme Ag Bodenbehandlungsmaschine und Verfahren zum Behandeln von Bodenflächen.
JP6872189B2 (ja) 2017-02-27 2021-05-19 国立大学法人豊橋技術科学大学 自律走行作業装置
DE102017010425A1 (de) * 2017-11-12 2019-05-16 Wirtgen Gmbh Selbstfahrende Baumaschine und Verfahren zum Steuern einer selbstfahrenden Baumaschine
US10823572B2 (en) * 2018-04-05 2020-11-03 Symbol Technologies, Llc Method, system and apparatus for generating navigational data
DE102018111509A1 (de) * 2018-05-14 2019-11-14 Hako Gmbh Verfahren zur Bestimmung einer Route für eine Bodenreinigungsmaschine
JP7281707B2 (ja) * 2018-07-06 2023-05-26 パナソニックIpマネジメント株式会社 移動ロボット、及び、制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021015341A (ja) 2019-07-10 2021-02-12 ヤンマーパワーテクノロジー株式会社 自動走行システム
CN110941261A (zh) 2019-10-19 2020-03-31 中国海洋大学 一种自主式水下航行器多区域遍历路径规划方法
WO2021106331A1 (ja) 2019-11-25 2021-06-03 村田機械株式会社 自律走行台車、制御方法、及び、プログラム

Also Published As

Publication number Publication date
US20210173403A1 (en) 2021-06-10
US12007776B2 (en) 2024-06-11
CN113031584A (zh) 2021-06-25
JP7342985B2 (ja) 2023-09-12
JP2023155398A (ja) 2023-10-20
EP3832418A1 (en) 2021-06-09
JP2021089629A (ja) 2021-06-10
JP7485181B2 (ja) 2024-05-16
JP2022060311A (ja) 2022-04-14

Similar Documents

Publication Publication Date Title
JP7342985B2 (ja) 自律走行システム、自律走行方法、及び自律走行プログラム
JP5819498B1 (ja) 自律移動体及び自律移動体システム
JP3841220B2 (ja) 自律走行ロボットクリーナー
WO2019097626A1 (ja) 自走式掃除機
JP2000353014A (ja) 清掃ロボット
JP2020116380A (ja) 手動でのみ誘導される床処理装置と自動でのみ走行する床処理装置とからなるシステム及びそのシステムの動作方法
JP6757593B2 (ja) 自走式電子機器
JP2005211367A (ja) 自律走行ロボットクリーナー
JP7272461B2 (ja) 自律走行台車、制御方法、及び、プログラム
JP7078192B2 (ja) 自律走行システム、自律走行方法、及び自律走行プログラム
JP7381240B2 (ja) 自律走行作業装置
JP7356264B2 (ja) 自律走行作業装置
JP6945144B2 (ja) 掃除情報提供装置、および掃除機システム
JP7100450B2 (ja) 操作装置、情報作成方法、プログラムおよび自律走行作業装置
JP2003256043A (ja) 自走作業機器及び自走式掃除機並びに自走作業機器の走行データ配信方法
JP7042427B2 (ja) 掃除情報提供装置
JP2006172108A (ja) 自走式掃除機
WO2023089886A1 (ja) 走行用地図作成装置、自律走行型ロボット、走行用地図作成方法、及び、プログラム
JP7122573B2 (ja) 掃除情報提供装置
WO2022137796A1 (ja) 走行用地図作成装置、自律走行型ロボット、自律走行型ロボットの走行制御システム、自律走行型ロボットの走行制御方法、及び、プログラム
JP7336682B2 (ja) 掃除機システム、および表示装置
CN115479597A (zh) 地图制作装置及方法、机器人系统、程序、存储介质
WO2023157345A1 (ja) 走行用地図作成装置、自律走行型ロボット、走行用地図作成方法、及び、プログラム
JP7370154B2 (ja) 自律走行作業装置
JP2022141132A (ja) 撮像システム、撮像方法、及び撮像プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211215

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20211215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220307

R150 Certificate of patent or registration of utility model

Ref document number: 7047830

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150