JPH0276010A - Digital controller - Google Patents
Digital controllerInfo
- Publication number
- JPH0276010A JPH0276010A JP22944188A JP22944188A JPH0276010A JP H0276010 A JPH0276010 A JP H0276010A JP 22944188 A JP22944188 A JP 22944188A JP 22944188 A JP22944188 A JP 22944188A JP H0276010 A JPH0276010 A JP H0276010A
- Authority
- JP
- Japan
- Prior art keywords
- microprocessor
- state
- coordinate system
- host computer
- force
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Manipulator (AREA)
- Control Of Position Or Direction (AREA)
Abstract
Description
【発明の詳細な説明】
〔概要〕
多関節ロボットや自動機のアーム先端に取付けた力セン
サーにより検出した力をフィードバックし、位置と力の
制御を同時に行うディジタル制御装置に関し、
この種のディジタル制御装置において、サーボ系の動特
性およびロバスト性を向上でき、結果として力制御系全
体の特性をも向上できるようにすることを目的とし、
ディジタル制御装置を2個のマイクロプロセッサと1個
のホスト計算機で以て構成し、一方のマイクロプロセッ
サにサーボ制御を行わせ、他方のマイクロプロセッサに
力制御を行わせるものである。[Detailed Description of the Invention] [Summary] This type of digital control device is concerned with a digital control device that simultaneously controls position and force by feeding back force detected by a force sensor attached to the end of an arm of an articulated robot or automatic machine. With the aim of improving the dynamic characteristics and robustness of the servo system and, as a result, improving the characteristics of the entire force control system, the digital control device is equipped with two microprocessors and one host computer. One microprocessor performs servo control, and the other microprocessor performs force control.
本発明は、多関節ロボットや自動機のアーム先端に取付
けた力センサーにより検出した力をフィードバックし、
位置と力の制御を同時に行うディジクル制御装置に関す
る。組立て作業における嵌め合い、ならい、押し付は動
作などアームと対象物体とが接触するような作業では位
置と同時に力を制御Ilする必要が生じる。The present invention feeds back the force detected by a force sensor attached to the arm tip of an articulated robot or automatic machine,
This invention relates to a digital control device that simultaneously controls position and force. In operations where the arm and the target object come into contact, such as fitting, tracing, and pressing operations in assembly operations, it is necessary to control both the position and the force at the same time.
第15図は6関節ロボットの例を示す図である。 FIG. 15 is a diagram showing an example of a six-joint robot.
同図において、JlないしJ、は関節、トIはハンド(
手首)、Σえは基準座標系、Σ、はハンド座標系をそれ
ぞれ示す。In the figure, Jl to J are joints, and I is a hand (
(wrist), Σ represents the reference coordinate system, and Σ represents the hand coordinate system, respectively.
多関節ロボットを制御IIする場合、機構の複雑さから
、力センサに対してハンド座標系Σ□、関節角やモータ
駆動トルクに対して関節座標系、制御演算に対して基準
座標系Σ8を設け、それぞれの機構特性に合わせて座標
変換を決定している。When controlling an articulated robot, due to the complexity of the mechanism, a hand coordinate system Σ□ is established for the force sensor, a joint coordinate system is established for joint angles and motor drive torque, and a reference coordinate system Σ8 is established for control calculations. , the coordinate transformation is determined according to the characteristics of each mechanism.
第13図は多関節ロボットの力制御系の例を示す図であ
る。同図において、1は力の補償部、2と3は座標変換
部、4は関数発生器、5はサーボ補償部、6は機構部、
7は力センサ−,11’、Rは力の設定値、FRは力の
現在値、F、TIは力の偏差、F’は力の観測値、V4
は指示速度、Vも指示速度、rは目標位置、θは現在位
置、eは偏差、Uは操作量を示す。なお、添字Rは基準
座標系で表現される変数を示し、添字Hはハンド座標系
で表現される変数を示し、添字なしは関節座標系で表現
される変数を示す。FIG. 13 is a diagram showing an example of a force control system for an articulated robot. In the figure, 1 is a force compensation section, 2 and 3 are coordinate transformation sections, 4 is a function generator, 5 is a servo compensation section, 6 is a mechanism section,
7 is the force sensor, 11', R is the force setting value, FR is the current force value, F, TI is the force deviation, F' is the observed force value, V4
is the instructed speed, V is also the instructed speed, r is the target position, θ is the current position, e is the deviation, and U is the manipulated variable. Note that the subscript R indicates a variable expressed in the reference coordinate system, the subscript H indicates a variable expressed in the hand coordinate system, and the subscript without a subscript indicates a variable expressed in the joint coordinate system.
第14図は従来の力制御系のハードウェア構成例を示す
図である。同図において、8はマイクロプロセッサを示
している。FIG. 14 is a diagram showing an example of the hardware configuration of a conventional force control system. In the figure, 8 indicates a microprocessor.
第13図の力制御系をディジタル制御で実現しようとし
た場合、第14図のようなハードウェア構成が考えられ
るが、第13図で示す全ての処理をマイクロプロセッサ
8でシーケンシャルに処理すると、演算時間が増大して
しまう。その結果、サンプリング周期が大きくなり、内
側のループの位置決めサーボ系の動特性およびロバスト
性が劣化し、延いては力制御系の特性も悪くなる。If the force control system shown in Fig. 13 is to be realized by digital control, a hardware configuration as shown in Fig. 14 can be considered, but if all the processing shown in Fig. 13 is sequentially processed by the microprocessor 8, Time will increase. As a result, the sampling period increases, the dynamic characteristics and robustness of the positioning servo system of the inner loop deteriorate, and the characteristics of the force control system also deteriorate.
本発明は、この点に鑑みて創作されたものであって、サ
ーボ系の動特性およびロバスト性を向上でき、結果とし
て力制御系全体の特性をも向上できるディジタル制御装
置を提供することを目的としている。The present invention was created in view of this point, and an object of the present invention is to provide a digital control device that can improve the dynamic characteristics and robustness of a servo system and, as a result, improve the characteristics of the entire force control system. It is said that
本発明のディジタル制御装置は、アームの先端にハンド
が取り付けられると共にハンドに作用する力を検出する
力センサーを持つ多関節ロボットまたは自動機を制御す
るものである。The digital control device of the present invention controls an articulated robot or automatic machine having a hand attached to the tip of an arm and a force sensor that detects the force acting on the hand.
第1図は本発明のディジタル制御装置のハードウェア構
成を示すものである。同図において、11と12はマイ
クロプロセッサ、13と14は外部メモリ、15と16
はI10装置、17と18はローカル・バス、19と2
0はバス、21は同期用クロック源、22はDMAシー
ケンス制御部、23はホスト・インタフェース制御部、
24はホスト計算機をそれぞれ示している。FIG. 1 shows the hardware configuration of a digital control device of the present invention. In the figure, 11 and 12 are microprocessors, 13 and 14 are external memories, and 15 and 16 are microprocessors.
is the I10 device, 17 and 18 are local buses, 19 and 2
0 is a bus, 21 is a synchronization clock source, 22 is a DMA sequence control section, 23 is a host interface control section,
24 each indicate a host computer.
マイクロプロセッサ11.12として、ディジタル・シ
グナル・プロセッサ(例えば富士通製MB8764 )
を使用することが出来る。このディジタル・シグナル・
プロセッサは、内部にメモリを有すると共にDMAI能
を有するものである。マイクロプロセッサ11.12は
、同期用クロック源21の同期クロック(サンプリング
・クロック5CK)を取り込み、サンプリング同期を取
る。また、マイクロプロセッサ11.12は、ローカル
・バス17.18を通して外部メモリ13.14及びI
10装置15.16を互いに干渉することなく自由にア
クセスすることが出来る。I10装置15はエンコーダ
&カウンタを含み、I10装置16は力センサーを含ん
でいる。マイクロプロセッサ11.12間の通信は、サ
ンプリング毎に高速に行う必要があり、DMA転送によ
り、マイクロプロセッサ11.12の内部動作とは非同
期にバス19.20を通して行う。ホスト計算機24か
らは、各マイクロプロセッサ11.12に対してマイク
ロプロセッサ11.12の処理とは非同期にデータ転送
する必要がある。そこで、ホスト・インタフェース制御
部23により、ホスト計算機側のバスとマイクロプロセ
ッサ側のDMAインタフェースを結合し、ホスト計算機
23からDMAでマイクロプロセッサ11.12をアク
セス可能にする。更に、マイクロプロセッサ11と12
のDMA転送、ホスト計算機とマイクロプロセッサ11
間のDMA転送、ホスト計算機とマイクロプロセッサ1
2間のDMA転送のタイミングが重なった場合に、競合
を回避する機能をDMAシーケン制御部22に持たせる
。As the microprocessor 11.12, a digital signal processor (for example, Fujitsu MB8764)
can be used. This digital signal
The processor has internal memory and DMAI capability. The microprocessors 11 and 12 take in the synchronization clock (sampling clock 5CK) from the synchronization clock source 21 and perform sampling synchronization. Microprocessor 11.12 also connects external memory 13.14 and I/O via local bus 17.18.
10 devices 15, 16 can be freely accessed without interfering with each other. I10 device 15 includes an encoder & counter, and I10 device 16 includes a force sensor. Communication between the microprocessors 11.12 must be performed at high speed for each sampling, and is performed via the bus 19.20 by DMA transfer asynchronously with the internal operations of the microprocessors 11.12. It is necessary to transfer data from the host computer 24 to each microprocessor 11.12 asynchronously with the processing of the microprocessor 11.12. Therefore, the host interface control unit 23 connects the bus on the host computer side and the DMA interface on the microprocessor side, so that the host computer 23 can access the microprocessors 11 and 12 by DMA. Furthermore, microprocessors 11 and 12
DMA transfer, host computer and microprocessor 11
DMA transfer between host computer and microprocessor 1
A DMA sequence control section 22 is provided with a function to avoid conflict when the timings of DMA transfer between two devices overlap.
第2図は本発明におけるマイクロプロセッサの処理手順
を示す図である。マイクロプロセンサ11はサーボ演算
を行い、マイクロプロセッサ12は力制御演算を行う。FIG. 2 is a diagram showing the processing procedure of the microprocessor in the present invention. The microprocessor 11 performs servo calculations, and the microprocessor 12 performs force control calculations.
マイクロプロセッサ11とマイクロプロセッサ12は、
同一のサンプリング・クロックSCKで同期して動作す
るものとする。The microprocessor 11 and the microprocessor 12 are
It is assumed that they operate synchronously using the same sampling clock SCK.
先ず、マイクロプロセッサ11の処理手順について説明
する。First, the processing procedure of the microprocessor 11 will be explained.
■ サンプリング・クロックSCKのトリガ発生をチェ
ックし、サンプリング・タイミングならば、[2]の処
理に進む。- Check the trigger generation of the sampling clock SCK, and if it is the sampling timing, proceed to process [2].
■ DMA転送により1ステップ前の関節指示速度Vを
入力する。■ Input the joint instruction speed V one step before by DMA transfer.
■ 関節角θを人力する。■ Manually calculate joint angle θ.
■ e=r−0に応じてサーボ演算を実行し、モーフ駆
動力Uを更新する。(2) Execute servo calculation according to e=r-0 and update morph driving force U.
■ ■で入力した1スツプ前の関節指示速度Vに応じて
目標位置rを計算する。(2) Calculate the target position r according to the joint instruction speed V input one step before in (2).
■ ■で入力した関節角θを次のサンプリング時の座標
変換のためにマイクロプロセッサ12に送る。(2) The joint angle θ input in (2) is sent to the microprocessor 12 for coordinate transformation during the next sampling.
■ ホスト計算機からのコマンドを解析する。■ Analyze commands from the host computer.
■ 必要に応じて各コマンドを実行する。■ Execute each command as necessary.
次に、マイクロプロセッサ12の処理手順を説明する。Next, the processing procedure of the microprocessor 12 will be explained.
■ サンプリング・クロックSCKのトリガ発生をチェ
ックし、サンプリング・タイミングならば、[2]の処
理に進む。- Check the trigger generation of the sampling clock SCK, and if it is the sampling timing, proceed to process [2].
■ センサー信号FHを入力する。■ Input sensor signal FH.
■ センサー信号F1を1ステップ前の姿勢θをもとに
基準座標系の値FRに変換する。(2) Convert the sensor signal F1 to a value FR in the reference coordinate system based on the attitude θ one step before.
■ PRをホスト計算機から設定したFiRと比較し、
FiR=FiR−Fiに応じて適当な補償演算を行い、
この結果を指示速度vRとする。■ Compare the PR with the FiR set from the host computer,
Perform appropriate compensation calculation according to FiR=FiR−Fi,
This result is designated as the commanded speed vR.
■ 指示速度vllを関節速度Vに変換し、次のサンプ
リング時にマイクロプロセッサ11側に渡す。(2) Convert the commanded velocity vll to joint velocity V, and pass it to the microprocessor 11 at the next sampling time.
■、■ マイクロプロセッサ11と同様にホスト・イン
タフェース処理を行う。■, ■ Performs host interface processing in the same way as the microprocessor 11.
なお、■、■の座標変換は機構の構造により決定される
ものであり、演算方法は例えばP、Paul著ロボフロ
ボットプレータ等に記載されている。Note that the coordinate transformations of (1) and (2) are determined by the structure of the mechanism, and the calculation method is described in, for example, Robofrobot Plater by Paul Paul.
第3図はホスト・インタフェース・バッファの設計例を
示す図である。ロボットを動かしながら、力制御やサー
ボ制御のパラメータ(フィードバック・ゲインなど)を
変更する場合、1サンプリング周期内で関連するパラメ
ータを全て切り換えなければならない。そのために、−
度に換える最大のパラメータ数だけのバッファ容量とパ
ラメータ変更のための手順(ソフトウェア)が必要であ
る。FIG. 3 is a diagram showing a design example of a host interface buffer. When changing force control or servo control parameters (feedback gain, etc.) while moving the robot, all related parameters must be changed within one sampling period. For that purpose, −
A buffer capacity corresponding to the maximum number of parameters to be changed at a time and a procedure (software) for changing the parameters are required.
ホスト計算機とDSPの速度が何十倍も異なるために特
に問題になる。これを実現するために、転送コマンド受
付時に同一サンプリング内で全てのパラメータを転送す
る必要がある。そこで、ホスト・インタフェース・バッ
ファ領域は、ホスト←→マイクロプロセッサ間で一度に
転送すべき最大データ量分だけ確保し、第3図のような
形にする必要がある。第3図(a)は−度に転送するデ
ータを連続アドレスに限定するもので、ホスト計算機か
ら指定したアドレスから指定データ数分だけデータ転送
する。また、これとは別にコマンドを指定してマイクロ
プロセッサに所定の処理を実行させる(サーボ・オン/
オフなど)。この場合、マイクロプロセッサのメモリ・
マツプは、同一コマント処理に関連したデータを全て連
続したアドレスに配置しておく必要がある。第3図(ト
))は転送データのアドレスを一つずつ指定してマイク
ロプロセッサに転送先を示す方法であり、この場合はコ
マンドは成るアドレスに固定で割付けておけば良い。This is a particular problem because the speeds of the host computer and DSP are dozens of times different. To achieve this, it is necessary to transfer all parameters within the same sampling when receiving a transfer command. Therefore, it is necessary to reserve a host interface buffer area for the maximum amount of data to be transferred at one time between the host and the microprocessor, and form it as shown in FIG. In FIG. 3(a), the data to be transferred every time is limited to consecutive addresses, and only the specified number of data are transferred from the address specified by the host computer. In addition, commands can also be specified to cause the microprocessor to execute predetermined processing (servo on/off).
off, etc.). In this case, the microprocessor's memory
In the map, all data related to the same command processing must be placed at consecutive addresses. FIG. 3(g)) is a method of indicating the transfer destination to the microprocessor by specifying the addresses of transfer data one by one. In this case, the command may be fixedly assigned to the corresponding address.
第3図(C)は、マイクロプロセッサがリアルタイムで
用いるメモリ領域と全く同一サイズのパンファを用意す
るものである。これらは、マイクロプロセッサのメモリ
空間のサイズや処理スピード等によって適当なものを選
択すれば良い。In FIG. 3(C), a bread buffer having exactly the same size as the memory area used by the microprocessor in real time is prepared. An appropriate one may be selected depending on the size of the memory space of the microprocessor, processing speed, etc.
第4図は本発明と従来例の演算処理の比較を示す図であ
る。本発明の演算処理と従来の演算処理を比較すると、
第4図のようになる。力信号FHを入力してから操作量
uを更新するまでの時間については本発明も従来例も略
ぼ同じであるが、本発明によればサーボ系(マイクロプ
ロセンサ#1)のサンプリング周期を半減でき、また、
演算時間遅れを著しく減少できる。この結果、サーボ系
のみならず力制御系全体の特性を向上させることが出来
る。なお、力制御の座標変換で用いるθは1ステップ前
の値であるが、この程度の誤差は力制御演算において大
きな影響を与えない(サンプリング周期はIKHz程度
)。FIG. 4 is a diagram showing a comparison between the arithmetic processing of the present invention and the conventional example. Comparing the arithmetic processing of the present invention and conventional arithmetic processing,
It will look like Figure 4. The time from inputting the force signal FH to updating the manipulated variable u is almost the same in both the present invention and the conventional example, but according to the present invention, the sampling period of the servo system (microprocessor sensor #1) is It can be reduced by half, and
Computation time delay can be significantly reduced. As a result, the characteristics of not only the servo system but the entire force control system can be improved. Although θ used in the force control coordinate transformation is the value one step before, an error of this degree does not have a large effect on the force control calculation (the sampling period is about IKHz).
〔実施例]
第5図は位置と力のハイブリッド制御の実施例を示すブ
ロック図である。同図において、30はロボット・マユ
ブレーク、31はモータ、33はエンコーダ&カウンタ
、34はパワーアンプ、35はD/A変換器、36はサ
ーボ演算・関数発生部、37は力センサ−,38は座標
変換部、39も座標変換部、40は逆ヤコビ行列演算部
、41は力制御部、42は位置制御部、43は速度サー
ボ系をそれぞれ示している。[Embodiment] FIG. 5 is a block diagram showing an embodiment of hybrid control of position and force. In the figure, 30 is a robot eyebrow break, 31 is a motor, 33 is an encoder & counter, 34 is a power amplifier, 35 is a D/A converter, 36 is a servo calculation/function generator, 37 is a force sensor, and 38 is a 39 is also a coordinate transformation section, 40 is an inverse Jacobian matrix calculation section, 41 is a force control section, 42 is a position control section, and 43 is a speed servo system.
第13図は単なる力制御系であ′るのに対して、第5図
は力制御と位置制御を組み合わせたハイプリント制御と
呼ばれるものである。ハイブリッド制御については、例
えばM、l+、Ra1bert、Hybrid Po5
ition/Force Control of Ma
nipulators、ASME、1981に記載され
ている。第5図の中において、右半分(43,30,3
7,38,4L 40)が力制御部で第13図に対応
し、それに対して第5図の左半分は位置制御系を表して
いる。ハイブリッド制御は、位置制御と力制御の方向を
直交する方向にとることにより、拘束条件下で運動を実
現しようとするものである。第5図は多関節のロボット
・マニプレータを使用して対象物表面を倣い加工する場
合の制御系を示すものである。速度サーボ系43は、モ
ータ31、エンコーダ&カウンタ33、パーアンプ34
、D/A変換器35及びサーボ演算・関数発生部36を
有している。速度サーボ系43は、自由度の数だけ存在
する。ロボット・マニプレータ10の先端にはハンド(
図示せず)が取り付けられ、ハンドの成る1点に作用す
る力は、マユブレークの手首部分に装着された力センサ
−37によって検出される。ハンド座標系(Xゎ、Yh
、Zb)で検出した力F hは、座標変換部38におい
てロボット基準座標系(X、。While FIG. 13 shows a simple force control system, FIG. 5 shows a combination of force control and position control called high print control. For hybrid control, for example, M, l+, Ra1bert, Hybrid Po5
ition/Force Control of Ma
nipulators, ASME, 1981. In Figure 5, the right half (43, 30, 3
7, 38, 4L 40) correspond to the force control section shown in FIG. 13, whereas the left half of FIG. 5 represents the position control system. Hybrid control attempts to realize motion under constraint conditions by performing position control and force control in orthogonal directions. FIG. 5 shows a control system when a multi-jointed robot manipulator is used to copy and process the surface of an object. The speed servo system 43 includes a motor 31, an encoder & counter 33, and a per amplifier 34.
, a D/A converter 35, and a servo calculation/function generation section 36. There are as many speed servo systems 43 as there are degrees of freedom. At the tip of the robot manipulator 10 is a hand (
(not shown) is attached, and the force acting on one point of the hand is detected by a force sensor 37 attached to the wrist of the eyebrow break. Hand coordinate system (Xゎ, Yh
, Zb) is converted to the robot reference coordinate system (X, .
Y、、Z、)の値F、に変換され、力制御部41に入力
される。エンコーダ&カウンタ33で検出された各関節
角θ、は座標変換部39によってハンドの位置姿勢Xr
に変換される。マニプレータは、速度指令v0と、位置
制御部42で生成された速度指令vpと、力制御パラメ
ータをもとに力制御部41で生成された速度指令■、と
の和v=vp+vp+vr
に従って動作する。基準座標系における速度■を生成す
るためのマニプレータの各関節速度iは逆ヤコビ行列演
算部40で算出され、
θ−J−1・■
で与えられる。J−1は逆ヤコビ行列である。速度サー
ボ系43がδを実現することにより、マニプレータが動
作する。な゛お、第5図の詳細は特願昭62−3046
06号に記載されている。Y,,Z,) is converted into a value F, and input to the force control section 41. Each joint angle θ detected by the encoder & counter 33 is transformed into the position/posture Xr of the hand by the coordinate conversion unit 39.
is converted to The manipulator operates according to the sum v=vp+vp+vr of the speed command v0, the speed command vp generated by the position control section 42, and the speed command ■ generated by the force control section 41 based on the force control parameter. The velocity i of each joint of the manipulator for generating the velocity ■ in the reference coordinate system is calculated by the inverse Jacobian matrix calculation unit 40 and is given by θ-J-1·■. J-1 is an inverse Jacobian matrix. The manipulator operates when the speed servo system 43 realizes δ. By the way, the details of Figure 5 can be found in Japanese Patent Application No. 62-3046.
It is described in No. 06.
第6図は第5図の制御系を2個のマイクロプロセッサ(
DSP)を使用して実現した場合におけるマイクロプロ
セッサの処理手順の例を示す図である。第5図の制御系
の場合、位置制御パラメータや力制′41「パラメータ
等を状況に応じてリアルタイムで変更する必要があり、
これらのパラメータを一括転送可能なバッファ・エリア
をそれぞれDSPのメモリ空間に第3図(a)の形で設
けている。Figure 6 shows the control system in Figure 5 using two microprocessors (
FIG. 3 is a diagram showing an example of a processing procedure of a microprocessor when realized using a DSP. In the case of the control system shown in Figure 5, it is necessary to change position control parameters and force control parameters in real time according to the situation.
Buffer areas capable of collectively transferring these parameters are provided in the memory space of each DSP as shown in FIG. 3(a).
このタイプを選んだのはDSPのメモリ空間が小さいた
め(内部RAM256ワード)である。DSPの場合、
三角関数のライブラリが用意されていないので、近似計
算を先ず行い、これを用いて位置制御部および力制御部
などの演算を行う。This type was chosen because the DSP's memory space is small (256 words of internal RAM). In the case of DSP,
Since a library of trigonometric functions is not prepared, approximation calculations are first performed, and this is used to perform calculations for the position control section, force control section, etc.
第6図に示すように、1側のマイクロプロセッサ11で
は下記のような処理が行われる。As shown in FIG. 6, the microprocessor 11 on the first side performs the following processing.
■ サンプリング・クロックSCKのトリガ発生をチェ
ックし、サンプリング・タイミングならば、[2]の処
理に進む。- Check the trigger generation of the sampling clock SCK, and if it is the sampling timing, proceed to process [2].
■ DMAで関節指示速度δを2側のマイクロプロセッ
サからリードする。(2) Read the joint command speed δ from the microprocessor on the second side using DMA.
■ エンコーダ・カウンタから角度θ、を入力する。■ Input the angle θ from the encoder/counter.
■ サーボ演算を行い、操作量Uを出力する。■ Perform servo calculation and output the manipulated variable U.
■ 関数発生を行う。■ Perform function generation.
■ 角度θ、をDMAで2側のマイクロプロセッサに書
き込む。■ Write the angle θ to the microprocessor on the second side using DMA.
■ コマンド解析を行う。■ Perform command analysis.
■ コマンドを実行する。■ Execute the command.
2例のマイクロプロセッサ12では下記のような処理が
行われる。The two microprocessors 12 perform the following processing.
■ サンプリング・クロックSCKのトリガ発生をチェ
ックし、サンプリング・タイミングならば、[2]の処
理に進む。- Check the trigger generation of the sampling clock SCK, and if it is the sampling timing, proceed to process [2].
■ 三角関数の演算を行う。■ Perform trigonometric function operations.
■ 座標変換39より現在位置X、、を求める。■ Obtain the current position X from the coordinate transformation 39.
■ 位置制御部42の演算により位置制御方向の速度ベ
クトルv、を算出する。(2) A velocity vector v in the position control direction is calculated by the calculation of the position control unit 42.
■ 力センサーからセンサー信号F5を入力する。■ Input sensor signal F5 from the force sensor.
■ F、をF、に座標変換する。■ Coordinate transformation of F, to F.
■ 力制御部41で力の偏差ベクトルF、−F。■ Force deviation vectors F, -F in the force control unit 41.
に基づき力制御方向の速度ベクトルVrを求める。Based on this, the velocity vector Vr in the force control direction is determined.
■ 速度指令v0とV、とV、の和にJ−1を施し、関
節指示速度iを求める。(2) Apply J-1 to the sum of speed commands v0 and V, and V to find joint command speed i.
■°コマンドを解析する。■°Parse the command.
[相] コマンドを実行する。[Phase] Execute the command.
上記のようなハイブリッド制御の場合も、本発明の原理
を適用することにより、通常のシーケンシャルな処理を
行う方法に比べ、特性の良い制御系が実現できる。Even in the case of hybrid control as described above, by applying the principles of the present invention, a control system with better characteristics can be realized compared to a method that performs normal sequential processing.
次に、本発明のディジタル制御装置のハードウェア構成
を詳細に説明する。第7図はマルチパスとDSP間及び
DSP相互間のインタフェースを示す図である。同図に
おいて、51と52はDMAコントローラ、53ないし
60はバス・バッファ、61と62はボード、*ECE
は拡張メモリ・セレクト、本へ〇ENはアドレス入力イ
ネーフ゛ル、*DTENはデータ人力イネーブル、*O
Cはデータ出力イネーブルをそれぞれ示している。Next, the hardware configuration of the digital control device of the present invention will be explained in detail. FIG. 7 is a diagram showing interfaces between multipaths and DSPs, and between DSPs. In the figure, 51 and 52 are DMA controllers, 53 to 60 are bus buffers, 61 and 62 are boards, *ECE
is extended memory select, to book〇EN is address input enable, *DTEN is data input enable, *O
C indicates data output enable.
ボード61には、マイクロプロセッサ11や外部メモリ
13、DMAコントローラ51、バス・バッファ53、
バス・バッファ55、バス・バッファ57、バス・バッ
ファ59等が搭載されている。ボード62は、ボード6
1と同じ構成を有している。DMAコントローラ51は
、DSPコントロール・バスを介してマイクロプロセッ
サ11と接続されると共に、DSP間コントロール・バ
スを介してDMAコントローラ52と接続されている。The board 61 includes a microprocessor 11, an external memory 13, a DMA controller 51, a bus buffer 53,
A bus buffer 55, a bus buffer 57, a bus buffer 59, etc. are mounted. board 62 is board 6
It has the same configuration as 1. The DMA controller 51 is connected to the microprocessor 11 via a DSP control bus, and is also connected to a DMA controller 52 via an inter-DSP control bus.
DMAコントローラ51.52は、プログラマブル論理
アレイで構成される。バス・バッファ53は、DSP間
データバスを介してバス・バッファ54と接続されてい
る。バス・バッファ55はマルチパス上のアドレスをボ
ード61の外部データバス上に取り込むものであり、バ
ス・バッファ57はマルチパス上のデータをボード61
の外部データバスに取り込むものであり、バス・バッフ
ァ59はボード61の外部データバスのデータをマルチ
パスに出力するものである。マルチパスは、例えばIn
te1社のマルチパスである。*ECEは、DMA転送
時と外部メモリ使用時を区別するための信号であり、こ
れを用いて外部メモリをチップ・セレクトする。ホスト
計算機から各マイクロプロセッサ11.12に対して書
込み命令が出されると、上位のアドレスがデコードされ
、Aモード・シーケンスが実行される。各マイクロプロ
セッサ11.12のメモリ・アドレスは*ADENのタ
イミングで取り込まれ、データは*DTENのタイミン
グで取り込まれる。逆に、ホスト計算機から各マイクロ
プロセッサ11.12に対して読込み命令が出されると
、Aモード・シーケンスに続いてIモード・シーケンス
が実行され、*OCのタイミングでマルチパスにデータ
が出力される。DSP相互間のデータ転送は、*A叶倍
信号出力要求)が出力されることにより開始される。DMA controllers 51,52 are comprised of programmable logic arrays. Bus buffer 53 is connected to bus buffer 54 via an inter-DSP data bus. The bus buffer 55 takes the address on the multipath onto the external data bus of the board 61, and the bus buffer 57 takes the data on the multipath onto the external data bus of the board 61.
The bus buffer 59 outputs the data on the external data bus of the board 61 to a multipath. Multipath is, for example, In
This is multipath from te1 company. *ECE is a signal for distinguishing between DMA transfer and external memory use, and is used to chip select the external memory. When a write command is issued from the host computer to each microprocessor 11.12, the upper address is decoded and the A mode sequence is executed. The memory address of each microprocessor 11.12 is fetched at *ADEN timing, and the data is fetched at *DTEN timing. Conversely, when a read command is issued from the host computer to each microprocessor 11.12, the A mode sequence is followed by the I mode sequence, and data is output to the multipath at the *OC timing. . Data transfer between the DSPs is started by outputting *A signal output request).
第8図はDMAコントローラの入出力信号を示す図であ
る。本へ〇ENはアドレス人力イネーブル、*DTEN
はデータ人力イネーブル、*OCはデータ出力イネーフ
゛ル、本RDはマルチパス・リード・コマンド、*WT
はマルチパス・ライト・コマンF、mAOFは出力要求
、*BCTは出力許可、*WCKは出力同期クロック、
本Atpは入力要求、*ACTは入力許可、本RCには
入力クロックをそれぞれ示している。また、*oAop
のようにDが付加された信号は、DSP間専用の信号で
あり、意味は上記のものに対応する。FIG. 8 is a diagram showing input/output signals of the DMA controller. Go to book〇EN is address manual enable, *DTEN
is data manual enable, *OC is data output enable, this RD is multipath read command, *WT
is multipath write command F, mAOF is output request, *BCT is output permission, *WCK is output synchronization clock,
This Atp indicates an input request, *ACT indicates input permission, and this RC indicates an input clock. Also, *oAop
A signal to which D is added, such as , is a signal exclusively for use between DSPs, and its meaning corresponds to that described above.
第9図はDMAコントローラのAモード時の状態遷移を
示す図である。状態SOにおいて*RD=1.mWT・
1及び*D^IF=1になっても、状態はSOのままで
ある。状態SOにおいて*RD・0または傘−T・0で
あり且つ*DA I F・1になると、状態はSIOに
遷移する。FIG. 9 is a diagram showing the state transition of the DMA controller in A mode. In state SO *RD=1. mWT・
1 and *D^IF=1, the state remains SO. When it is *RD.0 or umbrella-T.0 in state SO and becomes *DA I F.1, the state transitions to SIO.
状態S10において様CT= 1になっても状態はSL
Oのままであり、*ACT=0になると状態はSllに
遷移する。Sllに遷移した後、クロックCKIに同期
してS12.S13.S14.S15.S16と遷移す
る。状態S工6においては*ACT・0になっても状態
は変化せず、*ACT・1になると317に遷移する。Even if CT=1 in state S10, the state is SL
It remains O, and when *ACT=0, the state transitions to Sll. After transitioning to Sll, in synchronization with clock CKI, S12. S13. S14. S15. The process transitions to S16. In state S6, the state does not change even if *ACT.0 is reached, and the state transitions to 317 when *ACT.1 is reached.
状態S17において寧RD=0または*WT=Oになっ
ても状態は変化せず、本RD。Even if RD=0 or *WT=O in state S17, the state does not change and is the actual RD.
1で且つ本−T・1になると、状態はSOに遷移する。1 and becomes -T.1, the state transitions to SO.
状態SOにおいて*DAIF・0になると、状態はS2
0に遷移する。状B520において*ACT・1になっ
ても状態は変化せず、峠CT・0になると、状態はS2
1に遷移する。状態S21において*ACT=Oになっ
ても状態は変化せず、本ACT・1になると状態はSO
に遷移する。When *DAIF・0 occurs in state SO, the state becomes S2
Transition to 0. At state B520, the state does not change even if it becomes *ACT・1, and when the pass CT becomes 0, the state changes to S2.
Transition to 1. Even if *ACT=O in state S21, the state does not change, and when this ACT becomes 1, the state becomes SO
Transition to.
Δモードの各状態におけるDMAコントローラからの信
号出力は、下記のようになる。The signal output from the DMA controller in each state of the Δ mode is as follows.
So : *^IF=1.*RCK=1.*ADE
N=1.*DTEN=1.*ACK=1.*DACT=
1
S10:傘A IF=0. *RCK=1. *ADE
N=*ACT、 DTEN=1−^cg=t。So: *^IF=1. *RCK=1. *ADE
N=1. *DTEN=1. *ACK=1. *DACT=
1 S10: Umbrella A IF=0. *RCK=1. *ADE
N=*ACT, DTEN=1-^cg=t.
*DACT=1
Sll: *AIF=帆*RCK=O,*ADEN=
O,*DTEN=1 、*ACK=1.本DACT=1
S12: 傘AIF・o、*pcK・l、*ADEN=
O,本DTIEN=1.*ACK=1.*D八CT・l
513: ネへIP=1.*RCK=1.傘ADEN=
1.ネ[]TIEN=0.傘八CK=1.ネD八CT=
1
S14: *^IF・11本RCK=O,*ADEN
=1.*DTEN=O,*ACK=1.本D^CT=1
S15: *AりF=1.ネRCK=1.*ADEN
=1.宰DTEN=O,本ACK=1 、*[]ACT
=1
S16二 本AIF=1.本R(J=1.*ADEN=
1.本DTEN=1.車八CK=1.本り八CT、l
517二 本AIF=1.本RCK=1.*ADEN工
1.*DTEN=1.mACK=*讐T。*DACT=1 Sll: *AIF=Sail*RCK=O, *ADEN=
O, *DTEN=1, *ACK=1. Book DACT=1 S12: Umbrella AIF・o, *pcK・l, *ADEN=
O, this DTIEN=1. *ACK=1. *D8CT・l 513: Nehe IP=1. *RCK=1. Umbrella ADEN=
1. Ne[]TIEN=0. Umbrella 8 CK = 1. neD8CT=
1 S14: *^IF・11 RCK=O, *ADEN
=1. *DTEN=O, *ACK=1. This D^CT=1 S15: *AriF=1. neRCK=1. *ADEN
=1. Main DTEN=O, Main ACK=1, *[]ACT
=1 S162 AIF=1. Book R(J=1.*ADEN=
1. This DTEN=1. Car eight CK=1. Book 8 CT, l 5172 Book AIF=1. Book RCK=1. *ADEN engineering 1. *DTEN=1. mACK=*enT.
*DACT=1
S20: *AIF−本DAIF、本DACT=1.
*RCK=1.*^DEN=L、*DTEN=11本A
CK=1
S21: 本AIF=ネDAIF、*DACT=*AC
T、*RCK−*DRCK、車ADEN=1、*DTE
N=1.*DTEN・II*八Cへ、1第10図はAモ
ードのタイミング・チャートである。先ず、マルチパス
からDSPI(又はDSP2)にデータを転送する場合
について説明する。*DACT=1 S20: *AIF-this DAIF, this DACT=1.
*RCK=1. *^DEN=L, *DTEN=11 pieces A
CK=1 S21: This AIF=NEDAIF, *DACT=*AC
T, *RCK-*DRCK, car ADEN=1, *DTE
N=1. *DTEN・II*To 8C, 1 FIG. 10 is a timing chart of A mode. First, a case will be described in which data is transferred from multipath to DSPI (or DSP2).
状態SOにおいて*WT=Oになると、状態はSIOに
遷移する。なお、状態遷移はクロックCK 1 (16
KHz)に同期して行われる。状態SIOにおいては、
本AIF=O。When *WT=O in state SO, the state transitions to SIO. Note that the state transition is based on the clock CK 1 (16
KHz). In state SIO,
Book AIF=O.
傘RCK=1.*ADENニネACT、DTI’N=1
.*AIJ=1.本DACT=1になる。なお、mA(
Jはコマンドに対する応答(アクノリッジ)信号である
。状態SIOにおいて率ACT=0になると、状態はS
llに遷移する。状BSIIにおいては、 *AIF=
O,*RCK=O,*八DEN=O,*DTEN=1へ
、本ACK=1.*DACT=1である。状態S11に
おいてクロック(、Klが立ち上がると、状態はSll
からS12に遷移する。Umbrella RCK=1. *ADEN nine ACT, DTI'N=1
.. *AIJ=1. This DACT becomes 1. In addition, mA(
J is a response (acknowledge) signal to the command. When the rate ACT=0 in state SIO, the state is S
Transition to ll. In the state BSII, *AIF=
O, *RCK=O, *8DEN=O, *DTEN=1, this ACK=1. *DACT=1. When the clock (, Kl rises in state S11, the state changes to Sll.
The process then transitions to S12.
状態S12においては、本AIF・01本RCK= 1
、本ADEN・01本DTEN= 1 、5ACK・
1.傘DACT・1である。状態S12においてクロッ
クCKIが立ち上がると、状態はS12から513に遷
移する。状態313′においては、*AIF=1.*R
CK211本ADEN=1. *DTEN=O,*AC
K=l 、 *DACT=1である。状態S13におい
てクロックCKIが立ち上がると、状態はS13からS
14に遷移する。状態S14においては、寧AIF=1
.本RCK=O,*^DEN=1.*DTEN=O,*
^CK=1 、 *DACT・1である。状JIQS1
4においてクロックCKIが立ち上がると、状態はS1
4から315に遷移する。状態S15においては、*A
tp=t、傘RCK=1.*ADEN・1 、 *DT
EN・Q、 *ACK=1.本DACT=1である。状
B515においてクロックCKIが立ち上がると、状態
は316に遷移する。状態S16においては、*AIF
=1.*RCK=1.*ADEN=1、車DTEN=1
.本ACに=1.’*DACT・1である。状jlJ
S 16において様CT= 1になると、状態はS16
から517に遷移する。状MS17におし1ては、*A
IF=1.*RCK・11本八へEN=1.本DTEN
=1.本^CK=本−T1本DACT=1である。状態
S17において本−丁・1になると、状態はS17から
SOに遷移する。In state S12, this AIF/01 RCK = 1
, this ADEN・01 this DTEN=1, 5ACK・
1. This is the umbrella DACT-1. When the clock CKI rises in state S12, the state transitions from S12 to 513. In state 313', *AIF=1. *R
CK211 pieces ADEN=1. *DTEN=O, *AC
K=l, *DACT=1. When the clock CKI rises in state S13, the state changes from S13 to S.
Transition to 14. In state S14, NingAIF=1
.. Book RCK=O, *^DEN=1. *DTEN=O,*
^CK=1, *DACT・1. Status JIQS1
When the clock CKI rises at 4, the state is S1
Transition from 4 to 315. In state S15, *A
tp=t, umbrella RCK=1. *ADEN・1, *DT
EN・Q, *ACK=1. This DACT=1. When the clock CKI rises in state B515, the state transitions to 316. In state S16, *AIF
=1. *RCK=1. *ADEN=1, car DTEN=1
.. To this AC = 1. '*DACT・1. condition jlJ
When CT=1 in S16, the state is S16
to 517. For MS17, *A
IF=1. *RCK・11 to 8 EN=1. Book DTEN
=1. Book ^ CK = book - T1 book DACT = 1. When the state becomes 1 in state S17, the state transitions from S17 to SO.
次に、DSPI(又はDSP2)からDSP2(DSP
I)にデータを転送する場合について説明する。状態S
Oにおいて*DA IF、Oになると、状態はSOから
320に遷移する。状B520においては、本AIF=
傘DAIF、本DACT=1 、*RCK=1.*AD
EN工l1本口TEN=1.本ACK・1である。状態
S20において*ACT=Oになると、状態はS20か
ら321に遷移する。状態S21においては、 率^I
F=*DAIF、*DACT=*^CT、宰RCK=*
DRCK、*ADEN・l 、 *DTIl!N・19
本口TEN・15本ACK・1である。状態S21にお
いて本AC?=1になると、状態はS21からSOに遷
移する。Next, from DSPI (or DSP2) to DSP2 (DSP
The case of transferring data to I) will be explained. Status S
When *DA IF, O at O, the state transitions from SO to 320. In case B520, this AIF=
Umbrella DAIF, book DACT=1, *RCK=1. *AD
EN engineering l1 main mouth TEN=1. This is ACK 1. When *ACT=O in state S20, the state transitions from S20 to 321. In state S21, the rate ^I
F=*DAIF, *DACT=*^CT, RCK=*
DRCK, *ADEN・l, *DTIl! N・19
Honguchi TEN, 15 ACKs, 1. Main AC in state S21? =1, the state transitions from S21 to SO.
第11図はDMAコントローラの■モード時の状B遷移
を示す図である。状BSOにおいて*Aop・1又は様
CT=O又は*DBCT=1 になっても、状態はSO
のままである。状態SOにおいて本Aop・Q、 車A
CT=1及び傘DBCT=Oになると、状態はSOから
Slに遷移する。FIG. 11 is a diagram showing the state B transition of the DMA controller in the ■mode. Even if *Aop・1 or CT=O or *DBCT=1 in state BSO, the state is SO
It remains as it is. In state SO, book Aop・Q, car A
When CT=1 and umbrella DBCT=O, the state transitions from SO to Sl.
状態S1において、*AOF=1又は本WCK=1にな
っても状態は変化ぜず、*AOF・0.*騙CK=0及
び*U・7であると、状態はSlからS2に遷移する。In state S1, even if *AOF=1 or real WCK=1, the state does not change, and *AOF・0. *False CK=0 and *U·7, the state transitions from Sl to S2.
なお、U−(014,Di3.012 )であり、機蕃
を表す。なお、DSPIに対しては機番1、DSP2に
対しては機番2、マルチパス・マスクに対しては仮想的
に機番7が設定されている。状態S2において、峠op
=o又は本WCK・0になっても状態は変化せず、4叶
・1で且つ峠CK・0であると、状態はS2から83に
遷移する。状態S3においてクロックCK2が立ち上が
ると、状態はS4に遷移する。状態S4において、宰R
D・0になっても状態は変化せず、*Ro=iであると
、状態はS4からSOに遷移する。状態S1において本
AOF=0. *WCK=O及び*U≠7になると、状
態はSlから311に遷移する。In addition, it is U-(014, Di3.012) and represents a machine. Note that machine number 1 is set for DSPI, machine number 2 is set for DSP2, and machine number 7 is virtually set for multipath mask. In state S2, the pass op
The state does not change even if =o or the actual WCK is 0, and if it is 4 leaves and 1 and the pass CK is 0, the state transitions from S2 to 83. When the clock CK2 rises in state S3, the state transitions to S4. In state S4, Zai R
The state does not change even if it becomes D.0, and if *Ro=i, the state changes from S4 to SO. In state S1, this AOF=0. When *WCK=O and *U≠7, the state transitions from Sl to 311.
状態511において、*DBCT=Oになっても状態は
変化せず、本DBCT・1であると、状態はSllから
Soに遷移する。In state 511, the state does not change even if *DBCT=O, and if this DBCT is 1, the state changes from Sll to So.
■モードの各状態におけるDMAコントローラからの信
号出力は下記のようになる。■The signal output from the DMA controller in each mode is as follows.
SO: 本BCT=1.傘0C=1.*ACK=1.
本0AOF−本AOForNOT本ACT。SO: Book BCT=1. Umbrella 0C=1. *ACK=1.
Book0AOF-BookAOForNOTBookACT.
*DWCK=本−CM
Sl: 傘BCT=0.本0C=1.*ACK=1.
車DAOF=*AOForNOT*ACT、*DWCK
=本−CK
S2: 本BCT=O,本0C=1.本ACK=1.
傘DAOF−本AOForNOT*ACT。*DWCK=Book-CM Sl: Umbrella BCT=0. Book 0C=1. *ACK=1.
Car DAOF=*AOForNOT*ACT, *DWCK
=Book-CK S2: BookBCT=O, Book0C=1. Real ACK=1.
Umbrella DAOF-Book AOForNOT*ACT.
*DWCK=*WCK
S3: JCT=O,本0C=O,*ACK=1.*
DAOF=*八0ForNOT*ACT。*DWCK=*WCK S3: JCT=O, book0C=O, *ACK=1. *
DAOF=*80ForNOT*ACT.
*DWCK=*WCK
S4: JCT=本DBCT、*OC=本RD、傘A
CK=本RD、*0AOF=*AOForNOT*八C
T、*DWCK−本WCKSll: *[1CT=本
DBCT、*0C=l、*^CK=1.*DAOF=*
AOForNOT*ACT、本DWCK、車−CK
第12図は■モードのタイミング・チャートを示す図で
ある。先ず、DSPI(又はDSP2)からマルチパス
へのデータ転送について説明する。*DWCK=*WCK S4: JCT=Book DBCT, *OC=Book RD, Umbrella A
CK=This RD, *0AOF=*AOForNOT*8C
T, *DWCK-Book WCKSll: *[1CT=Book DBCT, *0C=l, *^CK=1. *DAOF=*
AOForNOT*ACT, main DWCK, car-CK FIG. 12 is a diagram showing a timing chart of mode ■. First, data transfer from DSPI (or DSP2) to multipath will be explained.
状BSOにおいては、*BCT=1.*0C=1.本A
CK=1.本DAOF=*AOForNOT本^CT、
*DWCK=本WCKである。状態SOにおいて*A
OF・0.*ACT・1及び本DBCT・0になると、
状態はSOから31に遷移する。なお、状態遷移はクロ
ックCK2に同期して行われる。状BS1においては*
BCT=0.*0C=1 、*へCK=1.*DAOF
−*AOForNOT*ACT 、本DWCK=*W
CKである。状BS1において、*AOF=O,*WC
K=0及びU=7であると、状態はSlから32に遷移
する。状態S2においては、*BCT=O,*0C=1
、 *ACK=1. *DAOF=*AOForNO
T*ACT、 *DWCK=*WCKである。状態S2
において様OF・1で且つdcK・0であると、状態は
S2から83に遷移する。状US3においては*BCT
・0.*0C=O,*^CK=1、本0^OF=本AO
ForNOT*ACT、 傘DWCK=*WCKである
。 状態S3においてクロックCK2が立ち上がると、
状態はS3から84に遷移する。状態S4においては、
*BCT・本DBCT、 *OC=*RD、 *ACK
=*RD、 *D^OF=*^0ForNOT*ACT
、 *DWCK−傘−CKである。状態S4において*
RD=1になると、状態はS4からSOに遷移する。In the state BSO, *BCT=1. *0C=1. Book A
CK=1. Book DAOF=*AOForNOT book^CT,
*DWCK=real WCK. *A in state SO
OF・0. *When it comes to ACT・1 and this DBCT・0,
The state changes from SO to 31. Note that the state transition is performed in synchronization with clock CK2. In condition BS1 *
BCT=0. *0C=1, *CK=1. *DAOF
-*AOForNOT*ACT, this DWCK=*W
It is CK. In state BS1, *AOF=O, *WC
If K=0 and U=7, the state transitions from Sl to 32. In state S2, *BCT=O, *0C=1
, *ACK=1. *DAOF=*AOForNO
T*ACT, *DWCK=*WCK. State S2
If the state is OF.1 and dcK.0, the state transitions from S2 to 83. *BCT in US3
・0. *0C=O, *^CK=1, book 0^OF=book AO
ForNOT*ACT, umbrella DWCK=*WCK. When clock CK2 rises in state S3,
The state transitions from S3 to 84. In state S4,
*BCT/this DBCT, *OC=*RD, *ACK
=*RD, *D^OF=*^0ForNOT*ACT
, *DWCK-Umbrella-CK. In state S4*
When RD=1, the state transitions from S4 to SO.
次に、DSPI(又はDSP2)からDSP2(DSP
I)にデータを転送する場合について説明する。状態S
1において、車AOF=0−匈CK、O及びU≠7であ
ると、状態はSlからSllに遷移する。状態Sllに
おいては、本BCT=本DBCT、*0C=1.*AC
K=1.*[1AOF−寧A叶orNOT本AcT、
本DWCK=*WCKである。状態SllにおいてネD
BCT・1になると、状態はSllからSOに遷移する
。Next, from DSPI (or DSP2) to DSP2 (DSP
The case of transferring data to I) will be explained. Status S
1, the state transitions from Sl to Sll when car AOF=0-匈CK, O and U≠7. In state Sll, real BCT=real DBCT, *0C=1. *AC
K=1. *[1AOF-Ning A Kano orNOT book AcT,
This DWCK=*WCK. In state Sll
When the BCT becomes 1, the state changes from Sll to SO.
以上の説明から明らかなように、本発明によれば、力と
位置を同時に制御する力制御系において、サンプリング
周期を短くできると共に、サーボの演算時間遅れを著し
く減少することが出来るので、制御系全体の特性を向上
させることが出来、また、それぞれのマイクロプロセッ
サの内部処理とは独立に、ホスト計算機から非同期に所
定のコマンドやパラメータを送信することが出来る。As is clear from the above description, according to the present invention, in a force control system that simultaneously controls force and position, the sampling period can be shortened and the servo calculation time delay can be significantly reduced. The overall characteristics can be improved, and predetermined commands and parameters can be asynchronously transmitted from the host computer independently of the internal processing of each microprocessor.
第1図は本発明のディジタル制御装置のハードウェア構
成を示す図、第2図は本発明におけるマイクロプロセッ
サの処理手順を示す図、第3図は本発明におけるホスト
・インタフェース・バッファの例を示す図、第4図は本
発明と従来例の演算処理の比較を示す図、第5図は位置
と力のハイブリッド制御の実施例を示す図、第6図は第
5図の制御系を2個のマイクロプロセッサを使用して実
現した場合におけるマイクロプロセッサの処理手順の例
を示す図、第7図はマルチパスとDSP間およびDSP
相互間のインタフェースを示す図、第8図はDMAコン
トローラの入出力信号を示す図、第9図はDMAコント
ローラのAモード時の状態遷移を示す図、第10図はD
MAコントローラのAモード時のタイミング・チャート
を示す図、第11図はDMAコントローラのIモード時
の状態遷移を示す図、第12図はDMAコントローラの
Iモード時のタイミング・チャートを示す図、第13図
は多関節ロボットの力制御系の例を示す図、第14図は
従来の力制御系のハードウェア構成例を示す図、第15
図は6関節ロボットの例を示す図である。
11と12・・・マイクロプロセッサ、13と14・・
・外部メモリ、15と16・・弓10装置、17と18
・・・ローカル・バス、19と20・・・バス、21・
・・同期用クロック源、22・・・DMAシーケンス制
御部、23・・・ホスト・インクフェース制御部、24
・・・ホスト計算機、30・・・ロボット・マユブレー
ク、31・・・モータ、33・・・エンコーダ&カウン
タ、34・・・パワーアンプ、35・・・D/A変tA
2N、36・・・サーボ演算・関数発生部、37・・
・力センサ−,38・・・座標変換部、3つ・・・座標
変換部、40・・・逆ヤコビ行列演算部、41・・・力
制御部、42・・・位置制御部、43・・・速度サーボ
系、51と52・・・DMAコントローラ、53ないし
60・・・ハス・バッファ、61と62・・・ボード。
特許出願人 富士通株式会社
代理人弁理士 京 谷 四 部
(a) (b)
(c)
ホスト・イングツニー久・バヅファの杖を十分A第3図
イfLLと力のハイフ゛リッド惨I?JPの*方匪分」
第5図
マルケノ(人ヒDSPM及ドDSP湘亙間乃イングフェ
ース尭7図
DMAコントローラの入出カイ芭号
浦8図
DMAコントローラのAモード時の状態、遷木多M9図
■@■O■O@ ■[相]
■■■(2)O■■ −
京AOF=1 or *ACT=O
or * DBCT = l
DMAコンドローラリIモード吟の伏胱l神M11図
■■@■[有]■[相] [相]FIG. 1 is a diagram showing the hardware configuration of a digital control device according to the present invention, FIG. 2 is a diagram showing a processing procedure of a microprocessor according to the present invention, and FIG. 3 is a diagram showing an example of a host interface buffer according to the present invention. Figure 4 is a diagram showing a comparison of the arithmetic processing of the present invention and the conventional example, Figure 5 is a diagram showing an example of hybrid control of position and force, and Figure 6 is a diagram showing two control systems of Figure 5. Figure 7 shows an example of the microprocessor processing procedure when realized using a microprocessor.
FIG. 8 is a diagram showing the input/output signals of the DMA controller, FIG. 9 is a diagram showing the state transition of the DMA controller in A mode, and FIG. 10 is a diagram showing the D mode.
FIG. 11 is a diagram showing a timing chart of the MA controller in A mode. FIG. 11 is a diagram showing state transition of the DMA controller in I mode. FIG. 12 is a diagram showing a timing chart of the DMA controller in I mode. Fig. 13 is a diagram showing an example of a force control system for an articulated robot, Fig. 14 is a diagram showing an example of the hardware configuration of a conventional force control system, and Fig. 15 is a diagram showing an example of the hardware configuration of a conventional force control system.
The figure shows an example of a six-joint robot. 11 and 12... microprocessor, 13 and 14...
・External memory, 15 and 16... Bow 10 device, 17 and 18
...Local bus, 19 and 20...Bus, 21.
... Synchronization clock source, 22... DMA sequence control section, 23... Host interface control section, 24
...Host computer, 30...Robot eyebrow break, 31...Motor, 33...Encoder & counter, 34...Power amplifier, 35...D/A variable tA
2N, 36... Servo calculation/function generation section, 37...
- Force sensor, 38... Coordinate transformation section, three... Coordinate transformation section, 40... Inverse Jacobian matrix calculation section, 41... Force control section, 42... Position control section, 43. ...Speed servo system, 51 and 52...DMA controller, 53 or 60...Has buffer, 61 and 62...board. Patent Applicant: Fujitsu Limited Representative Patent Attorney Kyotani Shibu (a) (b) (c) Host Ingtuni Hisashi Badufa's staff is enough A Figure 3 If LL and power hyphenate disaster I? JP's
Figure 5 Markeno (Human Hi DSPM and DSP Xiangmano Ingface Figure 7 Figure 8 Input and output of the DMA controller Figure 8 State of the DMA controller in A mode, Transition M9 Diagram ■@■O■O @ ■ [phase] ■■■ (2) O ■■ - KyoAOF=1 or *ACT=O or * DBCT = l DMA condolence I mode Gin's bowed bladder l God M11 diagram ■■@■[Yes]■[ phase] [phase]
Claims (2)
ンドに作用する力を検出する力センサーを持つ多関節ロ
ボットまたは、自動機を制御するディジタル制御装置で
あって、 内部にメモリを有すると共にDMA機能を持つ第1のマ
イクロプロセッサ(11)と、 内部にメモリを有すると共にDMA機能を持つ第2のマ
イクロプロセッサ(12)と、 第1のマイクロプロセッサ(11)にローカル・バス(
17)を介して接続された外部メモリ(13)および入
出力装置(15)と、 第2のマイクロプロセッサ(12)にローカル・バス(
18)を介して接続された外部メモリ(14)および入
出力装置(16)と、 DMAシーケンス制御部(22)と、 DMAシーケンス制御部(22)と第1のマイクロプロ
セッサ(11)とを接続するバス(19)と、DMAシ
ーケンス制御部(22)と第2のマイクロプロセッサ(
12)とを接続するバス(20)と、第1のマイクロプ
ロセッサ(11)および第2のマイクロプロセッサ(1
2)に対してサンプリング・クロックSCKを供給する
同期クロック源(21)と、ホスト計算機(24)と、 ホスト計算機(24)のバスとマイクロプロセッサ側の
DMAインタフェースとを接続するホスト・インタフェ
ース制御部(23)と、 を具備し、且つ DMAシーケン制御部(22)は、第1のマイロクプロ
セッサ(11)と第2のマイクロプロセッサ(12)間
のDMA転送、ホスト計算機(24)と第1のマイクロ
プロセッサ(11)間のDMA転送、ホスト計算機(2
4)と第2のマイクロプロセッサ(12)間のDMA転
送のタイミングが重なった場合に、競合を回避する機能
を持ち、 第1のマイクロプロセッサ(11)は、 [1]サンプリング・クロックSCKのトリガ発生をチ
ェックし、サンプリング・タイミングならば、[2]の
処理に進む。 [2]DMA転送により1ステップ前の関節指示速度v
を入力する。 [3]関節角θを入力する。 [4]e=r−θに応じてサーボ演算を実行し、モータ
駆動力uを更新する。 [5][2]で入力した1ステップ前の関節指示速度v
に応じて目標位置rを計算する。[6][3]で入力し
た関節角θを次のサンプリング時の座標変換のためにマ
イクロプロセッサ(12)に送る。 [7]ホスト計算機からのコマンドを解析する。 [8]必要に応じて各コマンドを実行する。 等の処理を行うように構成され、 第2のマイクロプロセッサ(12)は、 [1]サンプリング・クロックSCKのトリガ発生をチ
ェックし、サンプリング・タイミングならば、[2]の
処理に進む。 [2]力センサー信号F^Hを入力する。 [3]力センサー信号F^Hを1ステップ前の姿勢θを
もとに基準座標系の値F^Rに変換する。 [4]F^Rをホスト計算機から設定したF_i^Rと
比較し、F_■^R=F_i^R−F^Rに応じて適当
な補償演算を行い、この結果を指示速度v^Rとする。 [5]指示速度v^Rを関節速度vに変換し、次のサン
プリング時にマイクロプロセッサ(11)側に渡す。 [6]ホスト計算機からのコマンドを解析する。 [7]必要に応じて各コマンドを実行する。 等の処理を行うように構成されている ことを特徴とするディジタル制御装置、 ただし、F_i^Rは基準座標系での力の設定値、F^
Rは基準座標系での力の現在値、F_■^Rは基準座標
系での力の偏差、F^Hはハンド座標系での力の観測値
、v^Rは基準座標系での指示速度、vは関節座標系で
の指示速度、rは関節座標系での目標位置、θは関節座
標系での現在位置、eは関節座標系での偏差、uは操作
量をそれぞれ示す。(1) An articulated robot with a hand attached to the tip of the arm and a force sensor that detects the force acting on the hand, or a digital control device that controls an automatic machine, which has internal memory and a DMA function. a first microprocessor (11) with internal memory and a DMA function; a second microprocessor (12) with internal memory and a DMA function;
external memory (13) and input/output devices (15) connected via a local bus (17) and a second microprocessor (12) via a local bus (
18), an external memory (14) and an input/output device (16), a DMA sequence control unit (22), and a DMA sequence control unit (22) and the first microprocessor (11) connected via a bus (19), a DMA sequence control unit (22) and a second microprocessor (
12), and a bus (20) connecting the first microprocessor (11) and the second microprocessor (1
2) a synchronous clock source (21) that supplies a sampling clock SCK, a host computer (24), and a host interface control unit that connects the bus of the host computer (24) and the DMA interface on the microprocessor side. (23); and, the DMA sequence control unit (22) performs DMA transfer between the first microprocessor (11) and the second microprocessor (12), the host computer (24) and the first DMA transfer between microprocessors (11), host computer (2)
[1] Trigger of sampling clock SCK The occurrence is checked, and if it is the sampling timing, the process proceeds to [2]. [2] Joint instruction speed v one step before by DMA transfer
Enter. [3] Input the joint angle θ. [4] Execute servo calculation according to e=r−θ and update motor driving force u. [5] Joint instruction speed v one step before input in [2]
The target position r is calculated accordingly. [6] Send the joint angle θ input in [3] to the microprocessor (12) for coordinate transformation during the next sampling. [7] Analyze commands from the host computer. [8] Execute each command as necessary. The second microprocessor (12) is configured to perform the following processes: [1] Checks the occurrence of a trigger of the sampling clock SCK, and if it is the sampling timing, proceeds to the process of [2]. [2] Input force sensor signal F^H. [3] Convert the force sensor signal F^H to a value F^R in the reference coordinate system based on the posture θ one step before. [4] Compare F^R with F_i^R set from the host computer, perform appropriate compensation calculation according to F_■^R = F_i^R - F^R, and use this result as the command speed v^R. do. [5] Convert the commanded velocity v^R to joint velocity v, and pass it to the microprocessor (11) at the next sampling time. [6] Analyze commands from the host computer. [7] Execute each command as necessary. A digital control device characterized in that it is configured to perform processing such as, where F_i^R is a force setting value in a reference coordinate system, F^
R is the current value of the force in the reference coordinate system, F_■^R is the deviation of the force in the reference coordinate system, F^H is the observed value of the force in the hand coordinate system, v^R is the instruction in the reference coordinate system The velocity, v is the commanded velocity in the joint coordinate system, r is the target position in the joint coordinate system, θ is the current position in the joint coordinate system, e is the deviation in the joint coordinate system, and u is the manipulated amount.
マイクロプロセッサ(12)は、それぞれホスト計算機
(24)から送られてくるデータを格納するホスト・イ
ンタフェース・バッファを有することを特徴とする請求
項(1)記載のディジタル制御装置。(2) The first microprocessor (11) and the second microprocessor (12) each have a host interface buffer for storing data sent from the host computer (24). The digital control device according to item (1).
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22944188A JPH0276010A (en) | 1988-09-13 | 1988-09-13 | Digital controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22944188A JPH0276010A (en) | 1988-09-13 | 1988-09-13 | Digital controller |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0276010A true JPH0276010A (en) | 1990-03-15 |
Family
ID=16892266
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22944188A Pending JPH0276010A (en) | 1988-09-13 | 1988-09-13 | Digital controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0276010A (en) |
-
1988
- 1988-09-13 JP JP22944188A patent/JPH0276010A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5254923A (en) | Industrial robot synchronous control method and apparatus | |
| JP2895672B2 (en) | Multiple robot control method | |
| US8744625B2 (en) | Robot controlling device | |
| US5157315A (en) | Method of controlling robot movements | |
| JPH0720915A (en) | Synchronism control method for robot | |
| JPS6334609A (en) | Plural arms device | |
| JPS62194513A (en) | Controller for arc interpolation posture of robot | |
| JP2629291B2 (en) | Manipulator learning control method | |
| JPH03190687A (en) | Control method for profile speed of robot | |
| JP2703767B2 (en) | Robot teaching data creation method | |
| JPH05177563A (en) | Control method for master slave manipulator | |
| JP2649463B2 (en) | Method of teaching an industrial robot having a rotating external axis and teaching device used therefor | |
| JP3402378B2 (en) | Control method of 7-axis manipulator | |
| JPH0275002A (en) | Digital controller | |
| JPH08141951A (en) | Robot cooperative control method and cooperative control apparatus | |
| WO1991003779A1 (en) | Robot control method | |
| JPS63239511A (en) | Robot system | |
| JPH0492905A (en) | Teaching device for robot | |
| JP2000084878A (en) | Robot control device | |
| JPH05253864A (en) | Master slave manipulator | |
| JPS62114892A (en) | Force-sensor drift compensation method of robot | |
| JPH03184786A (en) | Track formation system for robot | |
| JPH02121007A (en) | Controlling system for teaching robot | |
| JP2759278B2 (en) | Robot teaching data creation device | |
| JP2832903B2 (en) | Coordinate switching method for scanning control |