JP2008254074A - Motion editing device, and its program - Google Patents

Motion editing device, and its program Download PDF

Info

Publication number
JP2008254074A
JP2008254074A JP2007095291A JP2007095291A JP2008254074A JP 2008254074 A JP2008254074 A JP 2008254074A JP 2007095291 A JP2007095291 A JP 2007095291A JP 2007095291 A JP2007095291 A JP 2007095291A JP 2008254074 A JP2008254074 A JP 2008254074A
Authority
JP
Japan
Prior art keywords
robot
data
motion
key frame
display unit
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.)
Withdrawn
Application number
JP2007095291A
Other languages
Japanese (ja)
Inventor
Kenji Hoshino
建二 星野
Takahito Toratani
宇人 乕谷
Masayuki Katayose
雅之 片寄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sega Corp
Original Assignee
Sega Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sega Corp filed Critical Sega Corp
Priority to JP2007095291A priority Critical patent/JP2008254074A/en
Priority to PCT/JP2008/000693 priority patent/WO2008129818A1/en
Publication of JP2008254074A publication Critical patent/JP2008254074A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings

Abstract

<P>PROBLEM TO BE SOLVED: To prepare new motion data by reusing created motion data, concerning an editing device editing the motion data of an articulated robot. <P>SOLUTION: The editing device 3 changes a position and tilting of each part of a robot model in a three-dimensional virtual space 60 according to the operation of an operating unit 36, calculates an angle of each joint from the changed position and the tilting of the robot model according to data producing instruction of the operating unit 36, produces key frame data, and adds the condition data of the robot in the virtual space for three-dimensional indication to sent that to the articulated robot 1. By reusing the produced data in the three-dimensional space, another motion data can be produced in the three-dimensional space. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、多関節型ロボットの動作パターンを規定するロボットのモーション編集処理を行うロボットのモーション編集装置及びそのプログラムに関し、特に、多数の関節を有する多関節型ロボットの動作パターンを、擬似空間でのCGモデルの操作により作成するロボットのモーション編集装置及びそのプログラムに関する。   The present invention relates to a robot motion editing apparatus that performs motion editing processing of a robot that defines an operation pattern of an articulated robot, and a program thereof, and more particularly to an operation pattern of an articulated robot having many joints in a pseudo space. The present invention relates to a robot motion editing apparatus and its program created by operating the CG model.

近年のロボット技術の発展により、歩行可能なロボットが出現している。このようなロボットでは、一般に多関節型ロボットが利用されており、関節数が多い程、多彩な動作(モーション)ができる。又、産業界のみならず、一般家庭や日常生活にも、ロボットが浸透している。   With the recent development of robot technology, robots that can be walked have appeared. In such a robot, an articulated robot is generally used, and as the number of joints increases, various operations (motions) can be performed. Moreover, robots have permeated not only in the industrial world but also in general households and daily life.

関節数が多いロボットでは、多種多彩の動作(モーション)が可能であるが、そのモーションを規定する位置や速度(関節角や角速度)を入力し、モーションデータを作成する必要がある。   A robot with a large number of joints can perform a wide variety of motions (motions). However, it is necessary to create a motion data by inputting the position and speed (joint angle and angular velocity) that define the motion.

この方法として、従来、画面の擬似空間に、ロボットのCG(Computer Graphics)モデルを表示し、マウス等の入力により、CGモデルを操作し、モーションデータを編集するシステムが提案されている(例えば、特許文献1,2参照)。   As this method, there has been proposed a system that displays a CG (Computer Graphics) model of a robot in a pseudo space of a screen, and manipulates the CG model by inputting with a mouse or the like to edit motion data (for example, (See Patent Documents 1 and 2).

この従来技術では、3次元擬似空間に、ロボットのCGモデルを表示し、ロボットに、所望のモーションを行わせるため、マウスやキー操作で、CGモデルを、所望のポーズに動作させる。そして、そのポーズの位置から、実ロボットの関節角データを得て、モーションデータを編集するものであった。   In this prior art, a CG model of a robot is displayed in a three-dimensional pseudo space, and the CG model is moved to a desired pose by a mouse or key operation in order to cause the robot to perform a desired motion. Then, the joint angle data of the actual robot is obtained from the position of the pose, and the motion data is edited.

更に、このモーションデータを再生して、擬似空間のCGモデルを動作させ、モーションデータによって、ロボットが所望のモーションを実行するかを確認する。確認後は、モーションデータは、ロボットに転送され、ロボットのメモリに格納される。
特開2002−103258号公報(図25、図26、段落0323〜段落0332) 特開2005−125460号公報(段落0127〜段落0132、図5、図12)
Further, the motion data is reproduced to operate the CG model in the pseudo space, and it is confirmed from the motion data whether the robot performs a desired motion. After confirmation, the motion data is transferred to the robot and stored in the memory of the robot.
JP 2002-103258 A (FIGS. 25 and 26, paragraphs 0323 to 0332) Japanese Patent Laying-Open No. 2005-125460 (paragraphs 0127 to 0132, FIGS. 5 and 12)

近年のロボットのエンターティメント分野での利用に伴い、ロボットに多種、多様の操作形態や、多種、多様の動作を行わせたいとの要望がある。特に、個人がロボットを所有した場合には、その個人の趣向や使用方法により、予め決められた動作以外の動作を、自身で、プログラムしたいとの要望がある。   With recent use in the entertainment field of robots, there is a demand for the robot to perform various and various operation forms and various and various operations. In particular, when an individual owns a robot, there is a desire to program an operation other than a predetermined operation according to his / her preference and usage.

このためには、あるモーションデータを格納したロボットは、そのモーションデータに従う動作しかできないが、他の動作を所望する場合には、前述の擬似空間で、CGモデルを操作して、新たにモーションデータを作成する必要があった。   For this purpose, a robot that stores certain motion data can only operate according to the motion data. However, when other operations are desired, the CG model is manipulated in the above-described pseudo space to newly generate motion data. There was a need to create.

又、モーションデータは、複数のポーズからなり、このポーズ間の変化の時間を設定することにより、ポーズを連続するモーションを実現できる。しかしながら、従来技術では、ポーズの作成は可能であるが、この時間の設定が困難であった。   The motion data is composed of a plurality of poses, and by setting the change time between the poses, a motion in which the poses are continuous can be realized. However, in the prior art, it is possible to create a pose, but it is difficult to set this time.

更に、作成したモーションデータで、実ロボットを、擬似空間のCGモデルの動作や表示画像と同期して、動作させたいとの要望もある。従来技術では、このような使用形態には、対応するのが、困難である。   In addition, there is a demand to operate the real robot in synchronization with the operation of the CG model in the pseudo space and the display image using the created motion data. In the prior art, it is difficult to cope with such usage patterns.

従って、本発明の目的は、ロボットの多種のモーションデータを、より容易に作成するためのロボットのモーション編集装置及びそのプログラムを提供することにある。   Therefore, an object of the present invention is to provide a robot motion editing apparatus and a program thereof for more easily creating various kinds of robot motion data.

又、本発明の他の目的は、作成したモーションデータで、実ロボットを、擬似空間のCGモデルの動作や表示画像と同期して、動作するためのロボットのモーション編集装置及びそのプログラムを提供することにある。   Another object of the present invention is to provide a robot motion editing apparatus and its program for operating a real robot in synchronization with the operation and display image of a CG model in a pseudo space using the created motion data. There is.

更に、本発明の他の目的は、既存のロボットのモーションデータを利用して、他のモーションのモーションデータを作成するためのロボットのモーション編集装置及びそのプログラムを提供することにある。   Furthermore, another object of the present invention is to provide a robot motion editing apparatus and its program for creating motion data of other motions using existing robot motion data.

更に、本発明の他の目的は、処理装置の能力に関わらず、作成したモーションデータで、実ロボットを、擬似空間のCGモデルの動作や表示画像と同期して、動作するためのロボットのモーション編集装置及びそのプログラムを提供することにある。   Furthermore, another object of the present invention is to provide a motion of the robot for operating the real robot in synchronization with the operation of the CG model in the pseudo space and the display image with the created motion data regardless of the capability of the processing apparatus. To provide an editing apparatus and a program thereof.

この目的の達成のため、本発明のモーション編集装置は、実空間で関節を駆動する多関節型ロボットのモーションデータを編集するモーション編集装置において、擬似空間内における前記ロボットのモデルを3次元表示する3次元表示部を有する表示ユニットと、前記表示ユニットで表示された前記ロボットのモデルの各部位の位置、傾きを指示するための操作ユニットと、前記操作ユニットの操作に応じて、前記ロボットのモデルの各部位の位置、傾きを変更して、前記3次元表示部に表示するとともに、前記操作ユニットのデータ作成指示に応じて、前記変更されたロボットのモデルの各部位を位置、傾きから、各関節の角度を計算し、キーフレームデータを作成する処理ユニットとを有し、前記処理ユニットは、前記キーフレームデータに前記3次元表示のための前記擬似空間内におけるロボットの状態データを付して、前記多関節型ロボットに送信する。   In order to achieve this object, the motion editing apparatus of the present invention is a motion editing apparatus for editing motion data of an articulated robot that drives a joint in real space, and three-dimensionally displays the model of the robot in a pseudo space. A display unit having a three-dimensional display, an operation unit for instructing the position and inclination of each part of the model of the robot displayed on the display unit, and the robot model according to the operation of the operation unit The position and inclination of each part are changed and displayed on the three-dimensional display unit, and each part of the changed robot model is changed from the position and inclination according to the data creation instruction of the operation unit. A processing unit that calculates joint angles and generates key frame data, and the processing unit includes the key frame data. It assigned the status data of the robot in the pseudo space for the three-dimensional display to be transmitted to the articulated robot.

又、本発明のプログラムは、実空間で関節を駆動する多関節型ロボットのモーションデータを編集するためのプログラムにおいて、擬似空間内における前記ロボットのモデルを表示ユニットに3次元表示するステップと、前記表示ユニットで表示された前記ロボットのモデルの各部位の位置、傾きを指示するための操作ユニットの操作に応じて、前記ロボットのモデルの各部位の位置、傾きを変更して、前記3次元表示部に表示するステップと、前記操作ユニットのデータ作成指示に応じて、前記変更されたロボットのモデルの各部位の位置、傾きから、各関節の角度を計算し、キーフレームデータを作成し、前記キーフレームデータに前記3次元表示のための前記擬似空間内におけるロボットの状態データを付して、前記多関節型ロボットのためのモーションデータを作成するステップとを、コンピュータに実行させる。   The program of the present invention is a program for editing motion data of an articulated robot that drives a joint in a real space, wherein the robot model in a pseudo space is displayed on a display unit in three dimensions, The three-dimensional display is performed by changing the position and inclination of each part of the robot model according to the operation of the operation unit for instructing the position and inclination of each part of the robot model displayed on the display unit. In accordance with the data creation instruction of the operation unit and the position and inclination of each part of the changed model of the robot, calculate the angle of each joint, create key frame data, The state of the robot in the pseudo space for the three-dimensional display is attached to the key frame data, and the articulated robot And creating motion data for, to be executed by a computer.

又、本発明では、好ましくは、前記処理ユニットは、前記操作ユニットで指示された前記ロボットのモデルの部位を、前記3次元表示空間の基準面に接するように、前記ロボットのモデルの座標を変換し、前記キーフレームデータを作成する。   In the present invention, it is preferable that the processing unit converts coordinates of the robot model so that a part of the robot model indicated by the operation unit is in contact with a reference plane of the three-dimensional display space. Then, the key frame data is created.

又、本発明では、好ましくは、前記処理ユニットは、前記操作ユニットの指示により、前記作成されたキーフレームデータから、前記ロボットのモデルの部位間の衝突の有無を判定し、前記3次元表示空間の前記ロボットのモデルの前記衝突した部位の表示色を変更する。   In the present invention, it is preferable that the processing unit determines whether or not there is a collision between parts of the robot model from the generated key frame data according to an instruction from the operation unit, and the three-dimensional display space. The display color of the collided part of the robot model is changed.

又、本発明では、好ましくは、前記処理ユニットは、前記表示ユニットに、前記操作ユニットで操作し、前記ロボットのモデルの前記キーフレーム間の時間を指定するためのタイムライン表示部を表示し、前記処理ユニットは、前記タイムライン表示部で指定された時間により、前記キーフレームデータの時間情報を作成する。   In the present invention, it is preferable that the processing unit displays on the display unit a timeline display unit that is operated by the operation unit to designate a time between the key frames of the robot model, The processing unit creates time information of the key frame data based on a time specified by the timeline display unit.

又、本発明では、好ましくは、前記処理ユニットは、前記キーフレームデータを前記多関節型ロボットに送信するとともに、送信処理の遅延を検出し、前記キーフレームデータの時間情報を変更して、次のキーフレームデータを送信する。   In the present invention, it is preferable that the processing unit transmits the key frame data to the articulated robot, detects a delay in transmission processing, changes time information of the key frame data, and Send keyframe data.

又、本発明では、好ましくは、前記処理ユニットは、ビデオデータに含まれる再生時間情報から、前記タイムライン表示部で指定された時間と同期させたビデオ画像を表示する。   In the present invention, it is preferable that the processing unit displays a video image synchronized with a time designated by the timeline display unit from reproduction time information included in the video data.

又、本発明では、好ましくは、前記処理ユニットは、ビデオデータに含まれる再生時間情報から、前記タイムライン表示部で指定された時間と同期させて、前記表示ユニットに、ビデオ画像を表示し、且つ前記多関節型ロボットに前記作成したキーフレームデータを送信し、前記ビデオ画像と前記多関節型ロボットの動作を同期する。   In the present invention, it is preferable that the processing unit displays a video image on the display unit in synchronization with the time specified by the timeline display unit from the reproduction time information included in the video data, The generated key frame data is transmitted to the articulated robot, and the video image and the operation of the articulated robot are synchronized.

又、本発明では、好ましくは、前記処理ユニットは、前記多関節型ロボットのメモリに記憶されたモーションデータを読み込み、前記キーフレームデータの形式に変更し、前記表示ユニットの前記ロボットのモデルのポーズを表示し、前記操作ユニットの操作に応じて、表示された前記ロボットのモデルの各部位を位置、傾きを変更して、前記操作ユニットのデータ作成指示に応じて、前記変更されたロボットのモデルの各部位を位置、傾きから、各関節の角度を計算し、キーフレームデータを作成する。   In the present invention, it is preferable that the processing unit reads motion data stored in a memory of the articulated robot, changes the format to the key frame data format, and poses the robot model of the display unit. In accordance with the operation of the operation unit, the position and the inclination of each part of the displayed robot model are changed, and the changed robot model according to the data generation instruction of the operation unit The angle of each joint is calculated from the position and inclination of each part of and the key frame data is created.

又、本発明では、好ましくは、前記処理ユニットは、前記モーションデータに含まれる制御コードを解析し、前記キーフレームデータに変換する。   In the present invention, it is preferable that the processing unit analyzes a control code included in the motion data and converts it into the key frame data.

操作ユニットの操作に応じて、3次元擬似空間でのロボットのモデルの各部位を位置、傾きを変更して、操作ユニットのデータ作成指示に応じて、変更されたロボットのモデルの各部位を位置、傾きから、各関節の角度を計算し、キーフレームデータを作成し、3次元表示のための擬似空間内におけるロボットの状態データを付して、多関節型ロボットに送信するので、3次元擬似空間で作成されたデータを再利用して、他のモーションデータを3次元擬似空間で作成できる。   Change the position and inclination of each part of the robot model in the three-dimensional pseudo space according to the operation of the operation unit, and position each part of the changed robot model according to the data creation instruction of the operation unit The angle of each joint is calculated from the tilt, key frame data is created, the robot state data in the pseudo space for 3D display is attached, and transmitted to the articulated robot. By reusing data created in space, other motion data can be created in a three-dimensional pseudo space.

以下、本発明の実施の形態を、ロボットのモーション編集装置、モーション編集処理機能、モーション編集処理、ロボットとの通信処理、ロボットとの同期処理、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。   Hereinafter, embodiments of the present invention will be described in the order of a robot motion editing device, motion editing processing function, motion editing processing, communication processing with a robot, synchronization processing with a robot, and other embodiments. The invention is not limited to this embodiment.

(ロボットのモーション編集装置)
図1は、本発明のロボットのモーション編集装置の一実施の形態の構成図、図2は、図1の構成のブロック図であり、ロボットとして、人型の多関節ロボットを例に示す。
(Robot motion editing device)
FIG. 1 is a block diagram of an embodiment of a motion editing apparatus for a robot according to the present invention, and FIG. 2 is a block diagram of the configuration of FIG. 1, showing a humanoid articulated robot as an example of the robot.

図1に示すように、ロボット1は、胴体10と、顔28と、4関節の右腕12,13−1,15,17と、右手19と、4関節の左腕11,13−2,14,16と、左手18、4関節の右足21,23,25,27と、4関節の左足20,22,24,26とを有する。   As shown in FIG. 1, the robot 1 includes a body 10, a face 28, four jointed right arms 12, 13-1, 15, 17, a right hand 19, and four jointed left arms 11, 13-2, 14, 16, left hand 18, four jointed right feet 21, 23, 25, 27 and four jointed left feet 20, 22, 24, 26.

顔28は、関節軸r5を中心に、胴体10に対し、回転できる。右腕は、関節12、右上腕13−1、関節15、右下腕17、右手19を持ち、4つの関節軸r1〜r4を中心に、回転する。同様に、左腕は、関節11、左上腕13−2、関節14、左下腕16、左手18を持ち、4つの関節軸r6〜r9を中心に、回転する。   The face 28 can rotate with respect to the body 10 about the joint axis r5. The right arm has a joint 12, an upper right arm 13-1, a joint 15, a right lower arm 17, and a right hand 19, and rotates about four joint axes r1 to r4. Similarly, the left arm has a joint 11, a left upper arm 13-2, a joint 14, a left lower arm 16, and a left hand 18, and rotates around four joint axes r6 to r9.

右足は、関節21、右大腿23、右下腿25、右足部27を持ち、4つの関節軸r10、r12〜r14を中心に、回転する。左足は、関節20、左大腿22、左下腿24、左足部26を持ち、4つの関節軸r11、r15〜r17を中心に、回転する。従って、このロボット1は、胴体10に対し、17関節の自由度がある人型ロボットである。   The right foot has a joint 21, a right thigh 23, a right lower leg 25, and a right foot 27, and rotates about four joint axes r10 and r12 to r14. The left foot has a joint 20, a left thigh 22, a left lower leg 24, and a left foot 26, and rotates around four joint axes r11 and r15 to r17. Therefore, the robot 1 is a humanoid robot having 17 joint degrees of freedom relative to the body 10.

一方、モーション編集装置3は、パーソナルコンピュータで構成されており、ロボット1と、図示しないケーブル、無線で通信する。この装置3は、CPU,メモリ、ハードデイスクドライブを搭載したベース30と、ベース30に設けられたキーボード32と、ベース30に折りたたみ可能な表示部34と、外部マウス36とを有する。   On the other hand, the motion editing apparatus 3 is composed of a personal computer and communicates with the robot 1 by a cable (not shown) and wirelessly. The apparatus 3 includes a base 30 on which a CPU, a memory, and a hard disk drive are mounted, a keyboard 32 provided on the base 30, a display unit 34 that can be folded on the base 30, and an external mouse 36.

この装置3に、図2以下で説明するモーション編集プログラムをロードすることにより、モーション編集装置として、動作する。図2に示すように、モーション編集プログラム50は、カーネル(例えば、WINDOWS(登録商標))の制御の元に動作する表示制御を行うとともに、ロボット通信制御処理を行う。   The apparatus 3 operates as a motion editing apparatus by loading a motion editing program described below with reference to FIG. As shown in FIG. 2, the motion editing program 50 performs display control that operates under the control of a kernel (for example, WINDOWS (registered trademark)) and performs robot communication control processing.

表示制御処理は、I/Oドライバ66を介するキーボード32、マウス36からの入力により、表示部34の表示を制御するとともに、モーションデータを編集する。ロボット通信制御処理は、キーフレームメモリ52、通信ドライバ54を使用して、ロボット1との通信制御を行う。   In the display control process, the display on the display unit 34 is controlled and the motion data is edited by the input from the keyboard 32 and the mouse 36 via the I / O driver 66. In the robot communication control process, communication control with the robot 1 is performed using the key frame memory 52 and the communication driver 54.

ロボット1は、モーションデータを格納するモーションメモリ40と、編集装置1と通信するための通信ドライバ44と、ロボット1の各関節のモータを駆動するモータドライバ46と、CPUを有する。CPUは、実ロボット制御プログラム42を実行し、ロボット1の動作を制御する。   The robot 1 has a motion memory 40 for storing motion data, a communication driver 44 for communicating with the editing apparatus 1, a motor driver 46 for driving motors of each joint of the robot 1, and a CPU. The CPU executes the actual robot control program 42 and controls the operation of the robot 1.

表示部34は、タイムラインウインドウ(以下、タイムライン表示部)58、3DViewウインドウ(以下、3DView表示部)60、オプションウインドウ(以下、オプション表示部)64、Videoウインドウ(以下、Video表示部)62からなる。これらの表示部は、プログラム50の制御により、ビデオドライバ56を介し、駆動される。   The display unit 34 includes a timeline window (hereinafter referred to as a timeline display unit) 58, a 3DView window (hereinafter referred to as a 3DView display unit) 60, an option window (hereinafter referred to as an option display unit) 64, and a Video window (hereinafter referred to as a Video display unit) 62. Consists of. These display units are driven via the video driver 56 under the control of the program 50.

図3は、表示部34の表示画面、図4は、表示部34のタイムライン表示部の説明図を示す。タイムライン表示部58は、ウインドウズ(登録商標)のプルダウンメニュー(ファイル、表示等)と、2つのタイムラインとから構成され、上部を広域タイムライン、下部を作業用タイムラインと言う。   FIG. 3 is a display screen of the display unit 34, and FIG. 4 is an explanatory diagram of the timeline display unit of the display unit 34. The timeline display unit 58 includes a Windows (registered trademark) pull-down menu (file, display, etc.) and two timelines. The upper part is referred to as a wide area timeline and the lower part is referred to as a work timeline.

図4(B)の拡大図に示すように、図4(A)の上部の広域タイムライン58−1は、横軸に時間軸スケール(例えば、図では0秒から18,000秒付近)を表示し、その上に、例えば、黄色のバーで、後述の作業用タイムライン58−2の幅(時間)を示す。また、後述の作業用タイムライン58−2の再生範囲を、広域タイムライン58−1の下に、小さな横バーで示す。   As shown in the enlarged view of FIG. 4B, the wide area timeline 58-1 in the upper part of FIG. 4A has a time axis scale on the horizontal axis (for example, around 0 to 18,000 seconds in the figure). The width (time) of a work timeline 58-2 described later is indicated by, for example, a yellow bar. In addition, a reproduction range of a work timeline 58-2 described later is indicated by a small horizontal bar below the wide area timeline 58-1.

図4(C)の拡大図に示すように、作業用タイムライン58−2は、横軸に、時間軸スケール(例えば、図では0秒から2,010秒付近まで)を表示し、時間軸スケールの1つの枠は、15ミリ秒刻みに設定している。この15ミリ秒時間単位で、ポーズを作成する事が出来る。この時間軸に、作業用タイムライン58−2の再生範囲を、例えば、緑色でバー表示する。   As shown in the enlarged view of FIG. 4C, the work timeline 58-2 displays a time axis scale (for example, from 0 second to around 2,010 seconds in the figure) on the horizontal axis. One frame of the scale is set in steps of 15 milliseconds. Pauses can be created in units of 15 milliseconds. On this time axis, the reproduction range of the work timeline 58-2 is displayed as a bar, for example, in green.

又、広域タイムライン58−1、作業用タイムライン58−2の両方の時間軸スケールに、太い縦のマーク(例えば、赤色のマーク)で、キーフレームが設定されている事を表示する。   In addition, a thick vertical mark (for example, a red mark) indicates that a key frame is set on the time axis scales of both the wide timeline 58-1 and the work timeline 58-2.

作業用タイムライン58−2の時間軸スケールの下には、例えば、オレンジマークで、現在の作業点を示し、この時点(フレーム)のロボットのポーズは、図3の3DView表示部60に表示される。同様に、図3の右部のVideo表示部62には、この時点での、動画映像が映し出される。   Below the time axis scale of the work timeline 58-2, for example, an orange mark indicates the current work point, and the robot pose at this time (frame) is displayed on the 3D View display unit 60 of FIG. The Similarly, the video image at this point is displayed on the video display unit 62 on the right side of FIG.

更に、図4(C)に示すように、再生制御ボタンが、再生範囲を示すバーの上部に表示され、左から「頭だし」、「再生・停止」、「最後部へ」の3つのボタンからなる。   Further, as shown in FIG. 4C, a playback control button is displayed at the top of the bar indicating the playback range, and three buttons from the left are “head start”, “play / stop”, and “to the end”. Consists of.

次に、図5により、3DView表示部60を説明する。図5に示すように、3DView表示部60は、ロボットの形状が直感的に分るように、ロボットを3次元的に表示する。3面図的に、正面、側面、上面の方向から見ることも出来るし、カメラの向きを切り替えることも出来る。又、3DView表示部60は、同時に複数の表示を行う事が出来る。   Next, the 3D View display unit 60 will be described with reference to FIG. As shown in FIG. 5, the 3D View display unit 60 displays the robot three-dimensionally so that the shape of the robot can be intuitively understood. It can be seen from the front, side, and top directions, and the direction of the camera can be switched. In addition, the 3D View display unit 60 can perform a plurality of displays at the same time.

3DView表示部60の下段には、以下のボタンが設けられている。即ち、左から、表示されたロボットの現ポーズを、キーフレームとして登録するキーフレームキー60−1、ロボットのポーズを、インバースキネマティクスにて、動かすインバースキネマティクス(IK)キー60−2、ロボットのポーズを、フォワードキネマティク(FK)にて動かすフォワードキネマテイクスキー60−3、マウスの動作を、ポーズ付けモードか、モーション付けモードかを切り替えるポーズモード/モーションモード切替ボタン60−4、過去の動作を取消すアンドゥボタン60−5、アンドゥで取消した動作を再度設定するリドゥボタン60−6を設けている。   The following buttons are provided in the lower part of the 3D View display unit 60. That is, from the left, a key frame key 60-1 for registering the current pose of the displayed robot as a key frame, an inverse kinematics (IK) key 60-2 for moving the pose of the robot with inverse kinematics, a robot The forward kinematics key 60-3 for moving the pose of the player with the forward kinematic (FK), the pause mode / motion mode switching button 60-4 for switching the mouse operation between the pause mode and the motion mode, An undo button 60-5 for canceling the operation and a redo button 60-6 for resetting the operation canceled by the undo are provided.

更に、その右に、画面を俯瞰で見た3D(3次元)表示とするカメラボタン60−7、画面を正面から見た表示状態にする(表裏を順次切り替える)正面ボタン60−8、画面を側面から見た表示状態にする(左右を順次切り替える)側面ボタン60−9、画面を上面から見た表示状態にする(上下を順次切り替える)上面ボタン60−10、ロボットを初期姿勢に設定するホームポジションボタン60−11、ロボットを垂直移動し、地面へ着ける(接地)ボタン60−12、ロボットの重心点を地面上に表示するボタン60−13、前後のキーフレームの画像を重ねて半透明に表示するゴースト表示ボタン60−14、地面の表示をON/OFFするボタン60−15とを設けている。   Furthermore, on the right side, a camera button 60-7 for 3D (three-dimensional) display when the screen is viewed from above, a front button 60-8 for displaying the screen from the front (to switch the front and back sequentially), and the screen A side button 60-9 for switching to a display state viewed from the side (switching left and right sequentially), a top button 60-10 for switching the screen to a display state viewed from the top (sequentially switching up and down), and a home for setting the robot to the initial posture Position button 60-11, button 60-12 for vertically moving the robot to the ground (grounding), button 60-13 for displaying the center of gravity of the robot on the ground, and images of key frames before and after being overlapped to be translucent A ghost display button 60-14 to be displayed and a button 60-15 to turn on / off the display of the ground are provided.

これらのボタンを、マウス36の操作で、クリックすることにより、前述のロボットに対する表示処理を行う。   When these buttons are clicked by the operation of the mouse 36, display processing for the robot is performed.

また、ロボットの手足各部には、「ここから先を対称にする」、「この部分を固定させる」や、足先には、それ以外に「足を着地させる」等の機能を指定するプルダウンメニュー60−16を表示する。   In addition, pull-down menus for specifying functions such as “Make the tip symmetrical from here” and “Fix this part” for each part of the robot's limbs and “Land the foot” for the other part of the foot. 60-16 is displayed.

次に、図3のVideo表示部62は、ロボット動作と同期して再生する(場合の)映像を表示する。この映像は、ロボット動作再生中でも、ロボット動作作成中でも、タイムライン58−2上のオレンジ色のマークの現在時刻(カレントフレーム)に同期し、その時刻の映像を再現する。画面サイズは、マウス36で任意の大きさに出来、フルスクリーン表示も可能である。   Next, the video display unit 62 in FIG. 3 displays a video to be reproduced (in case) in synchronization with the robot operation. This video is synchronized with the current time (current frame) of the orange mark on the timeline 58-2 during reproduction of the robot motion and creation of the robot motion, and the video at that time is reproduced. The screen size can be set to an arbitrary size with the mouse 36, and full screen display is also possible.

図6は、ロボット通信制御機能の説明図である。ロボット通信制御機能は、実際のロボット1と通信を行い、実動作等を行うための制御機能であり、図6のような表示で確認できる。通信制御の為の表示は、オプション表示部64中のロボット通信タブ64−1のクリックにより実行される。   FIG. 6 is an explanatory diagram of the robot communication control function. The robot communication control function is a control function for communicating with the actual robot 1 and performing an actual operation or the like, and can be confirmed by a display as shown in FIG. The display for communication control is executed by clicking the robot communication tab 64-1 in the option display section 64.

ロボット通信タブ64−1にチェックを入れると、キーフレームメモリ52から、各モータの角度データが、通信制御(ドライバ)54を介して、実際のロボット1に送信され、3DView60上のロボットの動作と,実際のロボット1の動作は同期する。実際には、これに先立ち、通信ポート64−2を、実際のロボット1の接続されているポートを合わせる。   When the robot communication tab 64-1 is checked, the angle data of each motor is transmitted from the key frame memory 52 to the actual robot 1 via the communication control (driver) 54, and the robot operation on the 3D View 60 The actual operation of the robot 1 is synchronized. Actually, prior to this, the communication port 64-2 is matched with the port to which the actual robot 1 is connected.

また、ロボット1は、モーション用メモリ40(図2参照)を有しており、ロボット1独自のモーションデータを持っている。図6では、そのメモリのモーションデータM1からM10を表示している。たとえば、M1のモーションデータを、ロボット1から読み込むために、図6のM1をクリックした後、モーションモードキー64−3の読み込みボタンをクリックする。これにより、ロボット1からモーションデータを読み込み、キーフレームメモリ52に格納し、図4(A)のタイムライン58上に、モーションを展開する。   The robot 1 has a motion memory 40 (see FIG. 2), and has motion data unique to the robot 1. In FIG. 6, motion data M1 to M10 of the memory are displayed. For example, in order to read the motion data of M1 from the robot 1, after clicking M1 in FIG. 6, the read button of the motion mode key 64-3 is clicked. As a result, the motion data is read from the robot 1, stored in the key frame memory 52, and the motion is developed on the timeline 58 in FIG.

同様に、タイムライン58上のモーション(図2のキーフレームメモリ52のモーションデータ)を、ロボット1のモーション用メモリ40へ送る場合には、モーションモードキ−64−3の書き込みボタンをクリックする。   Similarly, when the motion on the timeline 58 (motion data in the key frame memory 52 in FIG. 2) is sent to the motion memory 40 of the robot 1, the write button of the motion mode key 64-3 is clicked.

更に、ロボット1の内蔵するモーション用メモリ40の内容に従って、そのモーションを実行(再生)することを指示する場合には、たとえば、M1のモーションデータ枠をクリックした後、モーションモードキー64−3の選択モーション再生ボタンを押す。これにより、ロボット1は、モーションデータM1で、実動作をする。   Further, when instructing to execute (reproduce) the motion according to the content of the motion memory 40 built in the robot 1, for example, after clicking the motion data frame of M1, the motion mode key 64-3 Press the selected motion playback button. As a result, the robot 1 performs an actual operation with the motion data M1.

教示機能モードキー64−4は、ロボット1からポーズのデータ(関節角)を取得するためのキーである。   The teaching function mode key 64-4 is a key for acquiring pose data (joint angle) from the robot 1.

(モーション編集処理機能)
図7は、ロボット編集処理(操作)と、キー、マウス操作の関係図、図8乃至図9は、その衝突判定処理の説明図、図10乃至図15は、その接地処理の説明図、図16乃至図18は、その部分位置合わせ処理の説明図である。
(Motion editing processing function)
FIG. 7 is a diagram showing the relationship between the robot editing process (operation) and the key and mouse operations, FIGS. 8 to 9 are explanatory diagrams of the collision determination process, and FIGS. 10 to 15 are explanatory diagrams of the grounding process. 16 to 18 are explanatory diagrams of the partial alignment process.

図7により、基本操作を説明する。図4(B)の広域タイムライン表示部58−1の作業用タイムライン(黄色表示)の選択位置を変更するには、マウス36により、ポインタを作業用タイムラインに位置付け、マウス36を押して、左右にドラッグする。図4(C)の作業用タイムライン58−2の再生範囲(緑色表示)を移動するには、マウス36により、ポインタを再生範囲に位置付け、マウス36を押して、左右にドラッグする。図4(C)の作業用タイムライン58−2の再生範囲(緑色表示)を変更するには、マウス36により、ポインタを再生範囲の端部に位置付け、マウス36を押して、左右にドラッグする。   The basic operation will be described with reference to FIG. In order to change the selection position of the work timeline (yellow display) of the wide area timeline display unit 58-1 in FIG. 4B, the pointer is positioned on the work timeline with the mouse 36, the mouse 36 is pressed, Drag left or right. In order to move the reproduction range (displayed in green) of the work timeline 58-2 in FIG. 4C, the pointer is positioned in the reproduction range with the mouse 36, the mouse 36 is pressed, and dragged left and right. In order to change the reproduction range (displayed in green) of the work timeline 58-2 in FIG. 4C, the pointer is positioned at the end of the reproduction range with the mouse 36, the mouse 36 is pressed, and dragged left and right.

図4(C)の作業用タイムライン58−2のキーフレーム全体を再生範囲として、選択するには、マウス36により、ポインタを再生範囲に位置付け、キーボード32のCtrlキーと「A」キーを押す。図4(C)の作業用タイムライン58−2の再生範囲の任意の範囲を選択するには、マウス36により、ポインタを再生範囲に位置付け、マウス36の中心を押し(始点指示)、終点としたい位置までドラッグして離す(終点指示)。   To select the entire key frame of the work timeline 58-2 in FIG. 4C as the playback range, the mouse 36 is used to position the pointer in the playback range and press the Ctrl key and the “A” key on the keyboard 32. . In order to select an arbitrary range of the reproduction range of the work timeline 58-2 in FIG. 4C, the pointer is positioned in the reproduction range with the mouse 36, the center of the mouse 36 is pressed (start point instruction), and the end point is set. Drag to the desired position and release (end point indication).

図4(C)の作業用タイムライン58−2の再生範囲のキーフレームを移動するには、マウス36により、ポインタをそのキーフレームに位置付け、マウス36を押して、左右にドラッグする。図4(C)の作業用タイムライン58−2の再生範囲のキーフレームを削除するには、マウス36により、ポインタをそのキーフレームに位置付け、マウス36を押して、上のごみ箱へドラッグする。   To move the key frame in the reproduction range of the work timeline 58-2 in FIG. 4C, the pointer is positioned at the key frame with the mouse 36, the mouse 36 is pressed, and dragged left and right. To delete the key frame in the reproduction range of the work timeline 58-2 in FIG. 4C, the pointer is positioned at the key frame by the mouse 36, the mouse 36 is pressed, and dragged to the upper trash box.

このようにして、以下で説明するように、3DVIEW表示部60に表示されたロボットのポーズの時間情報を設定し、且つ確認のため、再生する。   Thus, as described below, the robot pose time information displayed on the 3D VIEW display unit 60 is set and reproduced for confirmation.

次に、ロボットのポーズを設定する機能を説明する。胴体10を除くロボット各部位の位置の変更を行うには、3DVIEW表示部60に表示されたロボットの対象部位に、マウス36により、ポインタを位置付け、マウス36を押して、上下左右にドラッグする。これにより、IK時には、ロボットの関節単位でなく、部位(例えば、下腿部や足部)単位に、FK時には、ロボットの関節単位に、位置、姿勢を変更できる。   Next, a function for setting a robot pose will be described. In order to change the position of each part of the robot excluding the body 10, the pointer is positioned with the mouse 36 on the target part of the robot displayed on the 3D VIEW display unit 60, the mouse 36 is pressed, and dragged up, down, left and right. Thereby, the position and posture can be changed not in the joint unit of the robot at the time of IK but in the unit of the part (for example, the lower leg or the foot), and in the joint unit of the robot at the time of the FK.

ロボットの全体の位置の変更を行うには、IK時に、3DVIEW表示部60に表示されたロボットの胴体部位に、マウス36により、ポインタを位置付け、マウス36を押して、上下左右にドラッグする。ロボットの全体の傾きの変更を行うには、FK時に、3DVIEW表示部60に表示されたロボットの胴体部位に、マウス36により、ポインタを位置付け、キーボード32のCtrlキーとマウス36の中心を押して、上下左右にドラッグする。キーボード32のCtrlキーを押さずに、マウス36の中心を押して、上下左右にドラッグすると、それに合わせて、ロボットの表示位置が移動する。   To change the overall position of the robot, at the time of IK, the pointer is positioned with the mouse 36 on the body part of the robot displayed on the 3D VIEW display unit 60, the mouse 36 is pressed, and dragged up, down, left and right. To change the overall tilt of the robot, at FK, position the pointer on the body part of the robot displayed on the 3D VIEW display unit 60 with the mouse 36, press the Ctrl key on the keyboard 32 and the center of the mouse 36, Drag up / down / left / right. If the center of the mouse 36 is pushed without dragging the Ctrl key of the keyboard 32 and dragged up, down, left and right, the display position of the robot moves accordingly.

カメラアングルで、ロボットの表示角を変更するには、3DVIEW表示部60に、マウス36により、ポインタを位置付け、マウス36の右を押して、上下左右にドラッグする。ロボット各部位に対する機能の一覧(手足を対称にする場合や、手足を固定する場合、足先を着地させる場合)を表示するには、3DVIEW表示部60のロボット対称部位に、マウス36により、ポインタを位置付け、キーボード32のShiftキーを押し、マウス36の右を押す。ロボットを最適サイズを表示するには、3DVIEW表示部60に、マウス36により、ポインタを位置付け、マウス36の左をダブルクリックする。   In order to change the display angle of the robot at the camera angle, a pointer is positioned on the 3D VIEW display unit 60 with the mouse 36, the right side of the mouse 36 is pressed, and dragged up, down, left and right. In order to display a list of functions for each part of the robot (when limbs are symmetric, when limbs are fixed, or when the feet are landed), the pointer is moved to the robot symmetric part of the 3D VIEW display unit 60 with the mouse 36. Is positioned, the Shift key on the keyboard 32 is pressed, and the right side of the mouse 36 is pressed. In order to display the optimum size of the robot, the pointer is positioned on the 3D VIEW display unit 60 with the mouse 36, and the left side of the mouse 36 is double-clicked.

このように、3DVIEW表示部60のロボットに対するマウスの操作で、ポーズを任意に設定する。従って、3DVIEW部60で、ロボットのポーズを設定し、タイムライン表示部58で、ポーズ間の時間を設定して、実ロボットの関節角度と、関節速度を指定できる。そして、設定されたポーズの間の時間のポーズは、自動で補完される。又、マウス操作で設定できるため、極めて、簡単に、時間間隔とポーズを設定できる。このため、ポーズの連続動作であるモーションを、容易に作成できる。更に、再生指定により、3DVIEW表示部60で、そのモーションを確認できる。   As described above, the pose is arbitrarily set by operating the mouse on the robot of the 3D VIEW display unit 60. Accordingly, the robot pose can be set by the 3D VIEW unit 60, the time between poses can be set by the timeline display unit 58, and the joint angle and joint speed of the actual robot can be designated. The time pose between the set poses is automatically complemented. Also, since it can be set by operating the mouse, the time interval and pause can be set very easily. Therefore, a motion that is a continuous motion of a pose can be easily created. Furthermore, the motion can be confirmed on the 3D VIEW display unit 60 by the reproduction designation.

次に、衝突判定処理を説明する。図6のオプションタブ64−1にある衝突判定メニューを選択すると、3DView上でロボットの衝突判定をする事が出来る。衝突判定は、メニューをオンにする(図示せず)と、リアルタイムに、ロボットの部位間の衝突部位を、ロボット以外の色(例えば、オレンジ色)に変える。これにより、衝突が確認できる。   Next, the collision determination process will be described. When the collision determination menu on the option tab 64-1 of FIG. 6 is selected, it is possible to determine the collision of the robot on 3D View. In the collision determination, when the menu is turned on (not shown), the collision part between the robot parts is changed to a color other than the robot (for example, orange) in real time. Thereby, a collision can be confirmed.

図9を参照して、図8の衝突判定処理を説明する。   The collision determination process in FIG. 8 will be described with reference to FIG.

(S10)衝突判定をオンとすると、処理を開始する。   (S10) When the collision determination is turned on, the process is started.

(S12)ロボットの各部分ごとの空間データを2つずつ順番に対比し、重なるかどうかを判定する。即ち、ロボットの各関節(モータ)の角度を設定する。次に、この角度から、ロボットの各部分をバウンディングボックス(最小包含箱)で被い、そのボックスの値(位置座標)を取得する。尚、バウンディングボックスとは、物体(オブジェクト)をすっぽりと包み込む最小の箱を言う。バウンディングボックスを2つずつ比較する。   (S12) The spatial data for each part of the robot is compared in turn, and it is determined whether or not they overlap. That is, the angle of each joint (motor) of the robot is set. Next, from this angle, each part of the robot is covered with a bounding box (minimum inclusion box), and the value (positional coordinates) of the box is obtained. The bounding box is the smallest box that completely wraps an object. Compare two bounding boxes.

(S14)予め、重なる可能性がないものや、最初から常につながっている部分は判定の対象としない。即ち、2つのバウンディングボックスが、最初から常に接している場合には、ステップS16に進む。ここで、最初から常に接して場合とは、例えば、ロボットでは、胴体と首など、直接連結し、関節を形成している部分である。又、2つのバウンディングボックスが接する可能性がない場合にも、ステップS16に進む。ここで、接する可能性がない場合とは、例えば、左右の肩などは、ロボットの自由度を考えると、接する可能性がない。   (S14) A part that does not overlap in advance or a part that is always connected from the beginning is not determined. That is, if the two bounding boxes are always in contact from the beginning, the process proceeds to step S16. Here, the case of always touching from the beginning is, for example, a part that is directly connected to form a joint such as a body and a neck in a robot. Also, if there is no possibility that the two bounding boxes touch each other, the process proceeds to step S16. Here, when there is no possibility of touching, for example, the left and right shoulders are not likely to touch when considering the degree of freedom of the robot.

(S16)比較するバウンディングボックスが残っているかを判定する。残っていれば、ステップS12の比較処理に進む。一方、比較するバウンディングボックスが残っていなければ、終了する。   (S16) It is determined whether a bounding box to be compared remains. If it remains, the process proceeds to the comparison process in step S12. On the other hand, if no bounding box to be compared remains, the process ends.

(S18)ステップS14で、判定対象とされた2つのバウンディングボックスの値(位置座標)を比較して、接しているかを判定する。接していれば、接している(衝突している)部分の表示の色を変更し、ステップS16に進む。図9に示すように、ロボットの左手と、左大腿部とが、この判定により、接しているため、その部位の表示色を、変更する。逆に、接していないと、ステップS16に進む。   (S18) In step S14, the values (positional coordinates) of the two bounding boxes to be determined are compared to determine whether they are in contact. If they are in contact, the display color of the contacted (collision) portion is changed, and the process proceeds to step S16. As shown in FIG. 9, since the left hand of the robot and the left thigh are in contact by this determination, the display color of the part is changed. Conversely, if it is not in contact, the process proceeds to step S16.

ここでは、計算を簡略化するために、各部分は、近似の直方体(バウンディングボックス)に置き換えている。又、球(バウンディングスフィア)などに置き換えて計算する方法もある。尚、バウンディングスフィア(最小包含球)とは、物体(オブジェクト)をすっぽりと包み込む最小の球を意味する。   Here, in order to simplify the calculation, each part is replaced with an approximate rectangular parallelepiped (bounding box). There is also a method of calculating by replacing with a sphere (bounding sphere). The bounding sphere (minimum inclusion sphere) means the smallest sphere that completely envelops an object (object).

このように、実在のロボットを正しく動作させるために、3DView上に表示されるロボットの各部分の衝突判定を行い、衝突した場合には、その部分の色を変えることで、ユーザーに知らせる。ユーザーは、その情報を元に、ポーズやモーション(動作)の修正を行う。   As described above, in order to correctly operate the actual robot, the collision determination of each part of the robot displayed on the 3D View is performed, and when the collision occurs, the user is notified by changing the color of the part. The user corrects the pose and motion (motion) based on the information.

このような技術は、従来のコンピュータゲームなどでも実用されているが、このロボットのモーション編集での目的は、実在のロボットを正しく動作させること、そして正しくない動作による故障などからロボットを守ることである。   Such technology is also practically used in conventional computer games, but the purpose of this robot's motion editing is to operate the actual robot correctly and to protect the robot from malfunctions caused by incorrect operation. is there.

また、衝突判定を行う各部分の設定(例えば、バウンディングボックスのサイズなど)を調整することで、ロボットの個体差(機体ごとの誤差)や、より余裕を持たせた判定(ある程度の距離に近づいたら知らせる、など)を行うことができる。   In addition, by adjusting the settings of each part that performs collision detection (for example, the size of the bounding box), individual differences of robots (errors for each machine) and determination with more margin (approaching a certain distance) You can let them know.

次に、図5の接地ボタンをクリックした場合の接地処理を、図10乃至図15で説明する。この処理は、ロボットや動物・人体モデルなどのCGモデルの任意に指定した足の裏を、地面と接地するように補正する処理である。   Next, the grounding process when the ground button in FIG. 5 is clicked will be described with reference to FIGS. This process is a process of correcting an arbitrarily designated sole of a CG model such as a robot or an animal / human body model so as to be in contact with the ground.

図13乃至図15を用いて、図10の処理フローを説明する。   The processing flow of FIG. 10 will be described with reference to FIGS.

(S20)マウスで足裏を指定し、図11で後述する指定部位を基準とした、モデルデータの傾き補正処理により、足の裏が地面と平行になるようにCGモデル全体の傾きを補正する。図13のように、ロボットの接地すべき足を指定する(図13の丸印)と、図14のように、ロボットを回転し、足の裏が地面と平行になるようにCGモデル全体の傾きを補正する。   (S20) The sole is designated with the mouse, and the inclination of the entire CG model is corrected so that the sole of the foot is parallel to the ground by the model data inclination correction process based on the designated portion described later in FIG. . As shown in FIG. 13, when the robot's foot to be grounded is specified (circled in FIG. 13), the robot is rotated as shown in FIG. 14, and the entire CG model is placed so that the sole of the foot is parallel to the ground. Correct the tilt.

(S22)次に、図12で後述するモデルデータの接地処理を行う。即ち、図14のように、足の裏が地面と平行になるようにCGモデルを、図15のように、地面に、ロボットの足裏を接地させる。   (S22) Next, model data grounding processing, which will be described later with reference to FIG. 12, is performed. That is, as shown in FIG. 14, the CG model is grounded so that the sole of the foot is parallel to the ground, and the sole of the robot is grounded to the ground as shown in FIG.

次に、図11により、指定部位を基準とした、モデルデータの傾き補正処理を説明する。   Next, with reference to FIG. 11, model data inclination correction processing based on the designated part will be described.

(S30)指定される可能性のある部位(「足裏接地処理」では、足裏を含む部位)に関しては、基準となる傾き(足裏の場合は、地面と平行になる傾き)r0(例えば、傾き「0」)を予め設定しておく。   (S30) With respect to a portion that may be specified (in the “foot contact processing”, the portion including the sole), a reference inclination (in the case of the sole, an inclination parallel to the ground) r0 (for example, , Inclination “0”) is set in advance.

(S32)CGモデル全体の基準点(ここでは、胴体)を「A」、基準とする部位(足裏)を「b」と指定する。   (S32) The reference point (here, the body) of the entire CG model is designated as “A”, and the reference portion (the sole) is designated as “b”.

(S34)「b」の傾きr1を計算する。   (S34) The slope r1 of “b” is calculated.

(S36)「b」に関して、傾きの差rd=r1−r0を計算する。   (S36) With respect to “b”, the difference in slope rd = r1−r0 is calculated.

(S38)モデル全体の基準点Aの傾きを、Aの傾き−rdに変更する。傾き補正を行い、基準点Aの座標データを保存する。   (S38) The inclination of the reference point A of the entire model is changed to the inclination of A-rd. Tilt correction is performed and the coordinate data of the reference point A is saved.

次に、図12により、モデルデータの接地処理を説明する。   Next, the model data grounding process will be described with reference to FIG.

(S40)対象モデルデータ全体で、一番低い部分の高さ座標Y(地面からの)を求める。   (S40) The height coordinate Y (from the ground) of the lowest part of the entire target model data is obtained.

(S42)モデルデータの基準点Aの高さ座標をAyとし、(Ay−Y)を計算する。これにより、図15のように、接地する。   (S42) The height coordinate of the reference point A of the model data is Ay, and (Ay-Y) is calculated. Thereby, it grounds as shown in FIG.

(S44)このAの座標データを保存する。   (S44) The coordinate data A is stored.

傾き補正した結果で、指定した「足裏」より低い位置に、他の部位「C」が存在する場合は、その部位「C」が接地し、「足裏」は宙に浮いてしまう。強制的に「足裏」を接地させることも可能ではあるが、その場合、「C」が地面より低い位置になってしまい不自然である。このような場合に、「足裏」が接地しないことで、ポーズの不都合を確認させ、ポーズの修正を促すことができる。   As a result of the inclination correction, when another part “C” exists at a position lower than the designated “foot sole”, the part “C” is grounded and the “foot sole” floats in the air. Although it is possible to forcibly ground the “sole”, in that case, “C” is positioned lower than the ground, which is unnatural. In such a case, since the “foot sole” does not touch the ground, it is possible to confirm the inconvenience of the pose and prompt the user to correct the pose.

又、足裏接地処理では、足の裏が地面と平行になるように、モデルデータ全体の傾きを補正するが、基準となる傾きが設定されていれば、足裏でなくて頭・手・背中などの部分でもかまわない。   In addition, in the foot contact processing, the inclination of the entire model data is corrected so that the sole of the foot is parallel to the ground. However, if the reference inclination is set, the head, hand, It does not matter even on the back.

次に、図16、図17、図18により、部分位置合わせ処理を説明する。部分位置合わせ処理は、予め作成されたポーズやモーションを組み合わせて、新しいモーションを作成する場合に、自然な(連続した)モーションにする処理である。従来は、目測による手作業などで行っていたが、この処理により、基準とする部分(図17、図18では、右足)を指定することにより、自動で行うことができる。   Next, the partial alignment process will be described with reference to FIGS. 16, 17, and 18. The partial alignment process is a process for creating a natural (continuous) motion when a new motion is created by combining previously created poses and motions. Conventionally, it has been performed manually by eye measurement or the like, but by this process, it can be automatically performed by designating a reference portion (right foot in FIGS. 17 and 18).

図17、図18の例で説明すると、図17(A)のロボットの両足が揃ったポーズから、図17(B)の右足を1歩踏み出すモーションと、図18(A)の左足を1歩踏み出すモーションをつなげて、2歩歩くモーションを作成する場合に、そのまま、つなげても、同じ位置で踏み出す足が左右入れ替わるだけで、歩くモーションにはならない。即ち、移動しない。   17 and 18, the motion of stepping on the right foot in FIG. 17B from the pose where both feet of the robot in FIG. 17A are aligned, and one step on the left foot in FIG. When creating a motion that walks two steps by connecting the stepping motions, even if they are connected as they are, the foot that steps in the same position is simply swapped, and it does not become a walking motion. That is, it does not move.

そこで、歩くモーションにするため、図17(B)の右足を1歩踏み出すモーションで踏み出した位置や向きに、図18(A)の左足を一歩踏み出すモーションの軸足(右足)の位置や向きを合わせ、図18(A)を、図18(B)のように、座標変換する。この処理は、図5と同様に、プルダウンメニュー60−16により、指定する。   Therefore, in order to make a walking motion, the position and orientation of the axial foot (right foot) of the motion of stepping on the left foot in FIG. 18 (A) to the position and orientation of stepping on the right foot of FIG. In addition, FIG. 18A is coordinate-transformed as shown in FIG. This process is designated by the pull-down menu 60-16, as in FIG.

図16により、部分位置合わせ処理を説明する。   The partial alignment process will be described with reference to FIG.

(S50)先ず、部分位置合わせを行うモーションL(図18(A))を選択する。   (S50) First, the motion L (FIG. 18A) for partial alignment is selected.

(S52)合わせる基準とする部分(図17、図18では、右軸足)Aを、マウスで選択する。   (S52) A portion (a right axis foot in FIGS. 17 and 18) A to be used as a reference is selected with the mouse.

(S54)モーションLの直前のポーズP1(図17(B))における基準部分A(右軸足)の位置、向きデータD1を取得する。   (S54) The position and orientation data D1 of the reference portion A (right axis foot) in the pose P1 immediately before the motion L (FIG. 17B) are acquired.

(S56)モーションLのポーズP2(図18(A))において、基準部分A(右軸足)の位置と、向きデータが、ステップS54のデータD1と同じとなるように、ロボット全体の位置、向きを動かし、その時の位置、向きの変更を、モーションLのデータに対し、行う。モーションがポーズの連続の場合には、モーションLに含まれる全てのポーズに対して、同じ変化量を与える。   (S56) In the pose P2 of the motion L (FIG. 18A), the position of the entire robot so that the position of the reference portion A (right axis foot) and the orientation data are the same as the data D1 in step S54. The direction is moved, and the position and direction at that time are changed for the data of the motion L. When the motion is a continuous pose, the same amount of change is given to all the poses included in the motion L.

このようにして、最初のモーションの最後のポーズ(図17(B))と、2つ目のモーションの最初のポーズ(図18(A))の基準となる部分の位置や向きを合わせることができる。   In this way, the position and orientation of the reference portion of the last pose of the first motion (FIG. 17B) and the first pose of the second motion (FIG. 18A) can be matched. it can.

(モーション編集処理)
次に、前述のモーション編集機能を使用したモーション編集処理動作を説明する。
(Motion editing process)
Next, a motion editing processing operation using the above-described motion editing function will be described.

(1)モーション編集ソフトウエアを起動すると、表示部34に、タイムライン表示部58と、3DView表示部60が表示される。   (1) When the motion editing software is activated, a timeline display unit 58 and a 3D View display unit 60 are displayed on the display unit 34.

(2)新たにモーションを作る場合には、マウス36の操作で、作業用タイムライン58−2の現在時刻オレンジマークを0.000秒(左端)に合わる。3DViewのホームポジションボタン60−11(図5参照)を押し、ロボットを初期姿勢(ポーズ)にする。   (2) When creating a new motion, the current time orange mark on the work timeline 58-2 is set to 0.000 seconds (left end) by operating the mouse 36. Press the 3DView home position button 60-11 (see FIG. 5) to place the robot in an initial posture.

(3)3DView表示部60のキーフレーム設定ボタン60−1を押し、第一番目のキーフレームを登録します。次に、第二番目のキーフレームを置きたい時間(例えば、0.555秒)に、マウス36の操作で、作業用タイムライン58−2のオレンジマークを移動する。   (3) Press the key frame setting button 60-1 on the 3D View display section 60 to register the first key frame. Next, the orange mark on the work timeline 58-2 is moved by the operation of the mouse 36 at the time when the second key frame is to be placed (for example, 0.555 seconds).

(4)3Dview表示部60内のロボットの部位を,マウス36の操作で、掴み、ドラックすると、その部位は移動する。部位を任意の位置に移動し、ポーズを作成する。このとき、インバースキネマティクス(IK)を選ぶか、フォワードキネマティクス(FK)を選ぶかは、キー60−2,60−3で設定でき、任意である。ポーズが完成すると、3DView表示部60のキーフレーム設定ボタン60−1を押し、第二番目のキーフレームを登録する。第三番目のキーフレーム以降は、二番目と同様に作業する。   (4) When the robot part in the 3D view display unit 60 is grasped by the operation of the mouse 36 and dragged, the part moves. Move the part to any position and create a pose. At this time, whether to select inverse kinematics (IK) or forward kinematics (FK) can be set with the keys 60-2 and 60-3, and is arbitrary. When the pause is completed, the key frame setting button 60-1 of the 3D View display unit 60 is pressed to register the second key frame. After the third keyframe, work in the same way as the second.

(5)必要なキーフレーム(ポーズ)数が完成すると、1つのモーションは完成する。作業用タイムライン58−2の再生範囲指定の緑帯を、第一番目のキーフレームから最終キーフレームまで設定し、再生ボタン(図4(C)参照)を押すと、一連のモーションが、3DView表示部60上で再現される。   (5) When the required number of key frames (pauses) is completed, one motion is completed. When the green band for specifying the playback range of the work timeline 58-2 is set from the first key frame to the last key frame and the playback button (see FIG. 4C) is pressed, a series of motions are displayed in 3DView. Reproduced on the display unit 60.

(6)実際のロボット1が通信ポートに接続されている場合には、オプション表示部64中のロボット通信タブ64−1内のロボット通信にチェックを入れておけば、実際のロボット1と、3DView60のロボットは、完全に同期して動く。   (6) When the actual robot 1 is connected to the communication port, if the robot communication in the robot communication tab 64-1 in the option display section 64 is checked, the actual robot 1 and the 3DView 60 The robot moves completely synchronously.

(7)更に、Video表示部62をONにし、ハードデイスクドライブから動画ファイルを読込んで、この動画に合わせて、上述の「キーフレームを置きたい時間(例えば、0.555秒)」等を選定することにより、動画と同期したロボットモーションを簡単に作成できる。   (7) Further, by turning on the video display unit 62, reading a moving image file from the hard disk drive, and selecting the above-mentioned “time for placing a key frame (for example, 0.555 seconds)” in accordance with the moving image. , You can easily create a robot motion synchronized with the video.

(8)完成したモーション(タイムシート)は、ファイルの保存機能で、キーフレームメモリ60に保存する。   (8) The completed motion (time sheet) is saved in the key frame memory 60 by a file saving function.

(9)又、既存のモーションを修正して、新しいモーションを作る場合には、ファイルの保存機能で保存したモーション(タイムシート)を開き、タイムライン58−1,58−2に乗せる。別のモーションを追加したい時は、アイコン「モーションを追加で開く」で、追加出来る。   (9) When a new motion is created by modifying an existing motion, the motion (time sheet) saved by the file saving function is opened and placed on the time lines 58-1 and 58-2. If you want to add another motion, you can add it with the icon "Open with additional motion".

(10)アイコン「開く」「モーションを追加で開く」代わりに、実際のロボット1内のモーションメモリ40上にあるモーションデータを使うことも出来る。この場合は、図6で説明したように、オプション表示部64中のロボット通信タブ64−3の「読み込み」「追加読み込み」をクリックする。   (10) Instead of the icons “Open” and “Open additional motion”, the motion data in the motion memory 40 in the actual robot 1 can be used. In this case, as described with reference to FIG. 6, “read” and “additional read” are clicked on the robot communication tab 64-3 in the option display section 64.

(11)タイムライン上に乗ったモーションデータは、ポーズの変更や、キーフレームを、前述の(4)、(5)により、変更できる。Videoとの、同期も同様である。   (11) The motion data on the timeline can be changed in pose and key frame by (4) and (5) described above. The same applies to synchronization with Video.

(12)変更が終わったら、完成したモーション(タイムシート)を、ファイルの保存機能で保存する。同様に、実際のロボット1内のモーション用メモリ40上に保存したい場合は、オプション表示部64中のロボット通信タブ64−3の「書き込み」が対応し、ロボット通信にチェックを入れ、「書き込み」ボタンをクリックして、保存する。   (12) When the change is completed, the completed motion (time sheet) is saved by the file saving function. Similarly, when the user wants to save in the motion memory 40 in the actual robot 1, “Write” in the robot communication tab 64-3 in the option display unit 64 corresponds, and the robot communication is checked and “Write” is selected. Click the button to save.

(ロボットとの通信処理)
次に、ロボットとの通信処理を説明する。モーション編集装置3と、実ロボット1の間では、データを変換して相互に通信を行う。図19は、編集装置3から実ロボット1への通信動作の説明図である。図20は、実ロボット1から編集装置3への通信動作の説明図である。
(Communication with robot)
Next, communication processing with the robot will be described. Between the motion editing apparatus 3 and the actual robot 1, data is converted to communicate with each other. FIG. 19 is an explanatory diagram of a communication operation from the editing device 3 to the real robot 1. FIG. 20 is an explanatory diagram of a communication operation from the real robot 1 to the editing device 3.

図19において、編集装置3のキーフレームメモリ52のキーフレームデータを、制御プログラム50が読み込み、全てのポーズ(モーション)を一括で変換し、通信ドライバ54より、ロボット1へ通信する。この場合に、ロボット1は、通信ドライバ44を介し受けたモーションデータを、モーション用メモリ40に記憶し、ロボット1が、後で実行する方法と、図19のように、時間経過に合わせて、リアルタイムに、キーフレームごとに、変換し、通信し、ロボット1が実行する方法がある。   In FIG. 19, the control program 50 reads the key frame data in the key frame memory 52 of the editing device 3, converts all poses (motions) at once, and communicates to the robot 1 from the communication driver 54. In this case, the robot 1 stores the motion data received through the communication driver 44 in the motion memory 40, and the method that the robot 1 executes later, as shown in FIG. There is a method in which the robot 1 performs conversion, communication, and execution for each key frame in real time.

又、図20に示すように、実ロボット1のモーション用メモリ40の全てのポーズ(モーション)を、一括して変換し、通信し、編集装置3のキーフレームメモリ52に格納し、タイムラインにデータを展開する。   In addition, as shown in FIG. 20, all poses (motions) in the motion memory 40 of the actual robot 1 are collectively converted, communicated, stored in the key frame memory 52 of the editing device 3, and stored in the timeline. Expand the data.

以下、ポーズとは、ある時刻における、ロボットの全関節の状態(角度)またはそのデータを言い、モーションとは、一定時間範囲における複数の連続したポーズまたはそのデータを言う。   Hereinafter, the pose refers to the state (angle) of all joints of the robot at a certain time or data thereof, and the motion refers to a plurality of consecutive poses or data thereof within a certain time range.

又、編集装置は、図4で説明したように、時間表示に、「フレーム」という単位(基本設定では「1フレーム=15ミリ秒」)を使用しており、その時間ごとのポーズデータを「フレームデータ」と呼ぶ。   Further, as described with reference to FIG. 4, the editing apparatus uses a unit of “frame” for the time display (“1 frame = 15 milliseconds” in the basic setting), and the pause data for each time is “ This is called “frame data”.

図21は、フレームデータの構成図であり、フレーム(モーション開始からの時間)と、ロボットの位置(仮想空間におけるロボットの基準点の位置)と、ロボットの傾き(仮想空間内におけるロボットの基準点の傾き)と、各関節の角度とからなる。   FIG. 21 is a configuration diagram of the frame data. The frame (time from the start of motion), the position of the robot (the position of the reference point of the robot in the virtual space), and the tilt of the robot (the reference point of the robot in the virtual space). And the angle of each joint.

更に、キーフレームは、ユーザーが任意に指定した、モーションの基準となるポーズが設定されたフレームのことを言い、そのフレームデータをキーフレームデータと呼ぶ。編集装置3では、ユーザーが、キーフレームのポーズを作成・指定し、キーフレーム間のフレームのポーズを自動補完することで、モーションを作成する。   Furthermore, the key frame refers to a frame that is arbitrarily designated by the user and in which a pose serving as a reference for motion is set. The frame data is referred to as key frame data. In the editing apparatus 3, the user creates and designates a pose of a key frame, and creates a motion by automatically complementing the pose of the frame between the key frames.

次に、実ロボット1のデータ形式を図22で説明する。図22に示すように、実ロボット1は、各モーター(関節)の角度と、その角度に到達するまでの時間の連続したものを、モーションデータとして扱う。   Next, the data format of the real robot 1 will be described with reference to FIG. As shown in FIG. 22, the actual robot 1 treats an angle of each motor (joint) and a continuous time until reaching the angle as motion data.

上述のように、仮想空間のロボットと、実ロボット1とでは、データ形式が異なるため、これらの間で通信するには、データ変換を必要とする。本実施の形態の通信処理では、編集装置3のキーフレームと、実ロボット1におけるモーションデータの1行を対応させている。これは全ての通信において基本的に同じである。   As described above, since the data format is different between the robot in the virtual space and the real robot 1, data conversion is required for communication between them. In the communication processing according to the present embodiment, the key frame of the editing device 3 is associated with one line of motion data in the actual robot 1. This is basically the same for all communications.

図23は、編集装置3から実ロボット1へ通信する場合のデータ変換の説明図である。図23に示すように、編集装置3は、図21のフレームを、図22の時間(スピード)に、図21の各関節の角度を、図22の各モーターの角度に、図21のロボットの位置・傾きを、追加データとして変換し、ロボット1に送信する。   FIG. 23 is an explanatory diagram of data conversion when communicating from the editing device 3 to the real robot 1. As shown in FIG. 23, the editing apparatus 3 sets the frame of FIG. 21 to the time (speed) of FIG. 22, the angles of the joints of FIG. 21 to the angles of the motors of FIG. The position / tilt is converted as additional data and transmitted to the robot 1.

この変換において、フレームを時間(スピード)に変換するため、キーフレームの間隔を、時間に変換する。ここでは、1フレーム=15ミリ秒で計算する。又、各関節の角度を、各モーターの角度に変換するため、各関節の角度をそのまま(必要な場合は単位変換を行い)設定する。更に、擬似空間におけるロボットの基準点の位置・傾きを追加データとするため、実ロボット1のモーションデータには、初期設定で存在しない項目なので、項目ごと追加して設定する。具体的には、位置データ3項目(X,Y,Z座標)+傾きデータ3項目(ヨー、ピッチ、ロー)=6項目である。   In this conversion, in order to convert the frame into time (speed), the key frame interval is converted into time. Here, 1 frame = 15 milliseconds is calculated. Further, in order to convert the angle of each joint into the angle of each motor, the angle of each joint is set as it is (perform unit conversion if necessary). Further, since the position / tilt of the reference point of the robot in the pseudo space is used as additional data, the motion data of the real robot 1 is an item that does not exist in the initial setting. Specifically, position data 3 items (X, Y, Z coordinates) + tilt data 3 items (yaw, pitch, low) = 6 items.

次に、図24は、実ロボット1から編集装置3へのデータ変換の説明図である。編集装置3は、ロボット1の時間(スピード)をフレームに変換し、ロボット1の各モーターの角度を各関節の角度に、ロボット1の追加データを、擬似空間におけるロボットの基準点の位置・傾きに設定する。又、直接教示機能を使用する場合には、ロボット1の各モーターの角度を各関節の角度に設定して、データ通信を行う。   Next, FIG. 24 is an explanatory diagram of data conversion from the real robot 1 to the editing device 3. The editing device 3 converts the time (speed) of the robot 1 into a frame, converts the angle of each motor of the robot 1 to the angle of each joint, and adds the additional data of the robot 1 to the position / inclination of the reference point of the robot in the pseudo space. Set to. When the direct teaching function is used, data communication is performed by setting the angle of each motor of the robot 1 to the angle of each joint.

この変換において、ロボット1の時間(スピード)データは、キーフレームの間隔に変換する。1フレーム=15ミリ秒で、フレーム単位に変換する。各モーターの角度は、そのまま(必要な場合は単位変換を行い)、各関節の角度に設定する。更に、仮想空間におけるロボットの基準点の位置・傾きのデータ項目は、実ロボット1のモーションデータには、初期設定で存在しない項目なので、ロボット1に追加データとして存在する場合(即ち、編集装置3で作成して、ロボット1に記録されたデータ)は、そのまま設定し、存在しない場合はデータ処理を行わない。   In this conversion, the time (speed) data of the robot 1 is converted into key frame intervals. One frame = 15 milliseconds and converted into a frame unit. The angle of each motor is set to the angle of each joint as it is (perform unit conversion if necessary). Furthermore, since the data item of the position / tilt of the reference point of the robot in the virtual space is an item that does not exist in the motion data of the real robot 1 by default, the data item exists in the robot 1 as additional data (that is, the editing device 3). The data created in step 1 and recorded in the robot 1 is set as it is, and if it does not exist, data processing is not performed.

次に、図19に示したように、編集装置3が、時間経過に合わせて、リアルタイムに、キーフレームごとに、変換し、通信し、ロボット1が実行する場合に、編集装置3が実行する通信遅延対応処理を説明する。   Next, as illustrated in FIG. 19, when the editing apparatus 3 performs conversion and communication for each key frame in real time as the time elapses, and the robot 1 executes, the editing apparatus 3 executes. The communication delay handling process will be described.

図25は、通信遅延補償処理フロー図である。通常、CGの描画やゲームを実行中に処理落ち(処理の実行時間が、プログラムで想定された予定時間を超えてしまう状況)が起きた場合、処理落ちを認識した時点で、未実行の処理を全て削除して、その時点で実行すべき処理から順次処理を行うなどの対応処理を行う。   FIG. 25 is a communication delay compensation processing flowchart. Normally, when a process failure occurs (when the execution time of the process exceeds the scheduled time assumed by the program) during CG drawing or game execution, an unexecuted process is performed when the process failure is recognized. Are deleted, and corresponding processing such as sequential processing from the processing to be executed at that time is performed.

しかし、実際のロボット1に対して、リアルタイム通信でモーション(動作)操作を行う場合、処理できない部分を単純に削除してしまうと動作が連続せず、場合によっては動作が実行不能になったり、ロボットが大幅にバランスを崩してしまったりする。このような結果を回避するために、処理が間に合わなかった部分を削除することなく、処理速度を変えることで対応する処理を行う。   However, when a motion (motion) operation is performed on an actual robot 1 by real-time communication, if a portion that cannot be processed is simply deleted, the motion does not continue, and in some cases, the motion cannot be executed. The robot will be greatly out of balance. In order to avoid such a result, the corresponding processing is performed by changing the processing speed without deleting the portion that has not been processed in time.

(S60)先ず、次に、ロボット1に送信するデータD1と、そのデータの実行完了時間T1(図21のフレームによる時間)を取得する。   (S60) First, the data D1 to be transmitted to the robot 1 and the execution completion time T1 (time according to the frame of FIG. 21) of the data are acquired.

(S62)次に送信するデータが有る場合には、通信処理の前に、現在時刻T0を取得し、実行完了時刻T1までの時間Td(=T1−T0)を計算し、ステップS64に進む。   (S62) If there is data to be transmitted next, the current time T0 is acquired before the communication process, the time Td (= T1-T0) until the execution completion time T1 is calculated, and the process proceeds to step S64.

(S64)一方、次に送信するデータがない場合には、通信以外の処理(描画等)を実行する。   (S64) On the other hand, when there is no data to be transmitted next, processing other than communication (drawing or the like) is executed.

(S66)通信以外の処理の実行後、ロボット通信タブがONかを判定し、オンなら、ステップS60に戻り、オンでないなら、ステップS64に戻る。   (S66) After execution of processing other than communication, it is determined whether the robot communication tab is ON. If it is ON, the process returns to step S60.

(S68)そして、時間Td(若しくは、Tdから計算される速度)とデータD1を、ロボット1に送信し、ステップS64に進む。   (S68) Then, the time Td (or the speed calculated from Td) and the data D1 are transmitted to the robot 1, and the process proceeds to step S64.

このように、各通信において、現在時刻と実行完了時刻とから修正時刻を計算するので、前回の通信処理や他の処理(描画など)の影響で、予定通りでない時刻に、通信処理が行われる場合でも、遅れた時間に間に合わせるように動作を早くすることができる。このため、実際のロボットの動作完了時刻が変わらないようにすることができる。   In this way, in each communication, the correction time is calculated from the current time and the execution completion time, so the communication process is performed at an unscheduled time due to the influence of the previous communication process and other processes (such as drawing). Even in this case, the operation can be accelerated so as to be in time for the delayed time. For this reason, the operation completion time of the actual robot can be prevented from changing.

またこの方法は、描画なども含む全ての処理を一連の流れで行う仕様に大変有効であるが、通信部分だけが独立して機能するような仕様(並列処理、マルチタスクなど)でも有効である。   This method is very effective for specifications that perform all processes including drawing, etc. in a series of flows, but it is also effective for specifications in which only the communication part functions independently (parallel processing, multitasking, etc.). .

次に、図20で説明した編集装置3に、実ロボット1からモーションデータを読み込み、キーフレームとしてタイムライン上に登録する処理を説明する。図26乃至図29は、モーションデータを、キーフレームデータに変換するための説明図である。   Next, a process of reading motion data from the real robot 1 and registering it as a key frame on the timeline in the editing apparatus 3 described with reference to FIG. 26 to 29 are explanatory diagrams for converting motion data into key frame data.

図26に示すように、実ロボット1のモーションデータは、一般的にモータの動作時間と、関節のモータ角度を、時系列に並べたものである。ここでは、制御可能関節数は最大24個(図の横方向の番号)であるが、この実施の形態の実ロボット1(図1)の実際の関節数は17個である。   As shown in FIG. 26, the motion data of the actual robot 1 is generally a time series of motor operating time and joint motor angle. Here, the maximum number of controllable joints is 24 (the number in the horizontal direction in the figure), but the actual number of joints of the real robot 1 (FIG. 1) of this embodiment is 17.

図26は、17個の関節を持つロボットの動作が、13個のポーズ(図の縦方向の番号)からなるモーションデータの例である。即ち、図26の第一列目は、13個のポーズを上から順につけた行番号である。又、第14行は、終了を意味する。   FIG. 26 is an example of motion data in which the motion of a robot having 17 joints consists of 13 poses (vertical numbers in the figure). That is, the first column in FIG. 26 is a row number in which 13 poses are assigned in order from the top. The 14th line means the end.

第二列目は、モータの動作時間を、16進数で示している。この実ロボット1は、動作の時間単位が15msであるから、1行目の「a」と言う動作時間は、15msの(10進数の)10倍の150msを示している。各モータは、目的のポーズへ、150msで達するだけのスピードで動作することを示す。   The second column shows the motor operating time in hexadecimal. Since the actual robot 1 has an operation time unit of 15 ms, the operation time of “a” in the first row indicates 150 ms which is 10 times (decimal number) of 15 ms. Each motor is shown to operate at a speed that reaches the desired pose in 150 ms.

第三列目は、関節番号1のモータの角度(ポーズ)を示す。図26の「4000」と言う値は、中心角度を示す(相対値で示す)。第四列目から第二十四列目までは、第三列目と同様に、各関節番号のモータの角度を示す。尚、5、9、10、16、22、23、24の関節は未使用なので、数値に意味はない。   The third column shows the angle (pose) of the motor of joint number 1. The value “4000” in FIG. 26 indicates the center angle (indicated by a relative value). From the fourth column to the twenty-fourth column, the angles of the motors of the respective joint numbers are shown as in the third column. Since the joints 5, 9, 10, 16, 22, 23, and 24 are unused, the numerical values are meaningless.

このモーション動作の説明をすると、開始ポーズから1行目のポーズに150msで到達し、続けて2行目のポーズに(20*15=)300mS後に達するモーションであり、以下同様な繰り返しを行う。   To explain this motion operation, the motion reaches the pose of the first row from the start pose in 150 ms, and then reaches the pose of the second row after (20 * 15 =) 300 ms, and so on.

上述の例では、モーションデータのモータ角度は、全てロボットのポーズを示す。このようなモーションデータは一般的で、特開平10-302084の図5でも記載されている。   In the above example, the motor angles of the motion data all indicate robot poses. Such motion data is general and is also described in FIG. 5 of JP-A-10-302084.

本実施の形態では、このようにモーションデータから、キーフレームデータを作成し、タイムライン上に登録する処理である。図26のモーションデータのモータ角度枠のデータが、全てロボットポーズならば、キーフレームメモリのキーフレームデータに変換することができる。そして、キーフレームデータにより、タイムライン上のキー位置が時間に対応し、モータ角度は、3DView上のロボットのポーズで示される。   In this embodiment, the key frame data is created from the motion data and registered on the timeline. If all the motor angle frame data of the motion data in FIG. 26 are robot poses, they can be converted into key frame data in the key frame memory. And by the key frame data, the key position on the time line corresponds to the time, and the motor angle is indicated by the robot pose on 3D View.

しかしながら、モーションデータのモータ角度枠に、モータ角度以外のデータが記述される場合もある。この場合に、これをそのままキーフレームデータに変換しても、3DView上に表示するロボットのポーズは、どのような形になるか保障できない。   However, data other than the motor angle may be described in the motor angle frame of the motion data. In this case, even if this is converted into key frame data as it is, it cannot be guaranteed what form the pose of the robot displayed on 3DView will be.

このように、従来から知られるモーションデータ(のモータ角度枠)に、モータ角度以外のデータが記述される場合でも、正しいポーズを取ることの出来る処理である。図27は、モーションデータ(のモータ角度枠)に、モータ角度以外のデータが記述されたモーションデータの一例の説明図である。   Thus, even when data other than the motor angle is described in the conventionally known motion data (the motor angle frame), this is a process that can take a correct pose. FIG. 27 is an explanatory diagram of an example of motion data in which data other than the motor angle is described in the motion data (its motor angle frame).

図27では、3行目と6行目に、モータ角度枠に、モータ角度ではない数値が示されている。即ち、このロボットでは、主に8000番台の数値がこれらの対象である。3行目の「820a」は、「ループカウンタを3にセットする」と言う意味で、6行目の「830a」は、「ループカウンタをデクリメントして、0で無ければ、指定した行にジャンプする」と言う意味である。   In FIG. 27, in the third and sixth lines, numerical values that are not motor angles are shown in the motor angle frame. That is, in this robot, the numerical values of the 8000 range are mainly targets. “820a” in the third line means “set the loop counter to 3”, and “830a” in the sixth line “decrements the loop counter and jumps to the specified line if it is not 0” It means "Yes."

このようなループ制御、条件ジャンプコマンド(「820a」や「830a」)は、実ロボット内の制御プログラムが、解釈判断(インタープリター)するコードである。このモーションデータを、編集装置3が読み出しても、キーフレームデータに変換出来ない。   Such loop control and conditional jump commands (“820a” and “830a”) are codes that are interpreted (interpreted) by the control program in the real robot. Even when the editing device 3 reads this motion data, it cannot be converted into key frame data.

このため、まず、1行目、2行目をタイムライン上のキーフレーム位置にポーズに登録する(キーフレームメモリ52に登録する)。ついで、3行目は、モーションデータであるにもかかわらず、タイムライン上のキーフレーム位置にポーズを登録しない。タイムライン上のキーフレーム位置にポーズを登録しないで、実ロボット1内の制御プログラムが解釈すると同じ解釈を行う。この場合は、「3」と言う値をループカウンタに登録する。   For this reason, first, the first line and the second line are registered as pauses at key frame positions on the timeline (registered in the key frame memory 52). Next, the third line does not register a pose at a key frame position on the timeline even though it is motion data. The same interpretation as the control program in the real robot 1 interprets without registering the pose at the key frame position on the timeline. In this case, the value “3” is registered in the loop counter.

続けて、4行目、5行目は再び、タイムライン上のキーフレーム位置にポーズを登録する。6行目は、これを登録せず、ループカウンタの値を1つ減らす。即ち、「2」とする。   Subsequently, in the 4th and 5th lines, the pose is registered again at the key frame position on the timeline. In line 6, this is not registered and the value of the loop counter is decreased by one. That is, “2” is set.

ループ処理のため、続けて、4行目、5行目をタイムライン上のキーフレーム位置にポーズを登録する。さらに、4行目、5行目をタイムライン上のキーフレーム位置にポーズを登録する。この段階では、ループカウンタの値は「0」なので、7行目、8行目、9行目とつづけてタイムライン上のキーフレーム位置にポーズを登録する。以上のような方法でタイムラインを完成させる。   For the loop processing, the poses are registered at the key frame positions on the timeline in the fourth and fifth lines. Furthermore, pauses are registered at the key frame positions on the time line in the fourth and fifth lines. At this stage, since the value of the loop counter is “0”, the pause is registered at the key frame position on the timeline, continuing to the seventh, eighth, and ninth lines. The timeline is completed as described above.

タイムライン上のキーフレームは、全てモータ角度で構成されており、実働可能なものとなる。   The key frames on the timeline are all configured with motor angles, and are operable.

図28は、その変換処理フロー図である。   FIG. 28 is a flowchart of the conversion process.

(S70)編集装置3は、モーションメモリの行数Mと、キーフレームメモリの行数Kを、「1」に初期化する。   (S70) The editing device 3 initializes the number of rows M of the motion memory and the number of rows K of the key frame memory to “1”.

(S72)M行目のモーションデータを調べる。   (S72) The motion data of the Mth row is checked.

(S74)モーションデータが終了(「ffff」)であるかを判定し、モーションデータが終了であれば、終了のキーフレームデータを、メモリ52に書き込み、終了する。   (S74) It is determined whether the motion data is finished (“ffff”). If the motion data is finished, the end key frame data is written in the memory 52 and the process is finished.

(S76)逆に、モーションデータが終了でなければ、モータ角度以外のデータ(データが8000番台)かを判定する。モータ角度以外のデータなら、ステップS80のループ処理に進む。逆に、モータ角度のデータであれば、モーションデータを、キーフレームに割り付ける(キーフレームメモリ52に書き込む)。そして、モーション用メモリの行数Mと、キーフレームメモリの行数Kを、「1」インクリメントし、ステップS72に戻る。   (S76) Conversely, if the motion data is not completed, it is determined whether the data other than the motor angle (data is in the 8000 range). If the data is other than the motor angle, the process proceeds to a loop process in step S80. Conversely, if it is motor angle data, motion data is assigned to a key frame (written to the key frame memory 52). Then, the number M of lines in the motion memory and the number K of lines in the key frame memory are incremented by “1”, and the process returns to step S72.

次に、ループ処理を説明する。   Next, loop processing will be described.

(S78)データが何番であるかを判定する。   (S78) It is determined what number the data is.

(S80)データが「820a」である場合には、ループ開始処理を行う。ここでは、例として、ループカウンタに、「3」をセットする。更に、ループ開始行Lは、Mを「1」インクリメントした値で保存する。   (S80) If the data is “820a”, loop start processing is performed. Here, as an example, “3” is set in the loop counter. Further, the loop start line L is stored with a value obtained by incrementing M by “1”.

(S82)そして、モーション用メモリの行数Mを、「1」インクリメントする。   (S82) Then, the number M of rows in the memory for motion is incremented by “1”.

(S84)一方、データが「830a」である場合には、ループ終了判定処理を行う。ここでは、ループカウンタの値を、「−1」する。   (S84) On the other hand, if the data is “830a”, loop end determination processing is performed. Here, the value of the loop counter is set to “−1”.

(S86)そして、ループカウンタの値が、「0」であるかを判定する。「0」なら、モーション用メモリの行数Mを、「1」インクリメントして、ループを終了し、「0」でないなら、モーション用メモリのジャンプ先の行数Mを、ループ開始行Lとして、ループ開始部分へ戻る。   (S86) Then, it is determined whether or not the value of the loop counter is “0”. If it is “0”, the motion memory row number M is incremented by “1” to end the loop. If it is not “0”, the motion memory jump destination row number M is set as the loop start row L. Return to the loop start.

このように、モーションデータ内のデータで、それがモータ角度ならば、そのままタイムライン上のキーフレーム位置に、ポーズを登録し、モータ角度以外のデータなら、タイムライン上のキーフレーム位置に、ポーズを登録せず、ロボット内のインタープリター動作と同様な動作に切り替え、タイムラインを完成する。   In this way, if the data in the motion data is a motor angle, the pose is registered as it is at the key frame position on the timeline. If the data is other than the motor angle, the pose is recorded at the key frame position on the timeline. Without registering, the timeline is completed by switching to the same operation as the interpreter operation in the robot.

次に、これらのデータを、編集装置3で運用する場合には、各行に、25カラム目から30カラム目に、ワールド座標・角度を加える。ここで、ワールド座標・角度とは、ロボットが存在する擬似空間の基準点・基準方向に対するロボットの基準点の位置座標・傾きの角度を言う。ロボットの基準点は、例えば、胴体部である。   Next, when these data are operated by the editing apparatus 3, world coordinates and angles are added to the 25th to 30th columns in each row. Here, the world coordinate / angle refers to the position coordinate / inclination angle of the reference point of the robot with respect to the reference point / reference direction of the pseudo space in which the robot exists. The reference point of the robot is, for example, a body part.

図29は、その一例を示す。例えば、前述の足裏接地処理、本体移動処理などを行うことで、モータの角度データに、上記データが組み合わされ、新しいモーションデータが作成される。   FIG. 29 shows an example. For example, the above-mentioned data is combined with the angle data of the motor and new motion data is created by performing the above-described foot contact processing, body movement processing, and the like.

図29において、第二四列目から第三十列目までは、追加したワールド座標・角度の値である。尚、5,9,22,23,24番モータは使用していないので、「0」としてある。25列目が、X座標、26列目がY座標、27列目がZ座標、28列目がヨー、29列目がピッチ、30列目がローである。この値は、上述のように、擬似空間の基準点・基準方向と、ロボットの基準点の位置座標・傾きの角度との相対値で示している。   In FIG. 29, the second to 30th columns are the values of the added world coordinates and angles. Since the motors 5, 9, 22, 23, and 24 are not used, they are set to “0”. The 25th column is the X coordinate, the 26th column is the Y coordinate, the 27th column is the Z coordinate, the 28th column is the yaw, the 29th column is the pitch, and the 30th column is the low. As described above, this value is represented by a relative value between the reference point / reference direction of the pseudo space and the position coordinate / tilt angle of the robot reference point.

このように、編集装置3上で作成されたデータのロボットへの「書き込み」、ロボットからの「読み込み」は、上記の25カラム目から30カラム目を加えたデータで行う。即ち、上記データの25カラム目から30カラム目に当たるワールド座標・角度データを操作することによって、仮想空間内でのロボットの移動を自然に表現することができる。例えば、前述の部分位置合わせ処理や、足裏接地処理を実行した場合である。   As described above, “writing” data to the robot and “reading” from the robot created on the editing apparatus 3 are performed using the data added to the 25th to 30th columns. That is, by manipulating the world coordinate / angle data corresponding to the 25th to 30th columns of the above data, the movement of the robot in the virtual space can be naturally expressed. For example, this is the case where the above-described partial alignment process or sole contact process is executed.

このように、モーションデータを、タームライン上に乗せるため、すべて角度データで構成されるよう変換する。これを、モーションデコーダと呼ぶ。   Thus, in order to put motion data on a term line, it is converted so as to be composed entirely of angle data. This is called a motion decoder.

(ロボットとの同期処理)
次に、ロボットとの同期処理を、図30乃至図33で説明する。図30に示すように、ハードデイスクドライブHDD内には、音声を含むビデオデータが格納されている。ビデオデータは、ビデオドライバ56に読み込まれ、ビデオ表示部62に表示される。タイムライン表示部58を操作して、このビデオデータと、キーフレームデータを作成し、更に、ビデオデータの再生と、キーフレームデータによる実ロボット動作、3DViewでの仮想ロボット動作を同期する。
(Synchronization with robot)
Next, synchronization processing with the robot will be described with reference to FIGS. As shown in FIG. 30, video data including audio is stored in the hard disk drive HDD. The video data is read by the video driver 56 and displayed on the video display unit 62. The timeline display unit 58 is operated to create this video data and key frame data, and further, the reproduction of the video data and the actual robot operation by the key frame data and the virtual robot operation in 3D View are synchronized.

図31乃至図33の例で説明する。図31乃至図33は、表示部34の3DView表示部60と、ビデオ表示部62を示す。図31乃至図33に示すように、タイムライン表示部58の再生領域を操作すると、タイムライン表示部58で指定された経過時間と、ビデオデータに含まれる再生時間情報から得たビデオの経過時間が同じになるようにすることで、ビデオ表示部62に、タイムライン経過時間と同期したビデオ画像が表示される。図31のように、ビデオ画像表示で、右側の人間Bが、手を水平に伸ばした状態で、再生を一時中断し、3DView60を、マウス操作し、3DViewでのロボットのポーズを、手を水平に伸ばしたポーズに作成し、キーフレームに登録する。   This will be described with reference to FIGS. 31 to 33. 31 to 33 show the 3D View display unit 60 and the video display unit 62 of the display unit 34. As shown in FIGS. 31 to 33, when the playback area of the timeline display unit 58 is operated, the elapsed time specified by the timeline display unit 58 and the elapsed time of the video obtained from the playback time information included in the video data. By making the same, the video image synchronized with the time elapsed time is displayed on the video display unit 62. As shown in FIG. 31, in the video image display, human B on the right side pauses playback with his hand extended horizontally, operates 3DView60 with the mouse, and poses the robot in 3DView with his hand horizontally. Create a pose that stretches out and register it as a key frame.

次に、ビデオ再生を再開し、図32のように、ビデオ表示で、右側の人間Bが、手を左横に曲げた状態で、再生を一時中断し、3DView60を、マウス操作し、3DViewでのロボットのポーズを、手を左横に曲げたポーズに作成し、キーフレームに登録する。   Next, the video playback is resumed. As shown in FIG. 32, in the video display, the right person B temporarily pauses the playback with the hand bent to the left side, and operates the 3DView 60 with the mouse, and the 3DView Create a robot pose with a hand bent to the left and register it in the keyframe.

更に、ビデオ再生を再開し、図33のように、ビデオ表示で、右側の人間Bが、かがんだ状態で、再生を一時中断し、3DView60を、マウス操作し、3DViewでのロボットのポーズを、かがんだポーズに作成し、キーフレームに登録する。   Furthermore, the video playback is resumed, and as shown in FIG. 33, in the video display, with the right person B bent down, the playback is temporarily suspended, the 3DView 60 is operated with the mouse, and the robot poses at 3DView. Create a crouched pose and register it in the keyframe.

このように、ビデオ画像のポーズと同じポーズのデータ作成が容易となる。   In this way, data creation of the same pose as that of the video image is facilitated.

又、このタイムライン表示部58の再生を指示すると、キーフレームデータが、図30のように、ビデオ表示と同期して、実ロボット1に送信される。このため、実ロボット1は、図31〜図33のビデオ表示の人間Bと同じ動作を、ビデオ表示と同期して、実行する。この時、3DVew60のロボットモデルも、実ロボット1と同じ動作を行う。   When the reproduction of the timeline display unit 58 is instructed, the key frame data is transmitted to the real robot 1 in synchronization with the video display as shown in FIG. For this reason, the real robot 1 executes the same operation as the video display human B in FIGS. 31 to 33 in synchronization with the video display. At this time, the 3DVe60 robot model also performs the same operation as the actual robot 1.

このため、ビデオに同期したコンテンツの作成が容易であり、且つビデオに同期して、実ロボットを動作でき、ロボットのエンタテイメント性を向上できる。この場合に、前述の通信遅延補償処理は、特に、有効となる。   For this reason, it is easy to create content synchronized with the video, and the real robot can be operated in synchronization with the video, so that the entertainment properties of the robot can be improved. In this case, the communication delay compensation process described above is particularly effective.

(他の実施の形態)
前述の実施の形態では、17関節のロボットで説明したが、他の関節数のロボットにも適用できる。ロボットは、人型のみならず、4足歩行型等の他の形態をしたロボットに適用できる。
(Other embodiments)
In the above-described embodiment, a robot with 17 joints has been described. However, the present invention can be applied to robots with other joints. The robot can be applied not only to a human type but also to other types of robots such as a quadruped walking type.

以上、本発明を、実施の形態で説明したが、本発明は、その趣旨の範囲内で種々の変形が可能であり、これを本発明の範囲から排除するものではない。   As mentioned above, although this invention was demonstrated by embodiment, this invention can be variously deformed within the range of the meaning, and this is not excluded from the scope of the present invention.

操作ユニットの操作に応じて、3次元擬似空間でのロボットのモデルの各部位を位置、傾きを変更して、操作ユニットのデータ作成指示に応じて、変更されたロボットのモデルの各部位を位置、傾きから、各関節の角度を計算し、キーフレームデータを作成し、3次元表示のための追加データを付して、多関節型ロボットに送信するので、3次元擬似空間で作成されたデータを再利用して、他のモーションデータを3次元擬似空間で作成できる。   Change the position and inclination of each part of the robot model in the three-dimensional pseudo space according to the operation of the operation unit, and position each part of the changed robot model according to the data creation instruction of the operation unit From the tilt, calculate the angle of each joint, create key frame data, attach additional data for 3D display and send it to the articulated robot, so the data created in 3D pseudo space Can be reused to create other motion data in a three-dimensional pseudo space.

本発明のモーション編集装置の一実施形態の構成図である。It is a block diagram of one Embodiment of the motion editing apparatus of this invention. 図1のモーション編集装置のブロック図である。It is a block diagram of the motion editing apparatus of FIG. 図1、図2の表示部の説明図である。It is explanatory drawing of the display part of FIG. 1, FIG. 図3のタイムライン表示部の説明図である。It is explanatory drawing of the timeline display part of FIG. 図3の3DView表示部の説明図である。It is explanatory drawing of the 3DView display part of FIG. 図3のオプション表示部の説明図である。It is explanatory drawing of the option display part of FIG. 図1、図2、図3の処理と操作の関係図である。FIG. 4 is a relationship diagram between the processes of FIG. 1, FIG. 2, and FIG. 3 and operations. 図7の衝突判定処理フロー図である。FIG. 8 is a collision determination processing flowchart of FIG. 7. 図9の衝突判定処理の説明図である。It is explanatory drawing of the collision determination process of FIG. 図7の足裏接地処理フロー図である。FIG. 8 is a flowchart of a sole grounding process in FIG. 7. 図10の傾き補正処理フロー図である。FIG. 11 is a flowchart of the inclination correction process in FIG. 10. 図10の接地処理フロー図である。FIG. 11 is a grounding process flow diagram of FIG. 10. 図10の足裏接地処理の第1の説明図である。FIG. 11 is a first explanatory view of a sole grounding process of FIG. 10. 図10の足裏接地処理の第2の説明図である。FIG. 11 is a second explanatory diagram of the sole grounding process of FIG. 10. 図10の足裏接地処理の第3の説明図である。FIG. 11 is a third explanatory diagram of the sole grounding process of FIG. 10. 図7の部分位置合わせ処理フロー図である。FIG. 8 is a partial alignment process flowchart of FIG. 7. 図16の部分位置合わせ処理の第1の説明図である。FIG. 17 is a first explanatory diagram of the partial alignment process of FIG. 16. 図16の部分位置合わせ処理の第2の説明図である。FIG. 17 is a second explanatory diagram of the partial alignment process of FIG. 16. 図2のロボットへの通信処理の説明図である。It is explanatory drawing of the communication process to the robot of FIG. 図2のロボットからの通信処理の説明図である。It is explanatory drawing of the communication process from the robot of FIG. 図19、図20のフレームデータの説明図である。It is explanatory drawing of the frame data of FIG. 19, FIG. 図19、図20のモーションデータの説明図である。It is explanatory drawing of the motion data of FIG. 19, FIG. 図19のデータ変換処理の説明図である。It is explanatory drawing of the data conversion process of FIG. 図20のデータ変換処理の説明図である。It is explanatory drawing of the data conversion process of FIG. 図19の通信遅延補償処理フロー図である。FIG. 20 is a communication delay compensation processing flowchart of FIG. 19. 図19のデータ変換処理のためのモーションデータの説明図である。It is explanatory drawing of the motion data for the data conversion process of FIG. 図19のデータ変換処理のための他のモーションデータの説明図である。It is explanatory drawing of the other motion data for the data conversion process of FIG. 図27のモーションデータの変換処理フロー図である。FIG. 28 is a flowchart of the motion data conversion process in FIG. 27. 図20のデータ変換のための送信データの説明図である、It is explanatory drawing of the transmission data for the data conversion of FIG. 本発明の一実施の形態の動画との同期処理の説明図である。It is explanatory drawing of a synchronous process with the moving image of one embodiment of this invention. 図30の同期処理の第1の画面例の説明図である。FIG. 31 is an explanatory diagram of a first screen example of the synchronization processing of FIG. 30. 図30の同期処理の第2の画面例の説明図である。FIG. 31 is an explanatory diagram of a second screen example of the synchronization processing of FIG. 30. 図30の同期処理の第3の画面例の説明図である。FIG. 31 is an explanatory diagram of a third screen example of the synchronization processing of FIG. 30.

符号の説明Explanation of symbols

1 多関節型ロボット
3 モーション編集装置
32 キーボード
34 表示部
36 マウス
40 モーションメモリ
42 実ロボット制御プログラム
50 制御プログラム
52 キーフレームメモリ
54 通信ドライバ
58 タイムライン表示部
60 3DView表示部
62 オプション表示部
64 ビデオ表示部
1 Articulated Robot 3 Motion Editing Device 32 Keyboard 34 Display Unit 36 Mouse 40 Motion Memory 42 Real Robot Control Program 50 Control Program 52 Key Frame Memory 54 Communication Driver 58 Timeline Display Unit 60 3D View Display Unit 62 Option Display Unit 64 Video Display Part

Claims (10)

実空間で関節を駆動する多関節型ロボットのモーションデータを編集するモーション編集装置において、
擬似空間内における前記ロボットのモデルを3次元表示する3次元表示部を有する表示ユニットと、
前記表示ユニットで表示された前記ロボットのモデルの各部位の位置、傾きを指示するための操作ユニットと、
前記操作ユニットの操作に応じて、前記ロボットのモデルの各部位の位置、傾きを変更して、前記3次元表示部に表示するとともに、前記操作ユニットのデータ作成指示に応じて、前記変更されたロボットのモデルの各部位の位置、傾きから、各関節の角度を計算し、キーフレームデータを作成する処理ユニットとを有し、
前記処理ユニットは、前記キーフレームデータに前記3次元表示のための前記擬似空間内におけるロボットの状態データを付して、前記多関節型ロボットに送信する
ことを特徴とするモーション編集装置。
In a motion editing device that edits motion data of an articulated robot that drives joints in real space,
A display unit having a three-dimensional display unit for three-dimensionally displaying the model of the robot in a pseudo space;
An operation unit for instructing the position and inclination of each part of the model of the robot displayed on the display unit;
The position and inclination of each part of the robot model is changed according to the operation of the operation unit and displayed on the three-dimensional display unit, and the changed according to the data creation instruction of the operation unit A processing unit that calculates the angle of each joint from the position and inclination of each part of the robot model and creates key frame data;
The motion processing apparatus, wherein the processing unit attaches the state data of the robot in the pseudo space for the three-dimensional display to the key frame data and transmits the data to the articulated robot.
前記処理ユニットは、前記操作ユニットで指示された前記ロボットのモデルの部位を、前記3次元表示空間の基準面に接するように、前記ロボットのモデルの座標を変換し、前記キーフレームデータを作成する
ことを特徴とする請求項1のモーション編集装置。
The processing unit converts the coordinates of the robot model so that the part of the robot model instructed by the operation unit is in contact with the reference plane of the three-dimensional display space, and creates the key frame data. The motion editing apparatus according to claim 1, wherein:
前記処理ユニットは、前記操作ユニットの指示により、前記作成されたキーフレームデータから、前記ロボットのモデルの部位間の衝突の有無を判定し、前記3次元表示空間の前記ロボットのモデルの前記衝突した部位の表示色を変更する
ことを特徴とする請求項1のモーション編集装置。
The processing unit determines whether or not there is a collision between parts of the robot model from the created key frame data according to an instruction from the operation unit, and the collision of the robot model in the three-dimensional display space occurs. The motion editing apparatus according to claim 1, wherein the display color of the part is changed.
前記処理ユニットは、前記表示ユニットに、前記操作ユニットで操作し、前記ロボットのモデルの前記キーフレーム間の時間を指定するためのタイムライン表示部を表示し、前記処理ユニットは、前記タイムライン表示部で指定された時間により、前記キーフレームデータの時間情報を作成する
ことを特徴とする請求項1のモーション編集装置。
The processing unit displays, on the display unit, a timeline display unit for operating with the operation unit and designating a time between the key frames of the robot model, and the processing unit displays the timeline display. The motion editing apparatus according to claim 1, wherein the time information of the key frame data is created according to a time specified by a section.
前記処理ユニットは、前記キーフレームデータを前記多関節型ロボットに送信するとともに、送信処理の遅延を検出し、前記キーフレームデータの時間情報を変更して、次のキーフレームデータを送信する
ことを特徴とする請求項1のモーション編集装置。
The processing unit transmits the key frame data to the articulated robot, detects a delay in transmission processing, changes time information of the key frame data, and transmits next key frame data. The motion editing apparatus according to claim 1, characterized in that:
前記処理ユニットは、ビデオデータに含まれる再生時間情報から、前記タイムライン表示部で指定された時間と同期させたビデオ画像を表示する
ことを特徴とする請求項4のモーション編集装置。
The motion editing apparatus according to claim 4, wherein the processing unit displays a video image synchronized with a time designated by the timeline display unit from reproduction time information included in the video data.
前記処理ユニットは、ビデオデータに含まれる再生時間情報から、前記タイムライン表示部で指定された時間と同期させ、前記表示ユニットに、ビデオ画像を表示し、且つ前記多関節型ロボットに前記作成したキーフレームデータを送信し、前記ビデオ画像と前記多関節型ロボットの動作を同期する
ことを特徴とする請求項4のモーション編集装置。
The processing unit synchronizes with the time specified by the timeline display unit from the reproduction time information included in the video data, displays a video image on the display unit, and creates the image on the articulated robot. The motion editing apparatus according to claim 4, wherein key frame data is transmitted to synchronize the video image and the operation of the articulated robot.
前記処理ユニットは、前記多関節型ロボットのメモリに記憶されたモーションデータを読み込み、前記キーフレームデータの形式に変更し、前記表示ユニットの前記ロボットのモデルのポーズを表示し、
前記操作ユニットの操作に応じて、表示された前記ロボットのモデルの各部位の位置、傾きを変更して、前記操作ユニットのデータ作成指示に応じて、前記変更されたロボットのモデルの各部位の位置、傾きから、各関節の角度を計算し、キーフレームデータを作成する
ことを特徴とする請求項1のモーション編集装置。
The processing unit reads the motion data stored in the memory of the articulated robot, changes to the format of the key frame data, displays the pose of the robot model of the display unit,
In accordance with the operation of the operation unit, the position and inclination of each part of the displayed robot model are changed, and according to the data creation instruction of the operation unit, each part of the changed robot model is changed. 2. The motion editing apparatus according to claim 1, wherein the angle of each joint is calculated from the position and the inclination to create key frame data.
前記処理ユニットは、前記モーションデータに含まれる制御コードを解析し、前記キーフレームデータに変換する
ことを特徴とする請求項8のモーション編集装置。
The motion editing apparatus according to claim 8, wherein the processing unit analyzes a control code included in the motion data and converts the control code into the key frame data.
実空間で関節を駆動する多関節型ロボットのモーションデータを編集するためのプログラムにおいて、
擬似空間内における前記ロボットのモデルを表示ユニットに3次元表示するステップと、
前記表示ユニットで表示された前記ロボットのモデルの各部位を位置、傾きを指示するための操作ユニットの操作に応じて、前記ロボットのモデルの各部位の位置、傾きを変更して、前記3次元表示部に表示するステップと、
前記操作ユニットのデータ作成指示に応じて、前記変更されたロボットのモデルの各部位の位置、傾きから、各関節の角度を計算し、キーフレームデータを作成し、前記キーフレームデータに前記3次元表示のための前記擬似空間内におけるロボットの状態データを付して、前記多関節型ロボットのためのモーションデータを作成するステップとを、コンピュータに実行させるプログラム。
In a program for editing motion data of an articulated robot that drives joints in real space,
Displaying the model of the robot in a pseudo space on a display unit in three dimensions;
The position and inclination of each part of the robot model are changed according to the operation of the operation unit for instructing the position and inclination of each part of the robot model displayed on the display unit, and the three-dimensional Displaying on the display unit;
In accordance with the data creation instruction of the operation unit, the angle of each joint is calculated from the position and inclination of each part of the changed robot model, key frame data is created, and the three-dimensional A program for causing a computer to execute a step of creating motion data for the articulated robot by attaching state data of the robot in the pseudo space for display.
JP2007095291A 2007-03-30 2007-03-30 Motion editing device, and its program Withdrawn JP2008254074A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007095291A JP2008254074A (en) 2007-03-30 2007-03-30 Motion editing device, and its program
PCT/JP2008/000693 WO2008129818A1 (en) 2007-03-30 2008-03-24 Motion editing device for robot and its program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007095291A JP2008254074A (en) 2007-03-30 2007-03-30 Motion editing device, and its program

Publications (1)

Publication Number Publication Date
JP2008254074A true JP2008254074A (en) 2008-10-23

Family

ID=39875351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007095291A Withdrawn JP2008254074A (en) 2007-03-30 2007-03-30 Motion editing device, and its program

Country Status (2)

Country Link
JP (1) JP2008254074A (en)
WO (1) WO2008129818A1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010253640A (en) * 2009-04-27 2010-11-11 Japan Science & Technology Agency Attitude data input device
JP2011121171A (en) * 2009-12-14 2011-06-23 Ir Robot Co Ltd Apparatus and method for synchronizing robot
JP2012528015A (en) * 2009-05-26 2012-11-12 オルドウバラン、ロボティクス System and method for editing and controlling mobile robot behavior
KR20140115902A (en) * 2013-03-22 2014-10-01 주식회사 케이티 Apparatus and method for developing robot contents
US9495788B2 (en) 2013-03-22 2016-11-15 Kt Corporation Apparatus and method for developing robot contents
JP2017505239A (en) * 2014-02-05 2017-02-16 アーベーベー シュヴァイツ アクツィエンゲゼルシャフト System and method for defining movements of multiple robots performing a show cooperatively
JP2017042896A (en) * 2015-08-28 2017-03-02 株式会社電通 Data conversion device, robot, program and information processing method
JP2017164902A (en) * 2010-11-19 2017-09-21 ファナック アメリカ コーポレイション Display system, display method, and display device of three dimensional robotic work cell data
US10599995B2 (en) 2015-06-02 2020-03-24 Seiko Epson Corporation Teaching device and robot system
US10664964B2 (en) 2015-09-02 2020-05-26 Fujitsu Limited Abnormal detection apparatus and method
WO2020166731A1 (en) * 2019-02-11 2020-08-20 엘지전자 주식회사 Action robot terminal and operating method therefor
WO2021137486A1 (en) * 2019-12-31 2021-07-08 주식회사 한화 Robot control device, method and computer program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604153B (en) * 2009-07-06 2011-06-29 三一重工股份有限公司 Engineering vehicle arm rest controller, control system, engineering vehicle and control method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06114766A (en) * 1992-10-01 1994-04-26 Hitachi Ltd Remote control device for manipulator
JPH07200019A (en) * 1993-12-28 1995-08-04 Ricoh Co Ltd Robot controller
JP4765155B2 (en) * 2000-09-28 2011-09-07 ソニー株式会社 Authoring system, authoring method, and storage medium
JP4014044B2 (en) * 2003-01-28 2007-11-28 株式会社国際電気通信基礎技術研究所 Communication robot and communication system using the same
JP4592276B2 (en) * 2003-10-24 2010-12-01 ソニー株式会社 Motion editing apparatus, motion editing method, and computer program for robot apparatus

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010253640A (en) * 2009-04-27 2010-11-11 Japan Science & Technology Agency Attitude data input device
JP2012528015A (en) * 2009-05-26 2012-11-12 オルドウバラン、ロボティクス System and method for editing and controlling mobile robot behavior
JP2011121171A (en) * 2009-12-14 2011-06-23 Ir Robot Co Ltd Apparatus and method for synchronizing robot
JP2017164902A (en) * 2010-11-19 2017-09-21 ファナック アメリカ コーポレイション Display system, display method, and display device of three dimensional robotic work cell data
JP2019177477A (en) * 2010-11-19 2019-10-17 ファナック アメリカ コーポレイション System, method and apparatus for displaying three-dimensional robotic workcell data
KR20140115902A (en) * 2013-03-22 2014-10-01 주식회사 케이티 Apparatus and method for developing robot contents
US9495788B2 (en) 2013-03-22 2016-11-15 Kt Corporation Apparatus and method for developing robot contents
KR101626966B1 (en) * 2013-03-22 2016-06-02 주식회사 케이티 Apparatus and method for developing robot contents
JP2017505239A (en) * 2014-02-05 2017-02-16 アーベーベー シュヴァイツ アクツィエンゲゼルシャフト System and method for defining movements of multiple robots performing a show cooperatively
US10599995B2 (en) 2015-06-02 2020-03-24 Seiko Epson Corporation Teaching device and robot system
JP2017042896A (en) * 2015-08-28 2017-03-02 株式会社電通 Data conversion device, robot, program and information processing method
WO2017037690A1 (en) * 2015-08-28 2017-03-09 株式会社電通 Data conversion device, robot, program, and information processing method
US10664964B2 (en) 2015-09-02 2020-05-26 Fujitsu Limited Abnormal detection apparatus and method
WO2020166731A1 (en) * 2019-02-11 2020-08-20 엘지전자 주식회사 Action robot terminal and operating method therefor
WO2021137486A1 (en) * 2019-12-31 2021-07-08 주식회사 한화 Robot control device, method and computer program

Also Published As

Publication number Publication date
WO2008129818A1 (en) 2008-10-30

Similar Documents

Publication Publication Date Title
JP2008254074A (en) Motion editing device, and its program
CN109605366B (en) Robot graphical programming interaction system and robot
KR102416306B1 (en) Information processing apparatus and control method of display apparatus
US6718231B2 (en) Authoring system and authoring method, and storage medium
US7106334B2 (en) Animation creation program
EP1310844B1 (en) Simulation device
US6225978B1 (en) Video processing system for movement simulation
KR20160002329A (en) Robot simulator and file generation method for robot simulator
US7536655B2 (en) Three-dimensional-model processing apparatus, three-dimensional-model processing method, and computer program
JP2012528015A (en) System and method for editing and controlling mobile robot behavior
JP4989605B2 (en) Simple animation creation device
JP2003058907A (en) Method for generating pose and motion in tree structure link system
JP2010531743A (en) Method for editing robot motion
JP2008030136A (en) Apparatus and method for compiling action of robot, as well as computer/program
JPWO2018173791A1 (en) Image processing apparatus and method, and program
JP5458245B2 (en) Operation control apparatus, method thereof, and program
US20230150133A1 (en) Systems and methods for real-time control of a robot using a robot animation system
JP7470345B2 (en) Animation Production System
JP2009166172A (en) Simulation method and simulator for robot
JP7070547B2 (en) Image processing equipment and methods, as well as programs
JP4028192B2 (en) Operation input method, apparatus, program, and recording medium
JP2007323293A (en) Image processor and image processing method
JP2001291119A (en) Device and method for controlling user interface and program providing medium
JP7218874B2 (en) animation production system
JP2005211260A (en) Operation command device for operated object, program for operation command for operated object and recording medium having the program recorded thereon

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100601