(57)【要約】【課題】機械的な動作を行う装置において、目的とする機能を柔軟に実現すること。【解決手段】移動体１（機能生成装置）は、機能設定部５１と、行選択部５２と、行列生成部５３と、を備えている。機能設定部５１は、制御対象となる装置における目的とする機能を設定する。行選択部５２は、制御対象となる装置において制御に反映させることが可能なパラメータの複数の組み合わせを表すデータ列の中から、機能設定部５１によって設定された機能に対応するデータ列を選択する。行列生成部５３は、行選択部５２によって選択されたデータ列を要素として目的とする機能に対応する変換行列を生成する。【選択図】図１
2020050232.tif 000002
【特許請求の範囲】
【請求項１】
制御対象となる装置における目的とする機能を設定する機能設定手段と、
前記制御対象となる装置において制御に反映させることが可能なパラメータの複数の組み合わせを表すデータ列の中から、前記機能設定手段によって設定された機能に対応するデータ列を選択するデータ列選択手段と、
前記データ列選択手段によって選択されたデータ列を要素として前記目的とする機能に対応する変換行列を生成する行列生成手段と、
を備えることを特徴とする機能生成装置。
【請求項２】
前記行列生成手段は、前記目的とする機能に応じて前記変換行列の要素に重みを設定することを特徴とする請求項１に記載の機能生成装置。
【請求項３】
前記行列生成手段は、前記変換行列をブロック対角化することを特徴とする請求項１または２に記載の機能生成装置。
【請求項４】
前記行列生成手段によって生成された前記変換行列に基づいて、前記制御対象となる装置の制御を実行する制御実行手段を備えることを特徴とする請求項１から３のいずれか１項に記載の機能生成装置。
【請求項５】
前記機能設定手段は、前記制御対象となる装置において目的とする機能に変更が必要であるか否かを判定し、変更が必要であると判定した場合に、当該目的とする機能を変更することを特徴とする請求項１から４のいずれか１項に記載の機能生成装置。
【請求項６】
情報処理装置において実行される機能生成方法であって、
制御対象となる装置における目的とする機能を設定する機能設定ステップと、
前記制御対象となる装置において制御に反映させることが可能なパラメータの複数の組み合わせを表すデータ列の中から、前記機能設定ステップにおいて設定された機能に対応するデータ列を選択するデータ列選択ステップと、
前記データ列選択ステップにおいて選択されたデータ列によって前記目的とする機能に対応する変換行列を生成する行列生成ステップと、
を含むことを特徴とする機能生成方法。
【請求項７】
コンピュータを、
制御対象となる装置における目的とする機能を設定する機能設定手段、
前記制御対象となる装置において制御に反映させることが可能なパラメータの複数の組み合わせを表すデータ列の中から、前記機能設定手段によって設定された機能に対応するデータ列を選択するデータ列選択手段、
前記データ列選択手段によって選択されたデータ列によって前記目的とする機能に対応する変換行列を生成する行列生成手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械的な動作を行う装置の機能を生成する機能生成装置、機能生成方法及びプログラムに関する。
【背景技術】
【０００２】
従来、自動車や産業機械等、機械的な動作を行う装置が種々利用されている。
このような装置は、例えば、電動モータや油圧システム等によって構成されるアクチュエータにより、装置が備える機構の機械的な挙動が制御される。
例えば、自動車においては、車輪の路面に対する回転（転動）がモータによって制御されると共に、車輪の向きが操舵装置によって制御され、さらに、車輪の鉛直方向の動きがサスペンション装置によって制御される。
また、同様に、ミシンあるいはプリンタ等においては、処理対象の物体（布や紙等）の移動が搬送装置によって制御される。
このような装置は、概して、アクチュエータによって環境に作用しながら、目的とする機能を発揮するものである。
即ち、装置が有する動作の自由度に対応してアクチュエータが備えられ、このアクチュエータによって制御される機械要素が環境に作用することで、装置の挙動を表す特定のパラメータが決定付けられる。
そのため、機械的な動作を行う装置においては、いずれのアクチュエータをどのように制御するかによって、その装置において実現される機能が変化することとなる。
ここで、特許文献１には、制御対象システムの機能に応じて設定される速度（位置）及び力の領域への制御エネルギーの座標変換を定義し、定義された座標変換を介して速度（位置）及び力の制御を行うことで、目的とする機能を実現する位置・力制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１５／０４１０４６号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載されたように、制御対象システムの機能に応じて設定される速度（位置）及び力の領域への制御エネルギーの座標変換を定義する場合、制御対象システムにおいて目的とする機能に変化が生じると、変化後の機能に応じて異なる座標変換を用いる必要がある。
一方、制御対象システムにおいて目的とする機能は、多様に変化する可能性があり、これらに応じた座標変換を予め用意しておくことは必ずしも容易ではない。
このように、従来、機械的な動作を行う装置において、目的とする機能を柔軟に実現することは困難であった。
本発明の課題は、機械的な動作を行う装置において、目的とする機能を柔軟に実現することである。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本発明の一態様に係る機能生成装置は、
制御対象となる装置における目的とする機能を設定する機能設定手段と、
前記制御対象となる装置において制御に反映させることが可能なパラメータの複数の組み合わせを表すデータ列の中から、前記機能設定手段によって設定された機能に対応するデータ列を選択するデータ列選択手段と、
前記データ列選択手段によって選択されたデータ列によって前記目的とする機能に対応する変換行列を生成する行列生成手段と、
を備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、機械的な動作を行う装置において、目的とする機能をより柔軟に実現することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明において目的とする機能に応じた変換行列が構成される概念を示す模式図である。
【図２】本発明の一実施形態に係る移動体の構成を示す模式図である。
【図３】移動体の１輪の構成を示す模式図である。
【図４】移動体の１輪におけるパラメータを制御に反映させる場合の全ての組み合わせに対応する行ベクトルを示す模式図である。
【図５】移動体の４輪におけるパラメータを制御に反映させる場合の全ての組み合わせに対応する行ベクトルを示す模式図である。
【図６】車両制御装置の機能的構成を示すブロック図である。
【図７】行列生成部によって生成された変換行列Ｘ１がブロック対角化されて変換行列Ｘ２が生成される概念を示す模式図である。
【図８】移動体が実行する機能生成・実行処理の流れを説明するフローチャートである。
【図９】本発明の一実施形態に係る作業体の構成を示す模式図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について、図面を参照して説明する。
初めに、本発明に係る機能生成装置、機能生成方法及びプログラムに適用される基本的原理について説明する。
【０００９】
［基本的原理］
本発明においては、目的とする機能に応じた速度（位置）及び力の領域への制御エネルギーの座標変換を定義し、定義された座標変換を介して速度（位置）及び力の少なくともいずれかの制御を行うことで、機械的な動作を行う装置において目的とする機能を実現することを前提としている。即ち、本発明においては、例えば、国際公開第２０１５／０４１０４６号に記載されている速度（位置）及び力の制御手法に基づく制御を用いることができる。
【００１０】
一般に、機械的な動作を行う装置は、環境が有するモードに対応する動作の自由度（動作のモード）を有している。環境が有するモードとは、機械的な動作を行う装置側で制御可能なパラメータに対する環境側の決定要素である。即ち、機械的な動作を行う装置は、環境が有するモードに結合した動作のモードに対応する数の動作の自由度を有し、この自由度に対応するパラメータをアクチュエータによって制御するものとなる。
【００１１】
ここで、機械的な動作を行う装置において目的とする機能は、当該装置における動作の自由度のうち、いずれの自由度に対応するパラメータをどのように反映させて各アクチュエータを制御するかによって決定付けられる。
そこで、本発明においては、当該装置の挙動の要素となるパラメータ（物理量）の全ての組み合わせを行ベクトル（データ列）として用意し、これらの行ベクトルの中から、当該装置において目的とする機能に適合する特定の行ベクトルを選択して変換行列を構成することで、目的とする機能に応じて設定される速度（位置）及び力の領域への制御エネルギーの座標変換を定義する。
【００１２】
図１は、本発明において目的とする機能に応じた変換行列が構成される概念を示す模式図である。
機械的な動作を行う装置において、動作の自由度が３である場合、当該装置の挙動の要素となるパラメータ（動作を表すパラメータ）として、第１の自由度に対応するパラメータＰ１、第２の自由度に対応するパラメータＰ２及び第３の自由度に対応するパラメータＰ３が取得される。
【００１３】
これらパラメータＰ１〜Ｐ３のいずれを反映させて制御を行うかについて、制御に反映させる場合を「１」、制御に反映させない場合を「０」とすると、パラメータＰ１〜Ｐ３の制御形態の全ての組み合わせは、図１において「行ベクトルの候補」として示される７通り（３Ｃ１＋３Ｃ２＋３Ｃ３）となる。
これら全ての行ベクトルのうち、例えば、パラメータＰ１のみを制御に反映させ、パラメータＰ２，Ｐ３を制御に反映させない場合、図１の「行ベクトルの候補」における第１行（１，０，０）が選択される。
また、例えば、パラメータＰ１，Ｐ２を制御に反映させ、パラメータＰ３を制御に反映させない場合、図１の「行ベクトルの候補」における第４行（１，１，０）が選択される。
なお、図１に示すように行ベクトルを選択する場合、複数の行において同一の行ベクトルを選択することも可能である。
また、実際に制御のための処理を実行する場合には、制御に反映させるパラメータの行ベクトルの要素「１」に重みを設定して「α」（αは０以外の実数）とした変換行列を構成することができる。
【００１４】
このように構成された変換行列は、機械的な動作を行う装置において挙動の要素となる所定のパラメータを反映させて、特定の自由度に対応するパラメータを制御するものとなる。
即ち、機械的な動作を行う装置において挙動の要素となるパラメータの状態に対応して、特定の自由度に対応するアクチュエータが制御される。
この結果、機械的な動作を行う装置における特定の挙動の要素（特定の自由度に対応するパラメータ）に関するフィードバック制御を構成することができ、目的とする機能が実現されることとなる。
【００１５】
このように、本発明においては、機械的な動作を行う装置で制御に反映させ得るパラメータの全ての組み合わせを表す行ベクトルの中から、当該装置において目的とする機能に適合する特定の行ベクトルを選択して変換行列を構成する。
したがって、本発明によれば、機械的な動作を行う装置において、目的とする機能を柔軟に実現することが可能となる。
以下、本発明を適用した機能生成装置の実施形態について具体的に説明する。
【００１６】
［機能生成装置の具体例］
図２は、本発明の一実施形態に係る移動体１の構成を示す模式図である。
移動体１は、本発明を適用した機能生成装置の一例として実現されるものであり、ここでは４輪が独立して回転、操舵及びサスペンションの制御を行うことが可能な車両であるものとして説明する。移動体１の具体例としては、自動車、電動車椅子、製造ラインで物品を運搬する台車、フォークリフト、ゴルフ場等で使用されるカート等、複数の車輪を有する装置を挙げることができる。
図２に示すように、移動体１は、前後左右の車輪Ｗ１〜Ｗ４と、移動体１全体を制御する車両制御装置１０とを備えている。なお、図示は省略するが、移動体１には、操舵を行うためのハンドル、加速を行うためのアクセルペダル、減速を行うためのブレーキペダル等、移動体１を構成するために必要な各種装置が備えられている。
【００１７】
図３は、移動体１の１輪（前後左右の車輪Ｗ１〜Ｗ４）の構成を示す模式図である。
図３に示すように、移動体１の各車輪は、車輪の回転、車輪の操舵、車輪の鉛直方向の位置（サスペンション）をそれぞれ制御可能な構成（３自由度）を有している。
図３に示す構成において、移動体１の各車輪には、車輪の回転角度θ、操舵角度ω及び鉛直方向の位置ｚをそれぞれ検出するセンサＤ１〜Ｄ３が備えられており、センサＤ１〜Ｄ３による検出結果は、逐次、車両制御装置１０に入力される。
ここで、車輪の回転角度θ、操舵角度ω及び鉛直方向の位置ｚのいずれを反映させて制御を行うかについて、図１と同様に、全ての組み合わせに対応する行ベクトルを定義することができる。なお、制御に反映させる際には、車輪の回転角度θ、操舵角度ω及び鉛直方向の位置ｚを適宜、微分あるいは積分する等、相互に置換可能なパラメータを取得して入力とすることも可能である。
【００１８】
図４は、移動体１の１輪におけるパラメータを制御に反映させる場合の全ての組み合わせに対応する行ベクトルを示す模式図である。
車輪の回転角度θ、操舵角度ω及び鉛直方向の位置ｚを制御に反映させる場合の重みを、それぞれ０以外の実数であるα１、α２、α３とすると、図４に示すように、１輪におけるパラメータを制御に反映させる場合の全ての組み合わせは７通りとなる。
また、図５は、移動体１の４輪におけるパラメータを制御に反映させる場合の全ての組み合わせに対応する行ベクトルを示す模式図である。
なお、図５において、α１〜α１２は、車輪Ｗ１のパラメータ（回転角度θ、操舵角度φ、鉛直方向の位置ｚ）、車輪Ｗ２のパラメータ（回転角度θ、操舵角度φ、鉛直方向の位置ｚ）、車輪Ｗ３のパラメータ（回転角度θ、操舵角度φ、鉛直方向の位置ｚ）、車輪Ｗ４のパラメータ（回転角度θ、操舵角度φ、鉛直方向の位置ｚ）それぞれを制御に反映させる場合の重みである。
【００１９】
移動体１の１輪については、図４に示す７通りの組み合わせ（行ベクトル）が存在するため、車輪Ｗ１〜Ｗ４の４輪分では、考え得る全ての行ベクトルは、７４＝２４０１通りとなる。
図５に示す行ベクトルは、移動体１の車輪Ｗ１〜Ｗ４における回転角度、操舵角度及び鉛直方向の位置をそれぞれ制御する場合に、４輪におけるいずれのパラメータを制御に反映させるかについての全ての組み合わせを表している。
【００２０】
車両制御装置１０は、プロセッサ１１、メモリ１２及びストレージデバイス１３等を備える車載用コンピュータ（情報処理装置）によって構成される。
車両制御装置１０は、４輪の制御のための全ての行ベクトルの中から、移動体１において目的とする機能に応じた行ベクトルを選択する。
本実施形態においては、移動体１で実現される機能に応じて、図５に示す行ベクトルのうち、いずれを選択すべきであるかが設定されている。
【００２１】
例えば、４輪の操舵制御を行う場合、４輪の操舵角度ωを反映させる行ベクトルが各車輪の操舵角度ωを算出するための行ベクトルとして選択される。
また、４輪の操舵制御を行い、かつ、旋回時のロール角を制御する場合、４輪の操舵角度ω及び鉛直方向の位置ｚをそれぞれ制御に反映させる行ベクトルが選択される。
このようにして、車輪Ｗ１〜Ｗ４の自由度に対応する各パラメータについて、行ベクトルが選択されると、移動体１において目的とする機能を実現するための変換行列Ｘ１が生成される。
【００２２】
本実施形態において、車両制御装置１０は、このように生成された変換行列Ｘ１をブロック対角化することにより、変換行列Ｘ２を生成し、変換行列Ｘ２によって移動体１の制御を行う。
変換行列Ｘ２は、ブロック対角化されていることから、演算量を低減させることができると共に、ブロック毎に異なるプロセッサで分散処理すること等も可能となる。
【００２３】
［車両制御装置１０の機能的構成］
図６は、車両制御装置１０の機能的構成を示すブロック図である。
図６に示すように、車両制御装置１０は、プロセッサ１１の機能として、機能設定部５１と、行選択部５２と、行列生成部５３と、制御実行部５４と、を備えている。また、メモリ１２には、変換行列記憶部６１が形成され、ストレージデバイス１３には、行ベクトル記憶部７１が形成される。
【００２４】
変換行列記憶部６１には、車両制御装置１０において、目的とする機能を実現するために生成された変換行列が記憶される。
行ベクトル記憶部７１には、４輪におけるいずれのパラメータを制御に反映させるかについての全ての組み合わせを表す行ベクトルの一覧が記憶される。
【００２５】
機能設定部５１は、移動体１において目的とする機能（機能の種類）を設定する。本実施形態の移動体１においては、目的とする機能をユーザが手動で設定する手動設定モードと、目的とする機能を移動体１の走行状態に応じて自動的に設定する自動設定モードとが用意されている。そして、機能設定部５１は、手動設定モードの場合には、ユーザにより設定された内容を目的とする機能として設定する。また、機能設定部５１は、自動設定モードの場合には、移動体１の車速、ヨーレート、走行環境（高速道路であるか市街地であるか、あるいは、路面状態等）といった走行状態を決定する要素の１つまたは複数に基づいて、予め対応付けられている機能が設定される。
【００２６】
行選択部５２は、機能設定部５１によって設定された機能に基づいて、行ベクトル記憶部７１に記憶された行ベクトルの一覧の中から、設定された機能に対応付けられている行ベクトル（機能に応じて選択すべきものとして設定された行ベクトル）を選択する。このとき、行選択部５２は、移動体１における動作の自由度に対応するパラメータ（制御されるパラメータ）それぞれについて行ベクトルを選択する。
【００２７】
行列生成部５３は、行選択部５２によって選択された行ベクトルによって、設定された機能を実現するための変換行列Ｘ１を生成する。
また、行列生成部５３は、生成した変換行列において、各行ベクトルの要素の重みαをそれぞれ設定する。
【００２８】
このように設定された行ベクトルによって、入力に対する各パラメータの状態値が算出され、状態値に対して設定される制御目標値に追従するように各アクチュエータのフィードバック制御が行われる。例えば、車輪Ｗ１を車輪Ｗ２と同相に同角度だけ操舵する場合には、車輪Ｗ１の操舵角度ωの重みを「−１」、車輪Ｗ２の操舵角度ωの重みを「１」に設定して、車輪Ｗ１の操舵角度ωの状態値を算出する行ベクトルとすることができる。そして、車輪Ｗ１の操舵角度ωの状態値に対して、「０」（車輪Ｗ２の操舵角度と差がない状態）を制御目標値として設定することで、車輪Ｗ１を制御するアクチュエータは、車輪Ｗ１が車輪Ｗ２と同相に同角度で操舵されるように操舵を行うこととなる。
【００２９】
また、本実施形態において、行列生成部５３は、生成した変換行列Ｘ１をブロック対角化することにより、変換行列Ｘ２を生成する。
図７は、行列生成部５３によって生成された変換行列Ｘ１がブロック対角化されて変換行列Ｘ２が生成される概念を示す模式図である。
なお、図７において、出力におけるΘ１〜Θ４、Φ１〜Φ４、Ｚ１〜Ｚ４は、それぞれ入力における車輪の回転角度θ１〜θ４、操舵角度φ１〜φ４、鉛直方向の位置ｚ１〜ｚ４の状態値であり、添え字１〜４は車輪Ｗ１〜Ｗ４に対応するパラメータであることを示している。また、α１〜α１２は、入力における車輪Ｗ１のパラメータ（θ１、φ１、ｚ１）、車輪Ｗ２のパラメータ（θ２、φ２、ｚ２）、車輪Ｗ３のパラメータ（θ３、φ３、ｚ３）、車輪Ｗ４のパラメータ（θ４、φ４、ｚ４）それぞれを制御に反映させる場合の重みである。
【００３０】
図７に示すように、変換行列Ｘ１の行ベクトル内の要素及び入力されるパラメータの配列を変更し、ブロック対角化することにより、ブロック毎に対角化行列として簡単な演算を行うことができるため、演算量を低減させることができる。また、ブロック毎に異なるプロセッサで分散処理することも可能となる。
【００３１】
制御実行部５４は、行列生成部５３によって生成された変換行列Ｘ２を用いて、入力される各パラメータに対する状態値を算出する。上述のように、これら状態値には、制御目標値が設定されており、制御実行部５４は、逐次入力される各パラメータの状態値が制御目標値に追従するように、各アクチュエータへの入力（電流指令値等）を算出する。即ち、制御実行部５４は、目的とする機能を実現する変換行列Ｘ２を介して、移動体１における挙動の要素（自由度に対応するパラメータ）に関するフィードバック制御を実行する。
なお、制御実行部５４は、変換行列Ｘ２に代えて、変換行列Ｘ１を用いて制御を行うこととしてもよい。
【００３２】
［動作］
次に、移動体１の動作を説明する。
図８は、移動体１が実行する機能生成・実行処理の流れを説明するフローチャートである。
機能生成・実行処理は、移動体１がイグニションオンとされることに対応して開始される。
【００３３】
ステップＳ１において、機能設定部５１は、移動体１において目的とする機能を設定する。
ステップＳ２において、行選択部５２は、機能設定部５１によって設定された機能に基づいて、行ベクトル記憶部７１に記憶された行ベクトルの一覧の中から、設定された機能に対応付けられている行ベクトル（機能に応じて選択すべきものとして設定された行ベクトル）を選択する。
ステップＳ３において、行列生成部５３は、行選択部５２によって選択された行ベクトルによって、設定された機能を実現するための変換行列Ｘ１を生成する。
【００３４】
ステップＳ４において、行列生成部５３は、生成した変換行列において、各行ベクトルの要素の重みαｋ（ｋは自由度に対応するパラメータを表す番号）をそれぞれ設定する。
ステップＳ５において、行列生成部５３は、生成した変換行列Ｘ１をブロック対角化することにより、変換行列Ｘ２を生成する。
ステップＳ６において、制御実行部５４は、行列生成部５３によって生成された変換行列Ｘ２を用いて、入力される各パラメータに対する状態値を算出し、移動体１の制御を実行する。
【００３５】
ステップＳ７において、機能設定部５１は、移動体１において設定されている機能の変更が必要であるか否かの判定を行う。移動体１において設定されている機能の変更が必要であるか否かは、例えば、手動設定モードと自動設定モードとが切り替えられたか否か、あるいは、自動設定モードにおいて移動体１の走行状態が変化したか否かによって判定することができる。
移動体１において設定されている機能の変更が必要である場合、ステップＳ７においてＹＥＳと判定されて、処理はステップＳ１に移行する。
一方、移動体１において設定されている機能の変更が必要でない場合、ステップＳ７においてＮＯと判定されて、処理はステップＳ８に移行する。
【００３６】
ステップＳ８において、制御実行部５４は、機能生成・実行処理の終了が指示されたか否かの判定を行う。機能生成・実行処理の終了が指示されたか否かは、例えば、移動体１がイグニションオフとされたか否かによって判定することができる。
機能生成・実行処理の終了が指示されていない場合、ステップＳ８においてＮＯと判定されて、処理はステップＳ６に移行する。
一方、機能生成・実行処理の終了が指示された場合、ステップＳ８においてＹＥＳと判定されて、機能生成・実行処理は終了となる。
【００３７】
このような処理により、移動体１においては、各車輪におけるパラメータを制御に反映させる場合の全ての組み合わせに対応する行ベクトルの中から、目的とする機能に応じた行ベクトルが選択される。
そして、選択された行ベクトルによって構成された変換行列の要素に対して、目的とする機能に応じた重みが設定され、変換行列Ｘ１が生成される。
【００３８】
さらに、変換行列Ｘ１がブロック対角化され、変換行列Ｘ２が生成されると共に、変換行列Ｘ２を用いて、移動体１の制御が実行される。
そのため、移動体１において設定された目的とする機能を実現するための変換行列を動的に生成することができる。
したがって、機械的な動作を行う装置において、目的とする機能をより柔軟に実現することが可能となる。
【００３９】
［変形例１］
上述の実施形態において、機能生成装置の具体例として、自動車等の移動体１を例に挙げて説明したが、これに限られない。
例えば、機能生成装置は、物体に対する作業を行う作業体の形態で実現することもできる。
【００４０】
図９は、本発明の一実施形態に係る作業体２の構成を示す模式図である。
作業体２は、本発明を適用した機能生成装置の一例として実現されるものであり、ここでは、処理対象の物体を搬送する搬送装置であるものとして説明する。作業体１の具体例としては、ミシンあるいはプリンタ等の搬送装置を挙げることができる。作業体２により、処理対象の物体（布や紙等）をしごきながら搬送する機能や、処理対象の物体にテンションを加えながら位置を制御する機能を実現することができる。なお、作業体２は、処理対象の物体を搬送する搬送装置の他、ねじ等の処理対象の物体を回転させる組み立て機械や電動工具等とすることも可能である。
【００４１】
図９に示すように、作業体２は、第１ローラ１０１と、第２ローラ１０２と、作業制御装置１０３とを備えている。なお、第１ローラ１０１及び第２ローラ１０２は、動作の自由度に応じたアクチュエータを備えている。これらのアクチュエータを備えることで、例えば、図９に例示するように、第１ローラ１０１及び第２ローラ１０２それぞれにおける回転軸周りの回転、回転軸方向から見た場合の上下方向の平行移動及び左右方向の平行移動、第１ローラ１０１及び第２ローラ１０２の回転軸同士の捩れ方向の相対移動等を制御することが可能となる。
【００４２】
第１ローラ１０１は、処理対象の物体の第１の面（例えば、上面）に接触し、回転軸周りの回転により、回転トルクに応じた力及び回転速度に応じた速度で、処理対象の物体の第１の面側を移動させる。また、第１ローラ１０１は、回転軸方向から見た場合の上下方向の平行移動及び左右方向の平行移動、第２ローラ１０２の回転軸に対する第１ローラ１０１の回転軸の捩れ方向の相対移動の各動作を行うことが可能であり、これらの各動作を表すパラメータを制御に反映させることができる。
【００４３】
第２ローラ１０２は、処理対象の物体の第２の面（例えば、下面）に接触し、回転軸周りの回転により、回転トルクに応じた力及び回転速度に応じた速度で、処理対象の物体の第２の面側を移動させる。また、第２ローラ１０２は、回転軸方向から見た場合の上下方向の平行移動及び左右方向の平行移動、第１ローラ１０１の回転軸に対する第２ローラ１０２の回転軸の捩れ方向の相対移動の各動作を行うことが可能であり、これらの各動作を表すパラメータを制御に反映させることができる。
【００４４】
作業制御装置１０３は、プロセッサ１１、メモリ１２及びストレージデバイス１３等を備えるマイクロコンピュータ（情報処理装置）によって構成される。
作業制御装置１０３は、上述の実施形態における車両制御装置１０と同様に、第１ローラ１０１を動作させる各アクチュエータ及び第２ローラ１０２を動作させる各アクチュエータの制御のための全ての行ベクトルの中から、作業体２において目的とする機能に応じた行ベクトルを選択する。
一例として、作業体２が、第１ローラ１０１の回転軸周りの回転及び第２ローラ１０２の回転軸周りの回転の２自由度を有するものとすると、第１ローラ１０１の回転角度及び第２ローラ１０２の回転角度を制御に反映させるかについての全ての組み合わせは、（１，０）、（０，１）、（１，１）の３通りとなる。
【００４５】
また、第１ローラ１０１の回転角度及び第２ローラ１０２の回転角度を制御に反映させる場合の重みをそれぞれβ１、β２とすると、第１ローラ１０１の回転角度及び第２ローラ１０２の回転角度を制御に反映させる場合の全ての組み合わせに対応する行ベクトルは、
（β１，０）
（０，β２）
（β１，β２）
となる。
【００４６】
ここで、作業体２が処理対象の物体をしごきながら搬送する機能を実現するものとすると、第１ローラ１０１及び第２ローラ１０２の回転速度は同方向に制御し、第１ローラ１０１及び第２ローラ１０２の回転トルクは逆方向に制御する必要がある。
このとき、第１ローラ１０１及び第２ローラ１０２の回転速度を制御するために、（β１，β２）の行ベクトルが選択され、重みβ１＝１、β２＝１が設定される。
また、第１ローラ１０１及び第２ローラ１０２の回転トルクを制御するために、（β１，β２）の行ベクトルが選択され、重みβ１＝１、β２＝−１が設定される。
【００４７】
即ち、作業体２が処理対象の物体をしごきながら搬送する機能を実現する場合には、図９に示す変換行列Ｘ３が生成される。
変換行列Ｘ３を用いて、入力されたパラメータ（第１ローラ１０１の回転角度及び第２ローラ１０２の回転角度）に対する状態値を算出し、状態値に対して設定された制御目標値に追従するように制御を行うことにより、作業体２が処理対象の物体をしごきながら搬送する機能を実現することができる。このような機能により、例えば、プリンタにセットされた印刷用紙の束から、給紙すべき１枚のみをピックアップして搬送する作業をより確実に実行することができる。
また、作業体２において、異なる機能を実現する場合には、目的とする機能に応じた行ベクトルをそれぞれ選択することにより、変換行列を動的に生成することができる。このような機能により、例えば、ミシンにおいて、標準的な直線縫いのモードが設定された場合には、直線縫いを行うための変換行列を生成して直線縫いを実行し、飾り縫いを行うモードに切り替えられた場合には、飾り縫いを行うための変換行列を生成して飾り縫いを実行すること等が可能となる。
【００４８】
なお、作業制御装置１０６の機能的構成及び作業体２の動作については、目的とする機能の具体例が異なる点を除き、上述の実施形態とほぼ同様である。
このように、本発明の基本的原理は、自動車等の移動体１の他、物体に対する作業を行う作業体２等の各種装置に適用可能であり、本発明が適用される具体的な装置形態に応じた機能生成装置とすることができる。
これにより、機械的な動作を行う装置において、目的とする機能をより柔軟に実現することができる。
【００４９】
［変形例２］
上述の実施形態において、目的とする機能を実現するための変換行列の生成と、生成した変換行列による制御対象となる装置の制御とを同一の装置（移動体１）で実行する場合を例に挙げて説明したが、これに限られない。
即ち、本発明を適用した機能生成装置において、目的とする機能を実現するための変換行列の生成のみを行い、生成した変換行列を制御対象となる他の装置に出力して、制御対象となる装置において、変換行列による制御を行うこととしてもよい。
【００５０】
以上のように、本実施形態に係る移動体１（機能生成装置）は、機能設定部５１と、行選択部５２と、行列生成部５３と、を備えている。
機能設定部５１は、制御対象となる装置における目的とする機能を設定する。
行選択部５２は、制御対象となる装置において制御に反映させることが可能なパラメータの複数の組み合わせを表すデータ列の中から、機能設定部５１によって設定された機能に対応するデータ列を選択する。
行列生成部５３は、行選択部５２によって選択されたデータ列を要素として目的とする機能に対応する変換行列を生成する。
これにより、機械的な動作を行う装置で制御に反映させ得るパラメータの複数の組み合わせを表す行ベクトルの中から、当該装置において目的とする機能に適合する特定の行ベクトルを選択して変換行列が構成される。
したがって、本発明によれば、機械的な動作を行う装置において、目的とする機能を柔軟に実現することが可能となる。
【００５１】
行列生成部５３は、目的とする機能に応じて変換行列の要素に重みを設定する。
これにより、制御に反映させるパラメータについて、その反映方法を種々設定することができるため、多様な機能を実現することが可能となる。
【００５２】
行列生成部５３は、変換行列をブロック対角化する。
これにより、制御対象となる装置を制御する際に、演算が簡単なものとなるため、演算量を低減させることができる。また、変換行列におけるブロック毎に異なるプロセッサで分散処理すること等が可能となる。
【００５３】
また、移動体１は、制御実行部５４を備えている。
制御実行部５４は、行列生成部５３によって生成された変換行列に基づいて、制御対象となる装置の制御を実行する。
これにより、目的とする機能を実現するために動的に生成された変換行列によって、制御対象となる装置の制御を実行することが可能となる。
【００５４】
機能設定部５１は、制御対象となる装置において目的とする機能に変更が必要であるか否かを判定し、変更が必要であると判定した場合に、当該目的とする機能を変更する。
これにより、制御対象となる装置において目的とする機能を変更する必要が生じた場合に、必要な機能を適宜切り替えて制御を行うことが可能となる。
【００５５】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
例えば、上述の実施形態においては、機能生成装置を自動車等の移動体として実現する場合を例に挙げて説明したが、これに限られない。即ち、機械的な動作を行う装置において、位置、速度あるいは力等の物理量を制御する場合に本発明を適用することができる。例えば、本発明は、ドローン、航空機、潜水艦、あるいは、船舶等、種々の機械的な動作を行う装置において、各種機能を実現する場合に適用することが可能である。
【００５６】
また、上述の実施形態において、行ベクトルの候補を予め記憶しておくものとして説明したが、これに限られない。即ち、行ベクトルの候補を必要なタイミングで適宜生成し、生成した行ベクトルの中から、目的とする機能に適合する行ベクトルを選択することとしてもよい。
【００５７】
また、上述の実施形態における処理は、ハードウェア及びソフトウェアのいずれにより実行させることも可能である。
即ち、上述の処理を実行できる機能が機能生成装置に備えられていればよく、この機能を実現するためにどのような機能構成及びハードウェア構成とするかは上述の例に限定されない。
上述の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータにネットワークや記憶媒体からインストールされる。
【００５８】
プログラムを記憶する記憶媒体は、装置本体とは別に配布されるリムーバブルメディア、あるいは、装置本体に予め組み込まれた記憶媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ），Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）等により構成される。また、装置本体に予め組み込まれた記憶媒体は、例えば、プログラムが記憶されているＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やハードディスク等で構成される。
【００５９】
なお、上記実施形態は、本発明を適用した一例を示しており、本発明の技術的範囲を限定するものではない。即ち、本発明は、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができ、上記実施形態以外の各種実施形態を取ることが可能である。本発明が取ることができる各種実施形態及びその変形は、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６０】
１  移動体、２  作業体、１０  車両制御装置、１１  プロセッサ、１２  メモリ、１３  ストレージデバイス、５１  機能設定部、５２  行選択部、５３  行列生成部、５４  制御実行部、６１  変換行列記憶部、７１  行ベクトル記憶部、Ｗ１〜Ｗ４  車輪、１０１  第１ローラ、１０２  第２ローラ、１０３  作業制御装置
【図１】
2020050232.tif 000003
【図２】
2020050232.tif 000004
【図３】
2020050232.tif 000005
【図４】
2020050232.tif 000006
【図５】
2020050232.tif 000007
【図６】
2020050232.tif 000008
【図７】
2020050232.tif 000009
【図８】
2020050232.tif 000010
【図９】
2020050232.tif 000011
【国際調査報告】
2020050232.tif 000012
2020050232.tif 000013
2020050232.tif 000014
2020050232.tif 000015