(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-18
(45)【発行日】2023-10-26
(54)【発明の名称】機能生成装置、機能生成方法及びプログラム
(51)【国際特許分類】
G05B 11/36 20060101AFI20231019BHJP
【FI】
G05B11/36 Z
(21)【出願番号】P 2020541216
(86)(22)【出願日】2019-09-02
(86)【国際出願番号】 JP2019034494
(87)【国際公開番号】W WO2020050232
(87)【国際公開日】2020-03-12
【審査請求日】2022-08-30
(31)【優先権主張番号】P 2018164836
(32)【優先日】2018-09-03
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】598121341
【氏名又は名称】慶應義塾
(73)【特許権者】
【識別番号】516331889
【氏名又は名称】モーションリブ株式会社
(74)【代理人】
【識別番号】100127384
【氏名又は名称】坊野 康博
(72)【発明者】
【氏名】大西 公平
(72)【発明者】
【氏名】溝口 貴弘
【審査官】影山 直洋
(56)【参考文献】
【文献】国際公開第2015/041046(WO,A1)
【文献】特開2002-312003(JP,A)
【文献】特開平08-145007(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 11/36
(57)【特許請求の範囲】
【請求項1】
目的とする機能に応じた速度(位置)及び力の領域への制御エネルギーの座標変換を定義し、定義された座標変換を介して速度(位置)及び力の少なくともいずれかの制御を行うことで、機械的な動作を行う装置に、目的とする機能を実現させる機能生成装置であって、
制御対象となる装置における目的とする機能を設定する機能設定手段と、
前記制御対象となる装置において制御に反映させることが可能なパラメータの複数の組み合わせを表すデータ列の中から、前記機能設定手段によって設定された機能に対応するデータ列を選択するデータ列選択手段と、
前記データ列選択手段によって選択されたデータ列を要素として前記目的とする機能に対応する変換行列を生成する行列生成手段と、
を備えることを特徴とする機能生成装置。
【請求項2】
前記行列生成手段は、前記目的とする機能に応じて前記変換行列の要素に重みを設定することを特徴とする請求項1に記載の機能生成装置。
【請求項3】
前記行列生成手段は、前記変換行列をブロック対角化することを特徴とする請求項1または2に記載の機能生成装置。
【請求項4】
前記行列生成手段によって生成された前記変換行列に基づいて、前記制御対象となる装置の制御を実行する制御実行手段を備えることを特徴とする請求項1から3のいずれか1項に記載の機能生成装置。
【請求項5】
前記機能設定手段は、前記制御対象となる装置において目的とする機能に変更が必要であるか否かを判定し、変更が必要であると判定した場合に、当該目的とする機能を変更することを特徴とする請求項1から4のいずれか1項に記載の機能生成装置。
【請求項6】
目的とする機能に応じた速度(位置)及び力の領域への制御エネルギーの座標変換を定義し、定義された座標変換を介して速度(位置)及び力の少なくともいずれかの制御を行うことで、機械的な動作を行う装置に、目的とする機能を実現させる情報処理装置において実行される機能生成方法であって、
制御対象となる装置における目的とする機能を設定する機能設定ステップと、
前記制御対象となる装置において制御に反映させることが可能なパラメータの複数の組み合わせを表すデータ列の中から、前記機能設定ステップにおいて設定された機能に対応するデータ列を選択するデータ列選択ステップと、
前記データ列選択ステップにおいて選択されたデータ列によって前記目的とする機能に対応する変換行列を生成する行列生成ステップと、
を含むことを特徴とする機能生成方法。
【請求項7】
目的とする機能に応じた速度(位置)及び力の領域への制御エネルギーの座標変換を定義し、定義された座標変換を介して速度(位置)及び力の少なくともいずれかの制御を行うことで、機械的な動作を行う装置に、目的とする機能を実現させる機能生成装置を構成するコンピュータを、
制御対象となる装置における目的とする機能を設定する機能設定手段、
前記制御対象となる装置において制御に反映させることが可能なパラメータの複数の組み合わせを表すデータ列の中から、前記機能設定手段によって設定された機能に対応するデータ列を選択するデータ列選択手段、
前記データ列選択手段によって選択されたデータ列によって前記目的とする機能に対応する変換行列を生成する行列生成手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械的な動作を行う装置の機能を生成する機能生成装置、機能生成方法及びプログラムに関する。
【背景技術】
【0002】
従来、自動車や産業機械等、機械的な動作を行う装置が種々利用されている。
このような装置は、例えば、電動モータや油圧システム等によって構成されるアクチュエータにより、装置が備える機構の機械的な挙動が制御される。
例えば、自動車においては、車輪の路面に対する回転(転動)がモータによって制御されると共に、車輪の向きが操舵装置によって制御され、さらに、車輪の鉛直方向の動きがサスペンション装置によって制御される。
また、同様に、ミシンあるいはプリンタ等においては、処理対象の物体(布や紙等)の移動が搬送装置によって制御される。
このような装置は、概して、アクチュエータによって環境に作用しながら、目的とする機能を発揮するものである。
即ち、装置が有する動作の自由度に対応してアクチュエータが備えられ、このアクチュエータによって制御される機械要素が環境に作用することで、装置の挙動を表す特定のパラメータが決定付けられる。
そのため、機械的な動作を行う装置においては、いずれのアクチュエータをどのように制御するかによって、その装置において実現される機能が変化することとなる。
ここで、特許文献1には、制御対象システムの機能に応じて設定される速度(位置)及び力の領域への制御エネルギーの座標変換を定義し、定義された座標変換を介して速度(位置)及び力の制御を行うことで、目的とする機能を実現する位置・力制御装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載されたように、制御対象システムの機能に応じて設定される速度(位置)及び力の領域への制御エネルギーの座標変換を定義する場合、制御対象システムにおいて目的とする機能に変化が生じると、変化後の機能に応じて異なる座標変換を用いる必要がある。
一方、制御対象システムにおいて目的とする機能は、多様に変化する可能性があり、これらに応じた座標変換を予め用意しておくことは必ずしも容易ではない。
このように、従来、機械的な動作を行う装置において、目的とする機能を柔軟に実現することは困難であった。
本発明の課題は、機械的な動作を行う装置において、目的とする機能を柔軟に実現することである。
【課題を解決するための手段】
【0005】
上記課題を解決するため、本発明の一態様に係る機能生成装置は、
制御対象となる装置における目的とする機能を設定する機能設定手段と、
前記制御対象となる装置において制御に反映させることが可能なパラメータの複数の組み合わせを表すデータ列の中から、前記機能設定手段によって設定された機能に対応するデータ列を選択するデータ列選択手段と、
前記データ列選択手段によって選択されたデータ列によって前記目的とする機能に対応する変換行列を生成する行列生成手段と、
を備えることを特徴とする。
【発明の効果】
【0006】
本発明によれば、機械的な動作を行う装置において、目的とする機能をより柔軟に実現することができる。
【図面の簡単な説明】
【0007】
【
図1】本発明において目的とする機能に応じた変換行列が構成される概念を示す模式図である。
【
図2】本発明の一実施形態に係る移動体の構成を示す模式図である。
【
図4】移動体の1輪におけるパラメータを制御に反映させる場合の全ての組み合わせに対応する行ベクトルを示す模式図である。
【
図5】移動体の4輪におけるパラメータを制御に反映させる場合の全ての組み合わせに対応する行ベクトルを示す模式図である。
【
図6】車両制御装置の機能的構成を示すブロック図である。
【
図7】行列生成部によって生成された変換行列X1がブロック対角化されて変換行列X2が生成される概念を示す模式図である。
【
図8】移動体が実行する機能生成・実行処理の流れを説明するフローチャートである。
【
図9】本発明の一実施形態に係る作業体の構成を示す模式図である。
【発明を実施するための形態】
【0008】
以下、本発明の実施形態について、図面を参照して説明する。
初めに、本発明に係る機能生成装置、機能生成方法及びプログラムに適用される基本的原理について説明する。
【0009】
[基本的原理]
本発明においては、目的とする機能に応じた速度(位置)及び力の領域への制御エネルギーの座標変換を定義し、定義された座標変換を介して速度(位置)及び力の少なくともいずれかの制御を行うことで、機械的な動作を行う装置において目的とする機能を実現することを前提としている。即ち、本発明においては、例えば、国際公開第2015/041046号に記載されている速度(位置)及び力の制御手法に基づく制御を用いることができる。
【0010】
一般に、機械的な動作を行う装置は、環境が有するモードに対応する動作の自由度(動作のモード)を有している。環境が有するモードとは、機械的な動作を行う装置側で制御可能なパラメータに対する環境側の決定要素である。即ち、機械的な動作を行う装置は、環境が有するモードに結合した動作のモードに対応する数の動作の自由度を有し、この自由度に対応するパラメータをアクチュエータによって制御するものとなる。
【0011】
ここで、機械的な動作を行う装置において目的とする機能は、当該装置における動作の自由度のうち、いずれの自由度に対応するパラメータをどのように反映させて各アクチュエータを制御するかによって決定付けられる。
そこで、本発明においては、当該装置の挙動の要素となるパラメータ(物理量)の全ての組み合わせを行ベクトル(データ列)として用意し、これらの行ベクトルの中から、当該装置において目的とする機能に適合する特定の行ベクトルを選択して変換行列を構成することで、目的とする機能に応じて設定される速度(位置)及び力の領域への制御エネルギーの座標変換を定義する。
【0012】
図1は、本発明において目的とする機能に応じた変換行列が構成される概念を示す模式図である。
機械的な動作を行う装置において、動作の自由度が3である場合、当該装置の挙動の要素となるパラメータ(動作を表すパラメータ)として、第1の自由度に対応するパラメータP1、第2の自由度に対応するパラメータP2及び第3の自由度に対応するパラメータP3が取得される。
【0013】
これらパラメータP1~P3のいずれを反映させて制御を行うかについて、制御に反映させる場合を「1」、制御に反映させない場合を「0」とすると、パラメータP1~P3の制御形態の全ての組み合わせは、
図1において「行ベクトルの候補」として示される7通り(
3C
1+
3C
2+
3C
3)となる。
これら全ての行ベクトルのうち、例えば、パラメータP1のみを制御に反映させ、パラメータP2,P3を制御に反映させない場合、
図1の「行ベクトルの候補」における第1行(1,0,0)が選択される。
また、例えば、パラメータP1,P2を制御に反映させ、パラメータP3を制御に反映させない場合、
図1の「行ベクトルの候補」における第4行(1,1,0)が選択される。
なお、
図1に示すように行ベクトルを選択する場合、複数の行において同一の行ベクトルを選択することも可能である。
また、実際に制御のための処理を実行する場合には、制御に反映させるパラメータの行ベクトルの要素「1」に重みを設定して「α」(αは0以外の実数)とした変換行列を構成することができる。
【0014】
このように構成された変換行列は、機械的な動作を行う装置において挙動の要素となる所定のパラメータを反映させて、特定の自由度に対応するパラメータを制御するものとなる。
即ち、機械的な動作を行う装置において挙動の要素となるパラメータの状態に対応して、特定の自由度に対応するアクチュエータが制御される。
この結果、機械的な動作を行う装置における特定の挙動の要素(特定の自由度に対応するパラメータ)に関するフィードバック制御を構成することができ、目的とする機能が実現されることとなる。
【0015】
このように、本発明においては、機械的な動作を行う装置で制御に反映させ得るパラメータの全ての組み合わせを表す行ベクトルの中から、当該装置において目的とする機能に適合する特定の行ベクトルを選択して変換行列を構成する。
したがって、本発明によれば、機械的な動作を行う装置において、目的とする機能を柔軟に実現することが可能となる。
以下、本発明を適用した機能生成装置の実施形態について具体的に説明する。
【0016】
[機能生成装置の具体例]
図2は、本発明の一実施形態に係る移動体1の構成を示す模式図である。
移動体1は、本発明を適用した機能生成装置の一例として実現されるものであり、ここでは4輪が独立して回転、操舵及びサスペンションの制御を行うことが可能な車両であるものとして説明する。移動体1の具体例としては、自動車、電動車椅子、製造ラインで物品を運搬する台車、フォークリフト、ゴルフ場等で使用されるカート等、複数の車輪を有する装置を挙げることができる。
図2に示すように、移動体1は、前後左右の車輪W1~W4と、移動体1全体を制御する車両制御装置10とを備えている。なお、図示は省略するが、移動体1には、操舵を行うためのハンドル、加速を行うためのアクセルペダル、減速を行うためのブレーキペダル等、移動体1を構成するために必要な各種装置が備えられている。
【0017】
図3は、移動体1の1輪(前後左右の車輪W1~W4)の構成を示す模式図である。
図3に示すように、移動体1の各車輪は、車輪の回転、車輪の操舵、車輪の鉛直方向の位置(サスペンション)をそれぞれ制御可能な構成(3自由度)を有している。
図3に示す構成において、移動体1の各車輪には、車輪の回転角度θ、操舵角度ω及び鉛直方向の位置zをそれぞれ検出するセンサD1~D3が備えられており、センサD1~D3による検出結果は、逐次、車両制御装置10に入力される。
ここで、車輪の回転角度θ、操舵角度ω及び鉛直方向の位置zのいずれを反映させて制御を行うかについて、
図1と同様に、全ての組み合わせに対応する行ベクトルを定義することができる。なお、制御に反映させる際には、車輪の回転角度θ、操舵角度ω及び鉛直方向の位置zを適宜、微分あるいは積分する等、相互に置換可能なパラメータを取得して入力とすることも可能である。
【0018】
図4は、移動体1の1輪におけるパラメータを制御に反映させる場合の全ての組み合わせに対応する行ベクトルを示す模式図である。
車輪の回転角度θ、操舵角度ω及び鉛直方向の位置zを制御に反映させる場合の重みを、それぞれ0以外の実数であるα1、α2、α3とすると、
図4に示すように、1輪におけるパラメータを制御に反映させる場合の全ての組み合わせは7通りとなる。
また、
図5は、移動体1の4輪におけるパラメータを制御に反映させる場合の全ての組み合わせに対応する行ベクトルを示す模式図である。
なお、
図5において、α1~α12は、車輪W1のパラメータ(回転角度θ、操舵角度φ、鉛直方向の位置z)、車輪W2のパラメータ(回転角度θ、操舵角度φ、鉛直方向の位置z)、車輪W3のパラメータ(回転角度θ、操舵角度φ、鉛直方向の位置z)、車輪W4のパラメータ(回転角度θ、操舵角度φ、鉛直方向の位置z)それぞれを制御に反映させる場合の重みである。
【0019】
移動体1の1輪については、
図4に示す7通りの組み合わせ(行ベクトル)が存在するため、車輪W1~W4の4輪分では、考え得る全ての行ベクトルは、7
4=2401通りとなる。
図5に示す行ベクトルは、移動体1の車輪W1~W4における回転角度、操舵角度及び鉛直方向の位置をそれぞれ制御する場合に、4輪におけるいずれのパラメータを制御に反映させるかについての全ての組み合わせを表している。
【0020】
車両制御装置10は、プロセッサ11、メモリ12及びストレージデバイス13等を備える車載用コンピュータ(情報処理装置)によって構成される。
車両制御装置10は、4輪の制御のための全ての行ベクトルの中から、移動体1において目的とする機能に応じた行ベクトルを選択する。
本実施形態においては、移動体1で実現される機能に応じて、
図5に示す行ベクトルのうち、いずれを選択すべきであるかが設定されている。
【0021】
例えば、4輪の操舵制御を行う場合、4輪の操舵角度ωを反映させる行ベクトルが各車輪の操舵角度ωを算出するための行ベクトルとして選択される。
また、4輪の操舵制御を行い、かつ、旋回時のロール角を制御する場合、4輪の操舵角度ω及び鉛直方向の位置zをそれぞれ制御に反映させる行ベクトルが選択される。
このようにして、車輪W1~W4の自由度に対応する各パラメータについて、行ベクトルが選択されると、移動体1において目的とする機能を実現するための変換行列X1が生成される。
【0022】
本実施形態において、車両制御装置10は、このように生成された変換行列X1をブロック対角化することにより、変換行列X2を生成し、変換行列X2によって移動体1の制御を行う。
変換行列X2は、ブロック対角化されていることから、演算量を低減させることができると共に、ブロック毎に異なるプロセッサで分散処理すること等も可能となる。
【0023】
[車両制御装置10の機能的構成]
図6は、車両制御装置10の機能的構成を示すブロック図である。
図6に示すように、車両制御装置10は、プロセッサ11の機能として、機能設定部51と、行選択部52と、行列生成部53と、制御実行部54と、を備えている。また、メモリ12には、変換行列記憶部61が形成され、ストレージデバイス13には、行ベクトル記憶部71が形成される。
【0024】
変換行列記憶部61には、車両制御装置10において、目的とする機能を実現するために生成された変換行列が記憶される。
行ベクトル記憶部71には、4輪におけるいずれのパラメータを制御に反映させるかについての全ての組み合わせを表す行ベクトルの一覧が記憶される。
【0025】
機能設定部51は、移動体1において目的とする機能(機能の種類)を設定する。本実施形態の移動体1においては、目的とする機能をユーザが手動で設定する手動設定モードと、目的とする機能を移動体1の走行状態に応じて自動的に設定する自動設定モードとが用意されている。そして、機能設定部51は、手動設定モードの場合には、ユーザにより設定された内容を目的とする機能として設定する。また、機能設定部51は、自動設定モードの場合には、移動体1の車速、ヨーレート、走行環境(高速道路であるか市街地であるか、あるいは、路面状態等)といった走行状態を決定する要素の1つまたは複数に基づいて、予め対応付けられている機能が設定される。
【0026】
行選択部52は、機能設定部51によって設定された機能に基づいて、行ベクトル記憶部71に記憶された行ベクトルの一覧の中から、設定された機能に対応付けられている行ベクトル(機能に応じて選択すべきものとして設定された行ベクトル)を選択する。このとき、行選択部52は、移動体1における動作の自由度に対応するパラメータ(制御されるパラメータ)それぞれについて行ベクトルを選択する。
【0027】
行列生成部53は、行選択部52によって選択された行ベクトルによって、設定された機能を実現するための変換行列X1を生成する。
また、行列生成部53は、生成した変換行列において、各行ベクトルの要素の重みαをそれぞれ設定する。
【0028】
このように設定された行ベクトルによって、入力に対する各パラメータの状態値が算出され、状態値に対して設定される制御目標値に追従するように各アクチュエータのフィードバック制御が行われる。例えば、車輪W1を車輪W2と同相に同角度だけ操舵する場合には、車輪W1の操舵角度ωの重みを「-1」、車輪W2の操舵角度ωの重みを「1」に設定して、車輪W1の操舵角度ωの状態値を算出する行ベクトルとすることができる。そして、車輪W1の操舵角度ωの状態値に対して、「0」(車輪W2の操舵角度と差がない状態)を制御目標値として設定することで、車輪W1を制御するアクチュエータは、車輪W1が車輪W2と同相に同角度で操舵されるように操舵を行うこととなる。
【0029】
また、本実施形態において、行列生成部53は、生成した変換行列X1をブロック対角化することにより、変換行列X2を生成する。
図7は、行列生成部53によって生成された変換行列X1がブロック対角化されて変換行列X2が生成される概念を示す模式図である。
なお、
図7において、出力におけるΘ1~Θ4、Φ1~Φ4、Z1~Z4は、それぞれ入力における車輪の回転角度θ1~θ4、操舵角度φ1~φ4、鉛直方向の位置z1~z4の状態値であり、添え字1~4は車輪W1~W4に対応するパラメータであることを示している。また、α1~α12は、入力における車輪W1のパラメータ(θ1、φ1、z1)、車輪W2のパラメータ(θ2、φ2、z2)、車輪W3のパラメータ(θ3、φ3、z3)、車輪W4のパラメータ(θ4、φ4、z4)それぞれを制御に反映させる場合の重みである。
【0030】
図7に示すように、変換行列X1の行ベクトル内の要素及び入力されるパラメータの配列を変更し、ブロック対角化することにより、ブロック毎に対角化行列として簡単な演算を行うことができるため、演算量を低減させることができる。また、ブロック毎に異なるプロセッサで分散処理することも可能となる。
【0031】
制御実行部54は、行列生成部53によって生成された変換行列X2を用いて、入力される各パラメータに対する状態値を算出する。上述のように、これら状態値には、制御目標値が設定されており、制御実行部54は、逐次入力される各パラメータの状態値が制御目標値に追従するように、各アクチュエータへの入力(電流指令値等)を算出する。即ち、制御実行部54は、目的とする機能を実現する変換行列X2を介して、移動体1における挙動の要素(自由度に対応するパラメータ)に関するフィードバック制御を実行する。
なお、制御実行部54は、変換行列X2に代えて、変換行列X1を用いて制御を行うこととしてもよい。
【0032】
[動作]
次に、移動体1の動作を説明する。
図8は、移動体1が実行する機能生成・実行処理の流れを説明するフローチャートである。
機能生成・実行処理は、移動体1がイグニションオンとされることに対応して開始される。
【0033】
ステップS1において、機能設定部51は、移動体1において目的とする機能を設定する。
ステップS2において、行選択部52は、機能設定部51によって設定された機能に基づいて、行ベクトル記憶部71に記憶された行ベクトルの一覧の中から、設定された機能に対応付けられている行ベクトル(機能に応じて選択すべきものとして設定された行ベクトル)を選択する。
ステップS3において、行列生成部53は、行選択部52によって選択された行ベクトルによって、設定された機能を実現するための変換行列X1を生成する。
【0034】
ステップS4において、行列生成部53は、生成した変換行列において、各行ベクトルの要素の重みαk(kは自由度に対応するパラメータを表す番号)をそれぞれ設定する。
ステップS5において、行列生成部53は、生成した変換行列X1をブロック対角化することにより、変換行列X2を生成する。
ステップS6において、制御実行部54は、行列生成部53によって生成された変換行列X2を用いて、入力される各パラメータに対する状態値を算出し、移動体1の制御を実行する。
【0035】
ステップS7において、機能設定部51は、移動体1において設定されている機能の変更が必要であるか否かの判定を行う。移動体1において設定されている機能の変更が必要であるか否かは、例えば、手動設定モードと自動設定モードとが切り替えられたか否か、あるいは、自動設定モードにおいて移動体1の走行状態が変化したか否かによって判定することができる。
移動体1において設定されている機能の変更が必要である場合、ステップS7においてYESと判定されて、処理はステップS1に移行する。
一方、移動体1において設定されている機能の変更が必要でない場合、ステップS7においてNOと判定されて、処理はステップS8に移行する。
【0036】
ステップS8において、制御実行部54は、機能生成・実行処理の終了が指示されたか否かの判定を行う。機能生成・実行処理の終了が指示されたか否かは、例えば、移動体1がイグニションオフとされたか否かによって判定することができる。
機能生成・実行処理の終了が指示されていない場合、ステップS8においてNOと判定されて、処理はステップS6に移行する。
一方、機能生成・実行処理の終了が指示された場合、ステップS8においてYESと判定されて、機能生成・実行処理は終了となる。
【0037】
このような処理により、移動体1においては、各車輪におけるパラメータを制御に反映させる場合の全ての組み合わせに対応する行ベクトルの中から、目的とする機能に応じた行ベクトルが選択される。
そして、選択された行ベクトルによって構成された変換行列の要素に対して、目的とする機能に応じた重みが設定され、変換行列X1が生成される。
【0038】
さらに、変換行列X1がブロック対角化され、変換行列X2が生成されると共に、変換行列X2を用いて、移動体1の制御が実行される。
そのため、移動体1において設定された目的とする機能を実現するための変換行列を動的に生成することができる。
したがって、機械的な動作を行う装置において、目的とする機能をより柔軟に実現することが可能となる。
【0039】
[変形例1]
上述の実施形態において、機能生成装置の具体例として、自動車等の移動体1を例に挙げて説明したが、これに限られない。
例えば、機能生成装置は、物体に対する作業を行う作業体の形態で実現することもできる。
【0040】
図9は、本発明の一実施形態に係る作業体2の構成を示す模式図である。
作業体2は、本発明を適用した機能生成装置の一例として実現されるものであり、ここでは、処理対象の物体を搬送する搬送装置であるものとして説明する。作業体1の具体例としては、ミシンあるいはプリンタ等の搬送装置を挙げることができる。作業体2により、処理対象の物体(布や紙等)をしごきながら搬送する機能や、処理対象の物体にテンションを加えながら位置を制御する機能を実現することができる。なお、作業体2は、処理対象の物体を搬送する搬送装置の他、ねじ等の処理対象の物体を回転させる組み立て機械や電動工具等とすることも可能である。
【0041】
図9に示すように、作業体2は、第1ローラ101と、第2ローラ102と、作業制御装置103とを備えている。なお、第1ローラ101及び第2ローラ102は、動作の自由度に応じたアクチュエータを備えている。これらのアクチュエータを備えることで、例えば、
図9に例示するように、第1ローラ101及び第2ローラ102それぞれにおける回転軸周りの回転、回転軸方向から見た場合の上下方向の平行移動及び左右方向の平行移動、第1ローラ101及び第2ローラ102の回転軸同士の捩れ方向の相対移動等を制御することが可能となる。
【0042】
第1ローラ101は、処理対象の物体の第1の面(例えば、上面)に接触し、回転軸周りの回転により、回転トルクに応じた力及び回転速度に応じた速度で、処理対象の物体の第1の面側を移動させる。また、第1ローラ101は、回転軸方向から見た場合の上下方向の平行移動及び左右方向の平行移動、第2ローラ102の回転軸に対する第1ローラ101の回転軸の捩れ方向の相対移動の各動作を行うことが可能であり、これらの各動作を表すパラメータを制御に反映させることができる。
【0043】
第2ローラ102は、処理対象の物体の第2の面(例えば、下面)に接触し、回転軸周りの回転により、回転トルクに応じた力及び回転速度に応じた速度で、処理対象の物体の第2の面側を移動させる。また、第2ローラ102は、回転軸方向から見た場合の上下方向の平行移動及び左右方向の平行移動、第1ローラ101の回転軸に対する第2ローラ102の回転軸の捩れ方向の相対移動の各動作を行うことが可能であり、これらの各動作を表すパラメータを制御に反映させることができる。
【0044】
作業制御装置103は、プロセッサ11、メモリ12及びストレージデバイス13等を備えるマイクロコンピュータ(情報処理装置)によって構成される。
作業制御装置103は、上述の実施形態における車両制御装置10と同様に、第1ローラ101を動作させる各アクチュエータ及び第2ローラ102を動作させる各アクチュエータの制御のための全ての行ベクトルの中から、作業体2において目的とする機能に応じた行ベクトルを選択する。
一例として、作業体2が、第1ローラ101の回転軸周りの回転及び第2ローラ102の回転軸周りの回転の2自由度を有するものとすると、第1ローラ101の回転角度及び第2ローラ102の回転角度を制御に反映させるかについての全ての組み合わせは、(1,0)、(0,1)、(1,1)の3通りとなる。
【0045】
また、第1ローラ101の回転角度及び第2ローラ102の回転角度を制御に反映させる場合の重みをそれぞれβ1、β2とすると、第1ローラ101の回転角度及び第2ローラ102の回転角度を制御に反映させる場合の全ての組み合わせに対応する行ベクトルは、
(β1,0)
(0,β2)
(β1,β2)
となる。
【0046】
ここで、作業体2が処理対象の物体をしごきながら搬送する機能を実現するものとすると、第1ローラ101及び第2ローラ102の回転速度は同方向に制御し、第1ローラ101及び第2ローラ102の回転トルクは逆方向に制御する必要がある。
このとき、第1ローラ101及び第2ローラ102の回転速度を制御するために、(β1,β2)の行ベクトルが選択され、重みβ1=1、β2=1が設定される。
また、第1ローラ101及び第2ローラ102の回転トルクを制御するために、(β1,β2)の行ベクトルが選択され、重みβ1=1、β2=-1が設定される。
【0047】
即ち、作業体2が処理対象の物体をしごきながら搬送する機能を実現する場合には、
図9に示す変換行列X3が生成される。
変換行列X3を用いて、入力されたパラメータ(第1ローラ101の回転角度及び第2ローラ102の回転角度)に対する状態値を算出し、状態値に対して設定された制御目標値に追従するように制御を行うことにより、作業体2が処理対象の物体をしごきながら搬送する機能を実現することができる。このような機能により、例えば、プリンタにセットされた印刷用紙の束から、給紙すべき1枚のみをピックアップして搬送する作業をより確実に実行することができる。
また、作業体2において、異なる機能を実現する場合には、目的とする機能に応じた行ベクトルをそれぞれ選択することにより、変換行列を動的に生成することができる。このような機能により、例えば、ミシンにおいて、標準的な直線縫いのモードが設定された場合には、直線縫いを行うための変換行列を生成して直線縫いを実行し、飾り縫いを行うモードに切り替えられた場合には、飾り縫いを行うための変換行列を生成して飾り縫いを実行すること等が可能となる。
【0048】
なお、作業制御装置106の機能的構成及び作業体2の動作については、目的とする機能の具体例が異なる点を除き、上述の実施形態とほぼ同様である。
このように、本発明の基本的原理は、自動車等の移動体1の他、物体に対する作業を行う作業体2等の各種装置に適用可能であり、本発明が適用される具体的な装置形態に応じた機能生成装置とすることができる。
これにより、機械的な動作を行う装置において、目的とする機能をより柔軟に実現することができる。
【0049】
[変形例2]
上述の実施形態において、目的とする機能を実現するための変換行列の生成と、生成した変換行列による制御対象となる装置の制御とを同一の装置(移動体1)で実行する場合を例に挙げて説明したが、これに限られない。
即ち、本発明を適用した機能生成装置において、目的とする機能を実現するための変換行列の生成のみを行い、生成した変換行列を制御対象となる他の装置に出力して、制御対象となる装置において、変換行列による制御を行うこととしてもよい。
【0050】
以上のように、本実施形態に係る移動体1(機能生成装置)は、機能設定部51と、行選択部52と、行列生成部53と、を備えている。
機能設定部51は、制御対象となる装置における目的とする機能を設定する。
行選択部52は、制御対象となる装置において制御に反映させることが可能なパラメータの複数の組み合わせを表すデータ列の中から、機能設定部51によって設定された機能に対応するデータ列を選択する。
行列生成部53は、行選択部52によって選択されたデータ列を要素として目的とする機能に対応する変換行列を生成する。
これにより、機械的な動作を行う装置で制御に反映させ得るパラメータの複数の組み合わせを表す行ベクトルの中から、当該装置において目的とする機能に適合する特定の行ベクトルを選択して変換行列が構成される。
したがって、本発明によれば、機械的な動作を行う装置において、目的とする機能を柔軟に実現することが可能となる。
【0051】
行列生成部53は、目的とする機能に応じて変換行列の要素に重みを設定する。
これにより、制御に反映させるパラメータについて、その反映方法を種々設定することができるため、多様な機能を実現することが可能となる。
【0052】
行列生成部53は、変換行列をブロック対角化する。
これにより、制御対象となる装置を制御する際に、演算が簡単なものとなるため、演算量を低減させることができる。また、変換行列におけるブロック毎に異なるプロセッサで分散処理すること等が可能となる。
【0053】
また、移動体1は、制御実行部54を備えている。
制御実行部54は、行列生成部53によって生成された変換行列に基づいて、制御対象となる装置の制御を実行する。
これにより、目的とする機能を実現するために動的に生成された変換行列によって、制御対象となる装置の制御を実行することが可能となる。
【0054】
機能設定部51は、制御対象となる装置において目的とする機能に変更が必要であるか否かを判定し、変更が必要であると判定した場合に、当該目的とする機能を変更する。
これにより、制御対象となる装置において目的とする機能を変更する必要が生じた場合に、必要な機能を適宜切り替えて制御を行うことが可能となる。
【0055】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
例えば、上述の実施形態においては、機能生成装置を自動車等の移動体として実現する場合を例に挙げて説明したが、これに限られない。即ち、機械的な動作を行う装置において、位置、速度あるいは力等の物理量を制御する場合に本発明を適用することができる。例えば、本発明は、ドローン、航空機、潜水艦、あるいは、船舶等、種々の機械的な動作を行う装置において、各種機能を実現する場合に適用することが可能である。
【0056】
また、上述の実施形態において、行ベクトルの候補を予め記憶しておくものとして説明したが、これに限られない。即ち、行ベクトルの候補を必要なタイミングで適宜生成し、生成した行ベクトルの中から、目的とする機能に適合する行ベクトルを選択することとしてもよい。
【0057】
また、上述の実施形態における処理は、ハードウェア及びソフトウェアのいずれにより実行させることも可能である。
即ち、上述の処理を実行できる機能が機能生成装置に備えられていればよく、この機能を実現するためにどのような機能構成及びハードウェア構成とするかは上述の例に限定されない。
上述の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータにネットワークや記憶媒体からインストールされる。
【0058】
プログラムを記憶する記憶媒体は、装置本体とは別に配布されるリムーバブルメディア、あるいは、装置本体に予め組み込まれた記憶媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk),Blu-ray Disc(登録商標)等により構成される。光磁気ディスクは、MD(Mini-Disk)等により構成される。また、装置本体に予め組み込まれた記憶媒体は、例えば、プログラムが記憶されているROM(Read Only Memory)やハードディスク等で構成される。
【0059】
なお、上記実施形態は、本発明を適用した一例を示しており、本発明の技術的範囲を限定するものではない。即ち、本発明は、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができ、上記実施形態以外の各種実施形態を取ることが可能である。本発明が取ることができる各種実施形態及びその変形は、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0060】
1 移動体、2 作業体、10 車両制御装置、11 プロセッサ、12 メモリ、13 ストレージデバイス、51 機能設定部、52 行選択部、53 行列生成部、54 制御実行部、61 変換行列記憶部、71 行ベクトル記憶部、W1~W4 車輪、101 第1ローラ、102 第2ローラ、103 作業制御装置