JP2019114128A - 移動体 - Google Patents

移動体 Download PDF

Info

Publication number
JP2019114128A
JP2019114128A JP2017248281A JP2017248281A JP2019114128A JP 2019114128 A JP2019114128 A JP 2019114128A JP 2017248281 A JP2017248281 A JP 2017248281A JP 2017248281 A JP2017248281 A JP 2017248281A JP 2019114128 A JP2019114128 A JP 2019114128A
Authority
JP
Japan
Prior art keywords
command value
movement
moving
unit
sensor
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
JP2017248281A
Other languages
English (en)
Inventor
洋人 坂原
Hiroto Sakahara
洋人 坂原
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.)
Daihen Corp
Original Assignee
Daihen 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 Daihen Corp filed Critical Daihen Corp
Priority to JP2017248281A priority Critical patent/JP2019114128A/ja
Publication of JP2019114128A publication Critical patent/JP2019114128A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

【課題】偏荷重等に起因して、移動体が移動に関する指令値から外れた移動を行うことがあるという問題があった。【解決手段】自律的に移動する移動体1は、移動体1を全方向に移動できる移動機構11と、移動に関する指令値を生成する指令値生成部13と、指令値に応じて移動機構11を制御するコントローラ15と、移動体1の移動に関する測定値を取得するセンサ14と、測定値と指令値との偏差が低減するように、指令値を補正するフォードバック制御を行う制御部16とを備え、コントローラ15は、制御部16によって補正された指令値に応じて移動機構11を制御する。このようにして、測定値と指令値との偏差に応じたフィードバック制御を行うことによって、移動体1の指令値への追従性を高めることができる。【選択図】図1

Description

本発明は、全方向に移動可能な移動体に関する。
従来、自律的に移動する移動体によって、自動搬送などが行われている。そのような移動体が移動している際に、例えば、偏荷重、走行面の傾きや凹凸等に起因して、移動体が移動に関する指令値から外れた移動を行うことがあった。
なお、関連した技術として、床の凹凸等に起因する外乱の影響下であっても、直進性を高めることができる全方向移動車両の制御装置が知られている(特許文献1参照)。
特許5306470号公報
上記特許文献1に記載された全方向移動車両は、搭乗した乗員によって操作される車両であって、自律的に移動する移動体ではない。一方、指令値に応じて自律的に移動する移動体において、偏荷重等がある場合でも、指令値への追従性(応答性)が高くなるようにしたいという要望があった。
本発明は、上記事情に応じてなされたものであり、移動に関する指令値への追従性を高めることができる、自律的に移動する移動体を提供することを目的とする。
上記目的を達成するため、本発明による移動体は、自律的に移動する移動体であって、移動体を全方向に移動できる移動機構と、移動に関する指令値を生成する指令値生成部と、指令値に応じて移動機構を制御するコントローラと、移動体の移動に関する測定値を取得するセンサと、測定値と指令値との偏差が低減するように、指令値を補正するフォードバック制御を行う制御部と、を備え、コントローラは、制御部によって補正された指令値に応じて移動機構を制御する、ものである。
このような構成により、測定値と指令値との偏差に応じたフィードバック制御を行うことによって、移動体がより指令値に応じた移動を行うように制御することができる。その結果、移動体の指令値への追従性を高めることができ、例えば、あらかじめ決められた経路に沿った移動体の移動を実現することができるようになる。
また、本発明による移動体では、制御部は、移動体のローカル座標系において、移動体の移動速さ、移動方向、及び角速度の少なくともいずれかの指令値についてフィードバック制御を行ってもよい。
このような構成により、移動速さや移動方向等についてフィードバック制御を行うことによって、そのフィードバック制御を行う指令値への追従性を高めることができる。
また、本発明による移動体では、センサは、重力方向を取得可能であり、センサによって取得された重力方向に対応付けて、制御部による指令値の補正に関する情報である補正情報を蓄積する蓄積部をさらに備え、制御部は、移動開始時に、センサによって取得された重力方向に対応する補正情報に応じて指令値を補正してもよい。
このような構成により、測定値を測定できない移動開始時においても、過去に蓄積された情報を用いて、現在位置の状況に適した補正を行うことができるようになる。
本発明による移動体によれば、移動体の指令値への追従性を高めることができるようになる。
本発明の実施の形態による移動体の構成を示すブロック図 同実施の形態における制御部の構成を示す図 同実施の形態における制御部の構成を示す図 同実施の形態による移動体の動作を示すフローチャート 同実施の形態による移動体のローカル座標系について説明するための図 同実施の形態における指令値、測定値、補正値について説明するための図 同実施の形態における重力方向と補正情報との一例を示す図
以下、本発明による移動体について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による移動体は、全方向に移動可能なものであり、移動に関する指令値について、フィードバック制御を行うものである。
図1は、本実施の形態による移動体1の構成を示すブロック図である。本実施の形態による移動体1は、自律的に移動するものであり、移動機構11と、現在位置取得部12と、指令値生成部13と、センサ14と、コントローラ15と、制御部16と、蓄積部17と、記憶部18とを備える。なお、移動体1が自律的に移動するとは、移動体1がユーザ等から受け付ける操作指示に応じて移動するのではなく、自らの判断によって目的地に移動することであってもよい。その目的地は、例えば、手動で決められたものであってもよく、または、自動的に決定されたものであってもよい。また、その目的地までの移動は、例えば、移動経路に沿って行われてもよく、または、そうでなくてもよい。また、自らの判断によって目的地に移動するとは、例えば、進行方向、移動や停止などを移動体1が自ら判断することによって、目的地まで移動することであってもよい。また、例えば、移動体1が、障害物に衝突しないように目的地に移動することであってもよい。移動体1は、例えば、台車であってもよく、移動するロボットであってもよい。ロボットは、例えば、エンターテインメントロボットであってもよく、監視ロボットであってもよく、搬送ロボットであってもよく、清掃ロボットであってもよく、動画や静止画を撮影するロボットであってもよく、その他のロボットであってもよい。
移動機構11は、移動体1を全方向に移動できるものである。全方向に移動できるとは、任意の方向に移動できることである。移動機構11は、例えば、走行部(例えば、車輪など)と、その走行部を駆動する駆動手段(例えば、モータやエンジンなど)とを有していてもよい。本実施の形態では、駆動手段がモータである場合について主に説明する。なお、移動機構11は、移動体1を全方向に移動できるものであるため、その走行部は、全方向移動車輪(例えば、オムニホイール、メカナムホイールなど)であってもよい。全方向移動車輪を有し、全方向に移動可能な移動体については、例えば、特開2017−128187号公報を参照されたい。この移動機構11としては、公知のものを用いることができるため、その詳細な説明を省略する。本実施の形態では、移動機構11がオムニホイールである走行部と、その走行部を駆動する駆動手段とを有している場合について主に説明する。
現在位置取得部12は、移動体1の現在位置を取得する。現在位置の取得は、例えば、無線通信を用いて行われてもよく、周囲の物体までの距離の測定結果を用いて行われてもよく、周囲の画像を撮影することによって行われてもよく、現在位置を取得できるその他の手段を用いてなされてもよい。無線通信を用いて現在位置を取得する方法としては、例えば、GPS(Global Positioning System)を用いる方法や、屋内GPSを用いる方法、最寄りの無線基地局を用いる方法などが知られている。また、例えば、周囲の物体までの距離の測定結果を用いたり、周囲の画像を撮影したりすることによって現在位置を取得する方法としては、例えば、SLAM(Simultaneous Localization and Mapping)などによって知られている方法を用いてもよい。また、あらかじめ作成された地図(例えば、周囲の物体までの距離の測定結果や撮影画像を有する地図など)が記憶されている場合には、現在位置取得部12は、周囲の物体までの距離を測定し、地図を用いて、その測定結果に対応する位置を特定することによって現在位置を取得してもよく、周囲の画像を撮影し、地図を用いて、その撮影結果に対応する位置を特定することによって現在位置を取得してもよい。また、現在位置取得部12は、例えば、自律航法装置を用いて現在位置を取得してもよい。また、現在位置取得部12は、移動体1の向き(方向)を含む現在位置を取得することが好適である。その方向は、例えば、北を0度として、時計回りに測定された方位角によって示されてもよく、その他の方向を示す情報によって示されてもよい。その向きは、電子コンパスや地磁気センサによって取得されてもよい。
指令値生成部13は、移動に関する指令値を生成する。この指令値は、移動体1のローカル座標系における指令値である。図4は、移動体1のローカル座標系における指令値の一例を示す図であり、移動体1を上方から見た図である。図4を参照して、移動体1のローカル座標系は、3次元のxyz直交座標系であるとする。なお、xy平面が、走行面と平行になっており、z軸は、上向き(図4では、紙面の手前向き)が正の方向となっている。指令値生成部13によって生成される指令値は、例えば、図4で示されるように、移動速さの指令値v、移動方向の指令値θ、及び角速度の指令値ωであってもよい。移動速さは、ベクトルである移動速度の大きさであると考えてもよい。また、移動方向は、ベクトルである移動速度の向きであると考えてもよい。角速度は、移動体1の回転中心の周りでの回転に応じた角速度である。なお、移動速さの指令値v、及び移動方向の指令値θに代えて、ローカル座標系における、移動速度のx成分の指令値vCx、及び移動速度のy成分の指令値vCyが生成されてもよい。本実施の形態では、指令値生成部13によって、移動速さの指令値v、移動方向の指令値θ、及び角速度の指令値ωが生成される場合について主に説明する。指令値生成部13は、例えば、ワールド座標系における経路に沿って移動体1が移動するように、ワールド座標系における経路と、現在位置取得部12によって取得された現在位置に相当するワールド座標系における位置とを用いて、移動体1のローカル座標系における指令値を生成してもよい。具体的には、指令値生成部13は、ワールド座標系(ここでは、XY直交座標系とする)における移動体1の速度指令(VCX,VCY)を生成し、その速度指令を、例えば、次式のようにして、移動体1のローカル座標系における速度指令(vCx,vCy)に変換することによって、ローカル座標系における指令値を生成できる。
Cx=VCX・cosΘ+VCY・sinΘ
Cy=−VCX・sinΘ+VCY・cosΘ
なお、Θは、ワールド座標系であるXY直交座標系に対するローカル座標系であるxy直交座標系の角度である。また、ローカル座標系における移動体1の角速度の指令値ωは、ワールド座標系における移動体1の角速度の指令値Ωと同じであってもよい。そのような指令値の生成は公知であり、その詳細な説明を省略する。また、速度指令(vCx,vCy)が分かれば、次のようにして、移動速さの指令値v、移動方向の指令値θに変換することができる。
=(vCx +vCy 1/2
θ=tan−1(vCy/vCx
センサ14は、移動体1の移動に関する測定値を取得する。測定値は、生成される指令値に対応するものである。したがって、上記のように、生成される指令値が、移動速さの指令値v、移動方向の指令値θ、及び角速度の指令値ωである場合には、測定値も、移動速さの測定値v、移動方向の測定値θ、及び角速度の測定値ωであることが好適である。また、移動速さの指令値v、及び移動方向の指令値θに代えて、移動速度のx成分の指令値vCx、及び移動速度のy成分の指令値vCyが生成される場合には、測定値も、移動速度のx成分の測定値vDx、及び移動速度のy成分の測定値vDyであってもよい。センサ14は、加速度センサを含んでいてもよく、ジャイロセンサを含んでいてもよく、エンコーダを含んでいてもよく、その他のセンサを含んでいてもよい。ジャイロセンサは、角速度を測定するものであってもよく、または、角加速度を測定するものであってもよい。移動速度は、例えば、加速度センサによって取得された加速度を積分することによって取得することができる。なお、加速度センサは、例えば、3次元の加速度センサであってもよく、または、2次元の加速度センサであってもよい。加速度センサが3次元の加速度センサである場合には、移動体1の走行面に平行な方向の加速度を用いて、移動速度が取得されてもよい。また、移動速度は、例えば、エンコーダによって測定された車輪の回転数を用いて取得することもできる。移動速度を取得することによって、移動速さの測定値v、及び移動方向の測定値θを取得したり、移動速度のx成分の測定値vDx、及び移動速度のy成分の測定値vDyを取得したりできることは言うまでもない。また、角速度は、例えば、ジャイロセンサによって測定したり、ジャイロセンサによって測定された角加速度を積分したりすることによって取得できる。なお、センサ14は、加速度センサ等に加えて、その加速度センサ等によって取得された加速度等を用いて指令値に対応する測定値を取得する算出手段等を有していてもよい。加速度センサや、ジャイロセンサ等を用いて移動速度や角速度を測定する方法はすでに公知であり、その説明を省略する。本実施の形態では、センサ14が、3次元の加速度センサと、ジャイロセンサと、それらの測定値を用いて移動速さの測定値v、移動方向の測定値θ、及び角速度の測定値ωを算出する算出手段とを含む場合について主に説明する。
また、センサ14は、移動体1のローカル座標系における重力方向を取得できるものであってもよい。本実施の形態では、センサ14によって重力方向を取得できる場合について主に説明する。移動体1が停止している場合には、センサ14は、3次元の加速度センサによって、重力方向を取得することができる。また、センサ14は、ジャイロセンサを用いることによって、停止時からの角度変化を取得することができる。その取得した角度変化と、停止時における重力方向とを用いて、センサ14は、移動時点における重力方向を取得することもできる。なお、停止時からの角度変化は、例えば、ジャイロセンサが角速度センサである場合には、その角速度を積分することによって得ることができ、ジャイロセンサが角加速度センサである場合には、その角加速度を2階積分することによって得ることができる。本実施の形態では、センサ14が、停止時における重力方向を取得する手段、停止時からの角度変化を取得する手段、及び、停止時の重力方向と停止時からの角度変化とを用いて、移動時点における重力方向を取得する手段をも含む場合、すなわち、センサ14によって任意の時点における重力方向を取得できる場合について主に説明する。
コントローラ15は、指令値に応じて移動機構11を制御する。その指令値は、指令値生成部13によって生成された指令値であってもよく、後述する制御部16によって補正された指令値であってもよい。例えば、移動速さの指令値v、移動方向の指令値θ、及び角速度の指令値ωが生成される場合に、コントローラ15は、補正された移動速さの指令値v、補正された移動方向の指令値θ、及び補正された角速度の指令値ωに応じて移動機構11を制御してもよく、または、生成された移動速さの指令値v、補正された移動方向の指令値θ、及び補正された角速度の指令値ωに応じて移動機構11を制御してもよい。このように、複数の指令値が生成される場合に、コントローラ15は、1以上の補正された指令値に応じて移動機構11を制御するものであればよく、残りの指令値については、生成された指令値に応じて移動機構11を制御してもよい。コントローラ15が移動機構11を制御するとは、例えば、移動体1のローカル座標系における指令値を、移動機構11のモータ座標系における移動量に変換することであってもよい。なお、そのような変換はすでに公知であり、その詳細な説明を省略する。
制御部16は、センサ14によって取得された測定値と、指令値生成部13によって生成された指令値との偏差が低減するように、指令値生成部13によって生成された指令値を補正するフォードバック制御を行う。その補正対象の指令値は、前述のように、指令値生成部13によって生成されたすべての指令値であってもよく、または、一部の指令値であってもよい。すなわち、制御部16は、移動体1のローカル座標系において、移動体1の移動速さ、移動方向、及び角速度の少なくともいずれかの指令値についてフィードバック制御を行うものであってもよい。なお、本実施の形態では、制御部16が、移動速さ、移動方向、及び角速度のそれぞれの指令値についてフィードバック制御を行う場合について主に説明する。
図2Aは、ある指令値についてフィードバック制御を行う制御部16の構成を示す図である。図2Aにおいて、例えば、指令値は、移動速さの指令値であり、測定値は、移動速さの測定値であってもよい。なお、制御部16が、移動速さの指令値、移動方向の指令値、角速度の指令値のそれぞれについてフィードバック制御を行う場合には、各指令値について、図2Aで示される構成によるフィードバック制御が行われてもよい。
図2Aを参照して、制御部16は、指令値と測定値との偏差を算出する偏差算出部21と、その偏差が低減するようにフィードバック制御を行うフィードバック制御部22と、フィードバック制御部22の出力と、指令値とを加算することによって補正後の指令値を出力する加算器23とを備える。偏差算出部21は、指令値生成部13によって生成された指令値から、センサ14によって取得された指令値を減算することによって、偏差を算出する。そして、その偏差が低減するように、フィードバック制御部22によって指令値の補正量が算出される。また、フィードバック制御部22から出力された補正量と、指令値生成部13によって生成された指令値とが加算器23によって加算されることによって、補正後の指令値が生成される。なお、フィードバック制御部22が行うフィードバック制御は、例えば、PID制御であってもよく、P制御であってもよく、PI制御であってもよく、PD制御であってもよく、その他のフィードバック制御であってもよい。
図5は、移動速さ及び移動方向に関するフィードバック制御について説明するための図である。図5を参照して、指令値生成部13によって、移動速さの指令値v、移動方向の指令値θが生成され、センサ14によって、移動速さの測定値v、移動方向の測定値θが取得されたとする。この場合には、例えば、制御部16によって測定値が指令値に近づくためのフィードバック制御が行われ、補正後の移動速さの指令値v、補正後の移動方向の指令値θが出力されることになる。そのようにして、測定値が指令値に近づくようにフィードバック制御が行われることになる。
図2Bは、ある指令値についてフィードバック制御を行う制御部16の他の構成の一例を示す図である。図2Bを参照して、制御部16は、指令値と測定値との偏差を算出する偏差算出部31と、その偏差が低減するようにフィードバック制御を行い、補正後の指令値を出力するフィードバック制御部32とを備える。偏差算出部31は、偏差算出部21と同様のものである。なお、フィードバック制御部32が行うフィードバック制御は、例えば、PID制御であってもよく、PI制御であってもよく、その他のフィードバック制御であってもよい。
また、制御部16は、移動開始時に、センサ14によって取得された重力方向に対応する補正情報に応じて指令値を補正してもよい。その補正の処理については後述する。
蓄積部17は、センサ14によって取得された重力方向に対応付けて、制御部16による指令値の補正に関する情報である補正情報を記憶部18に蓄積する。例えば、移動体1の移動時におけるある時点T1において、センサ14によって取得された重力方向が、(α1,β1)であったとする。なお、そのα1は、例えば、時点T1における重力方向と、移動体1のローカル座標系(xyz座標系)におけるz軸とのなす角度であり、β1は、時点T1における重力方向をxy平面に投影した方向と、x軸とのなす角度であってもよい。また、その時点T1における移動速さの指令値、移動方向の指令値のそれぞれに関する補正量がΔv1,Δθ1であったとすると、補正情報は、例えば、補正量そのものであってもよく、その補正量から得られる値であってもよい。後者の場合には、例えば、その補正量に所定の丸め処理(端数処理)を行ったものであってもよい。その丸め処理は、例えば、補正量が0に近づくように行われてもよい。補正量は、例えば、「補正後の指令値−生成された指令値」によって算出されてもよい。制御部16が、図2Aで示されるものである場合には、フィードバック制御部22の出力が補正量となる。なお、ここでは、補正情報が、移動速さの指令値、及び移動方向の指令値に対応するものである場合について説明したが、補正情報は、移動速度のx成分の指令値vCx、及び移動速度のy成分の指令値vCyに対応するものであってもよい。また、補正情報には、角速度の指令値に対応するものも含まれていてもよい。
蓄積部17は、例えば、所定の時間ごとに重力方向と補正情報とを蓄積してもよい。すなわち、蓄積部17は、所定の時間ごとにセンサ14によって取得された重力方向と、その重力方向が取得された時点の補正情報とを記憶部18に蓄積してもよい。また、蓄積部17は、例えば、重力方向が所定の閾値以上変化した際に、重力方向と補正情報とを蓄積してもよい。すなわち、センサ14によって取得された重力方向が所定の閾値以上変化した場合に、蓄積部17は、その重力方向と、その時点の補正情報とを記憶部18に蓄積してもよい。図6は、蓄積部17によって蓄積された重力方向と、補正情報との対応の一例を示す図である。
なお、記憶部18において、あらかじめ複数の重力方向が記憶されていてもよい。そして、蓄積部17は、補正情報を蓄積する際に、その補正情報が取得された時点の重力方向に最も近い、記憶部18で記憶されている重力方向に対応付けて、その補正情報を蓄積してもよい。その場合に、すでに蓄積されている補正情報が存在するときには、例えば、上書きで蓄積してもよく、追加で蓄積してもよく、または、蓄積を行わなくてもよい。また、重力方向と補正情報との両方が蓄積部17によって蓄積される場合にも、例えば、上書きで蓄積されてもよく、近似した重力方向については、一つの重力方向に対応付けて複数の補正情報が蓄積されてもよく、または、すでに蓄積されている重力方向と近似する重力方向に関しては、蓄積が行われなくてもよい。このように、記憶部18では、重力方向と、その重力方向に対応する補正情報との組が1以上、記憶されることになる。記憶部18での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部18は、所定の記録媒体(例えば、半導体メモリや磁気ディスクなど)によって実現されうる。
次に、蓄積された補正情報の使用方法について説明する。移動体1が移動を開始する直前の時点では、まだ移動体1が移動していないため、指令値に対応する測定値を取得することはできず、測定値はすべて0になる。一方、移動体1が斜面に存在している場合や、移動体1に偏荷重がある場合などには、移動体1が傾くことになり、移動体1のローカル座標系において、重力方向がz軸方向からずれることがある。そのような場合には、制御部16は、移動開始時に、センサ14によって取得された重力方向に対応する補正情報に応じて指令値を補正してもよい。すなわち、制御部16は、記憶部18において補正情報に対応付けられている重力方向のうち、センサ14によって取得された重力方向に最も近い重力方向を特定し、その特定した重力方向に対応付けられている補正情報を読み出し、移動開始時の指令値に、その補正情報に応じた補正値を加算した値をコントローラ15に出力してもよい。補正情報に応じた補正値は、例えば、補正情報そのものであってもよく、または、補正情報に1より小さい正の係数を乗算した結果であってもよい。例えば、移動開始直前の重力方向に対応する補正情報が(Δv1,Δθ1)である場合には、制御部16は、移動速さの指令値v、移動方向の指令値θを、次のように補正してもよい。なお、εは、1より小さい正の実数である。
→v+ε×Δv1
θ→θ+ε×Δθ1
このようにすることで、例えば、移動体1が斜面に存在している場合や、移動体1に偏荷重がある場合などであっても、それらの外乱による影響を低減するための指令値の補正をあらかじめ行うことができ、移動の開始後に、移動体1が指令値と大きく外れた移動を行うような事態を低減することができる。なお、記憶部18では、鉛直方向を示す重力方向に対応付けて、0を示す補正情報が記憶されていてもよく、または、鉛直方向を示す重力方向に対応する補正情報は記憶されていなくてもよい。また、制御部16は、移動開始の直前に取得された重力方向が鉛直方向を示すときには、重力方向に対応する補正情報を用いた指令値の補正を行わなくてもよい。また、記憶部18において、一つの重力方向に対応付けて複数の補正情報が記憶されている場合には、制御部16は、その複数の補正情報の代表値を、移動開始時の指令値の補正に用いてもよい。その代表値は、例えば、平均値や中間値であってもよく、0に最も近い値(すなわち、絶対値が最小値となる値)であってもよい。
次に、移動体1の動作について図3のフローチャートを用いて説明する。
(ステップS101)指令値生成部13は、移動体1が移動を開始するかどうか判断する。そして、移動を開始する場合には、ステップS102に進み、そうでない場合には、移動を開始するまで、ステップS101の判断を繰り返す。指令値生成部13は、例えば、経路に応じた移動を開始する際に、移動を開始すると判断してもよい。
(ステップS102)センサ14は、重力方向を取得し、制御部16に渡す。
(ステップS103)制御部16は、記憶部18を参照し、センサ14から受け取った重力方向に対応する補正情報を読み出す。
(ステップS104)指令値生成部13は、移動に関する指令値を生成し、制御部16に渡す。
(ステップS105)センサ14は、その時点の測定値を取得し、制御部16に渡す。
(ステップS106)センサ14は、その時点の重力方向を取得し、蓄積部17に渡す。
(ステップS107)制御部16は、フィードバック制御によって、指令値生成部13から受け取った指令値を、センサ14から受け取った測定値を用いて補正する。なお、移動を開始する際には、その測定値はすべて0であるため、制御部16は、ステップS103で取得した補正情報を用いて指令値を補正する。そして、制御部16は、補正した指令値をコントローラ15に出力する。また、制御部16は、その時点の補正に応じた補正量を蓄積部17に渡す。
(ステップS108)蓄積部17は、センサ14から受け取った重力方向と、制御部16から受け取った補正量に応じた補正情報とを記憶部18に蓄積する。なお、移動開始時の補正量は、記憶部18から読み出された補正情報に応じたものであるため、蓄積部17は、その補正量に応じた蓄積は行わなくてもよい。
(ステップS109)コントローラ15は、制御部16から受け取った補正後の指令値を、モータ座標系におけるモータの移動量に変換し、その移動量に応じて移動機構11の各モータを駆動させる。
(ステップS110)指令値生成部13は、移動体1が目的地に到達したかどうか判断する。そして、目的地に到達した場合には、指令値の生成を停止してステップS101に戻り、目的地の到達していない場合には、指令値の生成を継続するため、ステップS104に戻る。なお、目的地に到達したかどうかは、例えば、現在位置取得部12によって取得された現在位置が、目的地の位置になったかどうかによって判断されてもよい。
なお、図3のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図3のフローチャートには含まれていないが、現在位置取得部12による現在位置の取得は、繰り返して行われているものとする。また、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以上のように、本実施の形態による移動体1によれば、移動体1の指令値への追従性を高めることができるようになる。また、そのことを、ワールド座標系における経路に応じた指令値を生成するアルゴリズムを変更することなく、移動体1におけるローカルの制御によって実現することができる。また、重力方向と、補正情報とを対応付けて蓄積しておくことにより、測定値を取得できない移動開始時においても、その移動開始時点の重力方向に応じた指令値の補正を行うことができ、移動開始時に、測定値が指令値から大きく外れる事態を回避することができるようになる。
なお、センサ14は、移動体1の移動時には、重力方向を取得しないものであってもよい。その場合には、蓄積部17は、移動開始直前の重力方向に対応付けて、移動開始直後の指令値の補正に関する補正情報を蓄積してもよい。その場合であっても、その蓄積された補正情報を用いて移動開始時の指令値の補正を行うことによって、測定値が指令値から大きく外れる事態を回避することができるようになる。なお、この場合には、補正情報の蓄積は、移動開始時に指令値の補正を行っていないときに行われてもよい。すなわち、移動開始時点の重力方向に対応する補正情報が蓄積されている場合には、その補正情報を用いた指令値の補正を行うが、補正情報の蓄積は行わず、移動開始時点の重力方向に対応する補正情報が蓄積されていない場合には、補正情報を用いた指令値の補正は行わないが、補正情報の蓄積を行ってもよい。
また、本実施の形態では、移動開始時にも指令値の補正を行う場合について説明したが、そうでなくてもよい。移動開始時における指令値の補正を行わない場合には、移動体1は、蓄積部17や記憶部18を備えていなくてもよい。また、移動開始時における指令値の補正を行わない場合には、センサ14は、重力方向を取得しなくてもよい。
また、本実施の形態において、指令値の生成などに現在位置を使用しない場合には、移動体1は、現在位置取得部12を備えていなくてもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、移動体1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上より、本発明による移動体によれば、移動体の指令値への追従性を高めることができるという効果が得られ、自律的に全方向に移動できる移動体として有用である。
1 移動体
11 移動機構
12 現在位置取得部
13 指令値生成部
14 センサ
15 コントローラ
16 制御部
17 蓄積部
18 記憶部

Claims (3)

  1. 自律的に移動する移動体であって、
    前記移動体を全方向に移動できる移動機構と、
    移動に関する指令値を生成する指令値生成部と、
    指令値に応じて前記移動機構を制御するコントローラと、
    前記移動体の移動に関する測定値を取得するセンサと、
    前記測定値と前記指令値との偏差が低減するように、当該指令値を補正するフォードバック制御を行う制御部と、を備え、
    前記コントローラは、前記制御部によって補正された指令値に応じて前記移動機構を制御する、移動体。
  2. 前記制御部は、前記移動体のローカル座標系において、前記移動体の移動速さ、移動方向、及び角速度の少なくともいずれかの指令値についてフィードバック制御を行う、請求項1記載の移動体。
  3. 前記センサは、重力方向を取得可能であり、
    前記センサによって取得された重力方向に対応付けて、前記制御部による指令値の補正に関する情報である補正情報を蓄積する蓄積部をさらに備え、
    前記制御部は、移動開始時に、前記センサによって取得された重力方向に対応する補正情報に応じて前記指令値を補正する、請求項1または請求項2記載の移動体。
JP2017248281A 2017-12-25 2017-12-25 移動体 Pending JP2019114128A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017248281A JP2019114128A (ja) 2017-12-25 2017-12-25 移動体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017248281A JP2019114128A (ja) 2017-12-25 2017-12-25 移動体

Publications (1)

Publication Number Publication Date
JP2019114128A true JP2019114128A (ja) 2019-07-11

Family

ID=67221558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017248281A Pending JP2019114128A (ja) 2017-12-25 2017-12-25 移動体

Country Status (1)

Country Link
JP (1) JP2019114128A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116424555A (zh) * 2023-06-12 2023-07-14 四川腾盾科技有限公司 一种无人机吊挂消摆及控制方法
JP7412742B2 (ja) 2020-01-16 2024-01-15 Kkテクノロジーズ株式会社 制御装置、制御方法、およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7412742B2 (ja) 2020-01-16 2024-01-15 Kkテクノロジーズ株式会社 制御装置、制御方法、およびプログラム
CN116424555A (zh) * 2023-06-12 2023-07-14 四川腾盾科技有限公司 一种无人机吊挂消摆及控制方法
CN116424555B (zh) * 2023-06-12 2023-08-29 四川腾盾科技有限公司 一种无人机吊挂消摆及控制方法

Similar Documents

Publication Publication Date Title
TWI827649B (zh) 用於vslam比例估計的設備、系統和方法
JP5310285B2 (ja) 自己位置推定装置及び自己位置推定方法
CN111380514A (zh) 机器人位姿估计方法、装置、终端及计算机存储介质
JP5610870B2 (ja) 無人走行車両の誘導装置及び無人走行車両の誘導方法
JP2018013337A (ja) 飛行物体の誘導位置決め装置および方法
CN106272433B (zh) 自主移动机器人的轨迹定位系统及方法
JP6934116B1 (ja) 航空機の飛行制御を行う制御装置、及び制御方法
CN103727939A (zh) 一种双轴旋转的姿态测量系统及其测量方法
CN110837257A (zh) 一种基于iGPS与视觉的AGV复合定位导航系统
JP2019114128A (ja) 移動体
CN107102653A (zh) 一种控制无人机的挂载设备对地角度的装置和方法
JP2018005709A (ja) 自律移動装置
JP2019191888A (ja) 無人飛行体、無人飛行方法及び無人飛行プログラム
SE545675C2 (en) Concrete surface mapping robots, systems, and methods for processing concrete surfaces
JP7054340B2 (ja) 移動体
US20210116242A1 (en) Information processing apparatus, information processing method, and program
Nagatani et al. Development of a visual odometry system for a wheeled robot on loose soil using a telecentric camera
MacArthur et al. Unmanned ground vehicle state estimation using an unmanned air vehicle
JP6745111B2 (ja) 移動体
CN115319738A (zh) 用于轴臂组件的控制方法、作业设备、处理器及存储介质
JP2019117584A (ja) 移動体
JP6751469B2 (ja) 地図作成システム
JP5334198B2 (ja) 自律移動方法及び自律移動体
JP2019095256A (ja) 自律走行装置
Bae et al. Curve Path Tracking Method of Independent Two In-Wheel Motor Driven Vehicle