JP6655410B2 - Actuator control device - Google Patents
Actuator control device Download PDFInfo
- Publication number
- JP6655410B2 JP6655410B2 JP2016018269A JP2016018269A JP6655410B2 JP 6655410 B2 JP6655410 B2 JP 6655410B2 JP 2016018269 A JP2016018269 A JP 2016018269A JP 2016018269 A JP2016018269 A JP 2016018269A JP 6655410 B2 JP6655410 B2 JP 6655410B2
- Authority
- JP
- Japan
- Prior art keywords
- torque value
- angle
- drive torque
- joint angle
- joint
- 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
Links
- POVLLCMBJRSSOC-WIKAKEFZSA-N CC[C@H](C)CC1[C@H](CC)CCC1 Chemical compound CC[C@H](C)CC1[C@H](CC)CCC1 POVLLCMBJRSSOC-WIKAKEFZSA-N 0.000 description 1
Images
Description
本発明は、作動機構の制御装置に関する。 The present invention relates to a control device for an operation mechanism.
パワーアシストスーツと呼ばれる装着型の作業補助装置や、ロボットなど、関節を介して連結された複数のリンクをアクチュエータにより駆動する作動機構がある。このような作動機構を作動する場合、そのリンクの現在の位置や姿勢や速度などから、現在の関節角度を求める必要がある。関節角度を求める場合、一般的には、ヤコビ行列が用いられる。 There is an operation mechanism that drives a plurality of links connected via joints by an actuator, such as a wearable work assist device called a power assist suit and a robot. When operating such an operating mechanism, it is necessary to obtain the current joint angle from the current position, posture, speed, and the like of the link. Generally, a Jacobian matrix is used to determine a joint angle.
しかし、ヤコビ行列には、特異点と呼ばれる姿勢が存在する。特異点とは、逆ヤコビ行列が発散する姿勢である。逆ヤコビ行列が発散した場合、関節角度を一義的に算出することができなくなるため、出力が異常となり、適切な作動を行うことができなくなる可能性がある。また、特異点でなくても、特異点近傍である場合でも、逆ヤコビ行列が大きな値となってしまうため、出力が過大となるおそれがある。この特異点における関節角度を特異点角度とすると、特異点角度は、例えば、関節が伸びきった状態が該当する。例えば歩行ロボットなどは、この特異点角度を避けるため、膝関節を意図的に曲げて特異点角度を回避している。また、特許文献1には、仮想リンク構造を用いて膝特異点における出力異常を回避する技術が記載されている。
However, the Jacobian matrix has a posture called a singular point. The singular point is a posture at which the inverse Jacobian matrix diverges. If the inverse Jacobian matrix diverges, the joint angle cannot be unambiguously calculated, so that the output may be abnormal and an appropriate operation may not be performed. In addition, even if the point is not a singular point or is near the singular point, the inverse Jacobian matrix has a large value, so that the output may be excessive. Assuming that the joint angle at the singular point is a singular point angle, the singular point angle corresponds to, for example, a state in which the joint is fully extended. For example, a walking robot or the like avoids the singularity angle by intentionally bending the knee joint to avoid the singularity angle. Further,
しかし、特許文献1の技術は、仮想リンク構造を用いているため、その制御導入に対し多大な事前準備が必要となり、容易に特異点角度における出力異常を回避できるものとは言えない。また、特許文献1の技術は、定位性を有する位置拘束に基づく制御であるため、例えば非定位性が求められるような自由な動作に対応することは困難である。
However, since the technology of
従って、本発明は、特異点角度における出力異常を容易に回避し、かつ、自由な動作に対応する作動機構の制御装置を提供することを目的とする。 Therefore, an object of the present invention is to provide a control device for an operating mechanism that can easily avoid output abnormalities at a singular point angle and that can respond to free operation.
上述した課題を解決し、目的を達成するために、本開示に係る作動機構の制御装置は、関節を介して連結された複数のリンクをアクチュエータにより駆動する作動機構の制御装置であって、前記リンクの目標とする移動加速度である目標加速度を取得する目標加速度取得部と、前記リンクを前記目標加速度で移動させるためのトルクである駆動トルク値の仮の値である仮駆動トルク値を、前記目標加速度に基づき算出する仮駆動トルク値算出部と、前記作動機構が出力可能な上限のトルク値である上限トルク値に基づき、前記駆動トルク値の上限のトルク値である上限駆動トルク値を取得する上限駆動トルク値取得部と、前記仮駆動トルク値と前記上限駆動トルク値との比率であるトルク比率を算出するトルク比率算出部と、前記仮駆動トルク値が前記上限駆動トルク値以下である場合に、前記仮駆動トルク値を前記駆動トルク値に決定し、前記仮駆動トルク値が前記上限駆動トルク値より大きい場合に、前記トルク比率に基づき、前記仮駆動トルク値を前記上限駆動トルク値以下の値に変換した変換駆動トルク値を、前記駆動トルク値に決定する駆動トルク値決定部と、前記アクチュエータを駆動するトルク値として、決定した前記駆動トルク値を用いて、前記アクチュエータを制御するアクチュエータ制御部と、を有することが好ましい。 In order to solve the above-described problems and achieve the object, a control device for an operating mechanism according to the present disclosure is a control device for an operating mechanism that drives a plurality of links connected via a joint by an actuator, A target acceleration acquisition unit that acquires a target acceleration that is a target movement acceleration of the link, and a tentative drive torque value that is a tentative value of a drive torque value that is a torque for moving the link at the target acceleration. A provisional drive torque value calculation unit that calculates based on a target acceleration, and obtains an upper limit drive torque value that is an upper limit torque value of the drive torque value based on an upper limit torque value that is an upper limit torque value that can be output by the operation mechanism. An upper limit driving torque value acquiring unit, a torque ratio calculating unit that calculates a torque ratio that is a ratio between the tentative driving torque value and the upper limit driving torque value, and a tentative driving torque When the value is equal to or less than the upper limit drive torque value, the temporary drive torque value is determined as the drive torque value, and when the temporary drive torque value is larger than the upper limit drive torque value, based on the torque ratio, A drive torque value determining unit that determines a converted drive torque value obtained by converting the provisional drive torque value to a value equal to or less than the upper limit drive torque value, the drive torque value determining unit that determines the drive torque value; An actuator control unit that controls the actuator using a value.
この制御装置は、特異点角度において、仮駆動トルク値の出力過大に起因する異常(以下、出力異常と記載)が発生する場合にも、駆動トルク値を上限駆動トルク値以下に低下させることで、駆動トルク値の出力異常を容易に抑制することができる。また、この制御装置は、目標加速度に基づき駆動トルク値を算出しているため、非定位性の制御となり、自由な動作に対応することが可能となる。 This control device reduces the drive torque value to be equal to or less than the upper limit drive torque value even when an abnormality (hereinafter, referred to as an output abnormality) due to an excessive output of the temporary drive torque value occurs at the singular point angle. In addition, abnormal output of the driving torque value can be easily suppressed. In addition, since the control device calculates the drive torque value based on the target acceleration, the control device performs non-localization control and can cope with a free operation.
前記作動機構は、複数のリンクのそれぞれに対応する複数のアクチュエータを備えており、前記駆動トルク値は、複数のアクチュエータのそれぞれに対して算出されるものであり、前記駆動トルク値決定部は、複数のアクチュエータに対するそれぞれの仮駆動トルク値のうち、前記上限駆動トルク値に対する前記仮駆動トルク値の超過率が最も高い仮駆動トルク値についてのトルク比率を用いて、それぞれの仮駆動トルク値を前記変換駆動トルク値に変換し、それぞれの前記変換駆動トルク値を、それぞれのアクチュエータに対する前記駆動トルク値に決定することが好ましい。この制御装置は、アクチュエータ間の駆動トルク値の比率を変換前と同様に保つため、駆動トルク値の出力異常をより適切に抑制することができる。 The operating mechanism includes a plurality of actuators respectively corresponding to a plurality of links, the drive torque value is calculated for each of the plurality of actuators, the drive torque value determination unit, Of the respective provisional drive torque values for the plurality of actuators, using the torque ratio for the provisional drive torque value having the highest excess rate of the provisional drive torque value with respect to the upper limit drive torque value, Preferably, the driving torque value is converted into a converted driving torque value, and the converted driving torque value is determined as the driving torque value for each actuator. Since the control device maintains the ratio of the drive torque value between the actuators as before the conversion, the output abnormality of the drive torque value can be more appropriately suppressed.
前記制御装置において、前記駆動トルク値決定部は、前記上限駆動トルク値に対する前記仮駆動トルク値の比率を前記トルク比率とし、前記仮駆動トルク値を前記トルク比率で除することにより、前記変換駆動トルク値を算出することが好ましい。この制御装置は、トルク比率及び変換駆動トルク値を算出しているため、駆動トルク値を上限駆動トルク値以下の適切な値とすることができる。 In the control device, the drive torque value determination unit may set the ratio of the tentative drive torque value to the upper limit drive torque value to the torque ratio, and divide the tentative drive torque value by the torque ratio to perform the conversion drive. Preferably, the torque value is calculated. Since the control device calculates the torque ratio and the converted drive torque value, the drive torque value can be set to an appropriate value equal to or less than the upper limit drive torque value.
前記制御装置において、前記上限駆動トルク値取得部は、例えば前記作動機構の自重、及び前記作動機構にかかる負荷を保持するためのトルクである保持トルク値を取得する保持トルク値取得部と、前記上限トルク値から前記保持トルク値を差し引いた値に基づき、前記上限駆動トルク値を算出する上限駆動トルク値算出部と、を有することが好ましい。この制御装置は、上限駆動トルク値を適切に算出し、駆動トルク値の出力異常をより適切に抑制することができる。 In the control device, the upper limit driving torque value acquisition unit is, for example, a self-weight of the operation mechanism, and a holding torque value acquisition unit that acquires a holding torque value that is a torque for holding a load applied to the operation mechanism, It is preferable to have an upper limit drive torque value calculation unit that calculates the upper limit drive torque value based on a value obtained by subtracting the holding torque value from the upper limit torque value. This control device can appropriately calculate the upper limit driving torque value and can more appropriately suppress the output abnormality of the driving torque value.
前記制御装置は、前記目標加速度から算出される行列式を、予め定められたリンクの加速度の上限値の行列式で正規化して補正項を算出する補正項算出部を更に有し、前記駆動トルク値決定部は、前記変換駆動トルク値を前記補正項で補正したトルク値を、前記駆動トルク値として決定し、前記補正項は、前記駆動トルク値によって前記アクチュエータを駆動した場合に、前記リンクの実際の加速度が前記目標加速度より大きくならないように、前記変換駆動トルク値を補正するための係数であることが好ましい。この制御装置は、加速度軌道変化に対応した駆動トルク値を算出することができる。 The control device further includes a correction term calculation unit that calculates a correction term by normalizing a determinant calculated from the target acceleration with a determinant of a predetermined upper limit of the acceleration of the link, and the driving torque The value determining unit determines, as the drive torque value, a torque value obtained by correcting the converted drive torque value with the correction term, and the correction term is, when the actuator is driven by the drive torque value, the link value of the link. Preferably, the coefficient is a coefficient for correcting the converted drive torque value so that the actual acceleration does not become larger than the target acceleration. This control device can calculate a drive torque value corresponding to a change in the acceleration trajectory.
上述した課題を解決し、目的を達成するために、本開示に係る作動機構の制御装置は、関節を介して連結された複数のリンクをアクチュエータにより駆動する作動機構の制御装置であって、前記関節を介して隣接するリンク同士の現在の角度である現在関節角度を取得する関節角度取得部と、前記現在関節角度が、前記現在関節角度に基づいて算出される逆ヤコビ行列が発散する特異点角度である場合に、前記現在関節角度から所定の変位角度だけ異なった前記リンク同士の仮想の角度である仮想関節角度を算出する仮想関節角度取得部と、前記リンクの目標とする移動加速度である目標加速度を取得する目標加速度取得部と、前記目標加速度と前記仮想関節角度とに基づき、前記アクチュエータを駆動するための駆動トルク値を算出する駆動トルク値算出部と、前記アクチュエータを駆動するトルク値として前記駆動トルク値を用いて、前記アクチュエータを制御するアクチュエータ制御部と、を有する。 In order to solve the above-described problems and achieve the object, a control device for an operating mechanism according to the present disclosure is a control device for an operating mechanism that drives a plurality of links connected via a joint by an actuator, A joint angle acquisition unit that acquires a current joint angle that is a current angle between adjacent links via a joint, and a singular point at which the inverse Jacobian matrix in which the current joint angle is calculated based on the current joint angle diverges When the angle is an angle, a virtual joint angle acquisition unit that calculates a virtual joint angle that is a virtual angle between the links different from the current joint angle by a predetermined displacement angle, and a target movement acceleration of the link. A target acceleration acquisition unit that acquires a target acceleration; and a drive that calculates a drive torque value for driving the actuator based on the target acceleration and the virtual joint angle. A torque value calculation unit, by using the driving torque value as a torque value for driving the actuator, having an actuator control unit for controlling the actuator.
この制御装置は、現在関節角度が特異点角度であっても、特異点角度から変位した、逆ヤコビ行列が発散しない仮想関節角度に基づき、駆動トルク値を適切に算出することができる。従って、この制御装置は、仮想関節角度を算出するだけで、駆動トルク値の出力異常を容易に抑制することができる。また、この制御装置は、目標加速度に基づき駆動トルク値を算出しているため、非定位性の制御となり、自由な動作に対応することが可能となる。 This control device can appropriately calculate the drive torque value based on the virtual joint angle that is displaced from the singular point angle and does not diverge in the inverse Jacobian matrix, even if the current joint angle is the singular point angle. Therefore, this control device can easily suppress the abnormal output of the driving torque value only by calculating the virtual joint angle. In addition, since the control device calculates the drive torque value based on the target acceleration, the control device performs non-localization control and can cope with a free operation.
前記制御装置において、前記仮想関節角度取得部は、前記仮想関節角度である場合の前記リンク同士の距離が、前記現在関節角度である場合の前記リンク同士の距離よりも短くなるように、前記仮想関節角度を算出することが好ましい。この制御装置は、関節が伸びきった場合の特異点においても、駆動トルク値の出力異常を適切に抑制することができる。 In the control device, the virtual joint angle acquisition unit may be configured to set the virtual joint angle such that a distance between the links at the virtual joint angle is shorter than a distance between the links at the current joint angle. It is preferable to calculate the joint angle. This control device can appropriately suppress the abnormal output of the drive torque value even at a singular point when the joint is fully extended.
前記制御装置は、前記現在関節角度に基づき、前記リンクの現在の座標である現在座標を算出する座標算出部を更に有し、前記仮想関節角度取得部は、前記現在座標のうち、少なくとも1つの軸に対応する座標を所定の変位距離だけ変化させた座標である仮想座標を算出する仮想座標算出部と、前記リンクが前記仮想座標に位置すると仮定した場合の前記リンク同士の角度を、前記仮想関節角度として算出する仮想関節角度算出部と、を有することが好ましい。この制御装置は、変位距離だけ関節角度が変位した仮想関節角度に基づき駆動トルク値を算出するため、特異点であっても、駆動トルク値の出力異常を適切に抑制することができる。 The control device further includes a coordinate calculation unit that calculates a current coordinate that is a current coordinate of the link based on the current joint angle, and the virtual joint angle acquisition unit includes at least one of the current coordinates. A virtual coordinate calculation unit that calculates virtual coordinates that are coordinates obtained by changing a coordinate corresponding to an axis by a predetermined displacement distance, and an angle between the links when the links are assumed to be located at the virtual coordinates. A virtual joint angle calculation unit that calculates a joint angle. This control device calculates the drive torque value based on the virtual joint angle in which the joint angle is displaced by the displacement distance, so that even at a singular point, it is possible to appropriately suppress the abnormal output of the drive torque value.
前記制御装置において、前記仮想関節角度取得部は、前記現在関節角度と前記仮想関節角度との関係を記憶する関係記憶部と、前記現在関節角度と前記関係に基づき、前記仮想関節角度を算出する仮想関節角度算出部と、を有し、前記関係は、前記現在関節角度の値に応じて、前記変位角度が異なるものであることが好ましい。この制御装置は、関節角度関係に基づき仮想関節角度を算出するため、駆動トルク値の出力異常を適切に抑制することができる。 In the control device, the virtual joint angle acquisition unit calculates the virtual joint angle based on the current joint angle and the relationship, and a relationship storage unit that stores a relationship between the current joint angle and the virtual joint angle. And a virtual joint angle calculation unit, wherein the relationship is such that the displacement angle differs according to the value of the current joint angle. Since the control device calculates the virtual joint angle based on the joint angle relationship, it is possible to appropriately suppress the abnormal output of the driving torque value.
前記制御装置において、前記仮想関節角度取得部は、前記現在関節角度が前記特異点角度以外の角度である場合、前記変位角度を0として、前記仮想関節角度として前記現在関節角度を用いることが好ましい。この制御装置は、特異点角度である場合に仮想関節角度を用いて出力異常を抑制しつつ、特異点でない場合には、実際の関節角度を用いることで、より正確に出力を行うことができる。 In the control device, when the current joint angle is an angle other than the singular point angle, the virtual joint angle acquisition unit preferably sets the displacement angle to 0 and uses the current joint angle as the virtual joint angle. . This control device can perform more accurate output by using the actual joint angle when it is not a singular point while suppressing the output abnormality using the virtual joint angle when it is the singular point angle. .
前記制御装置において、前記変位角度は、前記現在関節角度が、前記特異点角度から、前記特異点角度と所定の角度だけ離れた特異点近傍角度までの間である場合に、0より大きい値となり、前記現在関節角度が、前記特異点角度から前記特異点近傍角度の範囲外である場合に、0となることが好ましい。この制御装置は、逆ヤコビ行列の値が過大になる特異点近傍角度においても、駆動トルク値の出力異常を抑制することができる。 In the control device, the displacement angle is a value greater than 0 when the current joint angle is between the singularity angle and the singularity near angle separated from the singularity angle by a predetermined angle. It is preferable that the current joint angle be 0 when the current joint angle is out of the range of the singular point angle and the singular point neighboring angle. This control device can suppress the abnormal output of the drive torque value even at an angle near the singular point where the value of the inverse Jacobian matrix becomes excessive.
前記制御装置は、前記変位角度だけ関節角度を変化させた場合の前記リンクの角加速度の変化量を示す係数である補正係数を記憶する補正係数記憶部を更に有し、前記駆動トルク値算出部は、前記目標加速度と前記仮想関節角度と前記補正係数とに基づき、前記駆動トルク値を算出し、前記補正係数は、所定の関節角度である第1基準関節角度に基づき算出された前記リンクの角加速度である第1基準角加速度と、前記第1基準関節角度から前記変位角度だけ異なる第2基準関節角度に基づき算出された前記リンクの角加速度である第2基準角加速度とに基づき算出されることが好ましい。この制御装置は、補正係数で補正して駆動トルク値を算出するため、制御装置は、駆動トルク値の出力異常をより適切に抑制することができる。 The control device further includes a correction coefficient storage unit that stores a correction coefficient that is a coefficient indicating a change amount of the angular acceleration of the link when the joint angle is changed by the displacement angle, and the drive torque value calculation unit Calculates the drive torque value based on the target acceleration, the virtual joint angle, and the correction coefficient, and the correction coefficient is calculated based on a first reference joint angle that is a predetermined joint angle. Calculated based on a first reference angular acceleration that is an angular acceleration and a second reference angular acceleration that is an angular acceleration of the link calculated based on a second reference joint angle different from the first reference joint angle by the displacement angle. Preferably. Since this control device calculates the drive torque value by correcting with the correction coefficient, the control device can more appropriately suppress the output abnormality of the drive torque value.
前記作動機構は、前記関節として、腰関節と膝関節と足首関節とを有し、前記リンクとして、前記腰関節と前記膝関節との間に設けられる大腿リンクと、前記膝関節と前記足首関節との間に設けられる下腿リンクと、前記足首関節の前記下腿リンクと反対側に設けられる足リンクと、を有し、前記アクチュエータにより前記関節を介して隣接するリンクの間でアシスト力を発生させて、装着者の筋力を補助するパワーアシストスーツであって、前記仮想関節角度取得部は、前記膝関節の現在関節角度が特異点角度である場合に、前記腰関節、前記膝関節及び前記足首関節の仮想関節角度を算出することが好ましい。この制御装置は、膝関節が特異点である場合に、適切に出力異常を抑制することができる。 The operating mechanism has a waist joint, a knee joint, and an ankle joint as the joint, and a thigh link provided between the hip joint and the knee joint as the link, the knee joint, and the ankle joint And a leg link provided on the opposite side of the ankle joint from the lower leg link, and the actuator generates an assist force between adjacent links via the joint by the actuator. A power assist suit for assisting a wearer's muscular strength, wherein the virtual joint angle acquisition unit is configured to control the waist joint, the knee joint, and the ankle when a current joint angle of the knee joint is a singular point angle. It is preferable to calculate a virtual joint angle of the joint. This control device can appropriately suppress the output abnormality when the knee joint is a singular point.
本発明によれば、特異点角度における出力異常を容易に回避し、かつ、自由な動作に対応することができる。 According to the present invention, it is possible to easily avoid an output abnormality at a singular point angle and to cope with a free operation.
以下に添付図面を参照して、本発明の好適な実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではなく、また、実施形態が複数ある場合には、各実施例を組み合わせて構成するものも含むものである。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the present invention is not limited by the embodiment, and when there are a plurality of embodiments, the invention includes a combination of the embodiments.
(第1実施形態)
図1は、第1実施形態に係るパワーアシストスーツを表す概略図である。図2は、第1実施形態に係るパワーアシストスーツの装着状態を表す正面図である。図3は、第1実施形態に係るパワーアシストスーツの装着状態を表す側面図である。
(1st Embodiment)
FIG. 1 is a schematic diagram illustrating a power assist suit according to the first embodiment. FIG. 2 is a front view illustrating a mounted state of the power assist suit according to the first embodiment. FIG. 3 is a side view illustrating the mounted state of the power assist suit according to the first embodiment.
(パワーアシストスーツの概要)
パワーアシストスーツ10は、関節を介して連結された複数のリンクをアクチュエータにより駆動する作動機構である。より具体的には、パワーアシストスーツ10は、複数のリンクが関節を介して連結され、関節を介して連結された隣接するリンクの間でアシスト力を発生するアクチュエータを駆動して、装着した装着者の筋力を補助する作動機構である。図1から図3に示すように、パワーアシストスーツ10は、装着者の腰に装着される腰パーツ11と、肩に装着される肩パーツ12と、脚に装着される脚パーツ13A、13Bとを有している。
(Overview of power assist suit)
The
腰パーツ11は、腰装着部21と、給電装置22と、大腿駆動機構23A、23Bとを有する。腰装着部21は、パワーアシストスーツ10の装着者、すなわちパワーアシストスーツを装着する者(装着者)の腰の周囲に位置するように形成された、C形リング形状の部材である。給電装置22は、腰装着部21に取り付けられており、装着者の背中側に配置される。
The
給電装置22は、パワーアシストスーツ10が備える制御装置1及びアクチュエータ等の機器類に電力を供給する装置である。本実施形態において、給電装置22は、パワーアシストスーツ10の外部の電源22Bから、電線22Cを介して電力の供給を受ける。給電装置22は、外部の電源22Bからの電力を、パワーアシストスーツ10が備える機器類に適した電圧等に変換してこれらに供給する。外部の電源22Bは、例えば、AC(Alternating Current)電源である。給電装置22は外部の電源22Bから電力の供給を受ける装置に限定されるものではなく、例えば、パワーアシストスーツ10に搭載される蓄電器から電力の供給を受ける装置であってもよい。
The
大腿駆動機構23A、23Bは、腰装着部21の下方に連結されており、それぞれ装着者の左右の側部に配置されている。大腿駆動機構23A、23Bは、パワーアシストスーツ10の腰関節に相当する。大腿駆動機構23Aは、脚パーツ13Aの大腿装着部41Aを腰装着部21に対して所定の軸線Ywlの周りを回動させることで、左脚の大腿の動作に応じて筋力を補助するものである。大腿駆動機構23Bは、脚パーツ13Bの大腿装着部41Bを腰装着部21に対して所定の軸線Ywrの周りを回動させることで、右脚の大腿の動作に応じて筋力を補助するものである。
The
肩パーツ12は、背装着部31と、装着者の左右の肩に掛止するように配置される左肩装着部32A及び右肩装着部32Bとを有する。左肩装着部32A及び右肩装着部32Bは、装着者の背中側に配置される背装着部31によって腰パーツ11の腰装着部21に連結されている。
The
脚パーツ13A、13Bは、左脚及び右脚に対応して配置されている。左脚に対応する脚パーツ13Aは、大腿装着部41Aと、下腿装着部42Aと、足装着部43Aと、下腿駆動機構45Aと、脚駆動制御装置46Aとを有する。
The
大腿装着部41Aは、装着者の左脚の大腿に沿って配置され、下腿装着部42Aは、装着者の左脚の下腿に沿って配置される。大腿装着部41Aは、パワーアシストスーツ10の大腿リンクに相当し、下腿装着部42Aは、パワーアシストスーツ10の下腿リンクに相当する。大腿装着部41Aの一端部は、腰パーツ11の腰装着部21に回動可能に連結されている。下腿装着部42Aの一端部は、大腿装着部41Aの他端部に回動可能に連結されており、下腿装着部42Aの他端部は、回動軸47Aにより足装着部43Aに回動可能に連結されている。足装着部43Aは、装着者の左足部(左足首から下の部分)に装着される靴部である。回動軸47Aはパワーアシストスーツ10の足首関節に相当し、足装着部43Aはパワーアシストスーツ10の足リンクに相当する。
The
下腿駆動機構45Aは、大腿装着部41Aの他端部に取り付けられている。下腿駆動機構45Aは、下腿駆動機構45Aを大腿装着部41Aに対して所定の軸線Ynlの周りを回動させることで、筋力を補助する。下腿駆動機構45Aは、パワーアシストスーツ10の膝関節に相当する。脚駆動制御装置46Aは、大腿装着部41Aに取り付けられており、大腿駆動機構23A及び下腿駆動機構45Aの動作を制御する。脚駆動制御装置46A、大腿駆動機構23A及び下腿駆動機構45Aは、給電装置22から電力が供給される。
The lower
右脚に対応する脚パーツ13Bは、脚パーツ13Aと同様に、大腿装着部41Bと、下腿装着部42Bと、足装着部43Bと、下腿駆動機構45Bと、脚駆動制御装置46Bとを有する。
Like the
大腿装着部41Bは、装着者の右脚の大腿に沿って配置され、下腿装着部42Bは、装着者の右脚の下腿に沿って配置される。大腿装着部41Bは、パワーアシストスーツ10の大腿リンクに相当し、下腿装着部42Bは、パワーアシストスーツ10の下腿リンクに相当する。大腿装着部41Bの一端部は、腰パーツ11の腰装着部21に回動可能に連結されている。下腿装着部42Bの一端部は、大腿装着部41Bの他端部に回動可能に連結されており、下腿装着部42Bの他端部は、回動軸47Bにより足装着部43Bに回動可能に連結されている。足装着部43Bは、装着者の右足部(右足首から下の部分)に装着される靴部として形成されている。回動軸47Bはパワーアシストスーツ10の足首関節に相当し、足装着部43Bはパワーアシストスーツ10の足リンクに相当する。
The
下腿駆動機構45Bは、大腿装着部41Bの他端部に取り付けられている。下腿駆動機構45Bは、下腿駆動機構45Bを大腿装着部41Bに対して所定の軸線Ynrの周りを回動させることで、筋力を補助するものである。下腿駆動機構45Bは、パワーアシストスーツ10の膝関節に相当する。脚駆動制御装置46Bは、大腿装着部41Bに取り付けられており、大腿駆動機構23B及び下腿駆動機構45Bの動作を制御する。脚駆動制御装置46B、大腿駆動機構23B及び下腿駆動機構45Bは、給電装置22から電力が供給される。
The lower
大腿駆動機構23A、23B及び下腿駆動機構45A、45Bは、それぞれアクチュエータを備えている。本実施形態において、これらが備えるアクチュエータは電動機であるが、これに限定されない。本実施形態において、それぞれの脚パーツ13A、13Bは、大腿駆動機構23A、23B及び下腿駆動機構45A、45Bを備えているので、制御軸は2軸である。本実施形態において、パワーアシストスーツ10が備える制御軸は、1つの脚パーツ13A又は脚パーツ13Bあたりにおいて2軸に限定されるものではない。
The
図2に示すように、足装着部43Aの底部、すなわち靴底には、荷重検出装置44Aが設けられている。また、足装着部43Bの底部、すなわち靴底には、荷重検出装置44Bが設けられている。荷重検出装置44A、44Bは、足装着部43A、43Bに作用する荷重、すなわち装着者の足底荷重を検出する。本実施形態において、荷重検出装置44A、44Bは、例えば、6軸のロードセルであるが、これに限定されるものではない。以下において、荷重検出装置44A、44Bを区別しない場合、適宜荷重検出装置44という。
As shown in FIG. 2, a
本実施形態において、背装着部31の背面には、制御装置1が設けられている。制御装置1は、例えば、マイクロコンピュータである。制御装置1は、荷重検出装置44A、44Bの検出値に基づいて、各リンク、すなわち、大腿駆動機構23A、23B、下腿駆動機構45A、45B、及び足装着部43A、43Bの動作を制御する。脚駆動制御装置45A、45Bは、制御装置1からの指令に基づいて、大腿駆動機構23A、23Bのアクチュエータ、下腿駆動機構45A、45Bのアクチュエータ、及び足装着部43A、43Bのアクチュエータを駆動する。本実施形態において、脚駆動制御装置46A、46Bは、電動機を制御するモータードライバである。次に、制御装置1について説明する。
In the present embodiment, the
(制御装置について)
図4は、第1実施形態に係る制御装置のブロック図である。図4に示すように、制御装置1は、第1制御部1Aと、第2制御部1Bと、アクチュエータ制御部1Cとを有する。第1制御部1Aは、パワーアシストスーツ10の自重を受け持つ制御、及びパワーアシストスーツ10の装着者の脚に作用する負荷を補助する制御のためのトルクを算出する。後者の制御は、例えば、パワーアシストスーツ10の装着者が物体を持つ際に、物体の質量による負荷をパワーアシストスーツ10のリンク機構で受ける制御である。一方、第2制御部1Bは、リンクを目標加速度で移動させるためのトルクである駆動トルク値τ1を算出する。第1制御部1Aが算出するトルク値を保持トルク値τ2とすると、アクチュエータ制御部1Cは、駆動トルク値τ1及び保持トルク値τ2を取得して、それらのトルク値を合計して、アクチュエータを駆動する。
(About the control device)
FIG. 4 is a block diagram of the control device according to the first embodiment. As shown in FIG. 4, the
以下、アクチュエータを駆動するためのトルク値についてより詳細に説明する。アクチュエータを実際に駆動するトルク値、すなわちアクチュエータが出力するトルク値を総トルク値τ0とすると、総トルク値τ0は、一般的に次の式(1)で表される。 Hereinafter, the torque value for driving the actuator will be described in more detail. Assuming that a torque value that actually drives the actuator, that is, a torque value output by the actuator is a total torque value τ0, the total torque value τ0 is generally represented by the following equation (1).
τ0=M・θ”+h(θ,θ’)+g(θ) ・・・(1) τ0 = M · θ ″ + h (θ, θ ′) + g (θ) (1)
ここで、Mはリンクの慣性モーメントであり、関節角度θから算出される値である。θ’は関節角速度であり、θ”は関節角加速度である。M・θ”は、第2制御部1Bによって算出される駆動トルク値τ1である。g(θ)は、重力に関連する項であり、第1制御部1Aによって算出される保持トルク値τ2である。h(θ,θ’)は、コリオリ力に対応する項であり、総トルク値τ0に対する寄与率が低いため、本実施形態では無視される。すなわち、本実施形態において、アクチュエータ制御部1Cは、駆動トルク値τ1及び保持トルク値τ2の合計値を、総トルク値τ0として算出し、その総トルク値τ0で、アクチュエータを駆動する。ただし、アクチュエータ制御部1Cは、h(θ,θ’)についても算出し、駆動トルク値τ1と保持トルク値τ2とh(θ,θ’)との合計値を総トルク値τ0として算出してもよい。
Here, M is a moment of inertia of the link, and is a value calculated from the joint angle θ. θ ′ is a joint angular velocity, θ ″ is a joint angular acceleration. M · θ ″ is a drive torque value τ1 calculated by the
さらに言えば、駆動トルク値τ1は、関節角加速度θ”に関連するトルクであり、リンクの目標とする移動加速度である目標加速度を実現するためのトルクである。言い換えれば、駆動トルク値τ1は、装着者の移動を補助するために先んじてリンクを動かすためのトルク値である。また、保持トルク値τ2は、関節角度θに関連するトルクであり、パワーアシストスーツ10の自重や負荷を支えるためのトルクである。従って、アクチュエータ制御部1Cは、装着者の移動を補助するためのトルク(駆動トルク値τ1)と、重さを支えるためのトルク(保持トルク値τ2)との両方を実現できる総トルク値τ0で、アクチュエータを駆動する。
Furthermore, the driving torque value τ1 is a torque related to the joint angular acceleration θ ″, and is a torque for realizing a target acceleration that is a target moving acceleration of the link. In other words, the driving torque value τ1 is The holding torque value τ2 is a torque related to the joint angle θ and supports the weight and load of the
次に、駆動トルク値τ1の算出式について説明する。ここで、リンクの速度x’と関節角速度θ’とは、ヤコビ行列Jを用いて、次の式(2)のような関係で表される。式(2)の両辺を微分すると式(3)のようになり、それを関節角加速度θ”でまとめると式(4)のようになる。 Next, a calculation formula of the drive torque value τ1 will be described. Here, the link speed x ′ and the joint angular speed θ ′ are expressed by the following equation (2) using the Jacobian matrix J. Equation (3) is obtained by differentiating both sides of equation (2), and is summarized as equation (4) by summing them up with joint angular acceleration θ ″.
x’=J・θ’ ・・・(2)
x”=J’・θ’+J・θ” ・・・(3)
θ”-=J#(x”−J’・θ’) ・・・(4)
x ′ = J · θ ′ (2)
x ″ = J ′ · θ ′ + J · θ ″ (3)
θ ″ − = J # (x ″ −J ′ · θ ′) (4)
なお、式(3)におけるx”は直交三次元空間座標における加速度ベクトルであり、J’はヤコビ行列Jの一次微分値である。また、式(4)におけるJ#は、ヤコビ行列Jが正方行列でない場合におけるヤコビ行列Jの逆行列である。駆動トルク値τ1は、式(4)の右辺をM・θ”に代入すると、一般的に、次の式(5)のように求められる。 In the expression (3), x ″ is an acceleration vector in orthogonal three-dimensional space coordinates, J ′ is a first-order differential value of the Jacobi matrix J. J # in the expression (4) is a square of the Jacobi matrix J This is the inverse matrix of the Jacobi matrix J when the matrix is not a matrix.The drive torque value τ1 is generally obtained by the following equation (5) by substituting the right side of equation (4) into M · θ ″.
τ1=M・J#(x”−J’・θ’) ・・・(5) τ1 = M · J # (x ″ −J ′ · θ ′) (5)
ヤコビ行列Jの逆行列であるJ#は、特異点において、detJ=0となってしまうためゼロ割が発生し、値が発散する。この特異点における関節角度θを特異点角度とすると、特異点角度は、例えば関節が伸びきった関節角度である。また、特異点角度でなくても、特異点角度の近傍の場合、detJが小さい値となるため、detJを分母に持つJ#の値も大きくなる。従って、J#に基づき算出される駆動トルク値τ1は、特異点角度や特異点角度の近傍で、値が算出できなかったり、パワーアシストスーツ10の出力可能なトルク値を超えてしまったりするなどのおそれがある。すなわち、この場合、トルク値の出力過大に起因する出力異常が生じるおそれがある。本実施形態に係る第2制御部1Bは、特異点角度やその近傍において、算出する駆動トルク値τ1を、後述する仮想関節角度を用いて算出することで、特異点角度における駆動トルク値τ1の出力異常を回避する。なお、保持トルク値τ2は、負荷及び自重と、関節角度θとに基づき算出することができるため、ヤコビ行列Jの逆行列を用いて算出する必要がない。従って、保持トルク値τ2は、特異点であっても算出することができる。
J # , which is the inverse matrix of the Jacobi matrix J, has detJ = 0 at the singularity, so that zero division occurs and the value diverges. Assuming that the joint angle θ at this singular point is the singular point angle, the singular point angle is, for example, the joint angle at which the joint is fully extended. Even if the angle is not the singular point angle, in the case of the vicinity of the singular point angle, detJ becomes a small value, so that the value of J # having detJ in the denominator also increases. Therefore, the drive torque value τ1 calculated based on J # may not be calculated in the vicinity of the singular point angle or in the vicinity of the singular point angle, or may exceed the output torque value of the
以下、第2制御部1Bについて詳細に説明する。図4に示すように、第2制御部1Bは、関節角度取得部102と、座標算出部104と、仮想関節角度取得部106と、目標加速度取得部108と、駆動トルク値算出部110とを有する。
Hereinafter, the
図5は、現在関節角度及び現在座標を説明するための模式図である。関節角度取得部102は、現在関節角度θ0を取得する。現在関節角度θ0とは、関節を介して隣接するリンク同士の現在の角度である。例えばパワースーツ10が図5に示すような姿勢を取っている場合、腰関節の現在関節角度θ0は、大腿駆動機構23(腰関節)を介して隣接する腰パーツ11(腰リンク)と大腿装着部41(大腿リンク)との間の現在関節角度θ0aである。また、膝関節の現在関節角度θ0は、下腿駆動機構45(膝関節)を介して隣接する大腿装着部41(大腿リンク)と下腿装着部42(下腿リンク)との間の現在関節角度θ0bである。また、足首関節の現在関節角度θ0は、回動軸47(足首関節)を介して隣接する下腿装着部42(下腿リンク)と足装着部43(足リンク)との間の現在関節角度θ0cである。関節角度取得部102は、アクチュエータの制御値などから、各関節の現在関節角度θ0、ここでは現在関節角度θ0a、θ0b、θ0cを取得する。
FIG. 5 is a schematic diagram for explaining the current joint angle and the current coordinates. The joint
図4に示す座標算出部104は、現在関節角度θ0a、θ0b、θ0cに基づき、リンクの現在の座標である現在座標C0を算出する。本実施形態において、現在座標C0は、原点座標Cを原点とした場合の、足装着部43(足リンク)の足先(爪先)の座標である。本実施形態においては、原点座標Cは、回動軸47(足首関節)の座標である。原点座標Cは、x方向、z方向、及びφ方向の3方向で規定した座標である。図5に示すように、z方向は、原点座標Cから大腿駆動機構23(腰関節)に向かう方向である。x方向は、z方向と直交する方向であり、パワーアシストスーツ10の前後方向である。φ方向は、原点座標Cと足装着部43(足リンク)の足先との角度である。ここでは、x方向座標、z方向座標、φ方向座標の順に、原点座標Cを(0,0,0)とし、現在座標C0を(x0、z0、φ0)とする。なお、現在座標C0は、足装着部43(足リンク)の座標であることが好ましいが、足リンク以外のリンクの任意の位置であってよい。現在関節角度θ0a、θ0b、θ0c及び各リンクの長さが分かっているので、座標算出部104は、足リンク以外のリンクのいずれの位置の座標も算出可能である。
The coordinate
図4に示す仮想関節角度取得部106は、現在関節角度θ0が特異点角度である場合に、現在関節角度θ0から所定の変位角度Δθだけ異なったリンク同士の仮想の角度である仮想関節角度θ1を算出する。特異点角度とは、上述のように特異点である場合の関節角度である。従って、現在関節角度θ0に基づいて算出される逆ヤコビ行列が発散する場合に、その現在関節角度θ0は、特異点角度であるということができる。パワーアシストスーツ10の場合、膝関節が特異点角度である場合に、装着者の移動を補助するための駆動トルクτ1が無限大となり出力異常となる。仮想関節角度取得部106は、膝関節の角度、すなわち、現在関節角度θ0bが特異点角度である場合に、現在関節角度θ0bから所定の変位角度Δθbだけ異なったリンク同士の仮想の角度である仮想関節角度θ1bを算出する。現在関節角度θ0bは、0°、すなわち膝が伸びきった場合が特異点角度である。
When the current joint angle θ0 is a singular point angle, the virtual joint
仮想関節角度取得部106は、現在関節角度θ0bが特異点角度である場合に、仮想関節角度θ1bを算出する。従って、膝関節の角度である現在関節角度θ0bは、全ての関節のうち、特異点問題による出力異常を回避する対象の関節である、特異点回避現在関節角度θ0bであると言い換えることができる。ただし、仮想関節角度取得部106は、現在関節角度θ0bだけでなく、他の現在関節角度θ0、例えば現在関節角度θ0a、θ0cが特異点角度である場合にも、仮想関節角度θ1を算出してもよい。以下、仮想関節角度θ1bの算出について詳細に説明する。
The virtual joint
仮想関節角度取得部106は、仮想座標算出部120及び仮想関節角度算出部122を有する。仮想座標算出部120は、現在座標C0の1つの方向(軸)に対応する座標のみを所定の変位距離εだけ変化させた仮想座標C1を算出する。図6は、仮想座標及び仮想関節角度を説明するための模式図である。図6に示すように、仮想座標算出部120は、現在座標C0のうち、z方向に対応する座標のみを変位距離εだけ変化させた仮想座標C1を算出する。εは、予め定められた所定の距離である。εの値は、例えば下腿装着部42の長さの5%以上10%以下である。ただし、εの値は、特異点角度にある場合にこのεの値だけ座標を変化させた場合に、その座標により算出されたトルク値が出力可能なトルク値を上回らないように設定されるものであれば、任意の値とすることができる。出力可能なトルク値は、リンク長やモータ定格出力など、パワーアシストスーツ10の性能やその制御性に応じて異なるものである。従って、εの値は、パワーアシストスーツ10の性能や動かしたい制御性に基づき任意に設定することができる。
The virtual joint
仮想座標算出部120は、座標z0から変位距離εを差し引いて、座標が(x0、z0−ε、φ0)である仮想座標C1を算出する。すなわち、仮想座標算出部120は、現在座標C0のz方向の座標z0を、下腿駆動機構45(膝関節)の方向、すなわち仮想関節角度θ1bを算出する関節に向かって、変位距離εだけ移動させて、仮想座標C1を算出する。言い換えれば、仮想座標算出部120は、現在座標C0を、z方向に沿って変位距離εだけ脚を縮める方向に移動させた仮想座標C1を算出する。なお、仮想座標算出部120は、少なくとも1つの方向(軸)に対応する座標を変位距離εだけ変化させればよく、2方向以上の座標を変化させて、仮想座標C1を算出してもよい。この場合、変位距離εは、方向毎に定められる。
The virtual coordinate
仮想関節角度算出部122は、リンクが仮想座標C1に位置すると仮定した場合のリンク同士の角度を、仮想関節角度θ1として算出する。本実施形態では、仮想関節角度算出部122は、実際には現在座標C0に位置している足装着部43の足先が、仮想座標C1に位置していると仮定した場合の、各関節の関節角度を、仮想関節角度θ1として算出する。さらに言えば、仮想関節角度算出部122は、仮想座標C1の座標(x0、z0−ε、φ0)に基づき、腰関節の仮想関節角度θ1aと膝関節の仮想関節角度θ1bと足首関節の仮想関節角度θ1cとを算出する。腰関節の関節角度は実際には現在関節角度θ0aであるため、仮想関節角度θ1aは、腰関節の仮想の関節角度であるということができる。仮想関節角度θ1b及び仮想関節角度θ1cも、同様に、それぞれ膝関節及び足首関節の仮想の関節角度である。なお、仮想座標C1及び各リンクの長さが分かっているので、仮想関節角度算出部122は、仮想座標C1に基づき、仮想関節角度θ1a、θ1b、θ1cを算出することができる。
The virtual joint
仮想関節角度θ1bは、現在座標C0を変位距離εだけ移動させた仮想座標C1に基づき算出されたものである。そのため、仮想関節角度θ1bは、実際の関節角度である現在関節角度θ0bから、変位角度Δθbだけ異なった角度であるということができる。さらに、仮想座標C1は、現在座標C0を下腿駆動機構45(膝関節)に向かって移動させたものである。従って、仮想関節角度θ1bである場合の、下腿駆動機構45に連結するリンク同士の距離、すなわち大腿装着部41(大腿リンク)と下腿装着部42(下腿リンク)との間の距離は、現在座標C0である場合の大腿装着部41(大腿リンク)と下腿装着部42(下腿リンク)との間の距離よりも、短い。言い換えれば、仮想座標算出部120及び仮想関節角度算出部122は、仮想関節角度θ1bである場合の下腿駆動機構45に連結するリンク同士の距離が、仮想関節角度θ1bである場合の下腿駆動機構45に連結するリンク同士の距離よりも短くなるように、仮想関節角度θ1bを算出している。また、仮想関節角度θ1bは、現在関節角度θ0bから、変位角度Δθbだけ角度が大きく、すなわち変位角度Δθbだけ膝をより曲げた角度になっているということもできる。
The virtual joint angle θ1b is calculated based on the virtual coordinates C1 obtained by moving the current coordinates C0 by the displacement distance ε. Therefore, it can be said that the virtual joint angle θ1b is different from the current joint angle θ0b, which is the actual joint angle, by the displacement angle Δθb. Further, the virtual coordinates C1 are obtained by moving the current coordinates C0 toward the lower leg drive mechanism 45 (knee joint). Accordingly, in the case of the virtual joint angle θ1b, the distance between the links connected to the lower
以上のように、仮想座標算出部120及び仮想関節角度算出部122は、現在関節角度θ0bが、特異点角度である場合に、仮想座標C1及び仮想関節角度θ1a、θ1b、θ1cを算出するものであるが、特異点角度でない場合でも、同様に仮想座標C1及び仮想関節角度θ1a、θ1b、θ1cを算出する。
As described above, the virtual coordinate
図4に示す目標加速度取得部108は、リンクの目標とする移動加速度である目標加速度aを取得する。本実施形態においては、目標加速度取得部108は、足装着部43(足リンク)の目標とする移動加速度を、目標加速度aとして取得する。本実施形態においては、目標加速度取得部108は、装着者の足底荷重値の変化量に基づき、目標加速度aを算出する。具体的には、目標加速度取得部108は、荷重検出装置44が逐次検出した装着者の足底荷重値を取得し、取得した足底荷重値に基づき、足底荷重値の変化量を算出する。荷重検出装置44が検出した装着者の足底荷重値を足底荷重値Fとすると、目標加速度取得部108は、足底荷重値Fの時間tでの一階微分値に対応する荷重値変化量f(F)を算出する。荷重値変化量f(F)は、足底荷重値Fの変化量である。ただし、目標加速度取得部108による足底荷重値の変化量の算出方法は、足底荷重値Fの変化量を一階微分で算出することに限られず、例えば、今回取得された足底荷重値Fと前回取得された足底荷重値Fとの差分を、足底荷重値の変化量としてもよい。
The target
目標加速度取得部108は、次の式(6)に示すように、補正係数Kと荷重値変化量f(F)とを乗じて、その乗じた値にマイナスを乗じることにより、目標加速度aを算出する。
The target
a=−K・f(F) ・・・(6) a = −K · f (F) (6)
ここで、Kは予め定められた所定の係数である。目標加速度aは、荷重値変化量f(F)に対してマイナスが乗じられている。従って、目標加速度取得部108は、足底荷重値Fが増加した場合に、足を下げる又は踏ん張る方向へ加速度を発生させるように、目標加速度aを算出する。また、目標加速度取得部108は、足底荷重値Fが減少した場合に、足を上げる方向へ加速度を発生させるように、目標加速度aを算出する。
Here, K is a predetermined coefficient. The target acceleration a is obtained by multiplying the load value change amount f (F) by minus. Therefore, when the sole load value F increases, the target
目標加速度取得部108は、足底荷重値Fの変化量に基づき目標加速度aを算出するものであるが、目標加速度aを取得するものであれば、目標加速度aの取得方法は、これに限られず任意である。なお、パワーアシストスーツ10の制御において、厳密な定位性は不要である。装着者の体格等に応じて到達させたい位置目標は異なるためである。一方、バネとして制御を定義すると位置拘束となり、パワーアシストスーツ10を装着した装着者の意図と異なる動作に対して剛性を持った動きになる可能性がある。そこで、第2制御部1Bは、目標加速度aに基づき駆動トルクτ1を算出するため、力の入力に対してパワーアシストスーツ10の足先の絶対的な位置が決まらないように、非定位性の制御を実現している。すなわち、第2制御部1Bは、位置制御ループを有していない。
The target
図4に示す駆動トルク値算出部110は、目標加速度aと仮想関節角度θ1a、θ1b、θ1cとに基づき、駆動トルク値τ1を算出する。駆動トルク値算出部110は、式(5)の加速度x”を目標加速度aに置き換え、次の式(7)により駆動トルク値τ1を算出する。 4 calculates a drive torque value τ1 based on the target acceleration a and the virtual joint angles θ1a, θ1b, θ1c. The drive torque value calculation unit 110 replaces the acceleration x ″ in Expression (5) with the target acceleration a, and calculates the drive torque value τ1 according to the following Expression (7).
τ1=M・J#(a−J’・θ’) ・・・(7) τ1 = M · J # (a−J ′ · θ ′) (7)
具体的には、駆動トルク値算出部110は、仮想関節角度θ1a、θ1b、θ1cを用いて、J#を算出する。仮想関節角度θ1bは、現在関節角度θ0bから変位角度Δθbだけ変位させた角度であるため、逆ヤコビ行列であるJ#が発散しない。従って、駆動トルク値算出部110は、現在関節角度θ0bが特異点角度であっても、逆ヤコビ行列が発散しない仮想関節角度θ1bに基づき、駆動トルク値τ1を適切に算出することができる。なお、駆動トルク値算出部110は、J’・θ’については、実際の関節角度、すなわち現在関節角度θ0a、θ0b、θ0cを用いて算出する。 Specifically, the drive torque value calculation unit 110 calculates J # using the virtual joint angles θ1a, θ1b, and θ1c. Since the virtual joint angle θ1b is an angle displaced from the current joint angle θ0b by the displacement angle Δθb, the inverse Jacobian matrix J # does not diverge. Therefore, the drive torque value calculation unit 110 can appropriately calculate the drive torque value τ1 based on the virtual joint angle θ1b at which the inverse Jacobian matrix does not diverge, even if the current joint angle θ0b is a singular point angle. The drive torque value calculation unit 110 calculates J ′ · θ ′ using the actual joint angles, that is, the current joint angles θ0a, θ0b, and θ0c.
式(4)に示すように、J#(a−J’・θ’)は、加速度x”を目標加速度aとした場合の角加速度であるため、J#(a−J’・θ’)は、リンクを移動させる目標とする角加速度である、目標角加速度ということができる。 As shown in equation (4), J # (a -J '· θ') are the angular acceleration when the acceleration x "and the target acceleration a, J # (a-J '· θ') Can be referred to as a target angular acceleration, which is a target angular acceleration for moving the link.
駆動トルク値決定部142は、決定した駆動トルク値τ1の情報をアクチュエータ制御部1Cに伝達する。アクチュエータ制御部1Cは、駆動トルク値決定部142から取得した駆動トルク値τ1と、第1制御部1Acから取得した保持トルク値τ2の合計値を、総トルク値τ0として算出し、その総トルク値τ0で、アクチュエータを駆動する。
The drive torque
次に、フローチャートを用いて、駆動トルク値τ1の算出フローを説明する。図7は、第1実施形態に係る駆動トルク値の算出フローを説明するフローチャートである。図7に示すように、第2制御部1Bは、関節角度取得部102により、現在関節角度θ0a、θ0b、θ0cを取得し(ステップS10)、座標算出部104により、現在関節角度θ0a、θ0b、θ0cに基づき現在座標C0を算出する(ステップS12)。
Next, a flow of calculating the drive torque value τ1 will be described using a flowchart. FIG. 7 is a flowchart illustrating a calculation flow of the drive torque value according to the first embodiment. As shown in FIG. 7, the
現在座標C0を算出した後、第2制御部1Bは、仮想座標算出部120により、現在座標C0から変位距離εだけ座標を変化させた仮想座標C1を算出する(ステップS14)。仮想座標算出部120は、現在座標C0のz方向の座標z0を、大腿駆動機構23の方向に向かって、変位距離εだけ移動させて、仮想座標C1を算出する。仮想座標C1を算出した後、第2制御部1Bは、仮想関節角度算出部122により、仮想座標C1から仮想関節角度θ1a、θ1b、θ1cを算出する(ステップS16)。第2制御部1Bは、足装着部43の足先が仮想座標C1に位置していると仮定した場合の各関節の関節角度を、仮想関節角度θ1a、θ1b、θ1cとして算出する。
After calculating the current coordinates C0, the
また、第2制御部1Bは、目標加速度取得部108により、目標加速度aを取得する(ステップS18)。目標加速度取得部108は、例えば上述の式(6)に基づき、目標加速度aを算出する。なお、ステップS18は、後述するステップS20の前に行われれば、その処理順は任意である。
Further, the
仮想関節角度θ1a、θ1b、θ1cと目標加速度aを算出した後、第2制御部1Bは、駆動トルク値算出部110により、目標加速度aと仮想関節角度θ1a、θ1b、θ1cとから、駆動トルク値τ1を算出する(ステップS20)。駆動トルク値算出部110は、上述の式(7)に基づき、駆動トルク値τ1を算出する。駆動トルク値算出部110は、その駆動トルク値τ1をアクチュエータ制御部1Cに伝達する。アクチュエータ制御部1Cは、駆動トルク値算出部110が算出した第1制御部1Aから取得した保持トルク値τ2の合計値を、総トルク値τ0として算出し、その総トルク値τ0で、アクチュエータを駆動する。
After calculating the virtual joint angles θ1a, θ1b, θ1c and the target acceleration a, the
ステップS20の後は、ステップS22に移動し、処理が終了していない場合(ステップS22;No)、ステップS10に戻り、次のタイミングでの現在関節角度を取得し、その後同様の処理を繰り返す。処理が終了した場合(ステップS22;Yes)、本処理を終了する。 After step S20, the process moves to step S22. If the process is not completed (step S22; No), the process returns to step S10, acquires the current joint angle at the next timing, and thereafter repeats the same process. When the processing is completed (Step S22; Yes), the processing is completed.
以上説明したように、本実施形態に係る制御装置1は、関節を介して連結された複数のリンクをアクチュエータにより駆動する作動機構(本実施形態ではパワーアシストスーツ10)の制御装置である。制御装置1は、関節角度取得部102と、仮想関節角度取得部106と、目標加速度取得部108と、駆動トルク値算出部110と、アクチュエータ制御部1Cとを有する。関節角度取得部102は、関節を介して隣接するリンク同士の現在の角度である現在関節角度θ0a、θ0b、θ0cを取得する。仮想関節角度取得部106は、現在関節角度θ0bが特異点角度である場合に、現在関節角度θ0a、θ0b、θ0cから所定の変位角度Δθbだけ異なった仮想関節角度θ1a、θ1b、θ1cを算出する。目標加速度取得部108は、リンクの目標とする移動加速度である目標加速度aを取得する。駆動トルク値算出部110は、目標加速度aと仮想関節角度θ1a、θ1b、θ1cとに基づき、駆動トルク値τ1を算出する。そして、アクチュエータ制御部1Cは、アクチュエータを駆動するトルク値として駆動トルク値τ1を用いて、アクチュエータを制御する。
As described above, the
この制御装置1は、仮想関節角度θ1a、θ1b、θ1cを用いて、駆動トルク値τ1を算出する。仮想関節角度θ1bは、現在関節角度θ0bから変位角度Δθbだけ変位させた角度であるため、駆動トルク値τ1の算出に用いる逆ヤコビ行列が発散しない。従って、制御装置1は、現在関節角度θ0bが特異点角度であっても、逆ヤコビ行列が発散しない仮想関節角度θ1bに基づき、駆動トルク値τ1を適切に算出することができる。従って、制御装置1は、仮想関節角度θ1bを算出するだけで、駆動トルク値τ1の出力異常を容易に抑制することができる。また、この制御装置1は、目標加速度aに基づき駆動トルク値τ1を算出しているため、非定位性の制御となり、自由な動作に対応することが可能となる。
The
仮想関節角度取得部106は、仮想関節角度θ1a、θ1b、θ1cである場合のリンク同士の距離が、現在関節角度θ0a、θ0b、θ0cである場合のリンク同士の距離よりも短くなるように、仮想関節角度θ1a、θ1b、θ1cを算出する。すなわち、制御装置1は、関節が伸びきった場合の特異点に陥った場合、関節を曲げる方向に変位した仮想関節角度を用いて、駆動トルク値τ1を算出する。従って、制御装置1は、関節が伸びきった場合の特異点においても、駆動トルク値τ1の出力異常を適切に抑制することができる。また、関節を曲げる方向、すなわち特異点から遠ざかる方向に変位した仮想関節角度を用いるため、制御装置1は出力異常をより適切に抑制することができる。さらに、例えば歩行動作や屈伸動作で、膝関節が特異点となった場合に、現在関節角度θ0bよりも膝を曲げる方向に変位させた仮想関節角度θ1bを用いて、駆動トルク値τ1を算出する。従って、制御装置1は、足の軌跡に従った駆動トルク値τ1を算出することができる。
The virtual joint
また、制御装置1は、現在関節角度θ0a、θ0b、θ0cに基づき、リンクの現在の座標である現在座標C0を算出する座標算出部104を更に有する。そして、仮想関節角度取得部106は、仮想座標算出部120と仮想関節角度算出部122とを有する。仮想座標算出部120は、現在座標C0のうち、少なくとも1つの軸に対応する座標を所定の変位距離εだけ変化させた座標である仮想座標C1を算出する。仮想関節角度算出部122は、リンクが仮想座標C1に位置すると仮定した場合のリンク同士の角度を、仮想関節角度θ1a、θ1b、θ1cとして算出する。この制御装置1は、変位距離εだけ関節角度が変位した仮想関節角度θ1a、θ1b、θ1cに基づき駆動トルク値τ1を算出するため、特異点であっても、駆動トルク値τ1の出力異常を適切に抑制することができる。
In addition, the
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態に係る制御装置1は、変位距離εを、現在関節角度θ0に応じて変化させる点で、第1実施形態とは異なる。第2実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。
(2nd Embodiment)
Next, a second embodiment will be described. The
図8は、第2実施形態における現在関節角度と変位距離との関係を示すグラフである。第1実施形態においては、変位距離εは予め定められた一定の値であったが、第2実施形態に係る仮想座標算出部120は、現在関節角度θ0bの値に基づき、変位距離εを変化させる。図8の横軸は現在関節角度θ0bであり、縦軸は変位距離εである。図8に示すように、仮想座標算出部120は、現在関節角度θ0bが0°である場合、すなわち特異点角度である場合に、変位距離εの値を、所定の値である変位距離ε1とする。このε1は、第1実施形態で示した変位距離εと同様の値のものである。仮想座標算出部120は、現在関節角度θ0bが0°から閾値角度T1まで大きくなるに従って、変位距離εの値を、連続的に低下させる。仮想座標算出部120は、現在関節角度θ0bが閾値角度T1である場合に、変位距離εの値を0とする。そして、仮想座標算出部120は、現在関節角度θ0bが、閾値角度T1から、閾値角度T1より大きい閾値角度T2までの間は、変位距離εの値を0とする。仮想座標算出部120は、現在関節角度θ0bが閾値角度T2から180°まで大きくなるに従い、変位距離εの値を0から連続的に増加させる。仮想座標算出部120は、現在関節角度θ0bが180°である場合、すなわち特異点角度である場合に、変位距離εの値を変位距離ε1とする。
FIG. 8 is a graph showing the relationship between the current joint angle and the displacement distance in the second embodiment. In the first embodiment, the displacement distance ε is a predetermined constant value. However, the virtual coordinate
閾値角度T1及び閾値角度T2は、予め定められた値である。閾値角度T1は、例えば、1°以上5°以下であり、閾値角度T2は、175°以上179°以下である。ただし、閾値角度T1及び閾値角度T2は、現在関節角度θ0bが閾値角度T1と閾値角度T2との間である場合に、算出されたトルク値が出力可能なトルク値を上回らないように設定されるものであれば、任意の値とすることができる。出力可能なトルク値は、リンク長やモータ定格出力など、パワーアシストスーツ10の性能やその制御性に応じて異なるものである。従って、閾値角度T1及び閾値角度T2の値は、パワーアシストスーツ10の性能や動かしたい制御性に基づき任意に設定することができる。また、図8に示すように、変位距離εの値は、現在関節角度θ0bに対する非線形関数であるということができる。ただし、変位距離εの値は、(x02+z02)0.5に対する非線形関数であってもよい。
The threshold angle T1 and the threshold angle T2 are predetermined values. The threshold angle T1 is, for example, 1 ° or more and 5 ° or less, and the threshold angle T2 is 175 ° or more and 179 ° or less. However, the threshold angle T1 and the threshold angle T2 are set so that the calculated torque value does not exceed the outputtable torque value when the current joint angle θ0b is between the threshold angle T1 and the threshold angle T2. Any value can be used. The torque value that can be output differs depending on the performance of the
変位距離εは、閾値角度T1から閾値角度T2までの間、すなわち現在関節角度θ0bが特異点角度でない所定の範囲内の角度である場合に、0となる。変位距離εが0ということは、仮想座標C1は現在座標C0と同じ位置であるため、変位角度Δθが0である。仮想関節角度取得部106は、現在関節角度θ0bが所定の範囲内の角度である場合に、変位距離εを0とすることで変位角度Δθを0とし、仮想関節角度θ1a、θ1b、θ1cとして現在関節角度θ0a、θ0b、θ0cを用いる。そして、駆動トルク値算出部110は、現在関節角度θ0a、θ0b、θ0cの値を用いて駆動トルク値τ1を算出する。
The displacement distance ε is 0 between the threshold angle T1 and the threshold angle T2, that is, when the current joint angle θ0b is an angle within a predetermined range that is not a singular point angle. When the displacement distance ε is 0, the virtual coordinate C1 is at the same position as the current coordinate C0, and thus the displacement angle Δθ is 0. When the current joint angle θ0b is within a predetermined range, the virtual joint
このように、第2実施形態に係る制御装置1は、特異点角度である場合に、変位距離ε1を用いて特異点における出力異常を抑制しつつ、実際の関節角度である現在関節角度θ0a、θ0b、θ0cの値を用いて駆動トルク値τ1を算出する所定の角度範囲を有する。言い換えれば、第2実施形態に係る制御装置1は、現在関節角度θ0bが特異点角度であるかを検出して、特異点角度である場合には仮想関節角度を用いて駆動トルク値τ1を算出し、特異点角度でない所定の範囲内の角度である場合には現在関節角度を用いて駆動トルク値τ1を算出するということもできる。従って、第2実施形態に係る制御装置1は、特異点角度である場合に変位距離ε1を用いて出力異常を抑制しつつ、特異点でない場合には、実際の関節角度を用いることで、より正確に出力を行うことができる。
As described above, the
また、逆ヤコビ行列は、特異点角度でなくても、特異点角度の近傍であって特異点角度から所定の角度だけ離れた特異点近傍角度である場合には、値が過大となる。従って、駆動トルク値τ1の値は、特異点近傍角度でも異常となるおそれがある。第2実施形態に係る制御装置1は、閾値角度T1と閾値角度T2との間を、特異点角度から特異点近傍角度の範囲外としている。第2実施形態に係る制御装置1は、現在関節角度θ0bが特異点角度から特異点近傍角度である場合、すなわち、現在関節角度θ0bが0°以上であって閾値角度T1より小さい範囲、及び現在関節角度θ0bが閾値角度T2より大きく180°以下の範囲である場合に、変位距離εを0より大きくしている。そして、第2実施形態に係る制御装置1は、現在関節角度θ0bが特異点角度から特異点近傍角度の範囲外である場合、すなわち、現在関節角度θ0bが閾値角度T1以上閾値角度T2以下である場合に、変位距離εを0としている。
In addition, the inverse Jacobian matrix has an excessive value if the angle is not a singularity angle but is near the singularity angle and is an angle near the singularity that is separated from the singularity angle by a predetermined angle. Therefore, the value of the drive torque value τ1 may be abnormal even at an angle near the singular point. The
変位距離εが0より大きいと、変位角度Δθは0より大きくなる。従って、第2実施形態において、変位角度Δθは、現在関節角度θ0bが、特異点角度から特異点近傍角度までの間である場合に、0より大きい値となる。そして、変位角度Δθは、現在関節角度θ0bが、特異点角度から特異点近傍角度の範囲外である場合に、0となる。そのため、第2実施形態に係る制御装置1は、逆ヤコビ行列の値が過大になる特異点近傍角度においても、駆動トルク値τ1の出力異常を抑制することができる。
When the displacement distance ε is larger than 0, the displacement angle Δθ becomes larger than 0. Therefore, in the second embodiment, the displacement angle Δθ is a value greater than 0 when the current joint angle θ0b is between the singular point angle and the angle near the singular point. Then, the displacement angle Δθ becomes 0 when the current joint angle θ0b is out of the range of the singular point angle to the singular point neighboring angle. Therefore, the
(第3実施形態)
次に、第3実施形態について説明する。第3実施形態に係る制御装置1aは、予め記憶している現在関節角度と仮想関節角度との関係に基づき仮想関節角度を算出する点で、第1実施形態とは異なる。第3実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。
(Third embodiment)
Next, a third embodiment will be described. The control device 1a according to the third embodiment is different from the first embodiment in that a virtual joint angle is calculated based on a relationship between a current joint angle and a virtual joint angle stored in advance. In the third embodiment, description of portions having the same configuration as the first embodiment will be omitted.
図9は、第3実施形態に係る制御装置のブロック図である。図9に示すように、制御装置1aが有する第2制御部1Baは、仮想関節角度取得部106aを有する。仮想関節角度取得部106aは、関係記憶部121aと仮想関節角度算出部122aとを有する。
FIG. 9 is a block diagram of a control device according to the third embodiment. As shown in FIG. 9, the second control unit 1Ba of the control device 1a has a virtual joint
図10は、第3実施形態における現在関節角度と仮想関節角度との関係を示すグラフである。関係記憶部121aは、現在関節角度θ0bと仮想関節角度θ1bとの関係である関節角度関係を記憶している。図10は、関係記憶部121aが記憶する関節角度関係を示すグラフであり、横軸が現在関節角度θ0bであり、縦軸が仮想関節角度θ1bである。図10に示すように、関節角度関係では、現在関節角度θ0bが0°である場合、すなわち特異点角度である場合に、仮想関節角度θ1bの値がθ1baとなる。θ1baは、例えば、1°以上5°以下である。ただし、θ1baは、仮想関節角度θ1bの値がθ1baである場合に、算出されたトルク値が出力可能なトルク値を上回らないように設定されるものであれば、任意の値とすることができる。出力可能なトルク値は、リンク長やモータ定格出力など、パワーアシストスーツ10の性能やその制御性に応じて異なるものである。従って、θ1baの値は、パワーアシストスーツ10の性能や動かしたい制御性に基づき任意に設定することができる。関節角度関係では、現在関節角度θ0bが0°から閾値角度T3まで大きくなるに従って、仮想関節角度θ1bの値が、θ1baからθ1bbまで連続的に増加する。θ1bbは、閾値角度T3と同じ値である。すなわち、現在関節角度θ0bが0°以上であって閾値角度T3より小さい場合、仮想関節角度θ1bは、対応する現在関節角度θ0bの値より大きくなる。そして、現在関節角度θ0bが閾値角度T3である場合、仮想関節角度θ1bの値が現在関節角度θ0bと同じになる。
FIG. 10 is a graph showing the relationship between the current joint angle and the virtual joint angle in the third embodiment. The
関節角度関係は、現在関節角度θ0bが閾値角度T3から閾値角度T4まで大きくなるに従って、仮想関節角度θ1bの値が、θ1bbからθ1bcまで直線的に増加する。θ1bcは、閾値角度T4と同じ値である。すなわち、関節角度関係は、現在関節角度θ0bが閾値角度T3から閾値角度T4の間は、仮想関節角度θ1bが現在関節角度θ0bと同じ値になる。 As for the joint angle relationship, as the current joint angle θ0b increases from the threshold angle T3 to the threshold angle T4, the value of the virtual joint angle θ1b linearly increases from θ1bb to θ1bc. θ1bc is the same value as the threshold angle T4. That is, as for the joint angle relationship, the virtual joint angle θ1b has the same value as the current joint angle θ0b when the current joint angle θ0b is between the threshold angle T3 and the threshold angle T4.
関節角度関係は、現在関節角度θ0bが閾値角度T4から180°まで大きくなるに従って、仮想関節角度θ1bの値が、θ1bcからθ1bdまで連続的に増加する。θ1bdは、180°より小さい値であり、例えば175°以上179°以下である。ただし、θ1bdは、仮想関節角度θ1bの値がθ1bdである場合に、算出されたトルク値が出力可能なトルク値を上回らないように設定されるものであれば、任意の値とすることができる。出力可能なトルク値は、リンク長やモータ定格出力など、パワーアシストスーツ10の性能やその制御性に応じて異なるものである。従って、θ1bdの値は、パワーアシストスーツ10の性能や動かしたい制御性に基づき任意に設定することができる。すなわち、現在関節角度θ0bが閾値角度T4より大きく180°以下である場合、仮想関節角度θ1bは、対応する現在関節角度θ0bの値より小さくなる。
Regarding the joint angle relationship, as the current joint angle θ0b increases from the threshold angle T4 to 180 °, the value of the virtual joint angle θ1b continuously increases from θ1bc to θ1bd. θ1bd is a value smaller than 180 °, for example, 175 ° or more and 179 ° or less. However, θ1bd can be any value as long as the calculated torque value is set so as not to exceed the outputtable torque value when the value of the virtual joint angle θ1b is θ1bd. . The torque value that can be output differs depending on the performance of the
変位角度Δθは、現在関節角度θ0bと仮想関節角度θ1bとの差である。従って、変位角度Δθは、現在関節角度θ0bが閾値角度T3から閾値角度T4までの間は0であり、それ以外では、0より大きい値となる。すなわち、関節角度関係は、現在関節角度θ0bの値に応じて、変位角度Δθが異なるものであるということができる。なお、閾値角度T3及び閾値角度T4は、予め定められた値である。閾値角度T3は、例えば1°以上5°以下であり、閾値角度T4は、例えば175°以上179°以下である。ただし、閾値角度T3及び閾値角度T4は、現在関節角度θ0bが閾値角度T3と閾値角度T4との間である場合に、算出されたトルク値が出力可能なトルク値を上回らないように設定されるものであれば、任意の値とすることができる。出力可能なトルク値は、リンク長やモータ定格出力など、パワーアシストスーツ10の性能やその制御性に応じて異なるものである。従って、閾値角度T3及び閾値角度T4の値は、パワーアシストスーツ10の性能や動かしたい制御性に基づき任意に設定することができる。
The displacement angle Δθ is the difference between the current joint angle θ0b and the virtual joint angle θ1b. Accordingly, the displacement angle Δθ is 0 when the current joint angle θ0b is between the threshold angle T3 and the threshold angle T4, and is a value larger than 0 otherwise. That is, it can be said that the joint angle relationship is such that the displacement angle Δθ differs depending on the value of the current joint angle θ0b. Note that the threshold angle T3 and the threshold angle T4 are predetermined values. The threshold angle T3 is, for example, 1 ° or more and 5 ° or less, and the threshold angle T4 is, for example, 175 ° or more and 179 ° or less. However, the threshold angle T3 and the threshold angle T4 are set so that the calculated torque value does not exceed the outputtable torque value when the current joint angle θ0b is between the threshold angle T3 and the threshold angle T4. Any value can be used. The torque value that can be output differs depending on the performance of the
仮想関節角度算出部122aは、この関節角度関係に基づき、取得した現在関節角度θ0bの値における仮想関節角度θ1bの値を算出する。仮想関節角度算出部122aは、この仮想関節角度θ1bの値に基づき、他の全ての仮想関節角度θ1、ここでは仮想関節角度θ1a、θ1cを算出する。仮想関節角度θ1bとリンクの長さと現在座標C0が分かっているため、仮想関節角度算出部122aは、仮想関節角度θ1bの値に基づき、仮想関節角度θ1a、θ1cを算出することができる。すなわち、第3実施形態における第2制御部1Baは、仮想座標C1を算出せずに、関節関係角度に基づき、仮想関節角度θ1a、θ1b、θ1cの値を算出する。
The virtual joint
変位角度Δθは、現在関節角度θ0bが閾値角度T3から閾値角度T4までの間、すなわち現在関節角度θ0bが特異点角度でない所定の角度範囲の場合に、0となる。仮想関節角度取得部106aは、現在関節角度θ0bが所定の角度範囲内である場合に、関節角度関係に基づき変位角度Δθを0とし、仮想関節角度θ1a、θ1b、θ1cとして現在関節角度θ0a、θ0b、θ0cを用いる。そして、駆動トルク値算出部110は、現在関節角度θ0bが所定の角度範囲内である場合、現在関節角度θ0a、θ0b、θ0cの値を用いて駆動トルク値τ1を算出する。
The displacement angle Δθ is 0 when the current joint angle θ0b is between the threshold angle T3 and the threshold angle T4, that is, when the current joint angle θ0b is in a predetermined angle range that is not a singular point angle. When the current joint angle θ0b is within a predetermined angle range, the virtual joint
このように、第3実施形態に係る制御装置1aは、特異点角度である場合に、変位角度Δθを0より大きくすることで特異点における出力異常を抑制しつつ、実際の関節角度である現在関節角度θ0a、θ0b、θ0cの値を用いて駆動トルク値τ1を算出する所定の角度範囲を有する。言い換えれば、第3実施形態に係る制御装置1aは、現在関節角度θ0bが特異点角度であるかを検出して、特異点角度である場合には仮想関節角度を用いて駆動トルク値τ1を算出し、所定の角度範囲である場合には現在関節角度を用いて駆動トルク値τ1を算出するということもできる。従って、第3実施形態に係る制御装置1aは、特異点角度である場合に仮想関節角度を用いて出力異常を抑制しつつ、特異点でない場合には、実際の関節角度を用いることで、より正確に出力を行うことができる。 As described above, the control device 1a according to the third embodiment suppresses the output abnormality at the singular point by setting the displacement angle Δθ to be greater than 0 when the singular point is the singular point angle. It has a predetermined angle range for calculating the drive torque value τ1 using the values of the joint angles θ0a, θ0b, θ0c. In other words, the control device 1a according to the third embodiment detects whether the current joint angle θ0b is a singular point angle, and calculates the driving torque value τ1 using the virtual joint angle if the current joint angle θ0b is a singular point angle. However, when the angle is within the predetermined angle range, the drive torque value τ1 can be calculated using the current joint angle. Therefore, the control device 1a according to the third embodiment suppresses the output abnormality using the virtual joint angle when the singular point is used, and uses the actual joint angle when the singular point is not used. Output can be performed accurately.
第3実施形態に係る制御装置1aは、閾値角度T3と閾値角度T4との間を、特異点角度から特異点近傍角度の範囲外としている。制御装置1aは、現在関節角度θ0bが特異点角度から特異点近傍角度である場合、すなわち、現在関節角度θ0bが0°以上であって閾値角度T3より小さい範囲、及び現在関節角度θ0bが閾値角度T4より大きく180°以下の範囲である場合に、変位角度Δθを0より大きくしている。そして、第3実施形態に係る制御装置1aは、現在関節角度θ0bが特異点角度から特異点近傍角度の範囲外である場合、すなわち、現在関節角度θ0bが閾値角度T3以上閾値角度T4以下である場合に、変位角度Δθを0としている。そのため、第3実施形態に係る制御装置1aは、逆ヤコビ行列の値が過大になる特異点近傍角度においても、駆動トルク値τ1の出力異常を抑制することができる。 The control device 1a according to the third embodiment sets the range between the threshold angle T3 and the threshold angle T4 outside the range of the singular point angle to the singular point vicinity angle. When the current joint angle θ0b is an angle close to the singular point from the singular point angle, that is, when the current joint angle θ0b is equal to or greater than 0 ° and smaller than the threshold angle T3, the control device 1a sets the current joint angle θ0b to the threshold angle. When the angle is larger than T4 and equal to or smaller than 180 °, the displacement angle Δθ is set larger than 0. Then, the control device 1a according to the third embodiment, when the current joint angle θ0b is out of the range of the singular point angle to the singular point vicinity angle, that is, the current joint angle θ0b is equal to or more than the threshold angle T3 and equal to or less than the threshold angle T4. In this case, the displacement angle Δθ is set to 0. Therefore, the control device 1a according to the third embodiment can suppress the abnormal output of the driving torque value τ1 even at an angle near the singular point where the value of the inverse Jacobian matrix becomes excessive.
以上説明したように、第3実施形態に係る制御装置1aは、現在関節角度θ0bと仮想関節角度θ1bとの関節角度関係を記憶する関係記憶部121aと、現在関節角度θ0bと関節角度関係に基づき、仮想関節角度θ1a、θ1b、θ1cを算出する仮想関節角度算出部122aと、を有する。関節角度関係は、現在関節角度θ0bの値に応じて、変位角度Δθが異なるものである。この制御装置1aは、関節角度関係に基づき仮想関節角度θ1a、θ1b、θ1cを算出するため、駆動トルク値τ1の出力異常を適切に抑制することができる。
As described above, the control device 1a according to the third embodiment includes a
(第4実施形態)
次に、第4実施形態について説明する。第4実施形態に係る制御装置1bは、補正係数Lに基づき、駆動トルク値を算出する点で、第1実施形態とは異なる。第4実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。
(Fourth embodiment)
Next, a fourth embodiment will be described. The
図11は、第4実施形態に係る制御装置のブロック図である。図11に示すように、制御装置1bが有する第2制御部1Bbは、補正係数記憶部109bと、駆動トルク値算出部110bとを有する。
FIG. 11 is a block diagram of a control device according to the fourth embodiment. As shown in FIG. 11, the second control unit 1Bb of the
補正係数記憶部109bは、変位角度Δθだけ関節角度を変化させた場合のリンクの角加速度の変化量の割合を示す補正係数Lを記憶している。補正係数Lは、第1基準角加速度θ2”と第2基準角加速度θ3”とに基づき算出される。第1基準角加速度θ2”は、第1基準関節角度θ2と、リンクの基準加速度abとに基づき算出されたリンクの角加速度である。第1基準関節角度θ2は、第1基準角加速度θ2”の算出のために任意に設定された、腰関節、膝関節、及び足首関節の計算上の関節角度である。ただし、第1基準関節角度θ2は、特異点角度ではない角度である。さらに、第1基準関節角度θ2は、特異点近傍角度の範囲内であることが好ましい。基準加速度abは、第1基準角加速度θ2”の算出のために任意に設定された足装着部43(足リンク)の加速度である。
The correction
第2基準角加速度θ3”は、第2基準関節角度θ3と、リンクの基準加速度abとに基づき算出されたリンクの角加速度である。第2基準関節角度θ3は、第1基準関節角度θ2からそれぞれ変位角度Δθだけ異なる、腰関節、膝関節、及び足首関節の計算上の関節角度である。第2基準関節角度θ3は、例えば第1基準関節角度θ2を現在関節角度θ0として、第1実施形態に示した仮想関節角度θ1の算出方法と同じ方法で算出される。第1基準角加速度θ2”及び 第2基準角加速度θ3”は、上述の式(4)のx”を基準加速度abに置き換えて算出される。なお、第2基準関節角度θ3は、第1基準関節角度θ2から変位角度Δθだけ異なるものであったが、これに限られず、第1基準関節角度θ2から任意の角度だけ異なるものであってもよい。この場合、第2基準関節角度θ3と第1基準関節角度θ2との差分は、変位角度Δθ以下の値であることが好ましい。 The second reference angular acceleration θ3 ″ is the link angular acceleration calculated based on the second reference joint angle θ3 and the link reference acceleration ab . The second reference joint angle θ3 is the first reference joint angle θ2. Are the calculated joint angles of the hip joint, the knee joint, and the ankle joint that differ from each other by a displacement angle Δθ.The second reference joint angle θ3 is, for example, the first reference joint angle θ2 as the current joint angle θ0. The first reference angular acceleration θ2 ″ and the second reference angular acceleration θ3 ″ are calculated by the same method as the calculation method of the virtual joint angle θ1 described in the embodiment. It is calculated by replacing with b . Although the second reference joint angle θ3 is different from the first reference joint angle θ2 by the displacement angle Δθ, the present invention is not limited to this, and the second reference joint angle θ3 may be different from the first reference joint angle θ2 by an arbitrary angle. Good. In this case, the difference between the second reference joint angle θ3 and the first reference joint angle θ2 is preferably a value equal to or smaller than the displacement angle Δθ.
具体的には、補正係数Lは、次の式(8A)に基づき算出されるものである。 Specifically, the correction coefficient L is calculated based on the following equation (8A).
L=(θ2”−θ3”)/{J#(θ2)−J#(θ3)} ・・・(8A) L = (θ2 ″ −θ3 ″) / {J # (θ2) −J # (θ3)} (8A)
J#(θ2)は、第1基準関節角度θ2である場合の逆ヤコビ行列であり、J#(θ2)は、第2基準関節角度θ3である場合の逆ヤコビ行列である。補正係数Lは、スカラー値である。 J # (θ2) is the inverse Jacobian matrix when the first reference joint angle θ2, and J # (θ2) is the inverse Jacobian matrix when the second reference joint angle θ3. The correction coefficient L is a scalar value.
第2基準角加速度θ3”は、第1基準関節角度θ2と変位角度Δθだけ異なった第2基準関節角度θ3から算出されるものである。従って、補正係数Lは、仮想関節角度θ1における仮想関節角速度に対する、現在関節角度θ0における現在関節角速度の比率に相当する。さらに言えば、補正係数Lは、関節角度が異なった場合の角加速度の変化量の感度であるということができる。さらに言えば、補正係数Lは、逆ヤコビ行列の違いが角速度に及ぼす変化量の度合いであるということもできる。なお、補正係数記憶部109bは、第1基準関節角度θ2a、θ2b、θ2cの値を異ならせて算出した補正係数を平均したものを、補正係数Lとして記憶してもよい。
The second reference angular acceleration θ3 ″ is calculated from the second reference joint angle θ3 different from the first reference joint angle θ2 by the displacement angle Δθ. Therefore, the correction coefficient L is the virtual joint at the virtual joint angle θ1. This corresponds to the ratio of the current joint angular velocity at the current joint angle θ0 to the angular velocity, and furthermore, it can be said that the correction coefficient L is the sensitivity of the amount of change in angular acceleration when the joint angle is different. , The correction coefficient L is the degree of change in the angular velocity caused by the difference in the inverse Jacobian matrix, and the correction
駆動トルク値算出部110bは、目標加速度aと仮想関節角度θ1a、θ1b、θ1cと補正係数Lとに基づき、駆動トルク値τ1を算出する。具体的には、駆動トルク値算出部110bは、次の式(8B)に示すように、補正係数Lを目的角加速度に乗じることにより、駆動トルク値τ1を算出する。
The drive torque
τ1=M・L・J#(a−J’・θ’) ・・・(8B) τ1 = MLJ # (a-J'-θ ') (8B)
以上説明したように、第4実施形態に係る制御装置1bは、変位角度Δθだけ関節角度を変化させた場合のリンクの角加速度の変化量を示す補正係数Lを記憶する補正係数記憶部109bを更に有する。駆動トルク値算出部110bは、目標加速度aと仮想関節角度θ1と補正係数Lとに基づき、駆動トルク値τ1を算出する。補正係数Lは、所定の関節角度である第1基準関節角度θ2に基づき算出された第1基準角加速度θ2”と、第1基準関節角度θ2から変位角度Δθだけ異なる第2基準関節角度θ3に基づき算出された第2基準角加速度とに基づき算出される。
As described above, the
仮想関節角度θ1に基づき算出された駆動トルク値τ1は、実際の関節角度に基づいて算出されたものではないため、目標とする目標加速度aを達成するために必要なトルク値と異なる値となる場合がある。例えば、足を上げる動作を行う場合であって、膝を縮める方向に仮想関節角度θ1を設定した場合は、仮想関節角度θ1に基づき算出された駆動トルク値τ1は、目標加速度aを達成するために必要なトルク値よりも小さくなる。しかし、第4実施形態に係る制御装置1bは、変位角度Δθだけ関節角度を変化させた場合のリンクの角加速度の変化量を、予め補正係数Lとして算出している。制御装置1bは、この補正係数Lで補正して駆動トルク値τ1を算出するため、実際の目標加速度aにより近くなるように駆動トルク値τ1を補正することができる。そのため、制御装置1bは、駆動トルク値τ1の出力異常をより適切に抑制することができる。
Since the drive torque value τ1 calculated based on the virtual joint angle θ1 is not calculated based on the actual joint angle, the drive torque value τ1 is different from the torque value required to achieve the target acceleration a. There are cases. For example, in the case of performing the operation of raising the foot and setting the virtual joint angle θ1 in the direction of contracting the knee, the drive torque value τ1 calculated based on the virtual joint angle θ1 is used to achieve the target acceleration a. Is smaller than the required torque value. However, the
(第5実施形態)
次に、第5実施形態について説明する。第5実施形態に係る制御装置1cは、第1実施形態と同様に、算出した駆動トルク値を用いてパワーアシストスーツ10のアクチュエータを制御するものであるが、駆動トルク値の算出方法が、第1実施形態とは異なる。第5実施形態において、第1実施形態と内容が共通する箇所は、説明を省略する。
(Fifth embodiment)
Next, a fifth embodiment will be described. The control device 1c according to the fifth embodiment controls the actuator of the
図12は、第5実施形態に係る制御装置のブロック図である。図12に示すように、制御装置1cは、第1制御部1Acと、第2制御部1Bcと、アクチュエータ制御部1Ccとを有する。第1制御部1Acは、パワーアシストスーツ10の自重を受け持つ制御、及びパワーアシストスーツ10の装着者の脚に作用する負荷を補助する制御のためのトルクを算出する。後者の制御は、例えば、パワーアシストスーツ10の装着者が物体を持つ際に、物体の質量による負荷をパワーアシストスーツ10のリンク機構で受ける制御である。一方、第2制御部1Bcは、リンクを目標加速度で移動させるためのトルクである駆動トルク値τ1を算出する。第1制御部1Acが算出するトルク値を保持トルク値τ2とすると、アクチュエータ制御部1Ccは、駆動トルク値τ1及び保持トルク値τ2を取得して、それらのトルク値を合計して、アクチュエータを駆動する。
FIG. 12 is a block diagram of a control device according to the fifth embodiment. As shown in FIG. 12, the control device 1c includes a first control unit 1Ac, a second control unit 1Bc, and an actuator control unit 1Cc. The first control unit 1Ac calculates torque for control for taking charge of the own weight of the
以下、アクチュエータを駆動するためのトルク値についてより詳細に説明する。アクチュエータを駆動するトルク値を総トルク値τ0とすると、総トルク値τ0は、一般的に次の式(9)で表される。 Hereinafter, the torque value for driving the actuator will be described in more detail. Assuming that a torque value for driving the actuator is a total torque value τ0, the total torque value τ0 is generally represented by the following equation (9).
τ0=M・θ”+h(θ,θ’)+g(θ) ・・・(9) τ0 = M · θ ″ + h (θ, θ ′) + g (θ) (9)
ここで、Mはリンクの慣性モーメントであり、関節角度θから算出される値である。θ’は関節角速度であり、θ”は関節角加速度である。M・θ”は、第2制御部1Bcによって算出される駆動トルク値τ1である。g(θ)は、重力に関連する項であり、第1制御部1Acによって算出される保持トルク値τ2である。h(θ,θ’)は、コリオリ力に対応する項であり、総トルク値τ0に対する寄与率が低いため、本実施形態では無視される。すなわち、本実施形態において、アクチュエータ制御部1Ccは、駆動トルク値τ1及び保持トルク値τ2の合計値を、総トルク値τ0として算出し、その総トルク値τ0で、アクチュエータを駆動する。ただし、アクチュエータ制御部1Ccは、h(θ,θ’)についても算出し、駆動トルク値τ1と保持トルク値τ2とh(θ,θ’)との合計値を総トルク値τ0として算出してもよい。 Here, M is a moment of inertia of the link, and is a value calculated from the joint angle θ. θ ′ is the joint angular velocity, θ ″ is the joint angular acceleration. M · θ ″ is the drive torque value τ1 calculated by the second control unit 1Bc. g (θ) is a term related to gravity, and is a holding torque value τ2 calculated by the first control unit 1Ac. h (θ, θ ′) is a term corresponding to the Coriolis force, and is ignored in the present embodiment because its contribution to the total torque value τ0 is low. That is, in the present embodiment, the actuator control unit 1Cc calculates the total value of the driving torque value τ1 and the holding torque value τ2 as the total torque value τ0, and drives the actuator with the total torque value τ0. However, the actuator control unit 1Cc also calculates h (θ, θ ′), and calculates the total value of the driving torque value τ1, the holding torque value τ2, and h (θ, θ ′) as the total torque value τ0. Is also good.
さらに言えば、駆動トルク値τ1は、関節角加速度θ”に関連するトルクであり、リンクの目標とする移動加速度である目標加速度を実現するためのトルクである。言い換えれば、駆動トルク値τ1は、装着者の移動を補助するために先んじてリンクを動かすためのトルク値である。また、保持トルク値τ2は、関節角度θに関連するトルクであり、パワーアシストスーツ10の自重や負荷を支えるためのトルクである。従って、アクチュエータ制御部1Ccは、装着者の移動を補助するためのトルク(駆動トルク値τ1)と、重さを支えるためのトルク(保持トルク値τ2)との両方を実現できる総トルク値τ0で、アクチュエータを駆動する。
Furthermore, the driving torque value τ1 is a torque related to the joint angular acceleration θ ″, and is a torque for realizing a target acceleration that is a target moving acceleration of the link. In other words, the driving torque value τ1 is The holding torque value τ2 is a torque related to the joint angle θ and supports the weight and load of the
次に、駆動トルク値τ1の算出式について説明する。ここで、リンクの速度x’と関節角速度θ’とは、ヤコビ行列Jを用いて、次の式(10)のような関係で表される。式(10)の両辺を微分すると式(11)のようになり、それを関節角加速度θ”でまとめると式(12)のようになる。 Next, a calculation formula of the drive torque value τ1 will be described. Here, the link speed x ′ and the joint angular speed θ ′ are expressed by the following equation (10) using the Jacobian matrix J. Equation (11) is obtained by differentiating both sides of the equation (10), and is summarized as an equation (12) by summing them up with the joint angular acceleration θ ″.
x’=J・θ’ ・・・(10)
x”=J’・θ’+J・θ” ・・・(11)
θ”-=J#(x”−J’・θ’) ・・・(12)
x ′ = J · θ ′ (10)
x ″ = J ′ · θ ′ + J · θ ″ (11)
θ ″ − = J # (x ″ −J ′ · θ ′) (12)
なお、式(11)におけるx”は直交三次元空間座標における加速度ベクトルであり、J’はヤコビ行列Jの一次微分値である。また、式(12)におけるJ#は、ヤコビ行列Jが正方行列でない場合におけるヤコビ行列Jの逆行列である。駆動トルク値τ1は、式(12)の右辺をM・θ”に代入すると、一般的に、次の式(13)のように求められる。 In Equation (11), x ″ is an acceleration vector in orthogonal three-dimensional space coordinates, and J ′ is a first derivative of the Jacobi matrix J. J # in Equation (12) is a square of the Jacobian matrix J. This is the inverse matrix of the Jacobi matrix J when the matrix is not a matrix.The drive torque value τ1 is generally obtained by the following equation (13) by substituting the right side of equation (12) into M · θ ″.
τ1=M・J#(x”−J’・θ’) ・・・(13) τ1 = M · J # (x ″ −J ′ · θ ′) (13)
ヤコビ行列Jの逆行列であるJ#は、特異点において、detJ=0となってしまうため、ゼロ割が発生し値が発散する。この特異点における関節角度θを特異点角度とすると、特異点角度は、例えば関節が伸びきった関節角度θ=0である。また、特異点角度でなくても、特異点角度の近傍の場合、detJが小さい値となるため、detJを分母に持つJ#の値も大きくなる。従って、J#に基づき算出される駆動トルク値τ1は、特異点角度や特異点角度の近傍で、値が算出できなかったり、パワーアシストスーツ10の出力可能なトルク値を超えてしまったりするおそれがある。本実施形態に係る第2制御部1Bcは、特異点角度やその近傍において、算出する駆動トルク値τ1を、出力可能なトルク値以下の値とすることで、特異点角度における駆動トルク値τ1の出力異常を回避する。なお、保持トルク値τ2は、負荷及び自重と、関節角度θとに基づき算出することができるため、ヤコビ行列Jの逆行列を用いて算出する必要がない。従って、保持トルク値τ2は、特異点であっても算出することができる。
J # , which is the inverse matrix of the Jacobi matrix J, becomes detJ = 0 at the singularity, so that zero division occurs and the value diverges. Assuming that the joint angle θ at this singular point is the singular point angle, the singular point angle is, for example, the joint angle θ at which the joint is fully extended = 0. Even if the angle is not the singular point angle, in the case of the vicinity of the singular point angle, detJ becomes a small value, so that the value of J # having detJ in the denominator also becomes large. Therefore, the drive torque value τ1 calculated based on J # may not be calculated in the vicinity of the singular point angle or the singular point angle, or may exceed the output torque value of the
以下、第2制御部1Bcについて詳細に説明する。図12に示すように、第2制御部1Bcは、目標加速度取得部132と、仮駆動トルク値算出部134と、上限駆動トルク値取得部136と、トルク比率算出部138と、補正項算出部140と、駆動トルク値決定部142とを有する。
Hereinafter, the second control unit 1Bc will be described in detail. As shown in FIG. 12, the second control unit 1Bc includes a target
目標加速度取得部132は、リンクの目標とする移動加速度である目標加速度aを取得する。本実施形態においては、目標加速度取得部132は、足装着部43(足リンク)の目標とする移動加速度を、目標加速度aとして取得する。本実施形態においては、目標加速度取得部132は、装着者の足底荷重値の変化量に基づき、目標加速度aを算出する。具体的には、目標加速度取得部132は、荷重検出装置44が逐次検出した装着者の足底荷重値を取得し、取得した足底荷重値に基づき、足底荷重値の変化量を算出する。荷重検出装置44が検出した装着者の足底荷重値を足底荷重値Fとすると、目標加速度取得部132は、足底荷重値Fの時間tでの一階微分値に対応する荷重値変化量f(F)を算出する。荷重値変化量f(F)は、足底荷重値Fの変化量である。ただし、目標加速度取得部132による足底荷重値の変化量の算出方法は、足底荷重値Fの変化量を一階微分で算出することに限られず、例えば、今回取得された足底荷重値Fと前回取得された足底荷重値Fとの差分を、足底荷重値の変化量としてもよい。
The target
目標加速度取得部132は、次の式(14)に示すように、補正係数Kと荷重値変化量f(F)とを乗じて、その乗じた値にマイナスを乗じることにより、目標加速度aを算出する。
The target
a=−K・f(F) ・・・(14) a = −K · f (F) (14)
ここで、Kは予め定められた所定の係数である。目標加速度aは、荷重値変化量f(F)に対してマイナスが乗じられている。従って、目標加速度取得部132は、足底荷重値Fが増加した場合に、足を下げる又は踏ん張る方向へ加速度を発生させるように、目標加速度aを算出する。また、目標加速度取得部132は、足底荷重値Fが減少した場合に、足を上げる方向へ加速度を発生させるように、目標加速度aを算出する。
Here, K is a predetermined coefficient. The target acceleration a is obtained by multiplying the load value change amount f (F) by minus. Therefore, when the sole load value F increases, the target
目標加速度取得部132は、足底荷重値の変化量に基づき目標加速度aを算出するものであるが、目標加速度aを取得するものであれば、目標加速度aの取得方法は、これに限られず任意である。なお、パワーアシストスーツ10の制御において、厳密な定位性は不要である。装着者の体格等に応じて到達させたい位置目標は異なるためである。一方、バネとして制御を定義すると位置拘束となり、パワーアシストスーツ10を装着した装着者の意図と異なる動作に対して剛性を持った動きになる可能性がある。そこで、第2制御部1Bcは、目標加速度aに基づき駆動トルクτ1を算出するため、力の入力に対してパワーアシストスーツ10の足先の絶対的な位置が決まらないように、非定位性の制御を実現している。すなわち、第2制御部1Bcは、位置制御ループを有していない。
The target
図12に示す仮駆動トルク値算出部134は、駆動トルク値τ1の仮の値である仮駆動トルク値τ1Aを、目標加速度aに基づき算出する。具体的には、仮駆動トルク値算出部134は、式(13)のx”を目標加速度に置き換え、次の式(15)に基づき仮駆動トルク値τ1Aを算出する。
The temporary drive torque
τ1A=M・J#(a−J’・θ’) ・・・(15) τ1A = M · J # (a−J ′ · θ ′) (15)
仮駆動トルク値算出部134は、特異点角度、すなわちJ#が発散する場合は、前回の関節角度θに基づき算出したヤコビ行列Jを用いて、τ1Aを算出する。ただし、仮駆動トルク値算出部134は、特異点角度でない場合は、特異点角度の近傍であっても、現在の関節角度θに基づいたJ#を用いて、τ1Aを算出する。
When the singular point angle, ie, J # , diverges, the temporary drive torque
なお、パワーアシストスーツ10は、複数の関節(大腿駆動機構23、下腿駆動機構45、回動軸47)のそれぞれにアクチュエータを備えている。仮駆動トルク値算出部134は、各関節の関節角度θに基づき、それぞれのアクチュエータに対する仮駆動トルク値τ1Aを算出する。
The
図12に示す上限駆動トルク値取得部136は、保持トルク値取得部150及び上限駆動トルク値算出部152を有する。上限駆動トルク値取得部136は、上限トルク値τ0maxに基づき、駆動トルク値τ1の上限のトルク値である上限駆動トルク値τ1maxを取得する。上限トルク値τ0maxは、パワーアシストスーツ10の仕様などによって予め定められた、各アクチュエータが出力可能な総トルク値τ0の上限の値である。
12 includes a holding torque
保持トルク値取得部150は、第1制御部1Acが算出した、現在の関節角度θにおける保持トルク値τ2を取得する。上限駆動トルク値算出部152は、上限トルク値τ0maxと、保持トルク値τ2とを取得する。上限駆動トルク値算出部152は、上限トルク値τ0maxから保持トルク値τ2を差し引いた値に基づき、上限駆動トルク値τ1maxを算出する。より具体的には、上限駆動トルク値算出部152は、仮駆動トルク値τ1Aが保持トルク値τ2と同符号、すなわち互いに同じ回転方向へのトルクである場合、上限トルク値τ0maxから保持トルク値τ2を差し引いた値を、上限駆動トルク値τ1maxとする。一方、上限駆動トルク値算出部152は、仮駆動トルク値τ1Aが保持トルク値τ2と異符号、すなわち互いに逆回転方向のトルクである場合、上限トルク値τ0maxに保持トルク値τ2を加えた値を、上限駆動トルク値τ1maxとする。
The holding torque
このように、仮駆動トルク値τ1Aが保持トルク値τ2と同じ回転方向へのトルクである場合は、上限トルク値τ0maxのうちで駆動トルク値τ1に割けるトルク値が、保持トルク値τ2の分だけ減少している。ただし、仮駆動トルク値τ1Aが保持トルク値τ2と逆回転方向へのトルクである場合は、上限トルク値τ0maxのうちで駆動トルク値τ1に割けるトルク値を、逆方向に回そうとする保持トルク値τ2の分だけ増加させることができる。 As described above, when the provisional driving torque value τ1A is a torque in the same rotation direction as the holding torque value τ2, the torque value that can be divided into the driving torque value τ1 of the upper limit torque value τ0 max is equal to the holding torque value τ2. It has decreased by a minute. However, when the provisional driving torque value τ1A is a torque in the reverse rotation direction to the holding torque value τ2, the torque value that can be divided by the driving torque value τ1 in the upper limit torque value τ0 max is turned in the reverse direction. It can be increased by the holding torque value τ2.
上限トルク値τ0maxは、アクチュエータ毎に値が定められている。また、第1制御部1Acは、各アクチュエータのそれぞれに対し、保持トルク値τ2を算出する。保持トルク値取得部150は、これらアクチュエータ毎の上限トルク値τ0max及び保持トルク値τ2に基づき、それぞれのアクチュエータに対する上限駆動トルク値τ1maxを算出する。なお、保持トルク値τ2が大きく、上限駆動トルク値τ1maxが0以下の値となった場合、駆動トルク値τ1に割ける余裕がないため、第2制御部1Bcは、駆動トルク値τ1を0とする。
The upper limit torque value τ0 max is determined for each actuator. Further, the first control unit 1Ac calculates a holding torque value τ2 for each of the actuators. The holding torque
図12に示すトルク比率算出部138は、仮駆動トルク値τ1Aと上限駆動トルク値τ1maxとの比率であるトルク比率αを算出する。具体的には、トルク比率算出部138は、次の式(16)に示すように、上限駆動トルク値τ1maxに対する仮駆動トルク値τ1Aの比率をトルク比率αとする。
Torque ratio calculation section shown in FIG. 12 138, calculates the torque ratio α is a ratio of the provisional driving torque value τ1A and the upper limit driving torque value .tau.1 max. Specifically, the torque
α=τ1A/τ1max ・・・(16) α = τ1A / τ1 max ··· ( 16)
トルク比率算出部138は、それぞれのアクチュエータに対するトルク比率αを算出する。なお、トルク比率αは、仮駆動トルク値τ1Aと上限駆動トルク値τ1maxとの比率であれば、上述の式(16)によるものに限られない。例えば、トルク比率αは、仮駆動トルク値τ1Aに対する上限駆動トルク値τ1maxの比率、すなわちα=τ1max/τ1Aであってもよい。
The
図12に示す補正項算出部140は、目標加速度aから算出される行列式を、予め定められたリンクの加速度の上限値の行列式で正規化して、補正項Sを算出する。ここで、予め定められたリンクの加速度の上限値の行列式を、加速度上限項Tmとする。加速度上限項Tmは、リンクの加速度の上限値が予め定められた場合、それに基づき算出される対角行列である。また、式(15)の加速度に関連する行列式である(a−J’・θ’)を、加速度項βとする。補正項算出部140は、次の式(17)に示すように、加速度項βを加速度上限項Tmで正規化して、正規化加速度項β’を算出し、正規化加速度項β’を、大きさ(スカラー)である補正項Sと、単位ベクトルUに分離して、補正項Sを算出する。 The correction term calculation unit 140 shown in FIG. 12 calculates the correction term S by normalizing the determinant calculated from the target acceleration a with the determinant of the upper limit of the link acceleration. Here, the determinant of the predetermined upper limit of the acceleration of the link is defined as an acceleration upper limit term Tm. The acceleration upper limit term Tm is a diagonal matrix calculated based on the upper limit of the link acceleration when the upper limit is predetermined. Also, let (a−J ′ · θ ′), which is the determinant related to the acceleration in Expression (15), be the acceleration term β. The correction term calculation unit 140 calculates the normalized acceleration term β ′ by normalizing the acceleration term β with the acceleration upper limit term Tm, and calculates the normalized acceleration term β ′ as The correction term S, which is a scalar, and the unit vector U are separated and the correction term S is calculated.
β’=Tm−1・β=S・U ・・・(17) β ′ = Tm −1 · β = S · U (17)
補正項Sは目標加速度aに応じて値が変化するため、補正項算出部140は、目標加速度aが算出される毎に、補正項Sを算出する。補正項Sは、加速度項βを加速度上限項Tmで正規化して算出された補正項であるため、予め定められたリンクの加速度の上限値に対する、目標加速度の比率であるということができる。なお、補正項Sは、全てのアクチュエータに共通する値である。 Since the value of the correction term S changes according to the target acceleration a, the correction term calculation unit 140 calculates the correction term S every time the target acceleration a is calculated. Since the correction term S is a correction term calculated by normalizing the acceleration term β with the acceleration upper limit term Tm, it can be said that the correction term S is a ratio of the target acceleration to a predetermined upper limit of the link acceleration. The correction term S is a value common to all actuators.
図12に示す駆動トルク値決定部142は、仮駆動トルク値τ1Aが上限駆動トルク値τ1max以下である場合、すなわちトルク比率αが1以下である場合に、仮駆動トルク値τ1Aを、駆動トルク値τ1に決定する。また、駆動トルク値決定部142は、仮駆動トルク値τ1Aが上限駆動トルク値τ1maxより大きい場合、すなわちトルク比率αが1より大きい場合に、トルク比率αに基づき、仮駆動トルク値τ1Aを、上限駆動トルク値τ1max以下の値である変換駆動トルク値τ1Bに変換する。駆動トルク値決定部142は、この変換駆動トルク値τ1Bを、駆動トルク値τ1に決定する。すなわち、駆動トルク値決定部142は、仮駆動トルク値τ1Aが上限駆動トルク値τ1maxを超過する場合、変換駆動トルク値τ1Bを用いて駆動トルク値τ1を上限駆動トルク値τ1max以下に低下させる。
When the provisional drive torque value τ1A is equal to or less than the upper limit drive torque value τ1 max , that is, when the torque ratio α is equal to or less than 1, the drive torque
さらに詳しくは、駆動トルク値決定部142は、全てのアクチュエータのトルク比率αのうち、最大のトルク比率αである最大トルク比率αmaxを選択する。駆動トルク値決定部142は、最大トルク比率αmaxが1以下である場合、全てのアクチュエータの仮駆動トルク値τ1Aを、それぞれのアクチュエータの駆動トルク値τ1に決定する。
More specifically, the drive torque
駆動トルク値決定部142は、最大トルク比率αmaxが1より大きい場合、最大トルク比率αmaxを用いて、全てのアクチュエータに対する仮駆動トルク値τ1Aを、それぞれの仮駆動トルク値τ1Aに対応する変換駆動トルク値τ1Bに変換する。変換駆動トルク値τ1Bについてより詳細に説明する。駆動トルク値決定部142は、最大トルク比率αmaxが1より大きい場合に、次の式(18)に示すように、仮駆動トルク値τ1Aを最大トルク比率αmaxで除して、変換駆動トルク値τ1Bを算出する。
When the maximum torque ratio α max is greater than 1, the drive torque
τ1B=τ1A/αmax ・・・(18) τ1B = τ1A / α max (18)
駆動トルク値決定部142は、各アクチュエータに対するそれぞれの仮駆動トルク値τ1Aを、共通する最大トルク比率αmaxで除する。駆動トルク値決定部142は、このように変換駆動トルク値τ1Bを算出するため、全てのアクチュエータに対する変換駆動トルク値τ1Bは、上限駆動トルク値τ1max以下の値となる。また、全てのアクチュエータにおいて、それぞれの仮駆動トルク値τ1Aに対し、同じ最大トルク比率αmaxを用いて変換駆動トルク値τ1Bを算出しているため、駆動トルク値τ1を低下させても、各アクチュエータ間の駆動トルク値τ1の比率が保たれる。
The drive torque
さらに、駆動トルク値決定部142は、最大トルク比率αmaxが1より大きい場合、変換駆動トルク値τ1Bを補正項Sで補正した値を、駆動トルク値τ1として決定する。具体的には、駆動トルク値決定部142は、次の式(19)に示すように、変換駆動トルク値τ1Bを補正項Sで乗じた値を、駆動トルク値τ1として決定する。
Further, when the maximum torque ratio α max is greater than 1, the drive torque
τ1=τ1B・S ・・・(19) τ1 = τ1B · S (19)
ただし、補正項Sが1より大きい場合、駆動トルク値決定部142は、変換駆動トルク値τ1Bに補正項Sを乗じることなく、変換駆動トルク値τ1Bを、そのまま駆動トルク値τ1として決定する。変換駆動トルク値τ1Bは、最大トルク比率αmaxとなったアクチュエータに関する駆動トルク値τ1を、上限駆動トルク値τ1maxまで最大限に出力するものである。駆動トルク値決定部142は、変換駆動トルク値τ1Bを、補正項Sで補正することで、前回からの加速度軌道の連続性を保ち、加速度軌道変化に対応した駆動トルク値τ1を算出することができる。言い換えれば、補正項Sは、変換駆動トルク値τ1Bに基づいて算出された駆動トルクτ1によってアクチュエータを駆動した場合に、リンクの加速度が目標加速度aより大きくならないように、変換駆動トルク値τ1Bを補正するための係数であるということができる。
However, when the correction term S is greater than 1, the drive torque
駆動トルク値決定部142は、決定した駆動トルク値τ1の情報をアクチュエータ制御部1Ccに伝達する。アクチュエータ制御部1Ccは、駆動トルク値決定部142から取得した駆動トルク値τ1と、第1制御部1Acから取得した保持トルク値τ2の合計値を、総トルク値τ0として算出し、その総トルク値τ0で、アクチュエータを駆動する。
The drive torque
なお、アクチュエータが1つの場合、駆動トルク値決定部142は、最大トルク比率αmaxを用いず、式(18)の最大トルク比率αmaxをそのアクチュエータに対するトルク比率αとして、同様に駆動トルク値τ1を決定する。また、トルク比率αが、α=τ1max/τ1Aである場合、駆動トルク値決定部142は、仮駆動トルク値τ1Aをトルク比率αで乗じて、変換駆動トルク値τ1Bを算出する。
In the case the actuator is one, the driving torque
次に、フローチャートを用いて、駆動トルク値τ1の算出フローを説明する。図13は、第5実施形態に係る駆動トルク値の算出フローを説明するフローチャートである。図13に示すように、第2制御部1Bcは、仮駆動トルク値算出部134により、目標加速度aに基づき仮駆動トルク値τ1Aを算出し(ステップS30)、上限駆動トルク値取得部136により、上限駆動トルク値τ1maxを算出する(ステップS32)。仮駆動トルク値算出部134は、上述の式(15)に基づき、各アクチュエータに対する仮駆動トルク値τ1Aを算出する。また、上限駆動トルク値取得部136は、上限トルク値τ0maxから保持トルク値τ2を差し引いた値に基づき、上限駆動トルク値τ1maxを算出する。また、上限駆動トルク値τ1maxが0以下の値となった場合、第2制御部1Bcは、駆動トルク値τ1を0として、後述するステップS46に移動する。なお、ステップS30とステップS32とは、後述するステップS34より前に行われるものであればよく、互いの処理順は任意である。
Next, a flow of calculating the drive torque value τ1 will be described using a flowchart. FIG. 13 is a flowchart illustrating a drive torque value calculation flow according to the fifth embodiment. As shown in FIG. 13, the second control unit 1Bc calculates the provisional drive torque value τ1A based on the target acceleration a by the provisional drive torque value calculation unit 134 (step S30). calculating the upper limit driving torque value .tau.1 max (step S32). The temporary drive torque
仮駆動トルク値τ1A及び上限駆動トルク値τ1maxを算出した後、第2制御部1Bcは、トルク比率算出部138により、仮駆動トルク値τ1A及び上限駆動トルク値τ1maxから、トルク比率αを算出する(ステップS34)。トルク比率算出部138は、上述の式(16)に基づきトルク比率αを算出する。
After calculating the provisional driving torque value τ1A and upper drive torque value .tau.1 max, calculating the second control unit 1Bc is by the torque
トルク比率αを算出した後、第2制御部1Bcは、駆動トルク値決定部142により、最大トルク比率αmaxが1より大きいかを判定する(ステップS36)。最大トルク比率αmaxとは、全てのアクチュエータのトルク比率αのうち、最大のトルク比率αである。最大トルク比率αmaxが1より大きくない、すなわち最大トルク比率αmaxが1以下である場合(ステップS36;No)、駆動トルク値決定部142は、全てのアクチュエータの仮駆動トルク値τ1Aを、それぞれのアクチュエータの駆動トルク値τ1に決定し(ステップS38)、後述するステップS46に移動する。
After calculating the torque ratio α, the second control unit 1Bc causes the drive torque
最大トルク比率αmaxが1より大きい場合(ステップS36;Yes)、駆動トルク値決定部142は、それぞれのアクチュエータの仮駆動トルク値τ1Aと、共通する最大トルク比率αmaxとから、それぞれのアクチュエータに対する変換駆動トルク値τ1Bを算出する(ステップS40)。駆動トルク値決定部142は、上述の式(18)に基づき、それぞれのアクチュエータに対する変換駆動トルク値τ1Bを算出する。
When the maximum torque ratio α max is greater than 1 (Step S36; Yes), the drive torque
第2制御部1Bcは、補正項算出部140により、目標加速度aから算出される行列式を、加速度の上限値の行列式で正規化して、補正項Sを算出する(ステップS42)。補正項算出部140は、上述の式(17)に基づき、補正項Sを算出する。ステップS42は、後述するステップS44の前に実行されれば、その実行順は任意である。 The second control unit 1Bc calculates a correction term S by normalizing the determinant calculated from the target acceleration a by the determinant of the upper limit value of the acceleration by the correction term calculation unit 140 (step S42). The correction term calculation unit 140 calculates the correction term S based on the above equation (17). The order of execution of step S42 is arbitrary as long as it is executed before step S44 described later.
変換駆動トルク値τ1B、及び補正項Sを算出した後、第2制御部1Bcは、駆動トルク値決定部142により、変換駆動トルク値τ1Bを補正項Sで補正した値を、駆動トルク値τ1として決定する(ステップS44)。駆動トルク値決定部142は、上述の式(18)を用いて、駆動トルク値τ1を算出する。ステップS38又はステップS44で駆動トルク値τ1を決定したら、駆動トルク値決定部142は、その駆動トルク値τ1をアクチュエータ制御部1Ccに伝達する。アクチュエータ制御部1Ccは、駆動トルク値決定部142から取得した駆動トルク値τ1と、第1制御部1Acから取得した保持トルク値τ2の合計値を、総トルク値τ0として算出し、その総トルク値τ0で、アクチュエータを駆動する。
After calculating the conversion drive torque value τ1B and the correction term S, the second control unit 1Bc uses the drive torque
ステップS44の後は、ステップS46に移動し、処理が終了していない場合(ステップS46;No)、ステップS30に戻り、次のタイミングで取得された目標加速度aに基づき仮駆動トルク値τ1Aを算出し、その後同様の処理を繰り返す。処理が終了した場合(ステップS46;Yes)、本処理を終了する。 After step S44, the process moves to step S46. If the process is not completed (step S46; No), the process returns to step S30 to calculate the temporary drive torque value τ1A based on the target acceleration a obtained at the next timing. Then, the same processing is repeated. When the processing is completed (Step S46; Yes), the present processing is terminated.
以上説明したように、本実施形態に係る制御装置1cは、関節を介して連結された複数のリンクをアクチュエータにより駆動する作動機構(本実施形態ではパワーアシストスーツ10)の制御装置である。制御装置1cは、目標加速度取得部132と、仮駆動トルク値算出部134と、上限駆動トルク値取得部136と、トルク比率算出部138と、駆動トルク値決定部142と、アクチュエータ制御部1Ccと、を有する。目標加速度取得部132は、リンクの目標とする移動加速度である目標加速度aを取得する。仮駆動トルク値算出部134は、リンクを目標加速度aで移動させるためのトルクである駆動トルク値τ1の仮の値である仮駆動トルク値τ1Aを、目標加速度aに基づき算出する。上限駆動トルク値取得部136は、上限トルク値τ0maxに基づき、駆動トルク値τ1の上限のトルク値である上限駆動トルク値τ1maxを取得する。トルク比率算出部138は、仮駆動トルク値τ1Aと上限駆動トルク値τ1maxとの比率であるトルク比率αを算出する。駆動トルク値決定部142は、仮駆動トルク値τ1Aが上限駆動トルク値τ1max以下である場合に、仮駆動トルク値τ1Aを駆動トルク値τ1に決定する。また、駆動トルク値決定部142は、仮駆動トルク値τ1Aが上限駆動トルク値τ1maxより大きい場合に、トルク比率αに基づき、仮駆動トルク値τ1Aを上限駆動トルク値τ1max以下の値に変換した変換駆動トルク値τ1Bを、駆動トルク値τ1に決定する。アクチュエータ制御部1Ccは、アクチュエータを駆動するトルク値(総トルク値τ0)として、決定した駆動トルク値τ1を用いて、アクチュエータを制御する。
As described above, the control device 1c according to the present embodiment is a control device for an operating mechanism (the
この制御装置1cは、仮駆動トルク値τ1Aが上限駆動トルク値τ1maxより大きい場合に、仮駆動トルク値τ1Aを上限駆動トルク値τ1max以下の値に変換した変換駆動トルク値τ1Bを、駆動トルク値τ1に決定する。すなわち、制御装置1cは、目標とする駆動トルク値τ1である仮駆動トルク値τ1Aが、許される上限駆動トルク値τ1maxを超過する場合、変換駆動トルク値τ1Bを用いて駆動トルク値τ1を上限駆動トルク値τ1max以下に低下させる。従って、この制御装置1cは、特異点角度や特異点角度の近傍において、仮駆動トルク値τ1Aが過大になった場合にも、駆動トルク値τ1を上限駆動トルク値τ1max以下に低下させることで、駆動トルク値τ1の出力異常を容易に抑制することができる。また、この制御装置1cは、目標加速度aに基づき駆動トルク値τ1を算出しているため、非定位性の制御となり、自由な動作に対応することが可能となる。 The control unit 1c, when the provisional driving torque value τ1A is greater than the upper limit driving torque value .tau.1 max, the conversion driving torque value τ1B converting the provisional driving torque value τ1A the following values upper drive torque value .tau.1 max, drive torque The value τ1 is determined. That is, the control device 1c, the temporary driving torque value τ1A which is a driving torque value .tau.1 having a target, if it exceeds the upper limit driving torque value .tau.1 max allowed upper limit driving torque value .tau.1 using the conversion driving torque value τ1B The driving torque value is reduced to τ1 max or less. Therefore, the control device 1c in the vicinity of the singular point angle and singular point angle, even when the provisional driving torque value τ1A becomes excessive, the driving torque value .tau.1 be to drop below the upper limit driving torque value .tau.1 max In addition, abnormal output of the drive torque value τ1 can be easily suppressed. Further, since the control device 1c calculates the drive torque value τ1 based on the target acceleration “a”, the control device 1c performs non-localization control and can cope with a free operation.
作動機構(パワーアシストスーツ10)は、複数のリンクのそれぞれに対応する複数のアクチュエータを備えており、駆動トルク値τ1は、複数のアクチュエータのそれぞれに対して算出されるものである。そして、駆動トルク値決定部142は、複数のアクチュエータに対するそれぞれの仮駆動トルク値τ1Aのうち、上限駆動トルク値τ1maxに対する仮駆動トルク値τ1Aの超過率が最も高い仮駆動トルク値τ1Aについてのトルク比率である最大トルク比率αmaxを用いて、それぞれの仮駆動トルク値τ1Aを変換駆動トルク値τ1Bに変換し、それぞれの変換駆動トルク値τ1Bを、それぞれのアクチュエータに対する駆動トルク値τ1に決定する。この制御装置1cは、最大トルク比率αmaxを用いて全ての仮駆動トルク値τ1Aを変換駆動トルク値τ1Bに変換している。従って、全てのアクチュエータに対する駆動トルク値τ1を上限駆動トルク値τ1max以下の値としつつ、各アクチュエータ間の駆動トルク値τ1の比率が、変換前と同様に保たれる。従って、この制御装置1cは、駆動トルク値τ1の出力異常をより適切に抑制することができる。
The operating mechanism (power assist suit 10) includes a plurality of actuators corresponding to each of the plurality of links, and the drive torque value τ1 is calculated for each of the plurality of actuators. Then, the driving torque
この駆動トルク値決定部142は、上限駆動トルク値τ1maxに対する仮駆動トルク値τ1Aの比率をトルク比率αとし、仮駆動トルク値τ1Aをトルク比率αで除することにより、変換駆動トルク値τ1Bを算出する。この駆動トルク値決定部142は、このようにトルク比率α及び変換駆動トルク値τ1Bを算出しているため、駆動トルク値τ1を上限駆動トルク値τ1max以下の適切な値とすることができる。
The driving torque
上限駆動トルク値取得部136は、作動機構(パワーアシストスーツ10)の自重、及び作動機構(パワーアシストスーツ10)にかかる負荷を保持するためのトルクである保持トルク値τ2を取得する保持トルク値取得部150と、上限トルク値τ0maxから保持トルク値τ2を差し引いた値に基づき、上限駆動トルク値τ1maxを算出する上限駆動トルク値算出部152と、を有する。この上限駆動トルク値取得部136は、上限トルク値τ0maxから保持トルク値τ2を差し引いた値に基づき、上限駆動トルク値τ1maxを算出するため、上限駆動トルク値τ1maxを適切に算出し、駆動トルク値τ1の出力異常をより適切に抑制することができる。
The upper-limit driving torque
この制御装置1cは、目標加速度aから算出される行列式を、予め定められたリンクの加速度の上限値の行列式で正規化して補正項Sを算出する補正項算出部140を更に有する。駆動トルク値決定部142は、変換駆動トルク値τ1Bを補正項Sで補正したトルク値を、駆動トルク値τ1として決定する。補正項Sは、駆動トルク値τ1によってアクチュエータを駆動した場合に、リンクの実際の加速度が目標加速度aより大きくならないように、変換駆動トルク値τ1Bを補正するための係数である。この制御装置1cは、変換駆動トルク値τ1Bを補正項Sで補正するため、加速度軌道変化に対応した駆動トルク値τ1を算出することができる。なお、制御装置1cは、補正項算出部140を有さず、変換駆動トルク値τ1Bをそのまま駆動トルク値τ1としてもよい。
The control device 1c further includes a correction term calculation unit 140 that calculates a correction term S by normalizing the determinant calculated from the target acceleration a with the determinant of the upper limit of the link acceleration. The drive torque
以上、本発明の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。例えば、各実施形態においては、作動機構としてパワーアシストスーツ10を例示して説明したが、関節を介して連結された複数のリンクをアクチュエータにより駆動するものであれば、パワーアシストスーツに限られない。作動機構としては、例えば、歩行ロボットやロボットアームなどであってもよく、移動可能なものであってもよい。
The embodiment of the present invention has been described above, but the embodiment is not limited by the contents of this embodiment. Further, the above-mentioned components include those that can be easily assumed by those skilled in the art, those that are substantially the same, and those that are in the so-called equivalent range. Further, the components described above can be appropriately combined. Furthermore, various omissions, substitutions, or changes of the components can be made without departing from the spirit of the above-described embodiment. For example, in each embodiment, the
1 制御装置
10 パワーアシストスーツ
11 腰パーツ
12 肩パーツ
13A、13B 脚パーツ
21 腰装着部
22 給電装置
22B 電源
22C 電線
23、23A、23B 大腿駆動機構
31 背装着部
32A 左肩装着部
32B 右肩装着部
41、41A、41B 大腿装着部
42、42A、42B 下腿装着部
43、43A、43B 足装着部
44、44A、44B 荷重検出装置
45、45A、45B 下腿駆動機構
46A、46B 脚駆動制御装置
47、47A、47B 回動軸
102 関節角度取得部
104 座標算出部
106、106a 仮想関節角度取得部
108 目標加速度取得部
109b 補正係数記憶部
110 駆動トルク値算出部
120 仮想座標算出部
121a 関係記憶部
122a 仮想関節角度算出部
132 目標加速度取得部
134 仮駆動トルク値算出部
136 上限駆動トルク値取得部
138 トルク比率算出部
140 補正項算出部
142 駆動トルク値決定部
150 保持トルク値取得部
152 上限駆動トルク値算出部
a 目標加速度
ab 基準加速度
C 原点座標
C0 現在座標
C1 仮想座標
f 荷重値変化量
F 足底荷重値
K、L 補正係数
S 補正項
T1、T2、T3、T4 閾値角度
Tm 加速度上限項
α トルク比率
αmax 最大トルク比率
β 加速度項
Δθ 変位角度
ε 変位距離
θ 関節角度
θ0、θ0a、θ0b、θ0c 現在関節角度
θ1、θ1a、θ1b、θ1c 仮想関節角度
τ0 総トルク値
τ0max 上限トルク値
τ1 駆動トルク値
τ1A 仮駆動トルク値
τ1B 変換駆動トルク値
τ1max 上限駆動トルク値
τ2 保持トルク値
DESCRIPTION OF SYMBOLS 1 Control device 10 Power assist suit 11 Waist part 12 Shoulder parts 13A, 13B Leg parts 21 Waist mounting part 22 Power supply device 22B Power supply 22C Electric wire 23, 23A, 23B Thigh drive mechanism 31 Back mounting part 32A Left shoulder mounting part 32B Right shoulder mounting part 41, 41A, 41B Thigh mounting part 42, 42A, 42B Leg mounting part 43, 43A, 43B Foot mounting part 44, 44A, 44B Load detecting device 45, 45A, 45B Leg driving mechanism 46A, 46B Leg driving control device 47, 47A , 47B Rotation axis 102 Joint angle acquisition unit 104 Coordinate calculation unit 106, 106a Virtual joint angle acquisition unit 108 Target acceleration acquisition unit 109b Correction coefficient storage unit 110 Drive torque value calculation unit 120 Virtual coordinate calculation unit 121a Relationship storage unit 122a Virtual joint Angle calculator 132 Target acceleration Part 134 provisional driving torque value calculation unit 136 upper drive torque value acquiring unit 138 torque ratio calculation unit 140 correction term calculation unit 142 drive torque value determining unit 150 holds the torque value acquisition unit 152 upper drive torque value calculating unit a target acceleration a b reference Acceleration C Origin coordinate C0 Current coordinate C1 Virtual coordinate f Load change amount F Foot load K, L Correction coefficient S Correction term T1, T2, T3, T4 Threshold angle Tm Acceleration upper limit α Torque ratio α max Maximum torque ratio β Acceleration term Δθ Displacement angle ε Displacement distance θ Joint angle θ0, θ0a, θ0b, θ0c Current joint angle θ1, θ1a, θ1b, θ1c Virtual joint angle τ0 Total torque value τ0 max Upper limit torque value τ1 Drive torque value τ1A Temporary drive torque value τ1B Conversion driving torque value τ1 max Upper limit driving torque value τ2 Holding torque value
Claims (13)
前記リンクの目標とする移動加速度である目標加速度を取得する目標加速度取得部と、
前記リンクを前記目標加速度で移動させるためのトルクである駆動トルク値の仮の値である仮駆動トルク値を、前記目標加速度に基づき算出する仮駆動トルク値算出部と、
前記作動機構が出力可能な上限のトルク値である上限トルク値に基づき、前記駆動トルク値の上限のトルク値である上限駆動トルク値を取得する上限駆動トルク値取得部と、
前記仮駆動トルク値と前記上限駆動トルク値との比率であるトルク比率を算出するトルク比率算出部と、
前記仮駆動トルク値が前記上限駆動トルク値以下である場合に、前記仮駆動トルク値を前記駆動トルク値に決定し、前記仮駆動トルク値が前記上限駆動トルク値より大きい場合に、前記トルク比率に基づき、前記仮駆動トルク値を前記上限駆動トルク値以下の値に変換した変換駆動トルク値を、前記駆動トルク値に決定する駆動トルク値決定部と、
前記アクチュエータを駆動するトルク値として、決定した前記駆動トルク値を用いて、前記アクチュエータを制御するアクチュエータ制御部と、
を有する、作動機構の制御装置。 A control device for an operating mechanism that drives a plurality of links connected via a joint by an actuator,
A target acceleration acquisition unit that acquires a target acceleration that is a target movement acceleration of the link,
A temporary drive torque value calculation unit that calculates a temporary drive torque value that is a temporary value of a drive torque value that is a torque for moving the link at the target acceleration, based on the target acceleration;
An upper-limit driving torque value acquiring unit that acquires an upper-limit driving torque value that is an upper-limit torque value of the driving torque value based on an upper-limit torque value that is an upper-limit torque value that can be output by the operation mechanism.
A torque ratio calculation unit that calculates a torque ratio that is a ratio between the temporary drive torque value and the upper limit drive torque value,
When the temporary drive torque value is equal to or less than the upper limit drive torque value, the temporary drive torque value is determined to be the drive torque value, and when the temporary drive torque value is larger than the upper limit drive torque value, the torque ratio is determined. A drive torque value determining unit that determines a converted drive torque value obtained by converting the temporary drive torque value to a value equal to or less than the upper limit drive torque value, as the drive torque value,
As a torque value for driving the actuator, using the determined drive torque value, an actuator control unit that controls the actuator,
A control device for an operating mechanism, comprising:
前記駆動トルク値決定部は、複数のアクチュエータに対するそれぞれの仮駆動トルク値のうち、前記上限駆動トルク値に対する前記仮駆動トルク値の超過率が最も高い仮駆動トルク値についてのトルク比率を用いて、それぞれの仮駆動トルク値を前記変換駆動トルク値に変換し、それぞれの前記変換駆動トルク値を、それぞれのアクチュエータに対する前記駆動トルク値に決定する、請求項1に記載の作動機構の制御装置。 The operating mechanism includes a plurality of actuators corresponding to each of a plurality of links, and the drive torque value is calculated for each of the plurality of actuators,
The drive torque value determination unit, among the respective provisional drive torque values for the plurality of actuators, using a torque ratio for the highest provisional drive torque value with respect to the upper limit drive torque value is the highest temporary drive torque value, The control device for an operating mechanism according to claim 1, wherein each temporary drive torque value is converted into the converted drive torque value, and each converted drive torque value is determined as the drive torque value for each actuator.
前記作動機構の自重、及び前記作動機構にかかる負荷を保持するためのトルクである保持トルク値を取得する保持トルク値取得部と、
前記上限トルク値から前記保持トルク値を差し引いた値に基づき、前記上限駆動トルク値を算出する上限駆動トルク値算出部と、を有する、請求項1から請求項3のいずれか1項に記載の作動機構の制御装置。 The upper limit driving torque value acquisition unit,
The own weight of the operating mechanism, and a holding torque value obtaining unit that obtains a holding torque value that is a torque for holding a load applied to the operating mechanism,
4. An upper limit driving torque value calculating unit for calculating the upper limit driving torque value based on a value obtained by subtracting the holding torque value from the upper limit torque value, according to claim 1, further comprising: Actuator control.
前記駆動トルク値決定部は、前記変換駆動トルク値を前記補正項で補正したトルク値を、前記駆動トルク値として決定し、
前記補正項は、前記駆動トルク値によって前記アクチュエータを駆動した場合に、前記リンクの実際の加速度が前記目標加速度より大きくならないように、前記変換駆動トルク値を補正するための係数である、請求項1から請求項4のいずれか1項に記載の作動機構の制御装置。 A determinant calculated from the target acceleration, further includes a correction term calculation unit that calculates a correction term by normalizing the determinant with the determinant of the upper limit of the acceleration of the link,
The drive torque value determination unit determines a torque value obtained by correcting the converted drive torque value with the correction term, as the drive torque value,
The correction term is a coefficient for correcting the converted drive torque value so that when the actuator is driven by the drive torque value, the actual acceleration of the link does not become larger than the target acceleration. The control device for an operating mechanism according to any one of claims 1 to 4.
前記関節を介して隣接するリンク同士の現在の角度である現在関節角度を取得する関節角度取得部と、
前記現在関節角度が、前記現在関節角度に基づいて算出される逆ヤコビ行列が発散する特異点角度である場合に、前記現在関節角度から所定の変位角度だけ異なった前記リンク同士の仮想の角度である仮想関節角度を算出する仮想関節角度取得部と、
前記リンクの目標とする移動加速度である目標加速度を取得する目標加速度取得部と、
前記目標加速度と前記仮想関節角度とに基づき、前記アクチュエータを駆動するための駆動トルク値を算出する駆動トルク値算出部と、
前記アクチュエータを駆動するトルク値として前記駆動トルク値を用いて、前記アクチュエータを制御するアクチュエータ制御部と、を有する、
作動機構の制御装置。 A control device for an operating mechanism that drives a plurality of links connected via a joint by an actuator,
A joint angle acquisition unit that acquires a current joint angle that is a current angle between adjacent links via the joint,
When the current joint angle is a singular point angle at which the inverse Jacobian matrix calculated based on the current joint angle diverges, a virtual angle between the links different from the current joint angle by a predetermined displacement angle. A virtual joint angle acquisition unit that calculates a certain virtual joint angle;
A target acceleration acquisition unit that acquires a target acceleration that is a target movement acceleration of the link,
A drive torque value calculation unit that calculates a drive torque value for driving the actuator based on the target acceleration and the virtual joint angle,
An actuator control unit that controls the actuator using the drive torque value as a torque value for driving the actuator,
Actuator control.
前記仮想関節角度取得部は、
前記現在座標のうち、少なくとも1つの軸に対応する座標を所定の変位距離だけ変化させた座標である仮想座標を算出する仮想座標算出部と、
前記リンクが前記仮想座標に位置すると仮定した場合の前記リンク同士の角度を、前記仮想関節角度として算出する仮想関節角度算出部と、を有する、請求項6又は請求項7に記載の作動機構の制御装置。 A coordinate calculation unit that calculates a current coordinate that is a current coordinate of the link based on the current joint angle;
The virtual joint angle acquisition unit,
A virtual coordinate calculator that calculates virtual coordinates that are coordinates obtained by changing coordinates corresponding to at least one axis by a predetermined displacement distance among the current coordinates;
8. The operating mechanism according to claim 6, further comprising: a virtual joint angle calculation unit that calculates an angle between the links assuming that the link is located at the virtual coordinates, as the virtual joint angle. Control device.
前記現在関節角度と前記仮想関節角度との関係を記憶する関係記憶部と、
前記現在関節角度と前記関係に基づき、前記仮想関節角度を算出する仮想関節角度算出部と、を有し、
前記関係は、前記現在関節角度の値に応じて、前記変位角度が異なるものである、請求項6又は請求項7に記載の作動機構の制御装置。 The virtual joint angle acquisition unit,
A relationship storage unit that stores a relationship between the current joint angle and the virtual joint angle;
A virtual joint angle calculation unit that calculates the virtual joint angle based on the current joint angle and the relationship,
The control device for an operation mechanism according to claim 6, wherein the relationship is such that the displacement angle is different depending on a value of the current joint angle.
前記現在関節角度が、前記特異点角度から、前記特異点角度と所定の角度だけ離れた特異点近傍角度までの間である場合に、0より大きい値となり、
前記現在関節角度が、前記特異点角度から前記特異点近傍角度の範囲外である場合に、0となる、請求項10に記載の作動機構の制御装置。 The displacement angle is:
If the current joint angle is between the singularity angle and the singularity near angle separated from the singularity angle by a predetermined angle, the current joint angle becomes a value greater than 0,
The control device for an operating mechanism according to claim 10, wherein the current joint angle is 0 when the current joint angle is out of the range of the singular point angle from the singular point angle.
前記駆動トルク値算出部は、前記目標加速度と前記仮想関節角度と前記補正係数とに基づき、前記駆動トルク値を算出し、
前記補正係数は、所定の関節角度である第1基準関節角度に基づき算出された前記リンクの角加速度である第1基準角加速度と、前記第1基準関節角度から前記変位角度だけ異なる第2基準関節角度に基づき算出された前記リンクの角加速度である第2基準角加速度とに基づき算出される、請求項6から請求項11のいずれか1項に記載の作動機構の制御装置。 A correction coefficient storage unit that stores a correction coefficient that is a coefficient indicating a change amount of the angular acceleration of the link when the joint angle is changed by the displacement angle;
The drive torque value calculation unit calculates the drive torque value based on the target acceleration, the virtual joint angle, and the correction coefficient,
The correction coefficient is different from a first reference angular acceleration that is an angular acceleration of the link calculated based on a first reference joint angle that is a predetermined joint angle by a second reference that is different from the first reference joint angle by the displacement angle. The control device for an operation mechanism according to any one of claims 6 to 11, wherein the control is performed based on a second reference angular acceleration that is an angular acceleration of the link calculated based on a joint angle.
前記仮想関節角度取得部は、前記膝関節の現在関節角度が特異点角度である場合に、前記腰関節、前記膝関節及び前記足首関節の仮想関節角度を算出する、請求項6から請求項12のいずれか1項に記載の作動機構の制御装置。
The operating mechanism has a waist joint, a knee joint, and an ankle joint as the joint, and a thigh link provided between the hip joint and the knee joint as the link, the knee joint, and the ankle joint And a leg link provided on the opposite side of the ankle joint from the lower leg link, and the actuator generates an assist force between adjacent links via the joint by the actuator. Power assist suit to assist the wearer's strength,
13. The virtual joint angle acquisition unit calculates the virtual joint angles of the hip joint, the knee joint, and the ankle joint when the current joint angle of the knee joint is a singular point angle. The control device for an operating mechanism according to any one of claims 1 to 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016018269A JP6655410B2 (en) | 2016-02-02 | 2016-02-02 | Actuator control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016018269A JP6655410B2 (en) | 2016-02-02 | 2016-02-02 | Actuator control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017136658A JP2017136658A (en) | 2017-08-10 |
JP6655410B2 true JP6655410B2 (en) | 2020-02-26 |
Family
ID=59566506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016018269A Active JP6655410B2 (en) | 2016-02-02 | 2016-02-02 | Actuator control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6655410B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6736525B2 (en) * | 2017-07-12 | 2020-08-05 | 株式会社三共 | Amusement machine |
WO2020100730A1 (en) | 2018-11-12 | 2020-05-22 | 日本電気株式会社 | Load reduction device, load reduction method, and storage medium storing program |
-
2016
- 2016-02-02 JP JP2016018269A patent/JP6655410B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017136658A (en) | 2017-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2347867B1 (en) | Walking control apparatus of robot and method of controlling the same | |
EP2343164B1 (en) | Walking control apparatus of robot and method of controlling the same | |
US9980842B2 (en) | Motion assist device and motion assist method, computer program, and program recording medium | |
KR101665543B1 (en) | Tabilization apparatus for humanoid robot and method thereof | |
JP5991857B2 (en) | Robot balance control apparatus and control method thereof | |
JP5640991B2 (en) | Walking assist device | |
JP5661023B2 (en) | Gait generator for legged mobile robot and motion target generator for robot | |
US20130079929A1 (en) | Robot and control method thereof | |
US20120143376A1 (en) | Walking robot and method for controlling posture thereof | |
US20110178636A1 (en) | Humanoid robot and walking control method thereof | |
US8958909B2 (en) | Walking robot and control method thereof | |
US20120158181A1 (en) | Walking robot and pose control method thereof | |
EP2426037B1 (en) | Walking robot and control method thereof | |
US20130144439A1 (en) | Walking robot and control method thereof | |
Ugurlu et al. | A framework for sensorless torque estimation and control in wearable exoskeletons | |
EP2343161A1 (en) | Walking robot and method of controlling the same | |
US20110181223A1 (en) | Motor control apparatus and motor control method thereof | |
US20110213495A1 (en) | External force target generating device of legged mobile robot | |
KR20130049029A (en) | Walking robot and control method for thereof | |
JP6655410B2 (en) | Actuator control device | |
US20120046789A1 (en) | Walking robot and control method thereof | |
US8396593B2 (en) | Gait generating device of legged mobile robot | |
Guang et al. | Dynamic modeling and interactive performance of PARM: A parallel upper-limb rehabilitation robot using impedance control for patients after stroke | |
KR20160126335A (en) | High-speed walking attitude control apparatus of wearable exoskeleton robot | |
Ugurlu et al. | Lower body exoskeleton-supported compliant bipedal walking for paraplegics: How to reduce upper body effort? |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190125 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191225 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6655410 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |