JP7761340B2 - Control device, control method, program, and robot control system - Google Patents
Control device, control method, program, and robot control systemInfo
- Publication number
- JP7761340B2 JP7761340B2 JP2023089061A JP2023089061A JP7761340B2 JP 7761340 B2 JP7761340 B2 JP 7761340B2 JP 2023089061 A JP2023089061 A JP 2023089061A JP 2023089061 A JP2023089061 A JP 2023089061A JP 7761340 B2 JP7761340 B2 JP 7761340B2
- Authority
- JP
- Japan
- Prior art keywords
- hand
- information
- control
- robot arm
- user
- 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
Landscapes
- Manipulator (AREA)
Description
本発明は、制御装置、制御方法、プログラム、およびロボット制御システムに関する。 The present invention relates to a control device, a control method, a program, and a robot control system.
近年、ロボットを様々な分野で活用することが期待されている。ロボットの制御方法の一つとして、人が遠隔地から操作する方法がある。操作方法の一つは、遠隔地から人(操作者)が腕や手を用いて操作(動作)した通りに、ロボットアームが動作することを期待するものである。こういったロボットアームの遠隔操作は、例えば、災害地や人が立ち入ることが困難な場所(人にとっては危険な場所や、人体に悪影響を及ぼす可能性のある場所を含む)において、人に代わってロボットが作業するという目的で利用可能である。また、外科医師らが現地に赴くことなく遠隔地から手術を行う「遠隔手術」への活用が見込める。また、人が直接現地に行くことなく通信回線を介して行う「オンラインツアー」での体験操作に活用することも期待される。 In recent years, there are high expectations for robots to be used in a variety of fields. One method of controlling a robot is for a person to operate it from a remote location. One operation method is to expect the robot arm to move exactly as a person (operator) operates (moves) it from a remote location using their arm or hand. This type of remote operation of a robot arm can be used, for example, to allow robots to work in place of humans in disaster areas or places that are difficult for humans to enter (including places that are dangerous for humans or that may have adverse effects on the human body). It is also expected to be used in "remote surgery," in which surgeons perform surgery from a remote location without traveling to the site. It is also expected to be used for experiential operation in "online tours" conducted via communication lines without people having to go to the site in person.
人(操作者)の操作(動作)の通りに遠隔地のロボットアームが動く「遠隔操作」は、操作のために習得すべき特殊な技能がなく(あるいは、少なく)、人(操作者)の直感的な操作を可能とする。 "Teleoperation," in which a robot arm in a remote location moves in accordance with the operations (movements) of a person (operator), allows for intuitive operation by the person (operator), with no (or very few) special skills to be acquired.
特許文献1には、ロボット制御方法が記載されている。特に、特許文献1の段落0034には、「オペレーションコンピュータ10は、主に、オペレータ40のモーションに基づいてロボット3へのコマンドを生成」と記載されている。また、特許文献1の段落0266には、「仮想空間では遅れがないように動作し、物理シミュレータでロボット3の運動をシミュレートし、シミュレーション結果を用いて仮想空間内ではオペレータ40とアバター41とを同期させ動作させる。そして、アバターの41の動きを示すデータをメモリに入れておき、ロボット3に順次送信する。」と記載されている。 Patent Document 1 describes a robot control method. In particular, paragraph 0034 of Patent Document 1 states, "The operation computer 10 generates commands for the robot 3 mainly based on the motion of the operator 40." Furthermore, paragraph 0266 of Patent Document 1 states, "It operates without delay in the virtual space, simulates the movement of the robot 3 using a physical simulator, and uses the simulation results to synchronize and operate the operator 40 and avatar 41 in the virtual space. Data indicating the movement of the avatar 41 is then stored in memory and sequentially transmitted to the robot 3."
特許文献2には、ロボットアームを誘導する技術が記載されている。特に、特許文献2の段落0192には、「ロボット・アーム6は、ロボット・アームを統御するための種々の制約を考慮する動きコントローラGEN_TRAJによって誘導される。特に、このコントローラは、設定された軌道の計画と、ユーザによる処置の対象となるゾーンの定義を考慮する。」と記載されている。また、特許文献2の段落0187には、「本発明の方法の有利な点は、30ms未満で新たなモデル化された表面を生成することが可能なことにある。これらの応答時間は、特に、可能な限り迅速にその場を離れるために衝突または突然な動きを予期するのに十分な速度でロボット・アーム6の動きを統御することを可能とする。」と記載されている。 Patent Document 2 describes a technology for guiding a robot arm. In particular, paragraph 0192 of Patent Document 2 states, "The robot arm 6 is guided by a motion controller GEN_TRAJ that takes into account various constraints for controlling the robot arm. In particular, this controller takes into account the planning of a set trajectory and the user's definition of the zone to be treated." Furthermore, paragraph 0187 of Patent Document 2 states, "An advantage of the method of the present invention is that it is possible to generate a new modeled surface in less than 30 ms. These response times make it possible, in particular, to control the movement of the robot arm 6 at a speed sufficient to anticipate collisions or sudden movements in order to leave the area as quickly as possible."
特許文献3には、ロボット・システムの視覚ベースの遠隔操作の技術が記載されている。特に、特許文献3の段落0015には、「図3は、少なくとも一実施例による、人間の手をリアルタイムで追跡し、対応する動作を実行するようロボットを制御するシステムの実例を示す。」と記載されている。また、特許文献3の段落0020には、「図4は、手の姿勢及びセグメント化を取得するために使用されるカラー・グローブの実例を示す。少なくとも一実施例では、グローブ402は、5本の指404、406、408、410、及び412を含み、それぞれの指が、異なる色の布で色付けされている。少なくとも一実施例では、OpenCVの色の閾値処理を用いたアノテーション生成が軽微になるように、一意の色が印刷される。少なくとも一実施例では、手の甲414の色が、手の姿勢を一意に判定する。」と記載されている。また、特許文献3の段落0023には、「少なくとも一実施例では、手の姿勢は、グローブの手の甲にある3つの異なる色付きブロブによって示される3つの一意のキーポイントによって推定されることが可能である。」と記載されている。 Patent Document 3 describes a technology for vision-based teleoperation of a robot system. In particular, paragraph 15 of Patent Document 3 states, "FIG. 3 illustrates an example of a system for tracking a human hand in real time and controlling a robot to perform corresponding actions, according to at least one embodiment." Furthermore, paragraph 20 of Patent Document 3 states, "FIG. 4 illustrates an example of a color glove used to acquire hand pose and segmentation. In at least one embodiment, glove 402 includes five fingers 404, 406, 408, 410, and 412, each colored with a different colored cloth. In at least one embodiment, unique colors are printed to minimize annotation generation using OpenCV color thresholding. In at least one embodiment, the color of the back of the hand 414 uniquely determines the hand pose." Furthermore, paragraph 23 of Patent Document 3 states, "In at least one embodiment, hand pose can be estimated by three unique keypoints represented by three different colored blobs on the back of the glove."
特許文献4には、手術システムにおいて手や指を追跡する技術が記載されている。特許文献4の例えば図2A~図2Dには、執刀医の指にセンサーを装着する例が開示されている。また、特許文献4の段落0052には、「マスターフィンガー追跡グリップ270は、指装着センサ211、212(指および親指装着センサ211、212と称される場合もある)を含み、人指し指292Bの先端および親指292Aの先端のそれぞれのロケーション(一実施例における位置および配向)を独立して追跡し、すなわち、執刀医の手の2本の指のロケーションを追跡する。したがって、既知の低侵襲手術システムにおけるマスターツールグリップのロケーションを追跡することとは対照的に、手自体のロケーションが追跡される。」と記載されている。また、特許文献4の段落0056には、「図2A~2Dにおける親指292Aおよび人指し指292Bのロケーション(位置および配向)は、グリップ閉合パラメータ、例えば、マスターフィンガー追跡グリップ270に連結された遠隔操作スレーブ手術器具のグリップを制御するために使用される、標準化グリップ閉合値にマッピングされる。特に、親指292Aおよび人指し指292Bの感知されたロケーションは、ハンド追跡コントローラ130によって、グリップ閉合パラメータにマッピングされる。」と記載されている。また、特許文献4の段落0057には、「したがって、執刀医181の手の一部のロケーションが追跡される。追跡されたロケーションに基づいて、低侵襲手術システム100のシステム制御パラメータ、すなわち、グリップ閉合パラメータは、ハンド追跡コントローラ130によって生成され、システムコントローラ140に供給される。システムコントローラ140は、遠隔操作スレーブ手術器具に送信されるシステムコマンドを生成する際に、グリップ閉合パラメータを使用する。システムコマンドは、遠隔操作手術器具に指示して、グリップ閉合パラメータに対応するグリップ閉合を有するようにエンドエフェクタを構成させる。したがって、低侵襲手術システム100は、グリップ閉合パラメータを使用して、低侵襲手術システム100の遠隔操作スレーブ手術器具の操作を制御する。」と記載されている。 Patent Document 4 describes a technique for tracking hands and fingers in a surgical system. For example, Figures 2A to 2D of Patent Document 4 disclose an example of attaching sensors to the surgeon's fingers. Furthermore, paragraph 0052 of Patent Document 4 states, "The master finger tracking grip 270 includes finger-worn sensors 211, 212 (sometimes referred to as finger- and thumb-worn sensors 211, 212) to independently track the location (position and orientation in one embodiment) of the tip of the index finger 292B and the tip of the thumb 292A, i.e., track the locations of the two fingers of the surgeon's hand. Thus, in contrast to tracking the location of a master tool grip in known minimally invasive surgical systems, the location of the hand itself is tracked." Furthermore, paragraph 0056 of Patent Document 4 states, "The locations (positions and orientations) of thumb 292A and index finger 292B in FIGS. 2A to 2D are mapped to grip closure parameters, e.g., standardized grip closure values, which are used to control the grip of a teleoperated slave surgical instrument coupled to master finger-tracking grip 270. In particular, the sensed locations of thumb 292A and index finger 292B are mapped to grip closure parameters by hand tracking controller 130." Furthermore, paragraph 0057 of Patent Document 4 states, "Accordingly, the location of a portion of the hand of the surgeon 181 is tracked. Based on the tracked location, a system control parameter for the minimally invasive surgical system 100, i.e., a grip closure parameter, is generated by the hand tracking controller 130 and provided to the system controller 140. The system controller 140 uses the grip closure parameter when generating a system command that is sent to the teleoperated slave surgical instrument. The system command instructs the teleoperated surgical instrument to configure its end effector to have a grip closure that corresponds to the grip closure parameter. Thus, the minimally invasive surgical system 100 uses the grip closure parameter to control the operation of the teleoperated slave surgical instrument of the minimally invasive surgical system 100."
背景となる関連技術によって人(操作者)が操作した通りに遠隔地のロボットアームを動かす遠隔操作は、手術や細胞培養といった応用分野で利用されているが、応用分野ごとに専用の装置を必要としており、高価である。 Remote control, which involves moving a robotic arm in a remote location in accordance with the instructions of a human (operator) using background related technologies, is used in fields such as surgery and cell culture, but requires specialized equipment for each application, which is expensive.
専用のコントローラーと汎用的なロボットアームを使用して遠隔操作を実現しようする試みもあるが、ロボットアームの制御精度が低く、操作性がよくないという問題がある。また、専用のコントローラーを用いて操作するには、慣れが必要であり、人(操作者)が直感的な操作をしにくいという問題がある。 There have been attempts to achieve remote control using a dedicated controller and a general-purpose robot arm, but problems exist with the robot arm's low control precision and poor operability. Furthermore, using a dedicated controller requires getting used to, making it difficult for the person (operator) to operate it intuitively.
背景となる関連技術では、執刀医の2本の指にセンサーを装着することによって、親指の先端の位置と、人差し指の先端の位置とを独立に追跡している。しかしながら、この関連技術では、人(操作者)の手全体の動きに基づくロボットアームの操作を行うことはできない。 In the related background technology, sensors are attached to two fingers of the surgeon to independently track the positions of the tips of the thumb and index finger. However, this related technology cannot operate a robotic arm based on the movement of the entire human (operator) hand.
本発明は、上記のような事情を考慮して為されたものであり、高精度にロボットアームの制御を行うことが解決すべき課題である。また、本発明は、人(操作者)の手全体(指の関節等を含む)の細やかな動きにも対応して、ロボットアームの制御を行うことが解決すべき課題である。 The present invention was made in consideration of the above circumstances, and the problem to be solved is to control a robot arm with high precision. Furthermore, the problem to be solved by the present invention is to control a robot arm in response to the delicate movements of a person's (operator's) entire hand (including finger joints, etc.).
そこでこの発明は、上述の課題を解決する制御装置、制御方法、プログラム、およびロボット制御システムを提供することを目的としている。 The present invention aims to provide a control device, control method, program, and robot control system that solve the above-mentioned problems.
[1]上記の課題を解決するため、本発明の一態様による制御装置は、ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、前記ユーザーの手における各指の関節の曲げ角度の情報と、を表す信号を取得する入力デバイス側インターフェース部と、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに基づいて、前記手に対応するロボットアームの動きを制御するための制御信号を生成して出力する制御機能部と、前記制御機能部が生成した前記制御信号を前記ロボットアームに対して送信するとともに、所定のタイミングで前記ロボットアームにおける状態情報を受信して前記制御機能部に渡す出力デバイス側インターフェース部と、を備え、前記ロボットアームにおける前記状態情報は、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに対応する、前記ロボットアーム側の手の位置と手の姿勢と各指の関節の曲げ角度とを表す情報であり、前記制御機能部は、前記所定のタイミングで、前記出力デバイス側インターフェース部から渡される前記状態情報に基づいて、前記ユーザーの手の側の状態と前記ロボットアーム側の前記状態情報とが整合するように前記制御信号を生成する、というものである。 [1] In order to solve the above problem, one aspect of the present invention provides a control device comprising: an input device-side interface unit that acquires signals representing information on the position of a user's hand, information on the posture of the user's hand, and information on the bending angles of the joints of each finger of the user's hand; a control function unit that generates and outputs a control signal for controlling the movement of a robot arm corresponding to the hand based on the hand position, posture, and bending angles of the joints; and an output device-side interface unit that transmits the control signal generated by the control function unit to the robot arm and receives status information on the robot arm at a predetermined timing and passes it to the control function unit; the status information on the robot arm is information representing the hand position, posture, and bending angles of the joints of each finger on the robot arm, which correspond to the hand position, posture, and bending angles of the joints; and the control function unit generates the control signal at the predetermined timing based on the status information passed from the output device-side interface unit so that the status of the user's hand and the status information on the robot arm are consistent.
[2]また、本発明の一態様は、上記[1]の制御装置において、前記制御機能部は、前記ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、前記ユーザーの手における各指の関節の曲げ角度の情報と、の少なくともいずれかの情報の時間的推移に基づいてノイズを検出した場合には、検出された前記ノイズが削除または緩和されるように、当該ノイズを生じさせた、前記ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、前記ユーザーの手における各指の関節の曲げ角度の情報とのいずれかを補正するノイズ補正機能部、を備えるものである。 [2] Another aspect of the present invention is a control device according to [1] above, wherein the control function unit includes a noise correction function unit that, when noise is detected based on the temporal progression of at least one of the information on the position of the user's hand, the information on the posture of the user's hand, and the information on the bending angles of the joints of each finger of the user's hand, corrects any of the information on the position of the user's hand, the information on the posture of the user's hand, and the information on the bending angles of the joints of each finger of the user's hand that caused the noise so as to eliminate or reduce the detected noise.
[3]また、本発明の一態様は、上記[1]または[2]の制御装置において、前記入力デバイス側インターフェース部は、前記ユーザーの手が持つすべての関節の曲げ角度の情報、を表す信号を取得し、前記制御機能部は、前記すべての関節の曲げ角度の情報に基づいて、前記制御信号を生成して出力する、というものである。 [3] Another aspect of the present invention is that in the control device of [1] or [2] above, the input device side interface unit acquires signals representing information on the bending angles of all joints in the user's hand, and the control function unit generates and outputs the control signal based on the information on the bending angles of all joints.
[4]また、本発明の一態様は、上記[1]から[3]までのいずれかの制御装置において、前記制御機能部が生成する前記制御信号の時系列を保存するとともに、要求された際には、保存された前記制御信号の時系列を読み出して、前記出力デバイス側インターフェース部に、当該前記制御信号の時系列を前記ロボットアームに対して送信させるよう制御するキャプチャリング機能部、をさらに備えるものである。 [4] In one aspect of the present invention, the control device according to any one of [1] to [3] above further includes a capturing function unit that stores the time series of the control signals generated by the control function unit, and, when requested, reads the stored time series of the control signals and controls the output device-side interface unit to transmit the time series of the control signals to the robot arm.
[5]また、本発明の一態様は、入力デバイス側インターフェース部が、ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、前記ユーザーの手における各指の関節の曲げ角度の情報と、を表す信号を取得する過程と、制御機能部が、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに基づいて、前記手に対応するロボットアームの動きを制御するための制御信号を生成して出力する過程と、出力デバイス側インターフェース部が、前記制御機能部が生成した前記制御信号を前記ロボットアームに対して送信するとともに、所定のタイミングで前記ロボットアームにおける状態情報を受信して前記制御機能部に渡す過程と、を含み、前記ロボットアームにおける前記状態情報は、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに対応する、前記ロボットアーム側の手の位置と手の姿勢と各指の関節の曲げ角度とを表す情報であり、前記制御機能部は、前記所定のタイミングで、前記出力デバイス側インターフェース部から渡される前記状態情報に基づいて、前記ユーザーの手の側の状態と前記ロボットアーム側の前記状態情報とが整合するように前記制御信号を生成する、制御方法である。 [5] Another aspect of the present invention is a control method including the steps of: an input device-side interface unit acquiring signals representing information on the position of a user's hand, information on the posture of the user's hand, and information on the bending angles of the joints of each finger of the user's hand; a control function unit generating and outputting a control signal for controlling the movement of a robot arm corresponding to the hand based on the hand position, posture, and bending angles of the joints; and an output device-side interface unit transmitting the control signal generated by the control function unit to the robot arm and receiving status information on the robot arm at a predetermined timing and passing it to the control function unit, wherein the status information on the robot arm is information representing the hand position, posture, and bending angles of each finger joint on the robot arm side corresponding to the hand position, posture, and bending angles of the joints, and the control function unit generating the control signal at the predetermined timing based on the status information passed from the output device-side interface unit so that the status of the user's hand and the status information on the robot arm side are consistent.
[6]また、本発明の一態様は、ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、前記ユーザーの手における各指の関節の曲げ角度の情報と、を表す信号を取得する入力デバイス側インターフェース部と、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに基づいて、前記手に対応するロボットアームの動きを制御するための制御信号を生成して出力する制御機能部と、前記制御機能部が生成した前記制御信号を前記ロボットアームに対して送信するとともに、所定のタイミングで前記ロボットアームにおける状態情報を受信して前記制御機能部に渡す出力デバイス側インターフェース部と、を備え、前記ロボットアームにおける前記状態情報は、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに対応する、前記ロボットアーム側の手の位置と手の姿勢と各指の関節の曲げ角度とを表す情報であり、前記制御機能部は、前記所定のタイミングで、前記出力デバイス側インターフェース部から渡される前記状態情報に基づいて、前記ユーザーの手の側の状態と前記ロボットアーム側の前記状態情報とが整合するように前記制御信号を生成する、制御装置、としてコンピューターを機能させるためのプログラムである。 [6] Another aspect of the present invention is a program for causing a computer to function as a control device, comprising: an input device-side interface unit that acquires signals representing information on the position of a user's hand, information on the posture of the user's hand, and information on the bending angles of the joints of each finger of the user's hand; a control function unit that generates and outputs control signals for controlling the movement of a robot arm corresponding to the hand based on the hand position, posture, and bending angles of the joints; and an output device-side interface unit that transmits the control signals generated by the control function unit to the robot arm and receives status information on the robot arm at a predetermined timing and passes it to the control function unit, wherein the status information on the robot arm is information representing the hand position, posture, and bending angles of each finger joint on the robot arm that correspond to the hand position, posture, and bending angles of the joints, and the control function unit generates the control signals at the predetermined timing based on the status information passed from the output device-side interface unit so that the status of the user's hand and the status information on the robot arm are consistent.
[7]また、本発明の一態様は、上記[1]から[4]までのいずれかの制御装置と、前記制御装置の前記入力デバイス側インターフェース部に対して、ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、を表す信号を送信するトラッカーと、前記制御装置の前記入力デバイス側インターフェース部に対して、前記ユーザーの手における各指の関節の曲げ角度の情報、を表す信号を送信するグローブと、を備えるロボット制御システムである。 [7] Another aspect of the present invention is a robot control system comprising: a control device according to any one of [1] to [4] above; a tracker that transmits signals representing information on the position of a user's hand and information on the posture of the user's hand to the input device interface unit of the control device; and a glove that transmits signals representing information on the bending angles of the joints of each finger on the user's hand to the input device interface unit of the control device.
[8]また、本発明の一態様は、上記[1]から[4]までのいずれかの制御装置と、前記制御装置の前記出力デバイス側インターフェース部から送信される前記制御信号に基づいて動作するとともに、前記所定のタイミングで自装置における前記状態情報を前記出力デバイス側インターフェース部に対して送信するロボットアームと、を備えるロボット制御システムである。 [8] Another aspect of the present invention is a robot control system comprising: a control device according to any one of [1] to [4] above; and a robot arm that operates based on the control signal transmitted from the output device-side interface unit of the control device and transmits the status information of its own device to the output device-side interface unit at the predetermined timing.
[9]また、本発明の一態様は、上記[1]から[4]までのいずれかの制御装置と、前記制御装置の前記入力デバイス側インターフェース部に対して、ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、を表す信号を送信するトラッカーと、前記制御装置の前記入力デバイス側インターフェース部に対して、前記ユーザーの手における各指の関節の曲げ角度の情報、を表す信号を送信するグローブと、前記制御装置の前記出力デバイス側インターフェース部から送信される前記制御信号に基づいて動作するとともに、前記所定のタイミングで自装置における前記状態情報を前記出力デバイス側インターフェース部に対して送信するロボットアームと、を備えるロボット制御システムである。 [9] Another aspect of the present invention is a robot control system comprising: a control device according to any one of [1] to [4] above; a tracker that transmits signals representing information on the position of a user's hand and information on the posture of the user's hand to the input device interface unit of the control device; a glove that transmits signals representing information on the bending angle of each finger joint in the user's hand to the input device interface unit of the control device; and a robot arm that operates based on the control signal transmitted from the output device interface unit of the control device and transmits the status information of its own device to the output device interface unit at the predetermined timing.
本発明によれば、制御機能部は、ロボットアーム側から渡される状態情報に基づいて、ユーザーの手の側の状態とロボットアーム側の状態情報とが整合するように制御信号を生成することができる。つまり、制御装置は、高い精度でロボットアームを制御することができる。 According to the present invention, the control function unit can generate control signals based on status information passed from the robot arm so that the status of the user's hand matches the status information on the robot arm. In other words, the control device can control the robot arm with high precision.
次に、本発明の実施形態について、図面を参照しながら説明する。以下で説明する実施形態においては、制御装置は、入力デバイス側で検知する人間(操作者)の手の動きに応じて、ロボットアームが同様の動きをするように制御を行う。具体的には、制御装置は、入力デバイス側の状態を取得し、その情報を基に出力デバイス(ロボットアーム)側の各部の速度の情報を生成する。この速度の情報が、制御情報である。制御装置は、生成した制御情報を出力デバイス側に送信することによって、出力デバイスを制御する。本実施形態では、出力デバイスは、自装置の状態を検知して、その状態情報を制御装置側にフィードバックする。制御装置は、フィードバックされた状態情報に基づいて制御情報を生成することにより、制御の精度を高めることができる。ただし、出力デバイス側から制御装置に対して頻繁に状態情報をフィードバックすることは、制御全体の高負荷化を招くため、状態情報のフィードバックは、所定のタイミングにおいてのみ行うようにする。 Next, an embodiment of the present invention will be described with reference to the drawings. In the embodiment described below, the control device controls the robot arm to move in accordance with the hand movement of a human (operator) detected by the input device. Specifically, the control device acquires the status of the input device and generates speed information for each part of the output device (robot arm) based on that information. This speed information is control information. The control device controls the output device by transmitting the generated control information to the output device. In this embodiment, the output device detects its own status and feeds back that status information to the control device. The control device can improve control accuracy by generating control information based on the fed-back status information. However, because frequent feedback of status information from the output device to the control device increases the load on the overall control, feedback of status information is performed only at specified times.
[第1実施形態]
図1は、本実施形態によるロボット制御システムの概略機能構成を示すブロック図である。図示するように、ロボット制御システム1は、制御装置2と、グローブ3と、トラッカー4と、ロボットアーム7と、通信回線9とを含んで構成される。これらの構成要素のうち、グローブ3やトラッカー4は、「入力デバイス」とも呼ばれ、ロボットアーム7を制御するための基となる信号を制御装置2に入力(供給)するデバイスである。また、ロボットアーム7は、「出力デバイス」とも呼ばれ、制御装置2が出力する制御信号によって制御されるデバイスである。
[First embodiment]
1 is a block diagram showing a schematic functional configuration of a robot control system according to this embodiment. As shown in the figure, the robot control system 1 includes a control device 2, a glove 3, a tracker 4, a robot arm 7, and a communication line 9. Of these components, the glove 3 and the tracker 4 are also called "input devices," and are devices that input (supply) signals that serve as the basis for controlling the robot arm 7 to the control device 2. The robot arm 7 is also called an "output device," and is a device that is controlled by control signals output by the control device 2.
なお、グローブ3やトラッカー4のうちの少なくともいずれかは、ロボット制御システム1の外部に存在していてもよい。その場合にも、グローブ3やトラッカー4のそれぞれは、信号(信号の内容については後で説明する)を制御装置2に入力(供給)する。また、ロボットアーム7は、ロボット制御システム1の外部に存在していてもよい。その場合にも、ロボットアーム7の動きは、制御装置2から出力される制御信号によって制御される。また、ロボット制御システム1が通信回線9を含まない構成としてもよい。その場合には、制御装置2とロボットアーム7との間の信号のやりとりは、通信回線9を介さずに行われる。 Note that at least one of the glove 3 and the tracker 4 may be located outside the robot control system 1. In this case, the glove 3 and the tracker 4 each input (supply) a signal (the content of the signal will be explained later) to the control device 2. The robot arm 7 may also be located outside the robot control system 1. In this case, the movement of the robot arm 7 is controlled by a control signal output from the control device 2. The robot control system 1 may also be configured not to include the communication line 9. In this case, signals are exchanged between the control device 2 and the robot arm 7 without going through the communication line 9.
制御装置2の概略機能構成は、次の通りである。図示するように、制御装置2は、入力デバイス側インターフェース部21と、制御機能部22と、出力デバイス側インターフェース部23とを含んで構成される。 The general functional configuration of the control device 2 is as follows. As shown in the figure, the control device 2 includes an input device interface unit 21, a control function unit 22, and an output device interface unit 23.
制御装置2と、グローブ3と、トラッカー4と、ロボットアーム7とが持つ機能のうちの少なくとも一部は、電子回路を用いて実現され得る。なお、グローブ3と、トラッカー4と、ロボットアーム7とが持つ機能のうちの少なくとも一部がコンピューターとプログラムとで実現されてもよい。制御装置2と、グローブ3と、トラッカー4と、ロボットアーム7とは、少なくとも一時的に情報を記憶するための記憶手段を含んでいてもよい。記憶手段は、例えば、磁気ハードディスク装置(HDD,Hard Disk Drive)やソリッドステートドライブ(SSD,Solid State Drive)といった不揮発性の記憶手段を含んでもよい。また記憶手段は、揮発性メモリー(volatile memory)を含んでいてもよい。 At least some of the functions of the control device 2, glove 3, tracker 4, and robot arm 7 may be implemented using electronic circuits. At least some of the functions of the glove 3, tracker 4, and robot arm 7 may also be implemented using a computer and a program. The control device 2, glove 3, tracker 4, and robot arm 7 may include storage means for at least temporarily storing information. The storage means may include non-volatile storage means such as a magnetic hard disk drive (HDD) or a solid state drive (SSD). The storage means may also include volatile memory.
ロボット制御システム1を構成する各機能について、以下で説明する。 The functions that make up the robot control system 1 are described below.
制御装置2は、グローブ3およびトラッカー4から渡される信号に基づいて、ロボットアーム7の動きを制御する。また、ロボットアーム7がロボットハンドを持つ場合には、制御装置2は、ロボットアームが持つロボットハンドの動きをあわせて制御する。 The control device 2 controls the movement of the robot arm 7 based on signals received from the glove 3 and the tracker 4. In addition, if the robot arm 7 has a robot hand, the control device 2 also controls the movement of the robot hand held by the robot arm.
制御装置2は、人間(操作者)の片手の動きのみに対応して、1個のロボットアーム7を制御するものであってよい。この場合、制御装置2は、1個のグローブ3から、人間(操作者)の片手(左手または右手)が持つ関節の曲げ角度を表す信号を受け取る。また、制御装置2は、1個のトラッカー4から、人間(操作者)の片手(左手または右手)の位置および姿勢(向き)を表す信号を受け取る。制御装置2は、これらの信号を基に、1個のロボットアーム7を制御する。 The control device 2 may control one robot arm 7 in response to the movement of only one hand of the human (operator). In this case, the control device 2 receives signals from one glove 3 that represent the bending angles of the joints of one hand (left or right hand) of the human (operator). The control device 2 also receives signals from one tracker 4 that represent the position and posture (orientation) of one hand (left or right hand) of the human (operator). The control device 2 controls one robot arm 7 based on these signals.
あるいは、制御装置2は、人間(操作者)の両手の動きに対応して、2個のロボットアーム7を制御するものであってよい。この場合、制御装置2は、基本的には、人間(操作者)の右手による操作に基づいて、2個のうちの一方のロボットアーム7(右手に対応するロボットアーム)の動きを制御する。また、制御装置2は、人間(操作者)の左手による操作に基づいて、他方のロボットアーム7(左手に対応するロボットアーム)の動きを制御する。制御装置2は、2個のグローブ3のそれぞれから、人間(操作者)の片手(左手または右手)が持つ関節の曲げ角度を表す信号を受け取る。また、制御装置2は、2個のトラッカー4のそれぞれから、人間(操作者)の片手(左手または右手)の位置および姿勢(向き)を表す信号を受け取る。制御装置2は、これらの信号を基に、2個のロボットアーム7を制御する。 Alternatively, the control device 2 may control two robotic arms 7 in response to the movements of both hands of a human (operator). In this case, the control device 2 basically controls the movement of one of the two robotic arms 7 (the robotic arm corresponding to the right hand) based on operation with the human's (operator's) right hand. The control device 2 also controls the movement of the other robotic arm 7 (the robotic arm corresponding to the left hand) based on operation with the human's (operator's) left hand. The control device 2 receives signals from each of the two gloves 3 indicating the bending angles of the joints of one of the human's (operator's) hands (left hand or right hand). The control device 2 also receives signals from each of the two trackers 4 indicating the position and posture (orientation) of one of the human's (operator's) hands (left hand or right hand). The control device 2 controls the two robotic arms 7 based on these signals.
グローブ3は、人間(操作者)の手に装着することのできるデバイスである。グローブ3は、複数の角度センサーを備えており、グローブ3を装着した人間の手が持つ関節の曲げ角度を検知し、その角度の情報を出力する。人間の手指は、多数の関節で構成されている。1個のグローブ3は、人間の片手(右手または左手)に関して、例えば、親指のDIP関節(第1関節)とMP関節(第3関節)とCM関節(第4関節)、人差し指のDIP関節(第1関節)とPIP関節(第2関節)とMP関節(第3関節)、中指のDIP関節(第1関節)とPIP関節(第2関節)とMP関節(第3関節)、薬指のDIP関節(第1関節)とPIP関節(第2関節)とMP関節(第3関節)、および、小指のDIP関節(第1関節)とPIP関節(第2関節)とMP関節(第3関節)の、計15個の関節の曲げ角度を検知し、その情報を出力する。角度は、例えば、度あるいはラジアンの単位の数値として表わされる。左右両手用のグローブ3を使用する場合には、それらのグローブ3のペアは、計30個の関節の曲げ角度を検知してその情報を出力する。グローブ3は、複数の関節の角度の情報を表す信号を、制御装置2に渡す。つまりグローブ3は、片手ごとに、例えば15次元のベクトルとして表わされる角度の情報を、制御装置2に渡す。 Glove 3 is a device that can be worn on the hand of a human (operator). Glove 3 is equipped with multiple angle sensors that detect the bending angles of the joints of the human hand wearing Glove 3 and output that angle information. Human fingers are made up of many joints. One Glove 3 detects the bending angles of a total of 15 joints for one human hand (right or left hand), for example, the DIP joint (first joint), MP joint (third joint), and CM joint (fourth joint) of the thumb; the DIP joint (first joint), PIP joint (second joint), and MP joint (third joint) of the index finger; the DIP joint (first joint), PIP joint (second joint), and MP joint (third joint) of the middle finger; the DIP joint (first joint), PIP joint (second joint), and MP joint (third joint) of the ring finger; and the DIP joint (first joint), PIP joint (second joint), and MP joint (third joint) of the little finger, and outputs that information. Angles are expressed as numerical values in units of degrees or radians, for example. When gloves 3 are used for both hands, the pair of gloves 3 detects the bending angles of a total of 30 joints and outputs that information. The gloves 3 pass signals representing information about the angles of multiple joints to the control device 2. In other words, the gloves 3 pass angle information expressed as, for example, a 15-dimensional vector for each hand to the control device 2.
つまり、グローブ3は、制御装置2の入力デバイス側インターフェース部21に対して、ユーザーの手における各指の関節の曲げ角度の情報を表す信号を送信する。グローブ3は、ユーザーの手が持つすべての関節の曲げ角度の情報を検知して、そのすべての関節の曲げ角度の情報を表す信号を、入力デバイス側インターフェース部21に渡してもよい。 In other words, the glove 3 transmits signals representing information about the bending angles of the joints of each finger on the user's hand to the input device interface unit 21 of the control device 2. The glove 3 may detect information about the bending angles of all joints in the user's hand and pass signals representing information about the bending angles of all of the joints to the input device interface unit 21.
グローブ3としては、一例として、MANUS Prime IIシリーズ グローブを使用することができる。ただし、他の製品をグローブ3として使用してもよい。 As an example, MANUS Prime II series gloves can be used as gloves 3. However, other products may also be used as gloves 3.
トラッカー4は、トラッカー4自身の位置と姿勢とを検知してそれらの情報を出力する装置である。本実施形態では、1個のトラッカー4は、1個のグローブ3に取り付けられる。つまり1個のトラッカー4は、グローブ3を装着している手の位置および姿勢を検知して、その情報を出力する。左右両手のグローブ3を用いる場合には、トラッカー4が、それぞれのグローブ3を装着した手の位置および姿勢の情報を出力する。位置は、X軸、Y軸、およびZ軸の座標系(例えば、直交座標系)における位置であり、3次元のベクトルとして表わされる。姿勢は、例えば、それらX軸、Y軸、およびZ軸のそれぞれを中心とした回転量であり、3次元のベクトルとして表わされる。つまりトラッカー4は、片手ごとに、6次元のベクトルとして表わされる位置および姿勢の情報を、制御装置2に渡す。 The tracker 4 is a device that detects its own position and orientation and outputs this information. In this embodiment, one tracker 4 is attached to one glove 3. That is, one tracker 4 detects the position and orientation of the hand wearing the glove 3 and outputs that information. When gloves 3 are used on both hands, the tracker 4 outputs position and orientation information for each hand wearing the glove 3. The position is a position in a coordinate system of the X, Y, and Z axes (e.g., a Cartesian coordinate system) and is expressed as a three-dimensional vector. The orientation is, for example, the amount of rotation around each of the X, Y, and Z axes and is expressed as a three-dimensional vector. In other words, the tracker 4 passes position and orientation information, expressed as a six-dimensional vector, for each hand to the control device 2.
つまり、トラッカー4は、制御装置2の入力デバイス側インターフェース部21に対して、ユーザーの手の位置の情報と、ユーザーの手の姿勢の情報と、を表す信号を送信する。 In other words, the tracker 4 transmits signals representing information about the position of the user's hand and information about the posture of the user's hand to the input device side interface unit 21 of the control device 2.
トラッカー4としては、一例として、HTC CORPORATIONのVIVE Trackerを使用することができる。ただし、他の製品をトラッカー4として使用してもよい。 As an example, the VIVE Tracker from HTC CORPORATION can be used as the Tracker 4. However, other products may also be used as the Tracker 4.
ロボットアーム7は、制御装置2によって制御されるものである。ロボットアーム7は人間の腕に相当するアームと関節を持っており、これにより人間の手に相当するパーツの位置や姿勢(向き)を変えることができる。また、ロボットアーム7は、人間の手の関節(指の関節)に相当する関節を持っており、各関節の曲げ角度を独立に変えることができる。前述の通り、ロボットアーム7は、1個または2個のいずれであってもよい。ロボットアーム7が2個存在する場合、それら2個のロボットアーム7は、それぞれ人間(操作者)の両手(左手および右手)の動きに基づいて、制御装置2によって制御される。なお、ロボットアーム自体は、既存技術を用いて実現されるものである。 The robot arm 7 is controlled by the control device 2. The robot arm 7 has arms and joints that correspond to a human arm, which allows it to change the position and posture (orientation) of the parts that correspond to a human hand. The robot arm 7 also has joints that correspond to the joints of a human hand (finger joints), and the bending angle of each joint can be changed independently. As mentioned above, there may be one or two robot arms 7. When there are two robot arms 7, the two robot arms 7 are controlled by the control device 2 based on the movements of both hands (left and right hands) of the human (operator). The robot arm itself is realized using existing technology.
ロボットアーム7は、自装置の状態を、制御装置2側に対してフィードバックする機能を持つ。つまり、ロボットアーム7は、手に相当するパーツの位置や姿勢(向き)を検知したり、各指に相当するパーツが持つ関節の曲げ角度を検知したりする。そして、ロボットアーム7は、必要なタイミングにおいてこれらの情報(後述する出力側ベクトルVOkとして表わされる情報)を、制御装置2側に対してフィードバックする。ロボットアーム7が、このような情報のフィードバックを行い、制御装置2がロボットアーム7側からのフィードバック情報に基づいた制御を行うことにより、入力デバイス側(グローブ3およびトラッカー4)と出力デバイス側(ロボットアーム7)との間の、動きの同期が図られる。 The robot arm 7 has a function of feeding back its own state to the control device 2. That is, the robot arm 7 detects the position and posture (direction) of the parts corresponding to the hand and the bending angles of the joints of the parts corresponding to each finger. The robot arm 7 then feeds back this information (information expressed as an output vector V Ok , described later) to the control device 2 at the necessary timing. The robot arm 7 feeds back this information, and the control device 2 performs control based on the feedback information from the robot arm 7, thereby achieving synchronization of the movements between the input device side (glove 3 and tracker 4) and the output device side (robot arm 7).
つまり、ロボットアーム7は、制御装置2の出力デバイス側インターフェース部23から送信される前記制御信号に基づいて動作するとともに、前記所定のタイミングで自装置における前記状態情報を前記出力デバイス側インターフェース部に対して送信する。 In other words, the robot arm 7 operates based on the control signal transmitted from the output device-side interface unit 23 of the control device 2, and transmits the status information of its own device to the output device-side interface unit at the specified timing.
ロボットアーム7としては、一例として、ユニバーサルロボット(Universal Robots)社のUR3e、UR5e、UR10e、UR16e、UR20といった製品を使用することができる。ただし、その他の製品をロボットアーム7として使用してもよい。 As an example, products such as the UR3e, UR5e, UR10e, UR16e, and UR20 manufactured by Universal Robots can be used as the robot arm 7. However, other products may also be used as the robot arm 7.
通信回線9は、制御装置2とロボットアーム7との間での情報の交換を可能とする。通信回線9は、例えば、特定の利用者のために設けられた専用回線であってもよいし、不特定の利用者が共有して使用する公衆回線(例えば、「インターネット」)であってもよい。通信回線9が存在することにより、制御装置2とロボットアーム7とが互いに遠隔地に存在している場合にも、制御装置2がロボットアーム7を制御することが可能となる。 The communication line 9 enables the exchange of information between the control device 2 and the robot arm 7. The communication line 9 may be, for example, a dedicated line provided for a specific user, or a public line (e.g., the Internet) shared by unspecified users. The existence of the communication line 9 makes it possible for the control device 2 to control the robot arm 7 even when the control device 2 and the robot arm 7 are located remotely from each other.
制御装置2が持つ入力デバイス側インターフェース部21は、トラッカー4から手の位置および向きを表す信号を受け取り、グローブ3から手が持つ各指の関節の曲げ角度を表す信号を受け取る。入力デバイス側インターフェース部21は、受け取ったこれらの信号が表す情報(数値情報)を、制御機能部22に渡す。 The input device side interface unit 21 of the control device 2 receives signals representing the position and orientation of the hand from the tracker 4, and receives signals representing the bending angles of the joints of each finger held by the hand from the glove 3. The input device side interface unit 21 passes the information (numerical information) represented by these received signals to the control function unit 22.
つまり、入力デバイス側インターフェース部21は、ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、前記ユーザーの手における各指の関節の曲げ角度の情報と、を表す信号を取得する。入力デバイス側インターフェース部21は、ユーザーの手が持つすべての関節の曲げ角度の情報、を表す信号を、グローブ3から取得してもよい。 In other words, the input device interface unit 21 acquires signals representing information on the position of the user's hand, information on the posture of the user's hand, and information on the bending angles of the joints of each finger on the user's hand. The input device interface unit 21 may also acquire signals representing information on the bending angles of all joints in the user's hand from the glove 3.
制御装置2が持つ制御機能部22は、入力デバイス側インターフェース部21から受け取る情報(数値情報)に基づいて、ロボットアーム7を制御するための信号を生成し、出力する。制御機能部22は、生成したロボットアーム7を制御するための信号を、出力デバイス側インターフェース部23に渡す。本実施形態での制御信号は、例えば、ロボットアーム7が持つ各部の動作の速度を表す信号である。 The control function unit 22 of the control device 2 generates and outputs signals for controlling the robot arm 7 based on information (numerical information) received from the input device side interface unit 21. The control function unit 22 passes the generated signals for controlling the robot arm 7 to the output device side interface unit 23. In this embodiment, the control signals are, for example, signals that represent the speed of operation of each part of the robot arm 7.
つまり、制御機能部22は、ユーザーの手の位置と、ユーザーの手の姿勢と、ユーザーの手の関節の曲げ角度とに基づいて、前記手に対応するロボットアーム7の動きを制御するための制御信号を生成して出力する。また制御機能部22は、所定のタイミング(出力デバイス側インターフェース部23がロボットアーム7側から状態情報を受け取るのに対応するタイミング)で、出力デバイス側インターフェース部23から渡される前記状態情報に基づいて、ユーザーの手の側の状態(つまり、入力デバイス側の状態)とロボットアーム7側の状態情報とが整合するように制御信号を生成する。この整合のさせ方(同期)については、後でさらに詳細に説明する。入力デバイス側インターフェース部21が、ユーザーの手が持つすべての関節の曲げ角度の情報を表す信号を、グローブ3から取得した場合には、制御機能部22は、それらすべての関節の曲げ角度の情報に基づいて、制御信号を生成して出力してもよい。 In other words, the control function unit 22 generates and outputs a control signal for controlling the movement of the robot arm 7 corresponding to the user's hand, based on the position, posture, and bending angles of the joints of the user's hand. Furthermore, the control function unit 22 generates a control signal at a predetermined timing (the timing corresponding to when the output device side interface unit 23 receives state information from the robot arm 7), based on the state information passed from the output device side interface unit 23, so that the state of the user's hand (i.e., the state of the input device) and the state information of the robot arm 7 are consistent. This method of consistency (synchronization) will be described in more detail later. When the input device side interface unit 21 acquires signals representing information on the bending angles of all the joints in the user's hand from the glove 3, the control function unit 22 may generate and output a control signal based on the information on the bending angles of all of these joints.
制御装置2が持つ出力デバイス側インターフェース部23は、上記の制御機能部22が生成した制御信号(ロボットアーム7を制御するための信号)を受け取り、ロボットアーム7に対して送信する。なお、出力デバイス側インターフェース部23は、通信回線9を介して、制御信号をロボットアーム7に対して送信してよい。つまり、出力デバイス側インターフェース部23は、制御機能部22が生成した制御信号をロボットアーム7に対して送信する。また、出力デバイス側インターフェース部23は、所定のタイミング(例えば一定フレーム数ごとであるが、そのタイミングには限定されない)でロボットアーム7における状態情報を受信して制御機能部22に渡す。なお、ロボットアーム7における状態情報とは、入力デバイス側での手の位置と、手の姿勢と、関節の曲げ角度とに対応する、ロボットアーム7側の手の位置と手の姿勢と各指の関節の曲げ角度とを表す情報である。 The output device side interface unit 23 of the control device 2 receives the control signal (a signal for controlling the robot arm 7) generated by the control function unit 22 and transmits it to the robot arm 7. The output device side interface unit 23 may transmit the control signal to the robot arm 7 via the communication line 9. In other words, the output device side interface unit 23 transmits the control signal generated by the control function unit 22 to the robot arm 7. The output device side interface unit 23 also receives status information on the robot arm 7 at a predetermined timing (for example, every certain number of frames, but this timing is not limited to this) and passes it to the control function unit 22. The status information on the robot arm 7 is information that represents the hand position, hand posture, and bending angle of each finger joint on the robot arm 7 side, which correspond to the hand position, hand posture, and bending angle of the joint on the input device side.
図2は、グローブ3の外観を示す概略図である。図示するように、グローブ3は、人間の手に装着するのに適した形状を有する。図2に示すグローブ3は人間の右手に装着するためのものであるが、これと左右対称の形状を有し人間の左手に装着するためのグローブ3を実施してもよい。図2に示すグローブ3は、例えば布(繊維)や合成樹脂やゴム等を素材としており、その形状は人間の手の関節の曲げに応じて柔軟に変わり得る。また、グローブ3は、人間の手が持つ各関節の曲げ角度を検知するためのセンサーを備えている。また、グローブ3の手の甲の部分には、トラッカー4を取り付けることができるようになっている。ただし、グローブ3の手の甲以外の部分にトラッカー4を取り付けるようにしてもよい。 Figure 2 is a schematic diagram showing the appearance of glove 3. As shown, glove 3 has a shape suitable for wearing on a human hand. The glove 3 shown in Figure 2 is for wearing on a human right hand, but a glove 3 with a symmetrical shape for wearing on a human left hand may also be implemented. The glove 3 shown in Figure 2 is made of materials such as cloth (fiber), synthetic resin, or rubber, and its shape can flexibly change in response to the bending of the joints in the human hand. The glove 3 also has sensors for detecting the bending angle of each joint in the human hand. A tracker 4 can be attached to the back of the glove 3. However, the tracker 4 may also be attached to a part of the glove 3 other than the back of the hand.
図3は、トラッカー4の外観の一例を示す概略図である。トラッカー4は、小型のデバイスであり、上記のように例えばグローブ3に取り付けて使用可能である。グローブ3に取り付けることにより、トラッカー4は、グローブ3を装着する人間(操作者)の手の位置(3次元の座標軸の座標値)および姿勢(3次元の軸を中心とする回転量)を表す数値を出力することができる。 Figure 3 is a schematic diagram showing an example of the appearance of tracker 4. Tracker 4 is a small device that can be attached to glove 3, for example, as described above. By attaching it to glove 3, tracker 4 can output numerical values that represent the position (coordinate values on three-dimensional coordinate axes) and posture (amount of rotation around three-dimensional axes) of the hand of the person (operator) wearing glove 3.
図4は、ロボットアーム7の外観の一例を示す概略図である。図示するように、ロボットアーム7の根元の部分は、台等に固定して使用できるようになっている。また、ロボットアーム7は、複数のアームおよび関節を持っている。また、ロボットアーム7の先端には、ロボットハンドを取り付けることができるようになっている。 Figure 4 is a schematic diagram showing an example of the appearance of the robot arm 7. As shown in the figure, the base of the robot arm 7 can be fixed to a stand or the like for use. The robot arm 7 also has multiple arms and joints. A robot hand can also be attached to the tip of the robot arm 7.
図5は、上で説明した制御機能部22の、さらに詳細な機能構成を示すブロック図である。図示するように、制御機能部22は、制御情報生成部220と、同期制御機能部221と、ノイズ補正機能部222と、モーションキャプチャーティーチング機能部225とを含んで構成される。 Figure 5 is a block diagram showing a more detailed functional configuration of the control function unit 22 described above. As shown in the figure, the control function unit 22 is composed of a control information generation unit 220, a synchronization control function unit 221, a noise correction function unit 222, and a motion capture teaching function unit 225.
制御情報生成部220は、入力デバイス側インターフェース部21から渡される、人間(操作者、ユーザー)の手の位置と、手の姿勢と、関節の曲げ角度とに基づいて、前記手に対応するロボットアームの動きを制御するための制御信号を生成して出力する。 The control information generation unit 220 generates and outputs a control signal for controlling the movement of the robot arm corresponding to the human (operator, user) hand based on the hand position, hand posture, and joint bending angle passed from the input device side interface unit 21.
なお、制御情報生成部220は、所定のタイミングで、出力デバイス側インターフェース部23から渡される状態情報(ロボットアーム7側からフィードバック情報として渡されるロボットアーム7の状態情報)に基づいて、人間(操作者、ユーザー)の手の側の状態(即ち、入力デバイス(グローブ3やトラッカー4)側で検知する状態)とロボットアーム7側の状態情報とが整合するように制御信号を生成する。これら両者の整合は、フィードバックされる状態情報に基づく同期である。なお、この同期のための処理を同期制御機能部221が行い、制御情報生成部220は、同期処理の結果に基づく制御情報を生成する。 The control information generation unit 220 generates a control signal at a predetermined timing based on the status information passed from the output device interface unit 23 (status information of the robot arm 7 passed as feedback information from the robot arm 7) so that the status of the human (operator, user) hand (i.e., the status detected by the input device (glove 3 or tracker 4)) is consistent with the status information of the robot arm 7. The consistency between these two is achieved by synchronization based on the status information that is fed back. The synchronization control function unit 221 performs the processing for this synchronization, and the control information generation unit 220 generates control information based on the results of the synchronization processing.
同期制御機能部221は、上記のフィードバック情報(ロボットアーム7側から返される状態情報)に基づいて、人間(操作者、ユーザー)の手の側の状態(即ち、入力デバイス(グローブ3やトラッカー4)側で検知する状態)とロボットアーム7側の状態情報とを整合させる処理を行う。 Based on the above feedback information (status information returned from the robot arm 7), the synchronization control function unit 221 performs processing to align the status of the human (operator, user) hand (i.e., the status detected by the input device (glove 3 or tracker 4)) with the status information on the robot arm 7.
ノイズ補正機能部222は、入力デバイス(グローブ3やトラッカー4)側から渡される情報が含むノイズを補正する。具体的には、ノイズ補正機能部222は、入力デバイス(グローブ3やトラッカー4)側から渡される情報に基づいて算出される速度情報が特異値を持つ場合に、その速度情報を補正する。 The noise correction function unit 222 corrects noise contained in information passed from the input device (glove 3 or tracker 4). Specifically, the noise correction function unit 222 corrects velocity information calculated based on information passed from the input device (glove 3 or tracker 4) if the velocity information has a singular value.
具体的には、ノイズ補正機能部222は、ユーザーの手の位置の情報と、ユーザーの手の姿勢の情報と、ユーザーの手における各指の関節の曲げ角度の情報と、の少なくともいずれかの情報の時間的推移(つまり、速度の情報)に基づいてノイズが検出されるか否かを判定する。いずれかの情報においてノイズを検出した場合には、ノイズ補正機能部222は、検出されたノイズが削除または緩和されるよう(例えば、後述するように近いフレームにおける速度との平均値をとる)に、当該ノイズを生じさせた、ユーザーの手の位置の情報と、ユーザーの手の姿勢の情報と、ユーザーの手における各指の関節の曲げ角度の情報とのいずれかを補正する。 Specifically, the noise correction function unit 222 determines whether noise is detected based on the temporal progression (i.e., speed information) of at least one of the following information: information on the position of the user's hand, information on the posture of the user's hand, and information on the bending angles of the joints of each finger on the user's hand. If noise is detected in any of the information, the noise correction function unit 222 corrects one of the information that caused the noise: information on the position of the user's hand, information on the posture of the user's hand, or information on the bending angles of the joints of each finger on the user's hand, so as to remove or mitigate the detected noise (for example, by taking the average value with the speeds in nearby frames, as described below).
なお、ノイズ補正機能部222によるノイズ補正の処理の詳細については、後で、図7および図8を参照しながら説明する。 Details of the noise correction process performed by the noise correction function unit 222 will be explained later with reference to Figures 7 and 8.
モーションキャプチャーティーチング機能部225は、制御機能部22が生成する制御信号の時系列を受け取って保存する。また、要求された際には、モーションキャプチャーティーチング機能部225は、保存された制御信号の時系列を読み出して、出力デバイス側インターフェース部23に、当該前記制御信号の時系列をロボットアーム7に対して送信させるよう制御する。 The motion capture teaching function unit 225 receives and stores the time series of control signals generated by the control function unit 22. When requested, the motion capture teaching function unit 225 reads the stored time series of control signals and controls the output device side interface unit 23 to transmit the time series of control signals to the robot arm 7.
なお、モーションキャプチャーティーチング機能部225は、「キャプチャリング機能部」とも呼ばれる。モーションキャプチャーティーチング機能部225は、高精度なティーチングを実現する。モーションキャプチャーティーチング機能部225は、例えば、ユーザーの数回のキー入力により、高自由度且つ高精度なティーチングを可能にする。また、モーションキャプチャーティーチング機能部225は、複数のティーチング(制御情報の時系列)を記録し、リスト化してもよい。リスト化することにより、ユーザー(操作者)は、所望のモーションを選択して実行させることができる。 The motion capture teaching function unit 225 is also called the "capturing function unit." The motion capture teaching function unit 225 achieves highly accurate teaching. For example, the motion capture teaching function unit 225 enables highly flexible and highly accurate teaching through a few key inputs by the user. The motion capture teaching function unit 225 may also record and list multiple teachings (time series of control information). By listing them, the user (operator) can select and execute the desired motion.
図6は、制御機能部22がロボットアーム7を制御する際の原理を説明するための概略図である。ここでは、図6を参照しながら、制御機能部22がロボットアーム7を制御する方法について説明する。 Figure 6 is a schematic diagram illustrating the principle by which the control function unit 22 controls the robot arm 7. Here, we will explain how the control function unit 22 controls the robot arm 7 with reference to Figure 6.
図6(A)は、入力側ベクトルの系列を示す。また、図6(B)は、ロボットアーム7側(出力側)の状態を表すベクトルの系列を示す。図6(A)におけるVI0,VI1,VI2,VI3,・・・(以下も続く)は、入力側ベクトルの系列である。図6(B)におけるVO0,VO1,VO2,VO3,VO4,・・・(以下も続く)は、出力側ベクトル(ロボットアーム7の状態を表すベクトル)の系列である。なお、図6(A)におけるVI0,VI1,VI2,VI3,・・・や、図6(B)におけるVO0,VO1,VO2,VO3,VO4,・・・は、それぞれ、下記の通り多次元のベクトルであるが、便宜的に2次元空間に射影して示している。 FIG. 6(A) shows a series of input vectors. FIG. 6(B) shows a series of vectors representing the state of the robot arm 7 (output side). VI0, VI1 , VI2 , VI3 , ... (and so on) in FIG. 6(A) are the series of input vectors. VO0 , VO1 , VO2 , VO3 , VO4 , ... (and so on) in FIG. 6(B) are the series of output vectors (vectors representing the state of the robot arm 7). Note that VI0 , VI1 , VI2 , VI3 , ... in FIG. 6 (A) and VO0 , VO1 , VO2 , VO3 , VO4 , ... in FIG. 6(B) are multidimensional vectors as described below, but are shown projected into two-dimensional space for convenience.
ここで、入力側ベクトル系列VI0,VI1,VI2,VI3,・・・は、例えば、トラッカー4が出力する数値(ベクトル)の系列であってよい。また、入力側ベクトル系列VI0,VI1,VI2,VI3,・・・は、1個のトラッカー4(左右いずれか一方の手に対応)からの出力を表すベクトルであってもよいし、2個のトラッカー4(左右両方の手に対応)からの出力を表すベクトルであってもよい。つまり、この場合には、VIk(k=0,1,2,・・・)のそれぞれは、6次元のベクトル(左手または右手のいずれか一方のみの場合の、位置(3次元)と姿勢(3次元))または、12次元のベクトル(左手および右手の両方の位置と姿勢)である。 Here, the input vector series V I0 , V I1 , V I2 , V I3 , ... may be, for example, a series of numerical values (vectors) output by the tracker 4. Furthermore, the input vector series V I0 , V I1 , V I2 , V I3 , ... may be vectors representing the output from one tracker 4 (corresponding to either the left or right hand) or vectors representing the output from two trackers 4 (corresponding to both the left and right hands). In other words, in this case, each of V Ik (k = 0, 1, 2, ...) is a six-dimensional vector (the position (three dimensions) and orientation (three dimensions) for only either the left hand or the right hand) or a twelve-dimensional vector (the position and orientation of both the left and right hands).
あるいは、入力側ベクトル系列VI0,VI1,VI2,VI3,・・・は、トラッカー4とグローブ3との両方が出力する数値(ベクトル)の系列であってもよい。この場合も、入力側ベクトル系列VI0,VI1,VI2,VI3,・・・は、片手のみ(左手または右手)に対応するベクトルであってもよいし、両手(左手および右手)に対応するベクトルであってもよい。つまり、この場合には、VIk(k=0,1,2,・・・)のそれぞれは、21次元のベクトル(左手または右手のいずれか一方のみの、位置(3次元)と姿勢(3次元)と15個の関節の曲げ角度)、あるいは、42次元(左手および右手のそれぞれについて上記の21次元で、計42次元)のベクトルである。 Alternatively, the input vector series V I0 , V I1 , V I2 , V I3 , ... may be a series of numerical values (vectors) output by both the tracker 4 and the glove 3. In this case, the input vector series V I0 , V I1 , V I2 , V I3 , ... may be vectors corresponding to only one hand (left hand or right hand) or both hands (left hand and right hand). In other words, in this case, each of V Ik (k=0, 1, 2, ...) is a 21-dimensional vector (the position (three dimensions), posture (three dimensions), and bending angles of 15 joints of only either the left hand or the right hand) or a 42-dimensional vector (the above 21 dimensions for each of the left hand and the right hand, for a total of 42 dimensions).
ただし、ベクトルVIk(k=0,1,2,・・・)の次元数は、必ずしも上記の通りではなくてもよい。つまり、例えば一部の関節の曲げ角度の情報が欠けていてもよいし、上記の次元数の情報以外の情報を持つようにしてもよい。 However, the number of dimensions of the vector V Ik (k=0, 1, 2, ...) does not necessarily have to be as described above. That is, for example, information on the bending angles of some joints may be missing, or information other than the information of the above number of dimensions may be included.
また、出力側ベクトル系列VO0,VO1,VO2,VO3,VO4,・・・は、例えば、入力側ベクトル系列VI0,VI1,VI2,VI3,・・・と同じ次元数であってよい。なお、入力側ベクトルVIkが表す空間(トラッカー4が出力する3次元空間の座標系を含む)と、出力側ベクトルVOkが表す空間(ロボットアーム7が作動する3次元空間の座標系を含む)とは、必ずしも同一ではなくてもよい。つまり、入力側ベクトルと出力側ベクトルとが異なる座標系の値として表わされていてもよい。この場合には、制御機能部22は、適切に両座標系間での座標値等の双方向の変換を行う。 Furthermore, the output vector series V O0 , V O1 , V O2 , V O3 , V O4 , ... may have the same number of dimensions as the input vector series V I0 , V I1 , V I2 , V I3 , .... Note that the space represented by the input vector V Ik (including the coordinate system of the three-dimensional space output by the tracker 4) and the space represented by the output vector V Ok (including the coordinate system of the three-dimensional space in which the robot arm 7 operates) do not necessarily have to be the same. In other words, the input vector and the output vector may be expressed as values in different coordinate systems. In this case, the control function unit 22 appropriately performs bidirectional conversion of coordinate values, etc. between the two coordinate systems.
制御機能部22は、入力側デバイス(グローブ3やトラッカー4)から取得する情報や、自らが行う計算によって、入力側ベクトルVIkを生成することができる。また、制御機能部22は、出力側デバイス(ロボットアーム7)から、必要に応じて、出力側ベクトルVOkを取得することができる。ただし、後述するように、制御機能部22が出力側デバイス(ロボットアーム7)から出力側ベクトルVOkの情報を取得する頻度を減らすことは、制御装置2自身の処理負荷の軽減、および通信回線9の通信負荷の軽減につながる。 The control function unit 22 can generate the input vector V Ik based on information acquired from the input device (the glove 3 or the tracker 4) and calculations it performs itself. The control function unit 22 can also acquire the output vector V Ok from the output device (the robot arm 7) as needed. However, as will be described later, reducing the frequency with which the control function unit 22 acquires information about the output vector V Ok from the output device (the robot arm 7) reduces the processing load on the control device 2 itself and the communication load on the communication line 9.
制御機能部22は、固定長のフレーム周期でロボットアーム7を制御する。このフレーム周期をΔtとする。Δtに関して、例えば、Δt≦22.300[ms](ミリ秒)としてよい。一例としては、Δt=22.222[ms]としてよい。Δt=22.222[ms]の場合のフレームレート(1/Δt)は、小数点第3位までの有効数字で、45.000[fps](frames per second,フレーム毎秒)である。即ち、フレームレートはほぼ45[fps]である。 The control function unit 22 controls the robot arm 7 at a fixed frame period. This frame period is designated Δt. Δt may be, for example, Δt≦22.300 ms (milliseconds). As an example, Δt = 22.222 ms. When Δt = 22.222 ms, the frame rate (1/Δt) is 45.000 fps (frames per second), with three decimal places. In other words, the frame rate is approximately 45 fps.
なお、制御のためのフレーム周期Δtを小さくすればするほど、制御機能部22による制御の精度は向上する。一方で、フレーム周期Δtを小さくすればするほど、制御のために、制御装置2はより多くの計算資源を必要とするようになる。また、フレーム周期Δtを小さくしすぎると、グローブ3やトラッカー4やロボットアーム7には高速な応答性が求められることとなり、装置が高コスト化してしまう。また、フレーム周期Δtを小さくするためには、通信回線9にも大容量かつ低遅延といったスペックが求められ、高コスト化する要因となる。上記のほぼ45fps(Δt=22.222[ms])といったフレームレート、あるいは40fps以上且つ50fps以下の範囲内といったフレームレートは、制御の精度と低コストでのシステムの実現とを両立させ得るものである。 The shorter the frame period Δt for control, the more accurate the control by the control function unit 22. On the other hand, the shorter the frame period Δt, the more computational resources the control device 2 requires for control. Furthermore, if the frame period Δt is made too small, the glove 3, tracker 4, and robot arm 7 will be required to have high-speed responsiveness, resulting in higher device costs. Furthermore, to reduce the frame period Δt, the communication line 9 will also need to have specifications such as high capacity and low latency, which will increase costs. A frame rate of approximately 45 fps (Δt = 22.222 ms) as mentioned above, or a frame rate in the range of 40 fps to 50 fps, can achieve both high control accuracy and low-cost system implementation.
制御機能部22は、具体的には、ロボットアーム7を制御するために速度情報(速度ベクトル)を生成して、出力デバイス側インターフェース部23を介して、その速度情報をロボットアーム7側に送信する。ロボットアーム7は、制御機能部22から渡される上記の速度情報(速度ベクトル)にしたがって動作する。 Specifically, the control function unit 22 generates velocity information (velocity vector) to control the robot arm 7 and transmits this velocity information to the robot arm 7 via the output device side interface unit 23. The robot arm 7 operates in accordance with the velocity information (velocity vector) passed from the control function unit 22.
制御機能部22は、下記の2種類の速度情報(速度ベクトル)を適宜使い分けながら、ロボットアーム7を制御することができる。これらの第1の速度情報および第2の速度情報は、ロボットアーム7を制御するための制御情報である。 The control function unit 22 can control the robot arm 7 by appropriately using the following two types of velocity information (velocity vectors). The first velocity information and second velocity information are control information for controlling the robot arm 7.
第1の速度情報は、入力側デバイス(グローブ3やトラッカー4)から供給される情報のみに基づく速度情報である。つまり、第1の速度情報は、フィードフォワードのみによってロボットアーム7を制御するための情報である。第1の速度情報は、下の式(1)によって求められるskである。なお、速度情報skは、離散的な時間の系列において求められるものである。 The first velocity information is velocity information based only on information supplied from the input side device (the glove 3 or the tracker 4). In other words, the first velocity information is information for controlling the robot arm 7 only by feedforward. The first velocity information is s k calculated by the following equation (1). Note that the velocity information s k is calculated in a discrete time series.
つまり、系列内の第k番目の第1の速度情報であるskは、前回の入力側ベクトルVI(k-1)からの今回の入力側ベクトルVIkの変位を、フレーム周期Δtで除した値である。ベクトルskの次元数は、入力側ベクトルVIkの次元数と同一である。 That is, s k , which is the k-th first speed information in the sequence, is the displacement of the current input vector V Ik from the previous input vector V I(k-1) divided by the frame period Δt. The number of dimensions of the vector s k is the same as the number of dimensions of the input vector V Ik .
第2の速度情報は、出力側デバイス(ロボットアーム7)からフィードバックされる情報を用いて求める速度情報である。つまり、第1の速度情報は、フィードバック要素を用いてロボットアーム7を制御するための情報である。第2の速度情報は、下の式(2)によって求められるskである。 The second velocity information is velocity information obtained using information fed back from the output device (robot arm 7). In other words, the first velocity information is information for controlling the robot arm 7 using a feedback element. The second velocity information is s k obtained by the following equation (2):
なお、関数f()は、入力側ベクトルの座標系を出力側ベクトルの座標系に変換する関数である。また、式(2)に現れる関数f-1()は、上記の関数f()の逆関数であり、出力側ベクトルの座標系を入力側ベクトルの座標系に変換する関数である。つまり、系列内の第k番目の第2の速度情報であるskは、前回の出力側ベクトルVO(k-1)に対応する入力側ベクトルからの、今回の入力側ベクトルVIkの変位を、フレーム周期Δtで除した値である。ベクトルskの次元数は、入力側ベクトルVIkの次元数と同一である。なお、入力側ベクトルの次元数と出力側ベクトルに次元数とが同一であることを想定してよい。 The function f() is a function that converts the coordinate system of the input vector into the coordinate system of the output vector. The function f -1 () that appears in equation (2) is the inverse function of the above function f(), and is a function that converts the coordinate system of the output vector into the coordinate system of the input vector. In other words, s k , which is the k-th second velocity information in the series, is the value obtained by dividing the displacement of the current input vector V Ik from the input vector corresponding to the previous output vector V O(k-1) by the frame period Δt. The number of dimensions of the vector s k is the same as the number of dimensions of the input vector V Ik . It may be assumed that the number of dimensions of the input vector and the number of dimensions of the output vector are the same.
第2の速度情報skは、前述の同期制御機能部221が行う同期の処理の結果に基づいて、制御情報生成部220が生成するものである。
(制御情報)
The second speed information s k is generated by the control information generating unit 220 based on the result of the synchronization process performed by the synchronization control function unit 221 described above.
(Control information)
制御機能部22は、上記の第1の速度情報または第2の速度情報を適宜使い分けながら、ロボットアーム7を制御してよい。 The control function unit 22 may control the robot arm 7 by appropriately using the first speed information or the second speed information described above.
一例として、制御機能部22は、P1フレーム(P1は正整数であり、予め設定可能なパラメーター値である。例えば、P1=5などとしてよい)に1回だけ(例えば、整数P1で割り切れるフレーム番号のときだけ)、上記の第2の速度情報を用いてロボットアーム7を制御する。この場合、制御機能部22は、他の回(例えば、整数P1でフレーム番号が割り切れないとき)には、上記の第1の速度情報を用いてロボットアーム7を制御する。この場合には、所定の時間間隔ごと(P1フレームごと)に、入力側ベクトルVIkが表す情報と出力側ベクトルVOkが表す情報との同期が図られる。 As an example, the control function unit 22 controls the robot arm 7 using the second velocity information only once per P1 frame (P1 is a positive integer and a parameter value that can be set in advance; for example, P1 may be 5, etc.) (for example, only when the frame number is divisible by the integer P1). In this case, the control function unit 22 controls the robot arm 7 using the first velocity information at other times (for example, when the frame number is not divisible by the integer P1). In this case, synchronization is achieved between the information represented by the input vector V Ik and the information represented by the output vector V Ok at predetermined time intervals (for example, every P1 frame).
上の例に依らず、他の方法で、即ち必ずしも一定の時間間隔ごとではない頻度で、入力側ベクトルVIkが表す情報と出力側ベクトルVOkが表す情報との同期が図られるようにしてもよい。 Instead of relying on the above example, the information represented by the input vector V Ik and the information represented by the output vector V Ok may be synchronized in another manner, i.e., at a frequency that is not necessarily at regular time intervals.
具体的には、制御機能部22は、第1の速度情報または第2の速度情報に前記の関数f()を適用することによって、出力側ベクトルの座標系による制御値を(速度情報)、ロボットアーム7側に送信する。即ち、制御機能部22は、下の式(3)で示す速度情報を、ロボットアーム7側に送信する。 Specifically, the control function unit 22 applies the function f() to the first velocity information or the second velocity information, thereby transmitting a control value (velocity information) in the coordinate system of the output vector to the robot arm 7. That is, the control function unit 22 transmits velocity information shown in the following equation (3) to the robot arm 7.
つまり、制御機能部22は、関数f()を用いて速度情報skを出力側ベクトルの座標系に変換して、その変換結果を用いてロボットアーム7を制御する。 That is, the control function unit 22 converts the velocity information sk into the coordinate system of the output vector using the function f(), and controls the robot arm 7 using the conversion result.
図7および図8は、制御機能部22内のノイズ補正機能部222によるノイズの補正を説明するためのグラフである。ノイズ補正機能部222は、入力側ベクトルVIkが持ち得るノイズによって生じる速度ノイズを補正する。図7は、ノイズ補正機能部222による補正前の速度の推移を表す折れ線グラフである。図8は、ノイズ補正機能部222による補正後の速度の推移を表す折れ線グラフである。なお、ノイズ補正機能部222は、入力側ベクトルVIk全体の速度を補正するのではなく、入力側ベクトルVIkが持つ要素ごとに速度の補正を行う(ただし、速度の補正を行わない要素があってもよい)。 7 and 8 are graphs illustrating noise correction by the noise correction function unit 222 in the control function unit 22. The noise correction function unit 222 corrects velocity noise caused by noise that may be present in the input vector V lk . FIG. 7 is a line graph showing the progress of velocity before correction by the noise correction function unit 222. FIG. 8 is a line graph showing the progress of velocity after correction by the noise correction function unit 222. Note that the noise correction function unit 222 does not correct the velocity of the entire input vector V lk , but rather corrects the velocity for each element of the input vector V lk (however, there may be elements for which velocity correction is not performed).
ここで、入力側ベクトルVIkが持つ第m番目の要素をVIk (m)としたとき、当該第m番目の要素に関して、第(k-1)回目の入力と第k回目の入力とによって算出される速度sk (m)は、下の式(4)で表わされる。 Here, when the m-th element of the input vector V Ik is V Ik (m) , the velocity s k (m) calculated for the m-th element from the (k-1)th input and the k-th input is expressed by the following equation (4).
図7は、入力側ベクトルVIkの特定の第m番目の要素に関して、上の式(4)で求められる速度sk (m)の時系列を表す折れ線グラフである。なお、図7の横軸はフレーム番号(離散時間)であり、縦軸は速度sk (m)である。図7においては速度の単位は、メートル毎秒(m/sec)である。 Fig. 7 is a line graph showing the time series of the velocity s k (m) calculated by the above equation (4) for a specific m-th element of the input vector V Ik . Note that the horizontal axis of Fig. 7 represents the frame number (discrete time) and the vertical axis represents the velocity s k (m) . In Fig. 7, the unit of velocity is meters per second (m/sec).
ノイズ補正機能部222がこの速度に含まれるノイズの補正を行う方法は、次の通りである。まず、ノイズ補正機能部222は、今回(フレーム番号がk)算出された速度sk (m)がノイズであるか否かを判定する。具体的には、ノイズ補正機能部222は、今回の速度sk (m)の絶対値が、過去の直近のP2個の速度の絶対値の平均のP3倍以上であるか否かにより、ノイズであるか否かを判定する。 The method by which the noise correction function unit 222 corrects noise contained in this speed is as follows. First, the noise correction function unit 222 determines whether the speed s k (m) calculated this time (frame number k) is noise. Specifically, the noise correction function unit 222 determines whether or not the speed s k (m) is noise based on whether or not the absolute value of the current speed s k (m) is P3 times or more the average of the absolute values of the most recent P2 speeds.
なお、P2は、設定可能なパラメーター値であり、正整数である。一例として、P2=3としてよい。また、P3は、設定可能なパラメーター値であり、1.0より大きい実数である。例えば、5.0≦P3≦10.0の範囲内で適宜P3の値を設定してよい。つまり、一例として、P2=3、且つP3=5.0のとき、ノイズ補正機能部222は、今回の速度sk (m)の絶対値が、sk-1 (m)の絶対値とsk-2 (m)の絶対値とsk-3 (m)の絶対値との平均の、5.0倍以上である場合に、sk (m)がノイズを含むと判定する。 Note that P2 is a configurable parameter value and is a positive integer. As an example, P2=3 may be used. P3 is a configurable parameter value and is a real number greater than 1.0. For example, the value of P3 may be set appropriately within the range of 5.0≦P3≦10.0. That is, as an example, when P2=3 and P3=5.0, the noise correction function unit 222 determines that s k (m) contains noise if the absolute value of the current speed s k (m) is 5.0 times or more the average of the absolute values of s k-1 (m) , s k -2 ( m) , and s k- 3 (m) .
今回の速度sk (m)が上記判定の結果としてノイズを含む場合には、ノイズ補正機能部222は、直近のP2回の速度の絶対値および今回の速度の絶対値(合計で(P2+1)個の速度の絶対値)の平均値を算出し、今回の速度sk (m)の絶対値が当該算出された平均値の絶対値となるように、強制的に速度sk (m)を補正する。なお、この際、ノイズ補正機能部222は、sk (m)の符号(正負)が元の符号と同じになるように補正する。 If the current speed s k (m) contains noise as a result of the above determination, the noise correction function unit 222 calculates the average of the absolute values of the most recent P2 speeds and the absolute value of the current speed (a total of (P2+1) absolute values of speeds), and forcibly corrects the speed s k (m) so that the absolute value of the current speed s k (m) becomes the absolute value of the calculated average value. Note that at this time, the noise correction function unit 222 corrects the sign (positive or negative) of s k (m) so that it is the same as the original sign.
つまり、ノイズ補正機能部222は、上記のような補正後のsk (m)の値となるように、入力側ベクトルVIkの第m番目の要素の値を強制的に書き換える。 That is, the noise correction function unit 222 forcibly rewrites the value of the m-th element of the input vector V Ik so that it becomes the value of s k (m) after correction as described above.
なお、ノイズ補正機能部222は、入力側ベクトルVIkが持つすべての要素(すべてのm)について上記のノイズ補正を行ってもよいし、一部の要素についてのみ上記のノイズ補正を行ってもよい。一例として、ノイズ補正機能部222は、入力側ベクトルVIkが持つ要素のうち、トラッカー4が出力した位置情報(3次元(X軸、Y軸、Z軸)の座標値のそれぞれ。両手の場合には、それぞれの手についての3次元の座標値。)についてのみ、上記のノイズ補正を行ってもよい。また、ノイズ補正機能部222は、入力側ベクトルVIkが持つ他の要素集合についてのみ、上記のノイズ補正を行ってもよい。 The noise correction function unit 222 may perform the above noise correction on all elements (all m) of the input vector V Ik , or may perform the above noise correction on only some of the elements. As an example, the noise correction function unit 222 may perform the above noise correction only on the position information (each of the three-dimensional (X-axis, Y-axis, Z-axis) coordinate values; in the case of both hands, the three-dimensional coordinate values for each hand) output by the tracker 4 among the elements of the input vector V Ik. Furthermore, the noise correction function unit 222 may perform the above noise correction only on other sets of elements of the input vector V Ik .
図8は、入力側ベクトルVIkの前記第m番目の要素に関して、ノイズ補正機能部222がノイズ補正を行った後の速度sk (m)の時系列を表す折れ線グラフである。なお、図8においても、横軸はフレーム番号(離散時間)であり、縦軸は速度sk (m)である。この速度の単位は、メートル毎秒(m/sec)である。 Fig. 8 is a line graph showing the time series of the velocity s k (m) for the m-th element of the input vector V Ik after noise correction has been performed by the noise correction function unit 222. Note that in Fig. 8 as well, the horizontal axis represents the frame number (discrete time) and the vertical axis represents the velocity s k (m) . The unit of this velocity is meters per second (m/sec).
図7と図8とを比較すると、図7のグラフ現れているノイズ(例えば、図7において符号N1,N2,およびN3等で示されるノイズ)が、図8のグラフでは除去されている。つまり、入力デバイス(トラッカー4やグローブ3)が特異なノイズを生じさせる場合でも、ノイズ補正機能部222がそのノイズを補正することにより、制御機能部22によるロボットアーム7の制御を安定化させることができる。 Comparing Figures 7 and 8, it can be seen that the noise appearing in the graph of Figure 7 (for example, the noise indicated by symbols N1, N2, and N3 in Figure 7) has been removed from the graph of Figure 8. In other words, even if the input device (tracker 4 or glove 3) generates peculiar noise, the noise correction function unit 222 can correct that noise, thereby stabilizing the control of the robot arm 7 by the control function unit 22.
図9は、モーションキャプチャーティーチング機能部225による、モーションのキャプチャリングおよび再現の動作を示す概略図である。図9(A)は、モーションをキャプチャーする際の動作を示す。また、図9(B)は、キャプチャーされたモーションを再現する際の動作を示す。なお、モーションのキャプチャリングを行うか否かは、制御装置2の動作時に設定可能としてよい。また、キャプチャーされたモーションを再現する場合には、例えば、外部のユーザー等からの要求に基づいて行う。なお、下記の「制御信号」とは、前記の式(3)で説明したf(sk)である。つまり、制御信号とは、各フレームにおいてロボットアーム7に対して指示する速度の情報を表す信号である。 FIG. 9 is a schematic diagram showing the operation of capturing and reproducing a motion by the motion capture teaching function unit 225. FIG. 9(A) shows the operation when capturing a motion. FIG. 9(B) shows the operation when reproducing the captured motion. Whether or not to capture a motion may be set when the control device 2 is operating. The captured motion may be reproduced, for example, based on a request from an external user. The "control signal" below is f(s k ) described in equation (3) above. In other words, the control signal is a signal that represents information about the speed instructed to the robot arm 7 in each frame.
図9(A)に示すように、キャプチャリング時には、制御情報生成部220が生成する制御信号は、モーションキャプチャーティーチング機能部225にも渡される。モーションキャプチャーティーチング機能部225は、この制御信号の時系列を記録媒体等に保存する。 As shown in Figure 9 (A), during capturing, the control signal generated by the control information generation unit 220 is also passed to the motion capture teaching function unit 225. The motion capture teaching function unit 225 stores the time series of this control signal on a recording medium or the like.
また、図9(B)に示すように、モーションキャプチャーティーチング機能部225は、要求された際には、保存したモーションを再現する。つまり、モーションキャプチャーティーチング機能部225は、保存された制御信号の時系列を記録媒体等から読み出して、出力デバイス側インターフェース部23に、当該前記制御信号の時系列をロボットアーム7に対して送信させるよう制御する。なお、図9(B)に示す例では、モーションキャプチャーティーチング機能部225は、読み出した制御信号の時系列を、制御情報生成部220を経由して出力デバイス側インターフェース部23に渡している。その代わりに、モーションキャプチャーティーチング機能部225は、読み出した制御信号の時系列を、制御情報生成部220を経由せずに直接、出力デバイス側インターフェース部23に渡すようにしてもよい。 Also, as shown in FIG. 9(B), the motion capture teaching function unit 225 reproduces the saved motion when requested. That is, the motion capture teaching function unit 225 reads the saved time series of control signals from a recording medium or the like, and controls the output device side interface unit 23 to transmit the time series of control signals to the robot arm 7. Note that in the example shown in FIG. 9(B), the motion capture teaching function unit 225 passes the read time series of control signals to the output device side interface unit 23 via the control information generation unit 220. Alternatively, the motion capture teaching function unit 225 may pass the read time series of control signals directly to the output device side interface unit 23 without passing through the control information generation unit 220.
このようにして、モーションキャプチャーティーチング機能部225は、モーションをキャプチャーしたり、キャプチャーしたモーションを再現したりすることができる。なお、キャプチャーされたモーションを再現する場合には、制御機能部22は、ロボットアーム7側からの状態情報のフィードバックを受けない。 In this way, the motion capture teaching function unit 225 can capture motion and reproduce the captured motion. Note that when reproducing the captured motion, the control function unit 22 does not receive feedback of status information from the robot arm 7.
図10は、制御装置2による処理の手順を示すフローチャートである。以下、このフローチャートに沿って処理手順(制御方法)を説明する。 Figure 10 is a flowchart showing the processing procedure performed by the control device 2. The processing procedure (control method) will be explained below in accordance with this flowchart.
ステップS1において、制御装置2は、ロボットアーム7の制御のための初期化を行う。本ステップにおける初期化の処理は、入力デバイス(グローブ3、トラッカー4)側での位置や姿勢や関節の曲げ角度と、出力デバイス(ロボットアーム7)側での位置や姿勢や関節の曲げ角度とを合わせる(初期における同期)処理を含む。また、本ステップにおいて、制御装置2は、ロボットアーム7の制御のためのその他の初期化処理を行ってもよい。 In step S1, the control device 2 performs initialization for controlling the robot arm 7. The initialization processing in this step includes processing to align (initial synchronization) the position, posture, and joint bending angles on the input device (gloves 3, tracker 4) with the position, posture, and joint bending angles on the output device (robot arm 7). In addition, in this step, the control device 2 may perform other initialization processing for controlling the robot arm 7.
以下のステップS2からS9までは、フレームごとの制御のための処理である。フレームごとの処理は、所定の時間間隔(前述のフレーム周期Δt)で行うようにしてよい。 The following steps S2 to S9 are processes for controlling each frame. The processing for each frame may be performed at a predetermined time interval (the aforementioned frame period Δt).
ステップS2において、制御装置2の入力デバイス側インターフェース部21は、入力デバイス(グローブ3、トラッカー4)側から今回のベクトル情報(前述の入力側ベクトルVIk)を取得する。入力デバイス側インターフェース部21は、取得した入力側ベクトルVIkを、制御機能部22に渡す。制御機能部22は、渡された入力側ベクトルVIkを少なくとも一時的に記憶する。 In step S2, the input device interface unit 21 of the control device 2 acquires the current vector information (the aforementioned input vector V Ik ) from the input device (glove 3, tracker 4) side. The input device interface unit 21 passes the acquired input vector V Ik to the control function unit 22. The control function unit 22 at least temporarily stores the passed input vector V Ik .
ステップS3において、制御機能部22(ノイズ補正機能部222)は、速度ノイズの補正処理を行う。速度ノイズの補正処理については、既に説明した通りである。速度ノイズの補正処理により、ステップS2において取得した入力側ベクトルVIkが持つ要素の一部が変更される場合がある。なお、速度ノイズが存在しない場合には、本ステップにおける補正処理は、具体的な効果を生じさせるものではなく、ステップS2において取得した入力側ベクトルVIkがそのまま用いられる。 In step S3, the control function unit 22 (noise correction function unit 222) performs a speed noise correction process. The speed noise correction process has already been described. The speed noise correction process may change some of the elements of the input vector V Ik acquired in step S2. Note that if there is no speed noise, the correction process in this step does not produce any specific effect, and the input vector V Ik acquired in step S2 is used as is.
ステップS4において、制御機能部22(同期制御機能部221)は、今回の制御においてロボットアーム7側との位置等の同期を行うか否かを判定する。ロボットアーム7側と同期させる場合(ステップS4:YES)には、次にステップS6に進む。ロボットアーム7側と同期させない場合(ステップS4:NO)には、次にステップS5に進む。 In step S4, the control function unit 22 (synchronization control function unit 221) determines whether or not to synchronize the position, etc. with the robot arm 7 in this control. If synchronization with the robot arm 7 is to be performed (step S4: YES), the process proceeds to step S6. If synchronization with the robot arm 7 is not to be performed (step S4: NO), the process proceeds to step S5.
なお前述の通り、同期制御機能部221は、例えば、一定のフレーム数ごとに(前述の例では、P1個のフレームごとに)同期を行う(ステップS4:YESとする)ようにしてよい。また、その他の条件に基づく判定により、同期を行うか否かを決定してもよい。 As mentioned above, the synchronization control function unit 221 may perform synchronization (step S4: YES), for example, every certain number of frames (in the example above, every P1 frames). It may also determine whether to perform synchronization based on other conditions.
ステップS5に進んだ場合、同ステップにおいて、制御機能部22(制御情報生成部220)は、入力デバイス側の今回ベクトル(入力側ベクトルVIk)と、入力デバイス側の前回ベクトル(入力側ベクトルVI(k-1))とに基づいて、速度情報(速度ベクトル)skを生成する。本ステップでは、前記の式(1)による計算を用いて、第1の速度情報skを生成する。本ステップの処理の後には、ステップS8に移る。 If the process proceeds to step S5, in that step the control function unit 22 (control information generation unit 220) generates speed information (speed vector) s k based on the current vector on the input device side (input side vector V Ik ) and the previous vector on the input device side (input side vector V I(k-1) ). In this step, the first speed information s k is generated using the calculation according to the above-mentioned equation (1). After the processing of this step, the process proceeds to step S8.
ステップS6に進んだ場合、同ステップにおいて、出力デバイス側インターフェース部23は、出力デバイス(ロボットアーム7)側から、前回のベクトル情報(出力側ベクトルVO(k-1))を取得する。出力デバイス側インターフェース部23は、取得した出力側ベクトルVO(k-1)を、制御機能部22に渡す。制御機能部22は、渡された出力側ベクトルVO(k-1)を少なくとも一時的に記憶する。本ステップの次にはステップS7に進む。 If the process proceeds to step S6, in this step the output device side interface unit 23 acquires the previous vector information (output side vector V O(k-1) ) from the output device (robot arm 7). The output device side interface unit 23 passes the acquired output side vector V O(k-1) to the control function unit 22. The control function unit 22 stores the passed output side vector V O(k-1) at least temporarily. After this step, the process proceeds to step S7.
ステップS7において、制御機能部22(制御情報生成部220)は、入力デバイス側の今回ベクトル(入力側ベクトルVIk)と、出力デバイス側の前回ベクトル(出力側ベクトルVO(k-1))とに基づいて、速度情報(速度ベクトル)skを生成する。本ステップでは、前記の式(2)による計算を用いて、第2の速度情報skを生成する。なお、本ステップの処理は、入力デバイス側の情報と出力デバイス側(ロボットアーム7側)の情報とを同期させて整合させるものである。同期制御については、同期制御機能部221が処理を行う。本ステップの処理の後には、ステップS8に進む。 In step S7, the control function unit 22 (control information generation unit 220) generates velocity information (velocity vector) s k based on the current vector on the input device side (input side vector V Ik ) and the previous vector on the output device side (output side vector V O(k-1) ). In this step, second velocity information s k is generated using the calculation according to the above equation (2). Note that the processing in this step synchronizes and aligns the information on the input device side with the information on the output device side (robot arm 7 side). Synchronization control is performed by the synchronization control function unit 221. After processing in this step, the process proceeds to step S8.
次にステップS8において、制御機能部22(制御情報生成部220)は、ステップS7までにおいて作成された速度情報(速度ベクトル)skを用いて、ロボットアーム7を制御する。つまり、制御機能部22(制御情報生成部220)は、上の式(3)に示した速度情報f(sk)を、ロボットアーム7側に送信することによって、ロボットアーム7を制御する。ロボットアーム7は、この速度情報f(sk)を受信して、速度情報f(sk)にしたがって動作する。 Next, in step S8, the control function unit 22 (control information generation unit 220) controls the robot arm 7 using the velocity information (velocity vector) s k created up to step S7. That is, the control function unit 22 (control information generation unit 220) controls the robot arm 7 by transmitting the velocity information f(s k ) shown in the above equation (3) to the robot arm 7. The robot arm 7 receives this velocity information f(s k ) and operates in accordance with the velocity information f(s k ).
ステップS9において、制御装置2は、制御を終了するか否かを判定する。本ステップにおける判定結果として制御を終了することになるのは、例えば、ユーザー(操作者等)によってロボットアーム7の終了が指示された場合や、予め定められたスケジュールによってロボットアーム7の稼働期間が終了する場合や、何らかの異常の発生によってロボットアーム7の稼働を続けることが不可能ないしは困難になった場合等である。制御を終了する場合(ステップS9:YES)には、本フローチャート全体の処理を終了する。制御を終了しない場合(ステップS9:NO)には、次のフレームの制御を実行するために、ステップS2に戻る。 In step S9, the control device 2 determines whether or not to terminate control. The determination in this step results in termination of control when, for example, a user (operator, etc.) issues a command to terminate the robot arm 7, when the operating period of the robot arm 7 ends according to a predetermined schedule, or when the occurrence of some kind of abnormality makes it impossible or difficult to continue operating the robot arm 7. If control is to be terminated (step S9: YES), the entire processing of this flowchart ends. If control is not to be terminated (step S9: NO), the process returns to step S2 to execute control for the next frame.
次に、第1実施形態の複数の変形例について説明する。なお、組合せ可能な限りにおいて、複数の変形例を組み合わせて実施してもよい。 Next, several modified examples of the first embodiment will be described. Note that multiple modified examples may be combined to the extent possible.
[変形例1]
第1実施形態では、制御機能部22は、モーションキャプチャーティーチング機能部225を持っていた(図5を参照)。変形例として、制御機能部22が、モーションキャプチャーティーチング機能部225を持たなくてもよい。この場合、モーションのキャプチャリングや、キャプチャーされたモーションの再現をすることはできないが、制御装置2が持つその他の機能は実現される。
[Modification 1]
In the first embodiment, the control function unit 22 has a motion capture teaching function unit 225 (see FIG. 5). As a modified example, the control function unit 22 does not have to have the motion capture teaching function unit 225. In this case, it is not possible to capture motion or reproduce captured motion, but other functions of the control device 2 are realized.
[変形例2]
第1実施形態では、1個のグローブ3は、ユーザーの片手(左手または右手)が持つすべての関節の曲げ角度を検知することを想定していた。変形例として、グローブ3が、一部の関節の曲げ角度を検知しないものであってもよい。その場合、グローブ3が制御装置2に渡す情報の量は相対的に減る。また、制御装置2は、検知されなかった関節の曲げ角度に応じた制御を行うことはできない。しかしながら、制御装置2は、第1実施形態において持っていたその他の機能を維持する。
[Modification 2]
In the first embodiment, it was assumed that one glove 3 detects the bending angles of all the joints in one hand (left hand or right hand) of the user. As a modification, the glove 3 may not detect the bending angles of some joints. In this case, the amount of information that the glove 3 passes to the control device 2 is relatively reduced. Furthermore, the control device 2 cannot perform control according to the bending angles of the joints that were not detected. However, the control device 2 maintains the other functions that it had in the first embodiment.
[変形例3]
第1実施形態では、制御機能部22は、ノイズ補正機能部222を持っていた(図5を参照)。変形例として、制御機能部22が、ノイズ補正機能部222を持たなくてもよい。この場合、入力される情報におけるノイズの補正を行うことはできないが、制御装置2が持つその他の機能は実現される。
[Modification 3]
In the first embodiment, the control function unit 22 has the noise correction function unit 222 (see FIG. 5 ). As a modified example, the control function unit 22 may not have the noise correction function unit 222. In this case, noise in the input information cannot be corrected, but other functions of the control device 2 are still realized.
[第2実施形態]
次に、本発明の第2実施形態について説明する。なお、前実施形態において既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
Second Embodiment
Next, a second embodiment of the present invention will be described. Note that the following description may omit the matters already described in the previous embodiment. Here, the description will focus on matters unique to this embodiment.
図11はおよび図12は、第2実施形態による最小構成の制御装置における概略機能構成を示す機能ブロック図である。図11に示すように、本実施形態の制御装置1002は、入力デバイス側インターフェース部21と、制御機能部1022と、出力デバイス側インターフェース部23とを備える。入力デバイス側インターフェース部21および出力デバイス側インターフェース部23のそれぞれの機能は、第1実施形態において説明した機能と同様である。制御機能部1022は、第1実施形態における制御機能部22が持っていた機能のうちの一部を持たない。図12に示すように、本実施形態の制御機能部1022は、制御情報生成部1220と、同期制御機能部1221とを含んで構成される。本実施形態の制御機能部1022は、第1実施形態における制御機能部22が持っていた、ノイズ補正機能部222やモーションキャプチャーティーチング機能部225の機能を持たない。つまり、制御機能部1022は、入力デバイス側から入力される信号に含まれるノイズを補正する機能を持たない。また、制御機能部1022は、モーションを表す制御信号の時系列を保存したり、保存された制御信号の時系列に基づく再生を行ったりしない。 Figures 11 and 12 are functional block diagrams showing the general functional configuration of a control device with a minimum configuration according to the second embodiment. As shown in Figure 11, the control device 1002 of this embodiment includes an input device interface unit 21, a control function unit 1022, and an output device interface unit 23. The functions of the input device interface unit 21 and the output device interface unit 23 are the same as those described in the first embodiment. The control function unit 1022 does not have some of the functions of the control function unit 22 in the first embodiment. As shown in Figure 12, the control function unit 1022 of this embodiment includes a control information generation unit 1220 and a synchronization control function unit 1221. The control function unit 1022 of this embodiment does not have the functions of the noise correction function unit 222 and the motion capture teaching function unit 225 that the control function unit 22 in the first embodiment had. In other words, the control function unit 1022 does not have the function of correcting noise contained in signals input from the input device side. Furthermore, the control function unit 1022 does not store the time series of control signals representing motion, nor does it perform playback based on the time series of stored control signals.
なお、本実施形態においても、制御機能部1022は、入力デバイス(グローブやトラッカー)側から信号を受信し、手の位置と、手の姿勢と、関節の曲げ角度とに基づいて、手に対応するロボットアームの動きを制御するための制御信号を生成して出力する。また、制御機能部1022は、所定のタイミングで、出力デバイス側インターフェース部23から渡されるロボットアームの状態情報に基づいて、ユーザーの手の側の状態とロボットアーム側の前記状態情報とが整合するように前記制御信号を生成する。 In this embodiment, too, the control function unit 1022 receives signals from the input device (glove or tracker) and generates and outputs control signals for controlling the movement of the robot arm corresponding to the hand based on the hand position, hand posture, and joint bending angle. Furthermore, the control function unit 1022 generates the control signals at predetermined timing based on the robot arm status information passed from the output device interface unit 23 so that the status of the user's hand matches the status information of the robot arm.
[コンピューターとプログラムによる実現]
図13は、第1実施形態や第2実施形態における各装置が持つ機能を実現するための内部構成の例を示すブロック図である。各装置(制御装置2あるいは1002、グローブ3、トラッカー4、およびロボットアーム7のそれぞれ)の少なくとも一部の機能は、コンピューターを用いて実現され得る。図示するように、そのコンピューターは、中央処理装置901と、RAM902と、入出力ポート903と、入出力デバイス904や905等と、バス906と、を含んで構成される。コンピューター自体は、既存技術を用いて実現可能である。中央処理装置901は、RAM902等から読み込んだプログラムに含まれる命令を実行する。中央処理装置901は、各命令にしたがって、RAM902にデータを書き込んだり、RAM902からデータを読み出したり、算術演算や論理演算を行ったりする。RAM902は、データやプログラムを記憶する。RAM902に含まれる各要素は、アドレスを持ち、アドレスを用いてアクセスされ得るものである。なお、RAMは、「ランダムアクセスメモリー」の略である。入出力ポート903は、中央処理装置901が外部の入出力デバイス等とデータのやり取りを行うためのポートである。入出力デバイス904や905は、入出力デバイスである。入出力デバイス904や905は、入出力ポート903を介して中央処理装置901との間でデータをやりとりする。バス906は、コンピューター内部で使用される共通の通信路である。例えば、中央処理装置901は、バス906を介してRAM902のデータを読んだり書いたりする。また、例えば、中央処理装置901は、バス906を介して入出力ポート903にアクセスする。
[Realization by computer and program]
FIG. 13 is a block diagram showing an example of the internal configuration for realizing the functions of each device in the first and second embodiments. At least some of the functions of each device (control device 2 or 1002, glove 3, tracker 4, and robot arm 7) can be realized using a computer. As shown in the figure, the computer includes a central processing unit 901, a RAM 902, an input/output port 903, input/output devices 904 and 905, and a bus 906. The computer itself can be realized using existing technology. The central processing unit 901 executes instructions contained in a program read from the RAM 902 or the like. In accordance with each instruction, the central processing unit 901 writes data to the RAM 902, reads data from the RAM 902, and performs arithmetic and logical operations. The RAM 902 stores data and programs. Each element in the RAM 902 has an address and can be accessed using the address. Note that RAM is an abbreviation for "random access memory." The input/output port 903 is a port through which the central processing unit 901 exchanges data with external input/output devices, etc. The input/output devices 904 and 905 are input/output devices. The input/output devices 904 and 905 exchange data with the central processing unit 901 via the input/output port 903. The bus 906 is a common communication path used within the computer. For example, the central processing unit 901 reads and writes data from the RAM 902 via the bus 906. Also, for example, the central processing unit 901 accesses the input/output port 903 via the bus 906.
なお、実施形態における各装置(制御装置2あるいは1002、グローブ3、トラッカー4、およびロボットアーム7のそれぞれ)の少なくとも一部の機能をコンピューターとプログラムとで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。つまり、「コンピューター読み取り可能な記録媒体」とは、非一過性の(non-transitory)コンピューター読み取り可能な記録媒体であってよい。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。 At least some of the functions of each device in the embodiments (control device 2 or 1002, glove 3, tracker 4, and robot arm 7) can be implemented by a computer and a program. In this case, the program for implementing this function may be recorded on a computer-readable recording medium and then loaded and executed by a computer system. Note that the term "computer system" here includes hardware such as an OS and peripheral devices. Furthermore, "computer-readable recording medium" refers to portable media such as floppy disks, optical magnetic disks, ROMs, CD-ROMs, DVD-ROMs, and USB memory, as well as storage devices such as hard disks built into computer systems. In other words, "computer-readable recording medium" may be a non-transitory computer-readable recording medium. Furthermore, "computer-readable recording medium" may also include media that temporarily and dynamically store programs, such as communication lines when transmitting programs via networks like the Internet or communication lines like telephone lines, or media that store programs for a certain period of time, such as volatile memory within the computer systems that serve as the server or client in such cases. Furthermore, the above program may be designed to realize some of the functions described above, or may be capable of realizing the functions described above in combination with a program already recorded on the computer system.
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 The above describes in detail an embodiment of the present invention with reference to the drawings, but the specific configuration is not limited to this embodiment and includes designs that do not deviate from the gist of the present invention.
以上説明したように、いずれかの実施形態によれば、制御機能部(22,1022)は、所定のタイミングで、出力デバイス側インターフェース部(23)から渡される状態情報(即ち、ロボットアーム(7)側の動作の状態を表す状態情報)に基づいて、ユーザーの手の側の状態(つまり、入力デバイス(グローブ(3)やトラッカー(4))側の状態)とロボットアーム(7)側の状態情報とが整合するように制御信号を生成する。これにより、制御機能部(22,1022)は、高い精度でロボットアーム(7)を制御することができる。つまり、入力デバイス側と出力デバイス側とにおいて状態(位置、姿勢、関節の曲げ角度等)を同期させることができる。この同期は、例えば一定時間間隔ごとに行ってもよいし、その他のタイミングで行ってもよい。 As described above, according to any of the embodiments, the control function unit (22, 1022) generates a control signal at a predetermined timing based on the status information (i.e., status information representing the operating status of the robot arm (7)) passed from the output device interface unit (23) so that the status of the user's hand (i.e., the status of the input device (glove (3) or tracker (4))) is consistent with the status information of the robot arm (7). This allows the control function unit (22, 1022) to control the robot arm (7) with high precision. In other words, it is possible to synchronize the status (position, posture, joint bending angle, etc.) between the input device and the output device. This synchronization may be performed, for example, at regular time intervals or at other times.
また、ノイズ補正機能部(222)は、入力デバイス(グローブ(3)やトラッカー(4)側で生じ得るノイズを補正することができる。つまり、制御機能部(22)による制御が安定する。つまり、入力段階における外乱等によって生じるノイズを、補正することができる。 In addition, the noise correction function unit (222) can correct noise that may occur on the input device (glove (3) or tracker (4) side). This means that control by the control function unit (22) is stable. In other words, noise caused by disturbances during the input stage can be corrected.
入力デバイス側インターフェース部(21)は、ユーザー(操作者)の手が持つすべての関節の曲げ角度の情報、を表す信号を取得する。制御機能部(22,1022)は、前記すべての関節の曲げ角度の情報に基づいて、制御信号を生成して出力する。これにより、制御機能部(22)は、ユーザー(操作者)の手が持つすべての関節の曲げ角度に忠実に、ロボットアーム(7)を制御することができる。 The input device side interface unit (21) acquires signals representing information on the bending angles of all joints in the user's (operator's) hands. The control function unit (22, 1022) generates and outputs control signals based on the information on the bending angles of all joints. This allows the control function unit (22) to control the robot arm (7) faithfully according to the bending angles of all joints in the user's (operator's) hands.
本実施形態によれば、汎用品(グローブや、トラッカーや、ロボットアームなど)を組み合わせてロボット制御システムを実現する場合にも、高精度なロボットアームの制御か可能となる。つまり、安価且つ高精度なロボット制御システムを実現することができる。つまり、ユーザー(操作者)の直感に合った高精度な制御を実現することができる。 According to this embodiment, even when a robot control system is implemented by combining general-purpose items (such as gloves, trackers, and robot arms), highly accurate robot arm control is possible. In other words, an inexpensive, highly accurate robot control system can be implemented. In other words, highly accurate control that matches the intuition of the user (operator) can be achieved.
上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない。 Some or all of the above embodiments may also be described as, but are not limited to, the following notes:
(付記1)
ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、前記ユーザーの手における各指の関節の曲げ角度の情報と、を表す信号を取得する入力デバイス側インターフェース部と、
前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに基づいて、前記手に対応するロボットアームの動きを制御するための制御信号を生成して出力する制御機能部と、
前記制御機能部が生成した前記制御信号を前記ロボットアームに対して送信するとともに、所定のタイミングで前記ロボットアームにおける状態情報を受信して前記制御機能部に渡す出力デバイス側インターフェース部と、
を備え、
前記ロボットアームにおける前記状態情報は、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに対応する、前記ロボットアーム側の手の位置と手の姿勢と各指の関節の曲げ角度とを表す情報であり、
前記制御機能部は、前記所定のタイミングで、前記出力デバイス側インターフェース部から渡される前記状態情報に基づいて、前記ユーザーの手の側の状態と前記ロボットアーム側の前記状態情報とが整合するように前記制御信号を生成する、
制御装置。
(Appendix 1)
an input device interface unit that acquires signals representing information on the position of a user's hand, information on the posture of the user's hand, and information on the bending angles of the joints of each finger of the user's hand;
a control function unit that generates and outputs a control signal for controlling a movement of a robot arm corresponding to the hand based on the position of the hand, the posture of the hand, and the bending angle of the joint;
an output device side interface unit that transmits the control signal generated by the control function unit to the robot arm, and receives status information of the robot arm at a predetermined timing and passes the status information to the control function unit;
Equipped with
the state information of the robot arm is information representing a hand position, a hand posture, and bending angles of each finger joint on the robot arm side, which correspond to the hand position, the hand posture, and bending angles of the joints,
the control function unit generates the control signal at the predetermined timing based on the state information passed from the output device side interface unit so that the state of the user's hand and the state information of the robot arm are consistent with each other.
Control device.
(付記2)
前記制御機能部は、
前記ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、前記ユーザーの手における各指の関節の曲げ角度の情報と、の少なくともいずれかの情報の時間的推移に基づいてノイズを検出した場合には、検出された前記ノイズが削除または緩和されるように、当該ノイズを生じさせた、前記ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、前記ユーザーの手における各指の関節の曲げ角度の情報とのいずれかを補正するノイズ補正機能部、
を備える、付記1に記載の制御装置。
(Appendix 2)
The control function unit
a noise correction function unit that, when detecting noise based on a temporal transition of at least any one of information regarding the position of the user's hand, information regarding the posture of the user's hand, and information regarding the bending angles of the joints of the fingers of the user's hand, corrects any one of the information regarding the position of the user's hand, information regarding the posture of the user's hand, and information regarding the bending angles of the joints of the fingers of the user's hand, which caused the detected noise, so as to eliminate or mitigate the detected noise;
2. The control device of claim 1, comprising:
(付記3)
前記入力デバイス側インターフェース部は、前記ユーザーの手が持つすべての関節の曲げ角度の情報、を表す信号を取得し、
前記制御機能部は、前記すべての関節の曲げ角度の情報に基づいて、前記制御信号を生成して出力する、
付記1または付記2に記載の制御装置。
(Appendix 3)
the input device side interface unit acquires signals representing information on bending angles of all joints in the user's hand;
The control function unit generates and outputs the control signal based on information on bending angles of all the joints.
3. The control device according to claim 1 or 2.
(付記4)
前記制御機能部が生成する前記制御信号の時系列を保存するとともに、要求された際には、保存された前記制御信号の時系列を読み出して、前記出力デバイス側インターフェース部に、当該前記制御信号の時系列を前記ロボットアームに対して送信させるよう制御するキャプチャリング機能部、
をさらに備える付記1から付記3までのいずれか1つに記載の制御装置。
(Appendix 4)
a capturing function unit that stores a time series of the control signal generated by the control function unit, and, when requested, reads out the stored time series of the control signal and controls the output device side interface unit to transmit the time series of the control signal to the robot arm;
4. The control device according to claim 1, further comprising:
(付記5)
入力デバイス側インターフェース部が、ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、前記ユーザーの手における各指の関節の曲げ角度の情報と、を表す信号を取得する過程と、
制御機能部が、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに基づいて、前記手に対応するロボットアームの動きを制御するための制御信号を生成して出力する過程と、
出力デバイス側インターフェース部が、前記制御機能部が生成した前記制御信号を前記ロボットアームに対して送信するとともに、所定のタイミングで前記ロボットアームにおける状態情報を受信して前記制御機能部に渡す過程と、
を含み、
前記ロボットアームにおける前記状態情報は、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに対応する、前記ロボットアーム側の手の位置と手の姿勢と各指の関節の曲げ角度とを表す情報であり、
前記制御機能部は、前記所定のタイミングで、前記出力デバイス側インターフェース部から渡される前記状態情報に基づいて、前記ユーザーの手の側の状態と前記ロボットアーム側の前記状態情報とが整合するように前記制御信号を生成する、
制御方法。
(Appendix 5)
an input device interface unit acquiring signals representing information on the position of a user's hand, information on the posture of the user's hand, and information on the bending angles of the joints of each finger of the user's hand;
a step in which a control function unit generates and outputs a control signal for controlling a movement of a robot arm corresponding to the hand based on the position of the hand, the posture of the hand, and the bending angle of the joint;
an output device side interface unit transmitting the control signal generated by the control function unit to the robot arm, and receiving status information of the robot arm at a predetermined timing and passing the information to the control function unit;
Including,
the state information of the robot arm is information representing a hand position, a hand posture, and bending angles of each finger joint on the robot arm side, which correspond to the hand position, the hand posture, and bending angles of the joints,
the control function unit generates the control signal at the predetermined timing based on the state information passed from the output device side interface unit so that the state of the user's hand and the state information of the robot arm are consistent with each other.
Control method.
(付記6)
ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、前記ユーザーの手における各指の関節の曲げ角度の情報と、を表す信号を取得する入力デバイス側インターフェース部と、
前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに基づいて、前記手に対応するロボットアームの動きを制御するための制御信号を生成して出力する制御機能部と、
前記制御機能部が生成した前記制御信号を前記ロボットアームに対して送信するとともに、所定のタイミングで前記ロボットアームにおける状態情報を受信して前記制御機能部に渡す出力デバイス側インターフェース部と、
を備え、
前記ロボットアームにおける前記状態情報は、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに対応する、前記ロボットアーム側の手の位置と手の姿勢と各指の関節の曲げ角度とを表す情報であり、
前記制御機能部は、前記所定のタイミングで、前記出力デバイス側インターフェース部から渡される前記状態情報に基づいて、前記ユーザーの手の側の状態と前記ロボットアーム側の前記状態情報とが整合するように前記制御信号を生成する、
制御装置、としてコンピューターを機能させるためのプログラム。
(Appendix 6)
an input device interface unit that acquires signals representing information on the position of a user's hand, information on the posture of the user's hand, and information on the bending angles of the joints of each finger of the user's hand;
a control function unit that generates and outputs a control signal for controlling a movement of a robot arm corresponding to the hand based on the position of the hand, the posture of the hand, and the bending angle of the joint;
an output device side interface unit that transmits the control signal generated by the control function unit to the robot arm, and receives status information of the robot arm at a predetermined timing and passes the status information to the control function unit;
Equipped with
the state information of the robot arm is information representing a hand position, a hand posture, and bending angles of each finger joint on the robot arm side, which correspond to the hand position, the hand posture, and bending angles of the joints,
the control function unit generates the control signal at the predetermined timing based on the state information passed from the output device side interface unit so that the state of the user's hand and the state information of the robot arm are consistent with each other.
A program that makes a computer function as a control device.
(付記7)
付記1から付記4までのいずれか1つに記載の制御装置と、
前記制御装置の前記入力デバイス側インターフェース部に対して、ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、を表す信号を送信するトラッカーと、
前記制御装置の前記入力デバイス側インターフェース部に対して、前記ユーザーの手における各指の関節の曲げ角度の情報、を表す信号を送信するグローブと、
を備えるロボット制御システム。
(Appendix 7)
A control device according to any one of Supplementary Note 1 to Supplementary Note 4;
a tracker that transmits signals representing information on the position of a user's hand and information on the posture of the user's hand to the input device side interface unit of the control device;
a glove that transmits a signal representing information on the bending angle of each finger joint of the user's hand to the input device side interface unit of the control device;
A robot control system comprising:
(付記8)
付記1から付記4までのいずれか1つに記載の制御装置と、
前記制御装置の前記出力デバイス側インターフェース部から送信される前記制御信号に基づいて動作するとともに、前記所定のタイミングで自装置における前記状態情報を前記出力デバイス側インターフェース部に対して送信するロボットアームと、
を備えるロボット制御システム。
(Appendix 8)
A control device according to any one of Supplementary Note 1 to Supplementary Note 4;
a robot arm that operates based on the control signal transmitted from the output device-side interface unit of the control device and transmits the status information of its own device to the output device-side interface unit at the predetermined timing;
A robot control system comprising:
(付記9)
付記1から付記4までのいずれか1つに記載の制御装置と、
前記制御装置の前記入力デバイス側インターフェース部に対して、ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、を表す信号を送信するトラッカーと、
前記制御装置の前記入力デバイス側インターフェース部に対して、前記ユーザーの手における各指の関節の曲げ角度の情報、を表す信号を送信するグローブと、
前記制御装置の前記出力デバイス側インターフェース部から送信される前記制御信号に基づいて動作するとともに、前記所定のタイミングで自装置における前記状態情報を前記出力デバイス側インターフェース部に対して送信するロボットアームと、
を備えるロボット制御システム。
(Appendix 9)
A control device according to any one of Supplementary Note 1 to Supplementary Note 4;
a tracker that transmits signals representing information on the position of a user's hand and information on the posture of the user's hand to the input device side interface unit of the control device;
a glove that transmits a signal representing information on the bending angle of each finger joint of the user's hand to the input device side interface unit of the control device;
a robot arm that operates based on the control signal transmitted from the output device-side interface unit of the control device and transmits the status information of its own device to the output device-side interface unit at the predetermined timing;
A robot control system comprising:
(付記10)
前記ユーザーの手の位置の情報は、1つの手について3次元の座標値で表わされ、
前記ユーザーの手の姿勢の情報は、1つの手について3次元の回転角で表わされる、
付記1から付記4までのいずれか1つに記載の制御装置。
(Appendix 10)
The information on the position of the user's hand is expressed as three-dimensional coordinate values for one hand,
The user's hand posture information is expressed as a three-dimensional rotation angle for one hand.
5. The control device according to any one of claims 1 to 4.
(付記11)
前記制御機能部が生成する前記制御信号は、前記ロボットアームが持つ部分の速度の情報を表す信号である、
付記1から付記4までと、付記10と、のいずれか1つに記載の制御装置。
(Appendix 11)
The control signal generated by the control function unit is a signal representing information on the speed of a portion of the robot arm.
11. The control device of claim 1, wherein the first and second inputs are connected to a first input port.
(付記12)
前記制御機能部は、一定時間間隔のフレームごとに前記制御信号を生成して出力するものであり、
前記所定のタイミングは、一定のフレーム数ごとのタイミングである、
付記1から付記4までと、付記10から付記11までと、のいずれか1つに記載の制御装置。
(Appendix 12)
the control function unit generates and outputs the control signal for each frame at a fixed time interval;
The predetermined timing is a timing for every fixed number of frames.
12. The control device according to any one of claims 1 to 4 and claims 10 to 11.
(付記12)
前記フレームの頻度は、1秒あたり45フレーム(45fps)以上の頻度である、
付記12に記載の制御装置。
(Appendix 12)
The frame frequency is 45 frames per second (45 fps) or greater.
13. The control device of claim 12.
本発明は、例えば、ロボットを使用する産業において利用可能である。例として、製造業等におけるロボットの制御や、遠隔手術(あるいはそのための設備等を提供する事業)や、オンラインツアー等において利用可能であるが、利用可能性はこれらの産業に限定されるものではない。また、本発明の利用範囲はここに例示したものには限られない。 The present invention can be used, for example, in industries that use robots. Examples include controlling robots in manufacturing, remote surgery (or businesses that provide equipment for such surgery), and online tours, but its applicability is not limited to these industries. Furthermore, the scope of use of the present invention is not limited to the examples given here.
1 ロボット制御システム
2 制御装置
3 グローブ
4 トラッカー
7 ロボットアーム
9 通信回線
21 入力デバイス側インターフェース部
22 制御機能部
23 出力デバイス側インターフェース部
220 制御情報生成部
221 同期制御機能部
222 ノイズ補正機能部
225 モーションキャプチャーティーチング機能部(キャプチャリング機能部)
901 中央処理装置
902 RAM
903 入出力ポート
904,905 入出力デバイス
906 バス
1002 制御装置
1022 制御機能部
1220 制御情報生成部
1221 同期制御機能部
1 Robot control system 2 Control device 3 Glove 4 Tracker 7 Robot arm 9 Communication line 21 Input device side interface unit 22 Control function unit 23 Output device side interface unit 220 Control information generation unit 221 Synchronous control function unit 222 Noise correction function unit 225 Motion capture teaching function unit (capturing function unit)
901 Central processing unit 902 RAM
903 Input/output ports 904, 905 Input/output devices 906 Bus 1002 Control device 1022 Control function unit 1220 Control information generation unit 1221 Synchronous control function unit
Claims (9)
前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに基づいて、前記手に対応するロボットアームの動きを制御するための制御信号を生成して出力する制御機能部と、
前記制御機能部が生成した前記制御信号を前記ロボットアームに対して送信するとともに、所定のタイミングで前記ロボットアームにおける状態情報を受信して前記制御機能部に渡す出力デバイス側インターフェース部と、
前記制御機能部が生成する前記制御信号の時系列を保存するとともに、ユーザーから要求された際には、保存された前記制御信号の時系列を読み出して、前記出力デバイス側インターフェース部に、当該前記制御信号の時系列を前記ロボットアームに対して送信させるよう制御するキャプチャリング機能部と、
を備え、
前記ロボットアームにおける前記状態情報は、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに対応する、前記ロボットアーム側の手の位置と手の姿勢と各指の関節の曲げ角度とを表す情報であり、
前記制御機能部は、前記所定のタイミングで、前記出力デバイス側インターフェース部から渡される前記状態情報に基づいて、前記ユーザーの手の側の状態と前記ロボットアーム側の前記状態情報とが整合するように前記制御信号を生成する、
制御装置。 an input device interface unit that acquires signals representing information on the position of a user's hand, information on the posture of the user's hand, and information on the bending angles of the joints of each finger of the user's hand;
a control function unit that generates and outputs a control signal for controlling a movement of a robot arm corresponding to the hand based on the position of the hand, the posture of the hand, and the bending angle of the joint;
an output device side interface unit that transmits the control signal generated by the control function unit to the robot arm, and receives status information of the robot arm at a predetermined timing and passes the status information to the control function unit;
a capturing function unit that stores a time series of the control signal generated by the control function unit, and, when requested by a user, reads out the stored time series of the control signal and controls the output device side interface unit to transmit the time series of the control signal to the robot arm;
Equipped with
the state information of the robot arm is information representing a hand position, a hand posture, and bending angles of each finger joint on the robot arm side, which correspond to the hand position, the hand posture, and bending angles of the joints,
the control function unit generates the control signal at the predetermined timing based on the state information passed from the output device side interface unit so that the state of the user's hand and the state information of the robot arm are consistent with each other.
Control device.
請求項1に記載の制御装置。The control device according to claim 1 .
前記ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、前記ユーザーの手における各指の関節の曲げ角度の情報と、の少なくともいずれかの情報の時間的推移に基づいてノイズを検出した場合には、検出された前記ノイズが削除または緩和されるように、当該ノイズを生じさせた、前記ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、前記ユーザーの手における各指の関節の曲げ角度の情報とのいずれかを補正するノイズ補正機能部、
を備える、請求項1に記載の制御装置。 The control function unit
a noise correction function unit that, when detecting noise based on a temporal transition of at least any one of information regarding the position of the user's hand, information regarding the posture of the user's hand, and information regarding the bending angles of the joints of the fingers of the user's hand, corrects any one of the information regarding the position of the user's hand, information regarding the posture of the user's hand, and information regarding the bending angles of the joints of the fingers of the user's hand, which caused the detected noise, so as to eliminate or mitigate the detected noise;
The control device of claim 1 , comprising:
前記制御機能部は、前記すべての関節の曲げ角度の情報に基づいて、前記制御信号を生成して出力する、
請求項1に記載の制御装置。 the input device side interface unit acquires signals representing information on bending angles of all joints in the user's hand;
The control function unit generates and outputs the control signal based on information on bending angles of all the joints.
The control device according to claim 1 .
制御機能部が、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに基づいて、前記手に対応するロボットアームの動きを制御するための制御信号を生成して出力する過程と、
出力デバイス側インターフェース部が、前記制御機能部が生成した前記制御信号を前記ロボットアームに対して送信するとともに、所定のタイミングで前記ロボットアームにおける状態情報を受信して前記制御機能部に渡す過程と、
キャプチャリング機能部が、前記制御機能部が生成する前記制御信号の時系列を保存するとともに、ユーザーから要求された際には、保存された前記制御信号の時系列を読み出して、前記出力デバイス側インターフェース部に、当該前記制御信号の時系列を前記ロボットアームに対して送信させるよう制御する過程と、
を含み、
前記ロボットアームにおける前記状態情報は、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに対応する、前記ロボットアーム側の手の位置と手の姿勢と各指の関節の曲げ角度とを表す情報であり、
前記制御機能部は、前記所定のタイミングで、前記出力デバイス側インターフェース部から渡される前記状態情報に基づいて、前記ユーザーの手の側の状態と前記ロボットアーム側の前記状態情報とが整合するように前記制御信号を生成する、
制御方法。 an input device interface unit acquiring signals representing information on the position of a user's hand, information on the posture of the user's hand, and information on the bending angles of the joints of each finger of the user's hand;
a step in which a control function unit generates and outputs a control signal for controlling a movement of a robot arm corresponding to the hand based on the position of the hand, the posture of the hand, and the bending angle of the joint;
an output device side interface unit transmitting the control signal generated by the control function unit to the robot arm, and receiving status information of the robot arm at a predetermined timing and passing the information to the control function unit;
a step in which a capturing function unit stores a time series of the control signal generated by the control function unit, and when requested by a user, reads out the stored time series of the control signal and controls the output device side interface unit to transmit the time series of the control signal to the robot arm;
Including,
the state information of the robot arm is information representing a hand position, a hand posture, and bending angles of each finger joint on the robot arm side, which correspond to the hand position, the hand posture, and bending angles of the joints,
the control function unit generates the control signal at the predetermined timing based on the state information passed from the output device side interface unit so that the state of the user's hand and the state information of the robot arm are consistent with each other.
Control method.
前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに基づいて、前記手に対応するロボットアームの動きを制御するための制御信号を生成して出力する制御機能部と、
前記制御機能部が生成した前記制御信号を前記ロボットアームに対して送信するとともに、所定のタイミングで前記ロボットアームにおける状態情報を受信して前記制御機能部に渡す出力デバイス側インターフェース部と、
前記制御機能部が生成する前記制御信号の時系列を保存するとともに、ユーザーから要求された際には、保存された前記制御信号の時系列を読み出して、前記出力デバイス側インターフェース部に、当該前記制御信号の時系列を前記ロボットアームに対して送信させるよう制御するキャプチャリング機能部と、
を備え、
前記ロボットアームにおける前記状態情報は、前記手の位置と、前記手の姿勢と、前記関節の曲げ角度とに対応する、前記ロボットアーム側の手の位置と手の姿勢と各指の関節の曲げ角度とを表す情報であり、
前記制御機能部は、前記所定のタイミングで、前記出力デバイス側インターフェース部から渡される前記状態情報に基づいて、前記ユーザーの手の側の状態と前記ロボットアーム側の前記状態情報とが整合するように前記制御信号を生成する、
制御装置、としてコンピューターを機能させるためのプログラム。 an input device interface unit that acquires signals representing information on the position of a user's hand, information on the posture of the user's hand, and information on the bending angles of the joints of each finger of the user's hand;
a control function unit that generates and outputs a control signal for controlling a movement of a robot arm corresponding to the hand based on the position of the hand, the posture of the hand, and the bending angle of the joint;
an output device side interface unit that transmits the control signal generated by the control function unit to the robot arm, and receives status information of the robot arm at a predetermined timing and passes the status information to the control function unit;
a capturing function unit that stores a time series of the control signal generated by the control function unit, and, when requested by a user, reads out the stored time series of the control signal and controls the output device side interface unit to transmit the time series of the control signal to the robot arm;
Equipped with
the state information of the robot arm is information representing a hand position, a hand posture, and bending angles of each finger joint on the robot arm side, which correspond to the hand position, the hand posture, and bending angles of the joints,
the control function unit generates the control signal at the predetermined timing based on the state information passed from the output device side interface unit so that the state of the user's hand and the state information of the robot arm are consistent with each other.
A program that makes a computer function as a control device.
前記制御装置の前記入力デバイス側インターフェース部に対して、ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、を表す信号を送信するトラッカーと、
前記制御装置の前記入力デバイス側インターフェース部に対して、前記ユーザーの手における各指の関節の曲げ角度の情報、を表す信号を送信するグローブと、
を備えるロボット制御システム。 The control device according to claim 1 ;
a tracker that transmits signals representing information on the position of a user's hand and information on the posture of the user's hand to the input device side interface unit of the control device;
a glove that transmits a signal representing information on the bending angle of each finger joint of the user's hand to the input device side interface unit of the control device;
A robot control system comprising:
前記制御装置の前記出力デバイス側インターフェース部から送信される前記制御信号に基づいて動作するとともに、前記所定のタイミングで自装置における前記状態情報を前記出力デバイス側インターフェース部に対して送信するロボットアームと、
を備えるロボット制御システム。 The control device according to claim 1 ;
a robot arm that operates based on the control signal transmitted from the output device-side interface unit of the control device and transmits the status information of its own device to the output device-side interface unit at the predetermined timing;
A robot control system comprising:
前記制御装置の前記入力デバイス側インターフェース部に対して、ユーザーの手の位置の情報と、前記ユーザーの手の姿勢の情報と、を表す信号を送信するトラッカーと、
前記制御装置の前記入力デバイス側インターフェース部に対して、前記ユーザーの手における各指の関節の曲げ角度の情報、を表す信号を送信するグローブと、
前記制御装置の前記出力デバイス側インターフェース部から送信される前記制御信号に基づいて動作するとともに、前記所定のタイミングで自装置における前記状態情報を前記出力デバイス側インターフェース部に対して送信するロボットアームと、
を備えるロボット制御システム。 The control device according to claim 1 ;
a tracker that transmits signals representing information on the position of a user's hand and information on the posture of the user's hand to the input device side interface unit of the control device;
a glove that transmits a signal representing information on the bending angle of each finger joint of the user's hand to the input device side interface unit of the control device;
a robot arm that operates based on the control signal transmitted from the output device-side interface unit of the control device and transmits the status information of its own device to the output device-side interface unit at the predetermined timing;
A robot control system comprising:
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023089061A JP7761340B2 (en) | 2023-05-30 | 2023-05-30 | Control device, control method, program, and robot control system |
| JP2025166447A JP2025178480A (en) | 2023-05-30 | 2025-10-02 | Control device, control method, program, and robot control system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023089061A JP7761340B2 (en) | 2023-05-30 | 2023-05-30 | Control device, control method, program, and robot control system |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2025166447A Division JP2025178480A (en) | 2023-05-30 | 2025-10-02 | Control device, control method, program, and robot control system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2024171818A JP2024171818A (en) | 2024-12-12 |
| JP7761340B2 true JP7761340B2 (en) | 2025-10-28 |
Family
ID=93799105
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023089061A Active JP7761340B2 (en) | 2023-05-30 | 2023-05-30 | Control device, control method, program, and robot control system |
| JP2025166447A Pending JP2025178480A (en) | 2023-05-30 | 2025-10-02 | Control device, control method, program, and robot control system |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2025166447A Pending JP2025178480A (en) | 2023-05-30 | 2025-10-02 | Control device, control method, program, and robot control system |
Country Status (1)
| Country | Link |
|---|---|
| JP (2) | JP7761340B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11302134B2 (en) | 2019-07-23 | 2022-04-12 | Japan Cash Machine Co., Ltd. | Automatic bill handling system |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018153873A (en) | 2017-03-15 | 2018-10-04 | 株式会社オカムラ | MANIPULATOR CONTROL DEVICE, CONTROL METHOD AND PROGRAM, AND WORK SYSTEM |
| WO2021182264A1 (en) | 2020-03-11 | 2021-09-16 | ソニーグループ株式会社 | Information processing device, information processing method, and information processing program |
| WO2022209924A1 (en) | 2021-03-31 | 2022-10-06 | 本田技研工業株式会社 | Robot remote operation control device, robot remote operation control system, robot remote operation control method, and program |
| JP2023131033A (en) | 2022-03-08 | 2023-09-21 | 本田技研工業株式会社 | remote control system |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61209886A (en) * | 1985-03-15 | 1986-09-18 | 三菱電機株式会社 | Master/slave type robot device |
-
2023
- 2023-05-30 JP JP2023089061A patent/JP7761340B2/en active Active
-
2025
- 2025-10-02 JP JP2025166447A patent/JP2025178480A/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018153873A (en) | 2017-03-15 | 2018-10-04 | 株式会社オカムラ | MANIPULATOR CONTROL DEVICE, CONTROL METHOD AND PROGRAM, AND WORK SYSTEM |
| WO2021182264A1 (en) | 2020-03-11 | 2021-09-16 | ソニーグループ株式会社 | Information processing device, information processing method, and information processing program |
| WO2022209924A1 (en) | 2021-03-31 | 2022-10-06 | 本田技研工業株式会社 | Robot remote operation control device, robot remote operation control system, robot remote operation control method, and program |
| JP2023131033A (en) | 2022-03-08 | 2023-09-21 | 本田技研工業株式会社 | remote control system |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2025178480A (en) | 2025-12-05 |
| JP2024171818A (en) | 2024-12-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Li et al. | Survey on mapping human hand motion to robotic hands for teleoperation | |
| US10179407B2 (en) | Dynamic multi-sensor and multi-robot interface system | |
| CN106232048B (en) | Robot interface positioning determination system and method | |
| WO2007076118A2 (en) | Reconstruction, retargetting, tracking, and estimation of motion for articulated systems | |
| An et al. | Dexterous manipulation through imitation learning: A survey | |
| JP2013086258A (en) | Method for dynamic optimization of robot control interface | |
| JP2025178480A (en) | Control device, control method, program, and robot control system | |
| US20160247016A1 (en) | Method for recognizing gestures of a human body | |
| Gonzalez et al. | Asap: A semi-autonomous precise system for telesurgery during communication delays | |
| CN108098780A (en) | A kind of new robot apery kinematic system | |
| Su et al. | Sensor fusion-based anthropomorphic control of under-actuated bionic hand in dynamic environment | |
| Dagioglou et al. | Smoothing of human movements recorded by a single RGB-D camera for robot demonstrations | |
| Zhao et al. | Xrobotoolkit: A cross-platform framework for robot teleoperation | |
| Song et al. | A noniterative neural algorithm involving dini derivatives for visual servoing of joint-constrained robotic endoscope | |
| WO2021250923A1 (en) | Robot system, control device, and control method | |
| Lai et al. | Gesture-based steering framework for redundant soft robots | |
| Ateş et al. | Design of a teleoperation scheme with a wearable master for minimally invasive surgery | |
| CN119871445A (en) | Teleoperation control system of humanoid robot | |
| CN118906046A (en) | Multi-mode fusion and control platform and system for human-simulated robot interaction | |
| CN115056248B (en) | Humanoid robot, control method and device thereof and storage medium | |
| Dominici et al. | Compensation of physiological motion using linear predictive force control | |
| Chen et al. | Intuitive teleoperation control for flexible robotic endoscopes under unkonwn environmental interferences | |
| CN116459015A (en) | Robot control method, device and system | |
| Abhishek et al. | Teach pendant at fingertips: intuitive vision-based gesture-driven control of Dexter ER2 robotic arm | |
| Dominici et al. | Cascade force control for autonomous beating heart motion compensation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240909 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250523 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250610 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250807 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250916 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20251009 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7761340 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |