WO2015141893A1 - 로봇 모션을 편집 및 재생하기 위한 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

로봇 모션을 편집 및 재생하기 위한 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
WO2015141893A1
WO2015141893A1 PCT/KR2014/004254 KR2014004254W WO2015141893A1 WO 2015141893 A1 WO2015141893 A1 WO 2015141893A1 KR 2014004254 W KR2014004254 W KR 2014004254W WO 2015141893 A1 WO2015141893 A1 WO 2015141893A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion
robot
unit
viewer
editing
Prior art date
Application number
PCT/KR2014/004254
Other languages
English (en)
French (fr)
Inventor
김병수
김진성
하인용
Original Assignee
주식회사 로보티즈
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 주식회사 로보티즈 filed Critical 주식회사 로보티즈
Priority to CN201480079029.1A priority Critical patent/CN106462992B/zh
Publication of WO2015141893A1 publication Critical patent/WO2015141893A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation

Definitions

  • the present invention relates to an apparatus, a method and a computer readable recording medium apparatus for editing and reproducing a robot motion. More particularly, the motion of the robot can be edited by connecting a stationary posture of the robot edited by a user input.
  • An apparatus, method, and computer readable recording medium are provided.
  • the present invention has been made to solve the above-mentioned problems of the prior art, and an object thereof is to provide a robot motion editing and reproducing apparatus capable of editing the motion of a robot by connecting a stop position of the robot edited by a user input. .
  • a storage unit for storing the 3D image file of the robot and the stop position of the robot for each time edited by the user input in key frame units; And a robot motion viewer displaying a motion unit of a robot connected by interpolation of the stored posture between key frames according to an interpolation technique.
  • the storage unit may further store IDs assigned to joints between a plurality of components constituting the robot, and the robot motion viewer may be connected to the joint together with the 3D image of the robot to edit a stationary posture of the robot.
  • the assigned ID can be displayed.
  • the robot motion viewer further displays an angle changing interface for editing the angle of the selected joint when at least one of the joints between the plurality of components constituting the robot is selected, and the storage unit displays the angle changing interface.
  • a posture of the robot including a component in which a joint is edited may be stored.
  • the robot motion viewer further displays a timeline interface for registering the stop pose of the robot by time, and the storage unit displays the stop pose of the robot according to a time input through the timeline interface. You can save it as a key frame.
  • the robot motion viewer further displays a motion unit parameter interface for editing flexibility and at least one of the joints between the plurality of components constituting the robot and the inertial force of the robot, and is input through the motion unit parameter interface.
  • the motion unit may be displayed as a moving image using the motion unit parameter.
  • the robot motion viewer may further display a flow chart interface for registering the motion units in order, and may display a motion image connecting the motion units in a video in the order of input through the flow chart interface.
  • the robot motion viewer further displays a motion parameter interface for editing the playback speed, the number of repetitions, and whether the call is possible for the motion unit, and displays the motion by using a motion parameter input through the motion parameter interface.
  • a motion parameter interface for editing the playback speed, the number of repetitions, and whether the call is possible for the motion unit, and displays the motion by using a motion parameter input through the motion parameter interface.
  • the storage unit stores an end motion unit in which a center of gravity connected to the motion unit input through the flow chart interface is in a stable state, and the robot motion viewer displays an end command of displaying a motion image of the motion. If input, the end motion unit may be connected and displayed.
  • the 3D image file of the robot may include at least one of a file basically provided by a motion unit editing program executed by the robot motion viewer and a file edited and stored through the robot assembly program by the user manipulation.
  • the storage unit may refer to the stop pose in a library manner, store a motion unit connecting the stop pose, and refer to the motion unit in a library manner, and store the motion in which the motion unit is connected.
  • the storage unit may store, in one motion project file, motion groups grouped according to a purpose with respect to a motion connecting the motion units.
  • a computer readable recording medium for recording a computer program for executing the robot motion editing and reproduction method is provided.
  • timeline-based animation editing technology can be borrowed for motion editing of a robot
  • a non-specialist can intuitively edit the motion of a robot by providing a more intuitive motion editing environment than before. User convenience can be increased.
  • the result of the robot can be checked in advance through the motion of the robot displayed on the screen window, even if the robot model is not directly driven when editing the motion of the robot.
  • the reuse rate of the motion of the robot is increased, and maintenance of the motion of the robot may be easy.
  • FIG. 1 is a block diagram showing the configuration of a robot motion editing and reproducing apparatus according to an embodiment of the present invention.
  • FIG. 2 is a view showing a screen window for selecting a robot according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a screen window for selecting a joint according to an embodiment of the present invention.
  • 4A is a diagram illustrating a screen window displaying a first stop pose of a robot edited by a user input according to an exemplary embodiment of the present invention.
  • 4B is a diagram illustrating a screen window displaying a second stationary posture of a robot edited by a user input according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating a screen window displaying a motion unit parameter interface according to an embodiment of the present invention.
  • FIG. 6 is a diagram illustrating a screen window for editing a motion according to an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating a screen window displaying a motion parameter interface according to an embodiment of the present invention.
  • FIG. 1 is a block diagram showing the configuration of a robot motion editing and reproducing apparatus according to an embodiment of the present invention.
  • the robot motion editing and reproducing apparatus 100 may include a storage unit 110 and a robot motion viewer 120.
  • the storage unit 110 may be configured as a memory of the robot motion editing and reproducing apparatus 100 including a program memory, a data memory, and the like.
  • Execution programs executed by the robot motion viewer 120 may be stored in the program memory.
  • the storage unit 110 may be a robot assembly program for editing a 3D image of a robot, a motion unit editing program for editing a motion unit of a robot, and a motion editing for editing a motion connected to a motion unit. Programs can be stored in memory.
  • the data memory may store data generated while programs stored in the program memory are executed by the robot motion viewer 120.
  • the storage unit 110 may store a 3D image of the robot generated through the robot assembly program, may store a motion unit generated through the motion unit editing program, and the motion generated through the motion editing program. And so on.
  • the storage unit 110 may store 3D image files for various components of the robot. That is, the storage unit 110 may store a 3D image file of each component constituting the robot, and may store a 3D image file of a part of the robot composed of a plurality of components or the whole of the robot. In this case, the storage unit 110 may store IDs assigned to joints between the components together with 3D images of the plurality of components constituting the robot.
  • the storage unit 110 may store an angle value of a joint between a plurality of components constituting the robot, and store a stop position of the robot configured as a component in which the joint is edited as the corresponding angle value.
  • the setting of how much the angle of the joint changes may be edited through an angle change interface provided by the robot motion viewer 120 to be described later.
  • the storage unit 110 may store the stationary posture of the robot for each time in units of key frames.
  • the key frame is a frame displaying important movements and positions in the robot's motion unit. For example, when the robot's motion unit is sitting and standing up, the motion and position of the sitting robot is standing up.
  • the movement and position of the robot may be key frames, respectively. That is, the storage unit 110 stores the stopping posture (for example, the stopping posture of the robot sitting state, the stopping posture of the robot standing state, etc.) of the robot at a specific time among the motion units of the robot in key frame units.
  • the posture of the robot stored in key frame units may be edited by changing an angle value of a joint between a plurality of components constituting the robot. At this time, the setting for which time the robot's stationary posture is displayed may be edited through a timeline interface provided by the robot motion viewer 120 to be described later.
  • the storage unit 110 may store a motion unit of the robot in which the stopping posture of the robot is connected according to an interpolation technique.
  • the interpolation technique may be a method of smoothly and naturally connecting the stationary posture of each robot stored in the storage 110 in key frame units over time.
  • the storage unit 110 may store a first stop posture in which the robot is sitting at 0 second time, a second stop posture in which the robot is standing at 1 second time, and the first stop posture and the first stop posture. 2
  • the motion position of the robot in which the stationary posture is connected according to the interpolation technique that is, the motion unit of the robot in which the sitting robot naturally occurs as time passes from 0 second to 1 second can be stored.
  • the motion unit of the robot may be generated by the robot motion viewer 120 to be described later, and may be displayed on the screen window as a video.
  • the storage unit 110 may store a motion unit parameter including at least one of flexibility and inertial force of the robot, which are respectively set in joints between a plurality of components constituting the robot.
  • the motion unit parameter may be edited by user input, which determines the degree of flexibility for the motion of the motion unit that the joint between the components changes, and the inertial force which is the speed acceleration / decrease level of the start and end of the motion.
  • the setting of whether or not to be accurate may be edited through a motion unit parameter interface provided by the robot motion viewer 120 to be described later.
  • the storage unit 110 may store a motion in which the motion units of the robot are connected in order.
  • the setting of the order of the motion units may be edited through a flow chart interface provided by the robot motion viewer 120 to be described later.
  • the storage unit 110 may store a motion parameter including at least one of the number of repetitions, the reproduction speed, and the callability of the motion unit of the robot.
  • the motion parameter may be edited by a user input, and the robot motion viewer 120 which will be described later on how to repeat the motion unit of the robot, how fast the playback speed, and playback from the corresponding motion unit will be described later. Can be edited via the provided motion parameter interface.
  • the storage unit 110 may store the end motion unit connected to the motion unit included in the motion.
  • the end motion unit may be edited and registered by a user input or may be arbitrarily registered by the robot motion editing and reproducing apparatus 100.
  • the end motion unit may be stored in a posture in which the center of gravity of the robot is in a stable state, for example, the posture of the robot in an upright or lying state.
  • the stable state may mean a state in which the center of gravity of the robot is in an equilibrium without tilting in any direction, so that the robot does not fall or fall down.
  • the storage unit 110 may separately store the 3D image of the robot, and store the stop pose information including the angle value of the joint between the components constituting the robot, and the time information and the motion to which the stop poses are connected.
  • Motion unit information including a motion unit parameter applied at the time may be stored, and link information for connecting the motion units, motion information applied at the time of operation, and motion information including whether the end motion is connected may be stored.
  • the stationary posture information, motion unit information, and motion information are separately stored and stored, when the posture posture or motion unit is recycled and used repeatedly, the information may be used by referring to the library method. Only one can be stored.
  • the memory capacity of the first stop pose, the second stop pose, and the third stop pose is 64 bytes, respectively, and includes a first motion unit including a first stop pose and a second stop pose, and a first stop pose.
  • the second motion unit including the stop pose and the third stop pose since the memory capacities of the first motion unit and the second motion unit are each 128 bytes, the total of 256 bytes of memory. Capacity is required.
  • the storage unit 110 stores the first stop pose, the second stop pose, and the third stop pose, and when the first motion unit or the second motion unit is required, the stored stop poses are referred to in a library manner.
  • the first motion unit and the second motion unit may be stored using 192 bytes, which are the total memory capacities of the first stop position, the second stop position, and the third stop position. .
  • the motion connecting the motion unit is overlapped, when the motion unit or the stationary postures overlap, only one overlapped part may be stored.
  • the memory usage since only one overlapping part of the stationary posture included in the motion unit and the motion unit included in the motion may be stored, the memory usage may be reduced.
  • the robot motion viewer 120 may display various information on a screen window provided through a specific program. In this case, the robot motion viewer 120 may display information through one or more screen windows. When displaying information through a plurality of screen windows, the robot motion viewer 120 may display the screen windows by dividing the screen windows or by overlapping the screen windows. .
  • the robot motion viewer 120 may display 3D image files of various components of the robot stored in the storage unit 110 on the screen window.
  • the robot motion viewer 120 may display 3D images of the respective components separately on the screen window, and may display 3D images of all or a part of the robot combining the plurality of components on the screen window. .
  • the robot motion viewer 120 displays a 3D image of the robot on a screen window, and when a screen change command (for example, moving, zooming in or zooming out) is input according to a user's operation, the robot is changed according to the screen changing command.
  • a screen change command for example, moving, zooming in or zooming out
  • 3D images can be displayed on the screen.
  • the robot motion viewer 120 may display, on the screen window, IDs assigned to joints between the components together with 3D images of the plurality of components constituting the robot.
  • the robot motion viewer 120 selects one or more of the joints between the plurality of components by user input (for example, 3D image selection of components, ID selection assigned to joints between components, etc.), It can be displayed on the screen by providing the angle change interface for editing the angle.
  • the angle change interface is a user interface for setting how much to change the angle of the joint
  • the robot motion viewer 120 is an angle value input through the angle change interface, by changing the angle of the selected joint, the angle of the joint
  • the 3D image of the robot including the changed component may be displayed on the screen window.
  • the robot motion viewer 120 may provide a timeline interface for registering the robot's posture by time, and display it on the screen window.
  • the timeline interface is a user interface for arranging the stop pose of the robot in key frame units according to time so that the stop pose of the robot set in key frame units can be reproduced at a corresponding time.
  • the robot may store the stationary posture in key frame units.
  • the robot motion viewer 120 may connect the stop positions of the robots between key frames according to an interpolation technique, generate a robot motion unit, and display the generated motion unit of the robot in a video window.
  • the storage unit 110 may store the motion unit of the robot generated by the robot motion viewer 120.
  • the robot motion viewer 120 connects the first and second stop poses according to an interpolation technique to generate a motion unit of the robot in which the robot raising the arm naturally lowers the arm, and displays the motion unit of the robot as a video on the screen. I can display it.
  • the time at which the first stop pose is reproduced is faster than the time at which the second stop pose is reproduced, for example, the first stop pose is a key frame reproduced at a time one second after the start, and the second stop pose is It may be a key frame reproduced at a time two seconds after the start.
  • the robot motion viewer 120 may generate a motion unit of the robot according to the time interval between the key frames, and if the time interval between the key frames is large, the first stop pose When the motion unit of the robot is slowly changed to the second stop pose, and if the time interval between key frames is small, the motion unit of the robot rapidly changes from the first stop pose to the second stop pose.
  • the robot motion viewer 120 connects the first and second stop poses according to an interpolation technique, so that the robot raising the arm naturally generates a motion unit of the robot.
  • the time interval between the first and the second stop pose is 2 seconds
  • the motion unit of the robot lowering the arm for 2 seconds may be generated, and the time interval between the first and the second stop pose is 1 second.
  • the robot motion viewer 120 may be configured according to the time interval of the stationary postures, that is, the interval between key frames.
  • the motion unit of the robot can be generated and the motion unit of the robot can be displayed on the screen as a video.
  • the robot motion viewer 120 may provide a flow chart interface for registering the robot's motion units in order and display them on the screen window.
  • the flow chart interface is a user interface for arranging the motion units of the robots in order, and generates a continuous motion of the robot, and the robot motion viewer 120 is configured for the motion units of the robot input through the flow chart interface.
  • a motion in which the robot's motion unit is connected can be generated, and the motion can be displayed on the screen as a video.
  • the robot motion viewer 120 may provide a flow chart interface for registering and registering the end motion unit with the motion unit of the robot and display it on the screen window.
  • the flow chart interface is a user interface for connecting the end motion unit for each motion unit of the robot, the robot motion viewer 120 registers the end motion unit connected to the motion unit of the robot input through the flow chart interface, At the end, the end motion unit can be displayed. At this time, the end motion unit may be a motion unit of the robot whose center of gravity is stable.
  • the robot motion viewer 120 connects the stop motion unit and the end motion unit to stop the video playback, Can be marked on.
  • the robot motion viewer 120 may connect the first motion unit, the second motion unit, and the third motion unit to generate a motion and display the motion as a video on the screen window.
  • the end motion unit connected to the second motion unit may be registered in advance.
  • the robot motion viewer 120 may display the motion in the order of the first motion unit, the second motion unit, and the third motion unit when the motion is displayed as a moving image, and when the robot motion viewer 120 is not connected to the actual robot model, When a pause command is input, playback of the displayed video can be paused. Subsequently, when a play command is input by a user operation while the play of the video is paused, the robot motion viewer 120 may play the paused video again from the stopped portion and display it on the screen window.
  • the robot motion viewer 120 displays the second motion unit after displaying the first motion unit.
  • the robot motion viewer 120 connects the second motion unit and the end motion unit to connect the end motion unit. I can display it.
  • the robot motion viewer 120 may connect the second motion unit and the end motion unit according to an interpolation technique, and display the end motion unit on the screen window so as to naturally move the end motion unit from the portion where the video stops. This is to end the reproduction of the motion while displaying the end motion unit in a stable state and executing the cleanup operation so that the robot does not fall when the reproduction of the motion is terminated at the request of the user.
  • the robot motion viewer 120 displays the second motion unit after displaying the first motion unit.
  • the robot motion viewer 120 and the second motion unit are displayed. Even if the connected longitudinal motion unit is registered, playback of the motion can be terminated after displaying only the second motion unit without displaying the end motion unit.
  • the robot motion viewer 120 displays the motion unit by the end command, and then displays the end motion unit connected to the motion unit to end playback of the motion, and displays only the motion unit by the forced end command. You can also end playback of the motion.
  • the robot motion viewer 120 may generate a motion by connecting a continuous motion of the robot's motion unit using a motion parameter including at least one of the number of repetition, the playback speed, and whether the call is possible, and display the motion as a video. Can be displayed in the window. In this regard, it will be described later with reference to FIG.
  • FIG. 2 is a view showing a screen window for selecting a robot according to an embodiment of the present invention.
  • the storage unit 110 may store information about a robot model basically provided by a robot assembly program capable of editing a 3D image of the robot or a motion unit editing program capable of editing a motion unit of the robot.
  • the robot motion viewer 120 may execute an motion unit editing program to provide an interface for selecting a basic robot model.
  • the robot motion viewer 120 may provide a list of robot models stored in the storage 110. That is, a robot model basically provided when distributing a robot assembly program or a motion unit editing program may be selected.
  • a user-created robot model may be selected, and information about the robot model may be generated through a robot assembly program to be stored in a memory of the robot motion editing and reproducing apparatus 100 or a memory of an external device. Can be stored.
  • information about the robot model stored in the memory of the robot motion editing and reproducing apparatus 100 may be loaded into the motion unit editing program, and the robot may be loaded.
  • Information about the robot model stored in the memory of the external device connected to the motion editing and reproducing apparatus 100 may be loaded into the motion unit editing program.
  • the robot motion viewer 120 may display an interface for selecting a joint between components, for example, a part of the robot, on the screen window.
  • the robot motion viewer 120 may display an interface for selecting an ID assigned to a joint and a motor type on a screen window to edit the selected joint. That is, the user may control the operation of the entire robot through the motion unit editing program, and may control only the operation of the actuator used for the joint between the components constituting the robot.
  • FIG. 4A illustrates a screen window displaying a first stop pose of a robot edited by a user input according to an embodiment of the present invention
  • FIG. 4B illustrates a second stop pose of the robot edited by a user input. It is a figure which shows the screen window to display.
  • the storage unit 110 may store a 3D image file of the robot.
  • the 3D image file of the robot may be a file basically provided by a motion unit editing program executed by the robot motion viewer 120, and may be edited by a user through a robot assembly program to edit and play the robot motion 100. Or a file stored in the memory of the external device.
  • the robot motion viewer 120 may display a list of robots in the form of a thumb nail for a 3D image of the robot on the screen window. When any one of the list of robots is selected according to a user input, the robot motion 3D may be displayed. Images can be displayed on the screen.
  • the storage unit 110 may store IDs assigned to joints between components constituting the robot.
  • the ID assigned to the joint may be assigned according to a user's manipulation command, or may be arbitrarily assigned by the robot motion editing and reproducing apparatus 100.
  • the robot motion viewer 120 may display an ID assigned to a joint between a 3D image of the robot stored in the storage 110 and a component constituting the robot on a screen window.
  • the robot motion viewer 120 includes a timeline interface 201, a joint list 202, a joint group menu 203, an angle change interface 204, a key frame menu 205,
  • the playback menu 206, the teaching menu 207, and the talk menu 208 may be displayed on the screen along with the 3D image of the robot.
  • the timeline interface 201 is a user interface for arranging the stop pose of the robot according to time in key frame units so that the stop pose of the robot edited by the user can be reproduced at the corresponding time.
  • the time of the stop pose of the robot to be edited can be pre-arranged through the timeline interface 201, and after editing the stop pose of the robot, the time of the edited robot's stop pose is the timeline interface. May be disposed through 201.
  • the joint list 202 is a menu for selecting each joint between components constituting the robot, and joints may be individually selected through the joint list 202. In selecting a joint, in addition to the method through the joint list 202, one or more of the IDs displayed together with the 3D image of the robot may be directly selected by a user input.
  • the joint list 202 may include angle values for each joint of the robot displayed in the 3D image and angle values for each joint of the actual robot model, and the robot motion viewer 120 displays the joint list 202.
  • the window can be displayed to inform the user of the angle of each joint with respect to the 3D robot and the real robot.
  • the joint group menu 203 is a menu for selecting a joint group consisting of a plurality of joints. At this time, the group consisting of a plurality of joints may be set by the user's input.
  • joints between components constituting the robot are assigned to IDs 1 to 16, respectively, and the "new joint group" included in the joint group menu 203 is included.
  • "right arm group” may be entered as the joint group name.
  • the joints ID 3 and 5 which are the plurality of joints, are selected, and if the OK button is selected, the joints ID 3 and 5 may be set to the "right arm group", that is, the joint group.
  • the robot motion viewer 120 recognizes that the joints corresponding to IDs 3 and 5 set as "right arm groups" are selected, and the selected IDs 3 and The number 5 can be highlighted by displaying a color different from other IDs.
  • the joint group menu 203 may include a joint group edit menu, which is a menu for editing a joint group.
  • the joint group editing menu is a menu for setting weight values for the joints included in the joint group.
  • joints ID 11, 13 and 15 can be selected to be set to the "right leg group", where angles 11 and 13 joints can be changed by position. Since the ranges are different, weight values are set for each joint through the joint group editing menu, so that the robot may not be disturbed by the movement of the right leg of the robot, that is, the movement of the joint.
  • the angle change interface 204 is a user interface for setting how much to change the angle for each joint selected through the joint list 202.
  • the robot motion viewer 120 is input through the angle change interface 204.
  • the angle change interface 204 By changing the angle of the selected joint by the angle value, the 3D image of the robot including the component whose joint is changed to the corresponding angle value may be displayed on the screen window.
  • the robot motion viewer 120 may determine the angle of the joint corresponding to ID 3. By changing the angle to 90 degrees, the 3D image of the robot including the component whose joint is changed to 90 degrees can be displayed on the screen window.
  • the moving direction may be set according to an input method for selecting the joint.
  • the selected joint when a joint is selected by clicking the left mouse button through a user input, the selected joint may be set to move counter clockwise (CCW), that is, in a positive direction.
  • CCW counter clockwise
  • the selected joint when the joint is selected by right clicking, the selected joint may be set to move clockwise (CW), that is, in the negative direction.
  • joint ID 3 is selected by left-clicking
  • joint ID 4 is selected by right-clicking
  • a 45 degree angle value is input through the angle change interface 204
  • the angle of joint ID 3 is entered.
  • the value is changed to +45 degrees in the forward direction
  • the angle value of the joint ID 5 is changed to -45 degrees in the reverse direction, the direction in which the joint moves according to the angle value can be set.
  • the angle change interface 204 may include a difference adjustment tab for equally changing the angle value of a plurality of joints selected through the joint list 202 or a group of joints selected through the joint group menu 203.
  • the difference adjusting tab may include a button for selecting addition or subtraction and a button for setting a changed unit value. In this case, after a unit value (for example, 0.1, 1, 10, etc.) is set, and a button for selecting addition or subtraction is selected, the unit value may be added or subtracted from the angle value of each joint.
  • ID 3 joint is selected by left clicking the mouse, 20 degree angle value is input through the angle change interface 204, the angle value of ID 3 joint is +20 degrees, ID 4 joint is mouse The right-click is selected and a 30 degree angle value is input through the angle change interface 204 so that the angle value of the joint ID 4 may be -30 degrees.
  • the unit value is set to 1 degree through the difference adjustment tab, and the button (CW button) for subtraction is selected once, the angle value of ID 3 joint is changed to 19 degrees by subtracting 1 degree from 20 degrees.
  • the angle value of the joint ID 4 may be changed to -29 degrees by adding 1 degree to -30 degrees.
  • a confirmation button may be selected.
  • ID 1, 3, and 5 joints are selected by left-clicking the mouse through the joint group edit menu included in the joint group menu 203, and ID 2, 4, and 6 joints are right-clicked. It may be selected, and 'x 1.0' may be input as the weight value. In this case, when the left mouse click is selected, the forward direction is applied. As a weight value for joints 1, 3, and 5, 'x 1.0' may be set. , 'X -1.0' may be set as a weight value for joints 4 and 6.
  • the "arm group” may be added to the joint group list window included in the joint group menu 203.
  • the robot motion viewer 120 IDs 1, 3, and 5 of the IDs displayed with the 3D image of the robot are displayed in a color different from other IDs (for example, blue), and IDs 2, 4, and 6 are different IDs. It may be displayed in a different color (for example, red) that is different from the.
  • the angle value when the angle value is changed through the difference adjustment tab included in the angle change interface 204, the weight value for joints ID 1, 3, and 5 corresponding to the left arm and ID 2 corresponding to the right arm Since the weight values for the joints 4 and 6 are set to the same values opposite to each other, the angle value may be changed so that the arms are symmetrical.
  • the direction and weight values for the plurality of joints may be set together through the joint group menu 203, and the angle values for each of the plurality of joints may be changed according to the direction and weight values through the difference adjustment tab. .
  • the weight value is set differently, for example, only IDs 5 and 6 in the “arm group” are selected and the weight value is 'x 2.0'. If this is set, the angle values of joints ID 5 and 6, which are changed through the difference adjustment tab, may be different from the angle values of joints ID 1, 2, 3, and 4. That is, the weight may be set for all or part of the joint group, and the set weight may be applied when the angle value is changed through the difference adjustment tab.
  • the angle change interface 204 may further include left and right symmetry buttons, up and down symmetry buttons, and origin symmetry buttons for changing the angle value of the joint to a symmetrical value.
  • left and right symmetry buttons for example, if the angle values of joints ID 3 and 5 corresponding to the right arm are the same as the angle values of joints ID 4 and 6 corresponding to the left arm, the position of the right arm and the position of the left arm are the same. May occur without distinction between left and right (for example, an unnatural posture in which the left arm is folded outward in correspondence with the posture of the right arm folded inward).
  • the angle value may be changed so that the right arm and the left arm is a natural posture symmetrical.
  • the robot motion viewer 120 may display the first stop position of the robot in a state of raising both arms on the screen window as shown in FIG. 4A, and FIG. 4B.
  • the robot may display the second stop pose of the robot in a state of lowering both arms on a screen window.
  • the key frame menu 205 is a menu for inserting or deleting a stationary posture of the robot edited by the user.
  • the storage unit 110 edits the robot edited by the user. Can be stored in units of key frames according to the time arranged through the timeline interface 201, and if a delete menu is selected from the key frame menu 205, the storage unit 110 stores the robot stored in units of key frames. You can delete the stationary posture.
  • the storage unit 110 stores the first stop pose of the robot in the state of raising both arms as shown in FIG. 4A in key frame units of 0.2 second time arranged through the timeline interface 201, and FIG. As shown in FIG. 4B, the second stationary posture of the robot, which is in the state of lowering both arms, may be stored in key frame units of 0.4 second time arranged through the timeline interface 201.
  • the joint between the components constituting the robot in the first or second stop position may be changed through the angle change interface 204, which is disposed through the timeline interface 201.
  • the time can also change.
  • the 0.2 second time and the 0.4 second time mean a moment that elapses by the corresponding time from the reproduction start time (0 second) when it is assumed that the robot motion is reproduced starting from 0 second.
  • the robot motion viewer 120 may display a motion unit parameter interface for editing flexibility of at least one of the joints between the plurality of components constituting the robot and the inertial force of the robot on the screen. That is, as shown in FIG. 5, the robot motion viewer 120 may edit the flexibility step for each joint between the components, and display a motion unit parameter interface for editing the robot's inertial force step on the screen window. have.
  • the playback menu 206 is a menu for displaying the motion unit of the robot as a video by connecting the first and second stop positions stored in the storage unit 110 according to an interpolation technique, and the playback menu 206 selects them.
  • the robot motion viewer 120 When the robot motion viewer 120 is in a standing position of the robot with both arms open at 0 seconds (starting point), the robot's first stop position at 0.2 seconds after raising the arms, and 0.4 seconds after the starting point, the robot may naturally generate a motion of the robot moving according to time, and display the motion of the robot on the screen as a video. In this case, the robot motion viewer 120 may further apply the above-described motion unit parameters to generate the motion unit of the robot.
  • the robot motion viewer 120 may display the motion unit of the robot on the screen window as a video, and then change the robot to a ready position of a stable robot registered in advance.
  • the robot motion viewer 120 may display the motion unit of the robot in a video window similarly to a real robot. For example, in the real robot, at least one of the two feet should be attached to the ground, the robot motion viewer 120 may display the motion unit of the robot in the video window in consideration of this.
  • the robot motion viewer 120 may display a stop pose corresponding to the specific time in the motion unit of the robot on the screen window. For example, when a 0.3 second time is selected through the timeline interface 201, the robot motion viewer 120 changes from a corresponding first stop posture 0.2 seconds after the start to a corresponding second stop posture 0.4 seconds later. After a 0.3 second time during the process, the robot's stationary position with the corresponding 45 degree arms raised may be displayed on the screen.
  • the teaching menu 207 is a menu for synchronizing the robot's stationary posture displayed on the screen with the actual robot model connected to the robot motion editing and reproducing apparatus 100.
  • the robot's stationary posture edited by the user is actually displayed.
  • the robot model by obtaining the attitude information of the actual robot model, the stationary attitude of the robot displayed on the screen window can be changed to the attitude of the actual robot model.
  • the robot motion editing and reproducing apparatus 100 may compensate and synchronize the difference angle.
  • the robot motion editing and reproducing apparatus 100 may correct a posture of one leg due to wear, damage, or the like, and synchronize the robot displayed on the screen with the actual robot model. .
  • the torque menu 208 is a menu for controlling the synchronized real robot model.
  • the joint may be arbitrarily changed due to a loss of force on the joint of the real robot model. If activation is selected, a force may be applied to the joint of the actual robot model to fix the joint, thereby maintaining the joint angle.
  • the robot motion editing and reproducing apparatus 100 may obtain information about a posture of the robot including the angle value of the fixed joint.
  • timeline-based animation editing technology can be borrowed to edit the motion unit of the robot
  • a motion unit of the robot can be intuitively provided by a non-expert by providing a more intuitive motion unit editing environment. Since can be edited, user convenience can be increased.
  • the result when editing the robot's motion unit, the result may be confirmed in advance through the motion unit of the robot displayed on the screen window without directly driving the actual robot model.
  • FIG. 6 is a diagram illustrating a screen window for editing a motion according to an embodiment of the present invention.
  • the storage unit 110 may store a motion unit of a robot generated through a motion unit editing program. At this time, the storage unit 110 may store the motion units of many robots in a line not exceeding the physical space of the memory. In addition, only the motion unit selected by the user among the motion units of the robot may be separately stored.
  • the robot motion viewer 120 may execute a motion editing program, and load the motion unit of the robot generated through the motion unit editing program and stored in the storage 110.
  • the robot motion viewer 120 may display a flowchart chart 301, a link menu 302, and a playback menu 206 on a screen window.
  • the flow chart interface 301 is a user interface for arranging the motion units of the robots in order, and generates a continuous motion of the robot, and the motion units of the robots with the motion parameters set are arranged through the flow chart interface 301. Can be.
  • the motion parameter may be input through the motion parameter interface, and the robot motion viewer 120 may display the motion parameter interface on the screen window as shown in FIG. 7.
  • the motion parameter interface is a user interface for setting a motion parameter including a number of repetitions, a playback speed, and callability of the robot's motion unit, and motion parameters may be set for each motion unit.
  • the order of the arranged motion units may be changed through a drag and drop method, and the robot motion viewer 120 may be changed. According to the arrangement of the robot's motion unit, motion units may be newly connected to generate motion.
  • the link menu 302 is a menu for inserting or deleting a motion unit of a robot in which motion parameters are set.
  • the robot motion viewer 120 moves the motion unit of the selected robot to motion.
  • the delete menu is selected from the link menu 302, the robot motion viewer 120 may delete the motion unit of the robot selected from the motion.
  • the playback menu 206 is a menu for displaying the motion of the robot as a video as described above.
  • the robot motion viewer 120 inputs the robot through the flow chart interface 301.
  • Motion which is a continuous motion of the robot's motion unit, can be generated by using the arrangement, motion parameters, and ending motion unit of the motion unit. The motion can be displayed on the screen as a video.
  • motion units are arranged in order of a first motion unit, a second motion unit, and a third motion unit, and the first motion unit has a reproduction speed of 1 times and a repetition number of times.
  • Callable is automatically checked as callable because it is the first time
  • the second motion unit is checked to be callable at twice the playback speed, twice the number of iterations, and whether or not it can be called.
  • One playback speed, one iteration, and whether or not it can be called are not checked as impossible to call.
  • the robot motion viewer 120 may generate a motion by connecting the first motion unit, the second motion unit, and the third motion unit in that order.
  • the robot motion viewer 120 may display the generated motion as a video on the screen window.
  • the motion speed may be used to apply the playback speed and the number of repetitions for each motion unit. That is, the robot motion viewer 120 repeats the first motion unit once at a 1x reproduction speed, repeats the second motion unit 3 times at a 2x reproduction speed, and reproduces the third motion unit 1x. You can connect a video that repeats once at a speed and display it on the screen.
  • the robot motion viewer 120 may display a moving picture from the first motion unit or the second motion unit checked as callable in a video window according to whether the call is included in the motion parameter. At this time, if the video is displayed from the second motion unit, the first motion unit may not be displayed.
  • a first end motion unit is connected to a first motion unit, an end motion unit is not connected to a second motion unit, and a second end motion unit is connected to a third motion unit. It is connected.
  • the first end motion unit and the second end motion unit may be motion units having a stable center of gravity displayed at the end.
  • the robot motion viewer 120 may display the first motion unit as a video, and if the end command is input, display the first end motion unit connected to the first motion unit.
  • the robot motion viewer 120 displays the second motion unit as a video, and when the end command is input, since there is no end motion unit connected to the second motion unit, the robot motion viewer 120 displays only the second motion unit and then plays back the motion. You can exit.
  • the motion unit may be finished after displaying only the corresponding motion unit as in the process of performing the forced end command.
  • the motion editing described with reference to FIG. 6 may be performed by a motion editing program, and the motion unit editing described with reference to FIGS. 4A and 4B may be performed by a motion unit editing program.
  • the storage unit 110 may store a motion project file including a motion unit generated by the motion unit editing program, a motion generated by the motion editing program, a motion group including a plurality of motions, and the like.
  • the motion project files can be separated into several types according to the purpose, and the motion project file is selected and downloaded in several motion project files.
  • the files must be stored in a directory or compressed file, and the necessary motions between the files can be copied to each other.
  • the above-mentioned files may be stored in a directory or a compressed file, and the necessary motions may not be copied.
  • the ability to group motions according to the purpose can be set through motion groups instead of motion project files, so that existing motion project files can be reused without creating a new motion project file each time. Maintenance of project files can be easy, and reuse rates can increase.

Abstract

본 발명의 일 실시예에 따르면, 로봇의 3D 이미지 파일과, 사용자 입력에 의해 편집된 시간별 상기 로봇의 정지 자세를 키 프레임(key frame) 단위로 저장하는 저장부; 및 상기 저장된 키 프레임 간 정지 자세를 보간(interpolation) 기법에 따라 연결한 로봇의 모션 유닛을 동영상으로 표시하는 로봇 모션 뷰어를 포함하는, 로봇 모션 편집 및 재생 장치가 제공된다.

Description

로봇 모션을 편집 및 재생하기 위한 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
본 발명은 로봇 모션 편집 및 재생하기 위한 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 장치에 관한 것으로, 더욱 상세하게는, 사용자 입력에 의해 편집된 로봇의 정지 자세를 연결하여, 로봇의 모션을 편집할 수 있는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
최근, 로봇 기술 분야의 발전으로, 다양한 산업에서 로봇이 이용되고 있으며, 용이하게 로봇의 모션을 편집하고자 하는 요구가 증대되고 있다.
하지만, 종래에는 로봇의 모션 편집 시, 실제 로봇 모델을 직접 구동하여 모션을 편집하기 때문에, 실제 로봇 모델이 PC 등의 단말기와 연결되어 있어야만 로봇의 모션 편집이 가능하고, 로봇 모션 실행 중 무게중심이 불안정 상태(unstable state)에서 종료되는 경우, 실제 로봇 모델이 넘어지는 사고 등의 문제점이 있다.
따라서, 실제 로봇 모델의 구동 없이 로봇의 모션을 직관적으로 용이하게 편집하면서, 로봇 모션 실행 시 종료에 대한 대처를 고려하여 로봇의 모션을 편집할 수 있는 방안이 시급한 실정이다.
본 발명은 전술한 종래기술의 문제점을 해결하기 위한 것으로, 사용자 입력에 의해 편집된 로봇의 정지 자세를 연결하여, 로봇의 모션을 편집할 수 있는 로봇 모션 편집 및 재생 장치를 제공하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 로봇의 3D 이미지 파일과, 사용자 입력에 의해 편집된 시간별 상기 로봇의 정지 자세를 키 프레임(key frame) 단위로 저장하는 저장부; 및 상기 저장된 키 프레임 간 정지 자세를 보간(interpolation) 기법에 따라 연결한 로봇의 모션 유닛을 동영상으로 표시하는 로봇 모션 뷰어를 포함하는, 로봇 모션 편집 및 재생 장치가 제공된다.
상기 저장부는, 상기 로봇을 구성하는 복수의 컴포넌트 사이의 관절에 할당된 아이디를 더 저장하고, 상기 로봇 모션 뷰어는, 상기 로봇의 정지 자세를 편집하기 위해, 상기 로봇의 3D 이미지와 함께 상기 관절에 할당된 아이디를 표시할 수 있다.
상기 로봇 모션 뷰어는, 상기 로봇을 구성하는 복수의 컴포넌트 사이의 관절 중 적어도 하나가 선택되면, 상기 선택된 관절의 각도를 편집하기 위한 각도 변경 인터페이스를 더 표시하고, 상기 저장부는, 상기 각도 변경 인터페이스를 통해 입력되는 각도값으로 관절이 편집된 컴포넌트를 포함하는 상기 로봇의 정지 자세를 저장할 수 있다.
상기 로봇 모션 뷰어는, 상기 로봇의 정지 자세를 시간 별로 등록하기 위한 타임라인(timeline) 인터페이스를 더 표시하고, 상기 저장부는, 상기 타임라인 인터페이스를 통해 입력되는 시각에 따라, 상기 로봇의 정지 자세를 키 프레임으로 저장할 수 있다.
상기 로봇 모션 뷰어는, 상기 로봇을 구성하는 복수의 컴포넌트 사이의 관절 중 적어도 하나에 대한 유연성 및 상기 로봇의 관성력을 편집하기 위한 모션 유닛 파라미터 인터페이스를 더 표시하고, 상기 모션 유닛 파라미터 인터페이스를 통해 입력되는 모션 유닛 파라미터를 이용하여, 상기 모션 유닛을 동영상으로 표시할 수 있다.
상기 로봇 모션 뷰어는, 상기 모션 유닛을 순서대로 등록하기 위한 플로우 차트 인터페이스를 더 표시하고, 상기 플로우 차트 인터페이스를 통해 입력되는 순서에 따라 상기 모션 유닛을 연결한 모션을 동영상으로 표시할 수 있다.
상기 로봇 모션 뷰어는, 상기 모션 유닛에 대한 재생 속도, 반복 횟수 및 호출 가능 여부를 편집하기 위한 모션 파라미터 인터페이스를 더 표시하고, 상기 모션 파라미터 인터페이스를 통해 입력되는 모션 파라미터를 이용하여, 상기 모션을 동영상으로 표시할 수 있다.
상기 저장부는, 상기 플로우 차트 인터페이스를 통해 입력된 상기 모션 유닛과 연결되는 무게 중심이 안정 상태(stable state)인 종료 모션 유닛을 저장하고, 상기 로봇 모션 뷰어는, 상기 모션의 동영상 표시 중 종료 명령이 입력되면, 상기 종료 모션 유닛을 연결하여 표시할 수 있다.
상기 로봇의 3D 이미지 파일은, 상기 로봇 모션 뷰어에 의해 실행되는 모션 유닛 편집 프로그램에서 기본적으로 제공하는 파일 및 상기 사용자 조작에 의해 로봇 조립 프로그램을 통해 편집되어 저장된 파일 중 적어도 하나를 포함할 수 있다.
상기 저장부는, 상기 정지 자세를 라이브러리 방식으로 참조하여, 상기 정지 자세를 연결한 모션 유닛을 저장하고, 상기 모션 유닛을 라이브러리 방식으로 참조하여, 상기 모션 유닛을 연결한 모션을 저장할 수 있다.
상기 저장부는, 상기 모션 유닛을 연결한 모션에 대하여, 목적에 따라 그룹화한 모션 그룹을 하나의 모션 프로젝트 파일에 저장할 수 있다.
한편, 본 발명의 다른 실시예에 따르면, 로봇의 3D 이미지 파일과, 사용자 입력에 의해 편집된 시간별 상기 로봇의 정지 자세를 키 프레임(key frame) 단위로 저장하는 단계; 및 상기 저장된 키 프레임 간 정지 자세를 보간(interpolation) 기법에 따라 연결한 로봇의 모션 유닛을 동영상으로 표시하는 단계를 포함하는, 로봇 모션 편집 및 재생 방법이 제공된다.
본 발명의 또 다른 실시예에 따르면, 상기 로봇 모션 편집 및 재생 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 제공된다.
본 발명의 일 실시예에 따르면, 타임라인 기반의 애니메이션 편집 기술을 로봇의 모션 편집에 차용할 수 있으므로, 종래보다 직관적인 모션 편집 환경을 제공하여 비전문가도 직관적으로 로봇의 모션을 편집할 수 있으므로, 사용자 편의성이 증대될 수 있다.
또한, 본 발명의 일 실시예에 따르면, 로봇의 모션 편집 시, 실제 로봇 모델을 직접 구동하지 않아도, 화면창에 표시되는 로봇의 모션을 통해, 그 결과를 미리 확인할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 로봇의 무게 중심의 안정 상태인 종료 모션 유닛을 저장하여, 종료 시 종료 모션 유닛을 연결하여 표시하기 때문에 로봇 모션 실행 시 종료에 대한 사고를 방지할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 로봇의 모션을 저장하여 관리하므로, 로봇의 모션에 대한 재사용률이 증가하며, 로봇의 모션에 대한 유지 관리가 용이할 수 있다.
본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시예에 따른 로봇 모션 편집 및 재생 장치의 구성을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 로봇을 선택하는 화면창을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 관절을 선택하는 화면창을 도시한 도면이다.
도 4a는 본 발명의 일 실시예에 따른 사용자 입력에 의해 편집된 로봇의 제 1 정지 자세를 표시하는 화면창을 도시한 도면이다.
도 4b는 본 발명의 일 실시예에 따른 사용자 입력에 의해 편집된 로봇의 제 2 정지 자세를 표시하는 화면창을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 모션 유닛 파라미터 인터페이스를 표시하는 화면창에 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 모션을 편집하기 위한 화면창을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 모션 파라미터 인터페이스를 표시하는 화면창에 도시한 도면이다.
이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시예로 한정되는 것은 아니다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명의 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 로봇 모션 편집 및 재생 장치의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 로봇 모션 편집 및 재생 장치(100)는 저장부(110) 및 로봇 모션 뷰어(120)를 포함할 수 있다.
저장부(110)는 프로그램 메모리, 데이터 메모리 등을 포함하는 로봇 모션 편집 및 재생 장치(100)의 메모리로 구성될 수 있다.
프로그램 메모리에는 로봇 모션 뷰어(120)에 의해 실행되는 실행 프로그램들이 저장될 수 있다. 예를 들어, 저장부(110)는 로봇의 3D 이미지를 편집할 수 있는 로봇 조립 프로그램, 로봇의 모션 유닛을 편집할 수 있는 모션 유닛 편집 프로그램, 모션 유닛을 연결한 모션을 편집할 수 있는 모션 편집 프로그램 등을 메모리에 저장할 수 있다.
데이터 메모리에는 프로그램 메모리에 저장된 프로그램들이 로봇 모션 뷰어(120)에 의해 실행되는 도중에 발생하는 데이터들이 저장될 수 있다. 예를 들어, 저장부(110)는 로봇 조립 프로그램을 통해 생성된 로봇의 3D 이미지를 저장할 수 있고, 모션 유닛 편집 프로그램을 통해 생성된 모션 유닛 등을 저장할 수 있으며, 모션 편집 프로그램을 통해 생성된 모션 등을 저장할 수 있다.
저장부(110)는 로봇의 다양한 구성 요소에 대한 3D 이미지 파일을 저장할 수 있다. 즉, 저장부(110)는 로봇을 구성하는 컴포넌트 각각의 3D 이미지 파일을 저장할 수 있으며, 복수의 컴포넌트로 구성된 로봇의 일부분 또는 로봇의 전체에 대한 3D 이미지 파일을 저장할 수 있다. 이 때, 저장부(110)는 로봇을 구성하는 복수의 컴포넌트 각각의 3D 이미지와 함께, 컴포넌트 사이의 관절에 할당된 아이디를 저장할 수 있다.
저장부(110)는 로봇을 구성하는 복수의 컴포넌트 사이의 관절에 대한 각도값을 저장할 수 있으며, 해당 각도값으로 관절이 편집된 컴포넌트로 구성되는 로봇의 정지 자세를 저장할 수 있다. 이 때, 관절의 각도가 어느 정도 변경하는지에 대한 설정이 후술할 로봇 모션 뷰어(120)에서 제공하는 각도 변경 인터페이스를 통해 편집될 수 있다.
저장부(110)는 시간별 로봇의 정지 자세를 키 프레임(key frame) 단위로 저장할 수 있다. 여기서, 키 프레임은 로봇의 모션 유닛에서 중요한 움직임과 위치 등을 표시하는 프레임으로, 예를 들어, 로봇의 모션 유닛이 앉아있다가 일어서는 모션 유닛인 경우, 앉아있는 로봇의 움직임과 위치, 일어서있는 로봇의 움직임과 위치는 각각 키 프레임일 수 있다. 즉, 저장부(110)는 로봇의 모션 유닛 중 특정 시각의 로봇의 정지 자세(예를 들면, 로봇이 앉아있는 상태의 정지 자세, 로봇이 일어서있는 상태의 정지 자세 등)를 키 프레임 단위로 저장할 수 있으며, 키 프레임 단위로 저장되는 로봇의 정지 자세는 로봇을 구성하는 복수의 컴포넌트 사이의 관절에 대한 각도값을 변경하여 편집될 수 있다. 이 때, 로봇의 정지 자세가 어느 시각에 표시되는지에 대한 설정이 후술할 로봇 모션 뷰어(120)에서 제공하는 타임라인(timeline) 인터페이스를 통해 편집될 수 있다.
저장부(110)는 로봇의 정지 자세를 보간(interpolation) 기법에 따라 연결한 로봇의 모션 유닛을 저장할 수 있다. 여기서, 보간 기법은 키 프레임 단위로 저장부(110)에 저장된 각 로봇의 정지 자세를 시간 경과에 따라 부드럽고 자연스럽게 연결해주는 방식일 수 있다. 예를 들어, 저장부(110)는 0초 시각에 로봇이 앉아있는 상태인 제 1 정지 자세, 1초 시각에 로봇이 일어서있는 상태인 제 2 정지 자세를 저장할 수 있으며, 제 1 정지 자세와 제 2 정지 자세가 보간 기법에 따라 연결된 로봇의 모션 유닛, 즉, 0초부터 시작하여 1초까지 시간이 경과하면서 앉아있는 로봇이 자연스럽게 일어나는 로봇의 모션 유닛을 저장할 수 있다. 이 때, 로봇의 모션 유닛은 후술할 로봇 모션 뷰어(120)에 의해 생성될 수 있으며, 동영상으로 화면창에 표시될 수 있다.
저장부(110)는 로봇을 구성하는 복수의 컴포넌트 사이의 관절에 각각 설정된 유연성 및 로봇의 관성력 중 적어도 하나를 포함하는 모션 유닛 파라미터를 저장할 수 있다. 여기서, 모션 유닛 파라미터는 사용자 입력에 의해 편집될 수 있으며, 컴포넌트 사이의 관절이 변경하는 모션 유닛의 동작에 대한 유연성 수준을 어느 정도 할 것인지, 해당 동작의 시작과 끝의 속도 가감 수준인 관성력을 어느 정도 할 것인지에 대한 설정이 후술할 로봇 모션 뷰어(120)에서 제공하는 모션 유닛 파라미터 인터페이스를 통해 편집될 수 있다.
저장부(110)는 로봇의 모션 유닛을 순서에 따라 연결한 모션을 저장할 수 있다. 이 때, 모션 유닛의 순서에 대한 설정이 후술할 로봇 모션 뷰어(120)에서 제공하는 플로우 차트 인터페이스를 통해 편집될 수 있다.
저장부(110)는 로봇의 모션 유닛에 대한 반복 횟수, 재생 속도 및 호출 가능 여부 중 적어도 하나를 포함하는 모션 파라미터를 저장할 수 있다. 여기서, 모션 파라미터는 사용자 입력에 의해 편집될 수 있으며, 로봇의 모션 유닛을 몇 번 반복시키고, 재생속도를 어느 정도 빠르게 하며, 해당 모션 유닛부터 재생할 것인지에 대한 설정이 후술할 로봇 모션 뷰어(120)에서 제공하는 모션 파라미터 인터페이스를 통해 편집될 수 있다.
저장부(110)는 모션에 포함된 모션 유닛과 연결되는 종료 모션 유닛을 저장할 수 있다. 여기서, 종료 모션 유닛은 사용자 입력에 의해 편집되어 등록될 수 있고, 로봇 모션 편집 및 재생 장치(100)에 의해 임의적으로 등록될 수도 있다. 또한, 종료 모션 유닛은 로봇의 무게 중심이 안정 상태(stable state)인 자세로 저장될 수 있으며, 예를 들어, 로봇이 두발로 직립해 있는 상태 또는 누워있는 상태의 자세일 수 있다. 여기서, 안정 상태는 로봇의 무게 중심이 어느 방향으로도 기울어지지 않고 평형을 이루고 있어, 로봇이 쓰러지거나 넘어지지 않는 상태를 의미할 수 있다.
즉, 저장부(110)는 로봇의 3D 이미지를 별도로 저장하면서, 해당 로봇을 구성하는 컴포넌트 사이의 관절에 대한 각도값을 포함하는 정지 자세 정보를 저장할 수 있고, 정지 자세들이 연결되는 시간 정보 및 동작 시 적용되는 모션 유닛 파라미터를 포함하는 모션 유닛 정보를 저장할 수 있으며, 모션 유닛들을 연결하는 링크 정보, 동작 시 적용되는 모션 파라미터 및 종료 모션 연결 여부를 포함하는 모션 정보를 저장할 수 있다.
정지 자세 정보, 모션 유닛 정보, 모션 정보가 각각 분리되어 저장되므로, 정지 자세 또는 모션 유닛이 재활용되어 중복해서 사용되는 경우, 정보들이 라이브러리 방식으로 참조하여 사용될 수 있기 때문에 중복되는 정지 자세 또는 모션 유닛을 하나만 저장할 수 있다.
예를 들어, 제 1 정지 자세, 제 2 정지 자세 및 제 3 정지 자세의 메모리 용량이 각각 64바이트(byte)인데, 제 1 정지 자세 및 제 2 정지 자세를 포함하는 제 1 모션 유닛과, 제 1 정지 자세 및 제 3 정지 자세를 포함하는 제 2 모션 유닛을 메모리에 저장하는 경우, 제 1 모션 유닛 및 제 2 모션 유닛의 메모리 용량이 각각 128바이트(byte)이므로, 총 256바이트(byte)의 메모리 용량이 필요하다. 이 때, 저장부(110)는 제 1 정지 자세, 제 2 정지 자세 및 제 3 정지 자세를 저장하고, 제 1 모션 유닛 또는 제 2 모션 유닛이 필요한 경우, 저장된 정지 자세들을 라이브러리 방식으로 참조하여 로딩할 수 있으므로, 제 1 모션 유닛 및 제 2 모션 유닛을 메모리에 저장하는 경우, 제 1 정지 자세, 제 2 정지 자세 및 제 3 정지 자세의 총 메모리 용량인 192바이트(byte)를 이용하여 저장할 수 있다. 모션 유닛을 연결한 모션도 상술한 바와 같이, 모션 유닛 또는 정지 자세들이 중복되면, 중복되는 부분은 하나만 저장될 수 있다.
이와 같이, 본 발명의 일 실시예에 따르면, 모션 유닛에 포함된 정지 자세와 모션에 포함된 모션 유닛의 중복되는 부분은 하나만 저장될 수 있으므로, 메모리 사용이 절감되는 효과가 있다.
로봇 모션 뷰어(120)는 특정 프로그램을 통해 제공되는 화면창에 다양한 정보를 표시할 수 있다. 이 때, 로봇 모션 뷰어(120)는 하나 이상의 화면창을 통해 정보를 표시할 수 있으며, 복수의 화면창을 통해 정보를 표시하는 경우, 화면창을 나누어서 표시하거나 화면창을 중첩하여 표시할 수 있다.
로봇 모션 뷰어(120)는 저장부(110)에 저장된 로봇의 다양한 구성 요소에 대한 3D 이미지 파일을 화면창에 표시할 수 있다. 이 때, 로봇 모션 뷰어(120)는 각각의 구성 요소들의 3D 이미지를 별도로 화면창에 표시할 수 있고, 복수의 구성 요소를 조합한 로봇의 전체 또는 일부의 3D 이미지를 화면창에 표시할 수도 있다.
로봇 모션 뷰어(120)는 로봇의 3D 이미지를 화면창에 표시하면서, 사용자의 조작에 따라 화면 변경 명령(예를 들면, 이동, 확대, 축소 등)이 입력되면, 화면 변경 명령에 따라 변경되는 로봇의 3D 이미지를 화면창에 더 표시할 수 있다.
로봇 모션 뷰어(120)는 로봇을 구성하는 복수의 컴포넌트 각각의 3D 이미지와 함께, 컴포넌트 사이의 관절에 할당된 아이디를 화면창에 표시할 수 있다.
로봇 모션 뷰어(120)는 사용자 입력(예를 들면, 컴포넌트의 3D 이미지 선택, 컴포넌트 사이의 관절에 할당된 아이디 선택 등)에 의해, 복수의 컴포넌트 사이의 관절 중 하나 이상이 선택되면, 선택된 관절의 각도를 편집하기 위한 각도 변경 인터페이스를 제공하여 화면창에 표시할 수 있다. 여기서, 각도 변경 인터페이스는 관절의 각도를 얼마만큼 변경할 것인지 설정하기 위한 유저 인터페이스로, 로봇 모션 뷰어(120)는 각도 변경 인터페이스를 통해 입력되는 각도값으로, 선택된 관절의 각도를 변경하여, 관절의 각도가 변경된 컴포넌트를 포함하여 이루어진 로봇의 3D 이미지를 화면창에 표시할 수 있다.
로봇 모션 뷰어(120)는 로봇의 정지 자세를 시간 별로 등록하기 위한 타임라인(timeline) 인터페이스를 제공하여 화면창에 표시할 수 있다. 여기서, 타임라인 인터페이스는 키 프레임 단위로 로봇의 정지 자세를 시간에 따라 배치하여, 키 프레임 단위로 설정된 로봇의 정지 자세가 해당 시간에 재생될 수 있도록 설정하기 위한 유저 인터페이스로, 저장부(110)는 타임라인 인터페이스를 통해 입력되는 시각에 따라, 로봇의 정지 자세를 키 프레임 단위로 저장할 수 있다.
로봇 모션 뷰어(120)는 키 프레임 간 로봇의 정지 자세를 보간 기법에 따라 연결하여, 로봇의 모션 유닛을 생성하고, 생성한 로봇의 모션 유닛을 동영상으로 화면창에 표시할 수 있다. 이 때, 저장부(110)는 로봇 모션 뷰어(120)에서 생성한 로봇의 모션 유닛을 저장할 수 있다.
예를 들어, 제 1 정지 자세가 각도 변경 인터페이스를 통해 팔 부분 관절의 각도가 변경되어, 로봇이 팔을 올리고 있는 상태이고, 제 2 정지 자세가 로봇이 팔을 내리고 있는 상태인 경우, 로봇 모션 뷰어(120)는 제 1 정지 자세와 제 2 정지 자세를 보간 기법에 따라 연결하여, 팔을 올리고 있는 로봇이 자연스럽게 팔을 내리는 로봇의 모션 유닛을 생성하고, 해당 로봇의 모션 유닛을 동영상으로 화면창에 표시할 수 있다. 여기서, 제 1 정지 자세가 재생되는 시각은 제 2 정지 자세가 재생되는 시각보다 더 빠르며, 예를 들어, 제 1 정지 자세는 시작으로부터 1초 후의 시각에 재생되는 키 프레임이고, 제 2 정지 자세는 시작으로부터 2초 후의 시각에 재생되는 키 프레임일 수 있다.
제 1 정지 자세와 제 2 정지 자세의 연결 시, 로봇 모션 뷰어(120)는 키 프레임 간의 시간 간격에 따라, 로봇의 모션 유닛을 생성할 수 있으며, 키 프레임 간의 시간 간격이 크면, 제 1 정지 자세에서 제 2 정지 자세로 천천히 변경되는 로봇의 모션 유닛을 생성하고, 키 프레임 간의 시간 간격이 작으면, 제 1 정지 자세에서 제 2 정지 자세로 빠르게 변경되는 로봇의 모션 유닛을 생성할 수 있다.
예를 들어, 상술한 바와 같이, 로봇 모션 뷰어(120)는 제 1 정지 자세와 제 2 정지 자세를 보간 기법에 따라 연결하여, 팔을 올리고 있는 로봇이 자연스럽게 팔을 내리는 로봇의 모션 유닛을 생성하는데, 제 1 정지 자세와 제 2 정지 자세의 시간 간격이 2초인 경우, 2초 동안 팔을 내리는 로봇의 모션 유닛을 생성할 수 있고, 제 1 정지 자세와 제 2 정지 자세의 시간 간격이 1초인 경우, 1초 동안 팔을 내리는 로봇의 모션 유닛을 생성할 수 있다. 이에, 2초 동안 팔을 내리는 로봇의 모션 보다 1초 동안 팔을 내리는 로봇의 모션이 더 빠르게 움직여야 하므로, 로봇 모션 뷰어(120)는 정지 자세들의 시간 간격, 즉, 키 프레임 간의 간격에 따라, 로봇의 모션 유닛을 생성하고, 해당 로봇의 모션 유닛을 동영상으로 화면창에 표시할 수 있다.
로봇 모션 뷰어(120)는 로봇의 모션 유닛을 순서에 따라 등록하기 위한 플로우 차트 인터페이스를 제공하여 화면창에 표시할 수 있다. 여기서, 플로우 차트 인터페이스는 로봇의 모션 유닛을 순서에 따라 배치하여, 연속적인 로봇의 모션을 생성하기 위한 유저 인터페이스로, 로봇 모션 뷰어(120)는 플로우 차트 인터페이스를 통해 입력되는 로봇의 모션 유닛에 대한 설정에 따라, 로봇의 모션 유닛을 연결한 모션을 생성하고, 해당 모션을 동영상으로 화면창에 표시할 수 있다.
로봇 모션 뷰어(120)는 종료 모션 유닛을 로봇의 모션 유닛과 연결하여 등록하기 위한 플로우 차트 인터페이스를 제공하여 화면창에 표시할 수 있다. 여기서, 플로우 차트 인터페이스는 로봇의 모션 유닛 별로 종료 모션 유닛을 연결하기 위한 유저 인터페이스로, 로봇 모션 뷰어(120)는 플로우 차트 인터페이스를 통해 입력되는 로봇의 모션 유닛과 연결되는 종료 모션 유닛을 등록하고, 종료 시, 종료 모션 유닛을 표시할 수 있다. 이 때, 종료 모션 유닛은 무게 중심이 안정 상태인 로봇의 모션 유닛일 수 있다.
로봇의 모션이 동영상으로 화면창에 표시되고 있는데, 동영상 표시 중 사용자 조작에 의해 재생 종료 명령이 입력되면, 로봇 모션 뷰어(120)는 동영상의 재생이 멈추는 부분과 종료 모션 유닛을 연결하여, 화면창에 표시할 수 있다.
예를 들어, 로봇 모션 뷰어(120)는 제 1 모션 유닛, 제 2 모션 유닛 및 제 3 모션 유닛을 연결하여, 모션을 생성하고, 모션을 동영상으로 화면창에 표시할 수 있다. 이 때, 제 2 모션 유닛과 연결되는 종료 모션 유닛이 미리 등록되어 있을 수 있다.
로봇 모션 뷰어(120)는 모션을 동영상으로 표시할 때, 제 1 모션 유닛, 제 2 모션 유닛, 제 3 모션 유닛 순으로 표시할 수 있으며, 실제 로봇 모델과 연결되어 있지 않은 경우, 사용자 조작에 의해 일시 정지 명령이 입력되면, 표시되는 동영상의 재생을 일시 정지시킬 수 있다. 이후, 동영상의 재생이 일시 정지인 상태에서, 사용자 조작에 의해 재생 명령이 입력되면, 로봇 모션 뷰어(120)는 일시 정지된 동영상을 정지된 부분부터 다시 재생하여 화면창에 표시할 수 있다.
로봇 모션 뷰어(120)는 제 1 모션 유닛을 표시한 후, 제 2 모션 유닛을 표시하고 있는데, 사용자 조작에 의해 종료 명령이 입력되면, 제 2 모션 유닛과 종료 모션 유닛을 연결하여 종료 모션 유닛을 표시할 수 있다. 이 때, 로봇 모션 뷰어(120)는 제 2 모션 유닛과 종료 모션 유닛을 보간 기법에 따라 연결하여, 동영상이 정지한 부분부터 종료 모션 유닛을 자연스럽게 움직이도록 화면창에 표시할 수 있다. 이는, 사용자의 요청에 의해 모션의 재생을 종료하는 경우, 안정 상태인 종료 모션 유닛을 표시하여 로봇이 넘어지지 않게 정리 동작을 실행하면서, 모션의 재생을 종료하기 위한 것이다.
본 발명의 일 실시예에 따르면, 로봇 모션 뷰어(120)는 제 1 모션 유닛을 표시한 후, 제 2 모션 유닛을 표시하고 있는데, 사용자 조작에 의해 강제 종료 명령이 입력되면, 제 2 모션 유닛과 연결된 종로 모션 유닛이 등록되어 있더라도 종료 모션 유닛을 표시하지 않고, 제 2 모션 유닛만 표시한 후 모션의 재생을 종료할 수 있다.
즉, 로봇 모션 뷰어(120)는 종료 명령에 의해 모션 유닛을 표시한 후, 해당 모션 유닛과 연결된 종료 모션 유닛을 표시하여 모션의 재생을 종료할 수 있고, 강제 종료 명령에 의해 모션 유닛만을 표시하여 모션의 재생을 종료할 수도 있다.
로봇 모션 뷰어(120)는 반복 횟수, 재생 속도 및 호출 가능 여부 중 적어도 하나를 포함하는 모션 파라미터를 이용하여 로봇의 모션 유닛에 대한 연속 동작을 연결하여 모션을 생성할 수 있고, 모션을 동영상으로 화면창에 표시할 수 있다. 이와 관련하여, 도 6을 참조하여 후술하기로 한다.
도 2는 본 발명의 일 실시예에 따른 로봇을 선택하는 화면창을 도시한 도면이다.
저장부(110)는 로봇의 3D 이미지를 편집할 수 있는 로봇 조립 프로그램 또는 로봇의 모션 유닛을 편집할 수 있는 모션 유닛 편집 프로그램에서 기본적으로 제공하는 로봇 모델에 대한 정보를 저장할 수 있다.
본 발명에 일 실시예에 따르면, 로봇 모션 뷰어(120)는 모션 유닛 편집 프로그램을 실행하여, 기본 로봇 모델을 선택하기 위한 인터페이스를 제공할 수 있다. 이 때, 로봇 모션 뷰어(120)는 도 2에 도시된 바와 같이, 저장부(110)에 저장된 로봇 모델의 리스트를 제공할 수 있다. 즉, 로봇 조립 프로그램 또는 모션 유닛 편집 프로그램 배포 시 기본적으로 제공되는 로봇 모델이 선택될 수 있다.
상술한 기본 로봇 모델 이외에, 사용자가 직접 생성한 로봇 모델이 선택될 수 있으며, 로봇 모델에 대한 정보는 로봇 조립 프로그램을 통해 생성되어 로봇 모션 편집 및 재생 장치(100)의 메모리 또는 외부 기기의 메모리에 저장될 수 있다. 이 때, 로봇 조립 프로그램을 통해 사용자에 의해 생성된 로봇 모델이 선택되는 경우, 로봇 모션 편집 및 재생 장치(100)의 메모리에 저장된 로봇 모델에 대한 정보가 모션 유닛 편집 프로그램에 로딩될 수 있고, 로봇 모션 편집 및 재생 장치(100)와 연결된 외부 기기의 메모리에 저장된 로봇 모델에 대한 정보가 모션 유닛 편집 프로그램에 로딩될 수도 있다.
로봇 모션 뷰어(120)는 로봇의 전체적인 구성 이외에, 로봇의 일부분인, 예를 들면, 컴포넌트 사이의 관절을 선택하기 위한 인터페이스를 화면창에 표시할 수 있다.
도 3에 도시된 바와 같이, 로봇 모션 뷰어(120)는 관절에 할당된 아이디, 모터 종류를 선택하기 위한 인터페이스를 화면창에 표시하여, 선택된 관절을 편집할 수 있도록 할 수 있다. 즉, 사용자는 모션 유닛 편집 프로그램을 통해 전체적인 로봇의 동작을 제어할 수 있고, 로봇을 구성하는 컴포넌트 사이의 관절에 사용된 액추에이터의 동작만을 제어할 수도 있다.
도 4a는 본 발명의 일 실시예에 따른 사용자 입력에 의해 편집된 로봇의 제 1 정지 자세를 표시하는 화면창을 도시한 도면이고, 도 4b는 사용자 입력에 의해 편집된 로봇의 제 2 정지 자세를 표시하는 화면창을 도시한 도면이다.
이하에서는, 로봇의 모션 유닛을 편집하는 과정 순으로 설명하지만, 해당 과정들의 순서는 변경될 수 있음은 물론이다.
먼저, 저장부(110)는 로봇의 3D 이미지 파일을 저장할 수 있다. 여기서, 로봇의 3D 이미지 파일은 로봇 모션 뷰어(120)에 의해 실행되는 모션 유닛 편집 프로그램에서 기본적으로 제공하는 파일일 수 있고, 사용자에 의해 로봇 조립 프로그램을 통해 편집되어 로봇 모션 편집 및 재생 장치(100) 또는 외부 장치의 메모리에 저장된 파일일 수도 있다.
로봇 모션 뷰어(120)는 로봇의 3D 이미지에 대한 섬 네일(thumb nail) 형태의 로봇 리스트를 화면창에 표시할 수 있고, 사용자 입력에 따라 로봇의 리스트 중 어느 하나가 선택되면, 선택된 로봇의 3D 이미지를 화면창에 표시할 수 있다.
저장부(110)는 로봇을 구성하는 컴포넌트 사이의 관절에 할당된 아이디를 저장할 수 있다. 여기서, 관절에 할당된 아이디는 사용자의 조작 명령에 따라 할당될 수 있고, 로봇 모션 편집 및 재생 장치(100)에 의해 임의적으로 할당될 수도 있다
로봇 모션 뷰어(120)는 저장부(110)에 저장된 로봇의 3D 이미지와 로봇을 구성하는 컴포넌트 사이의 관절에 할당된 아이디를 화면창에 표시할 수 있다
도 4a 및 도 4b를 참조하면, 로봇 모션 뷰어(120)는 타임라인 인터페이스(201), 관절 목록(202), 관절 그룹 메뉴(203), 각도 변경 인터페이스(204), 키 프레임 메뉴(205), 재생 메뉴(206), 티칭 메뉴(207) 및 토크 메뉴(208)를 로봇의 3D 이미지와 함께 화면창에 표시할 수 있다.
타임라인 인터페이스(201)는 키 프레임 단위로 로봇의 정지 자세를 시간에 따라 배치하여, 사용자에 의해 편집된 로봇의 정지 자세가 해당 시간에 재생될 수 있도록 설정하기 위한 유저 인터페이스이며, 로봇의 정지 자세를 편집하기 전에, 편집하고자 하는 로봇의 정지 자세의 시간이 타임라인 인터페이스(201)를 통해 미리 배치될 수 있고, 로봇의 정지 자세를 편집한 후에, 편집한 로봇의 정지 자세의 시간이 타임라인 인터페이스(201)를 통해 배치될 수도 있다.
관절 목록(202)은 로봇을 구성하는 컴포넌트 사이의 관절 각각을 선택하기 위한 메뉴로, 관절 목록(202)을 통해 관절이 개별적으로 선택될 수 있다. 관절 선택 시, 관절 목록(202)을 통한 방법 이외에, 로봇의 3D 이미지와 함께 표시된 아이디 중 하나 이상이 사용자의 입력에 의해 직접 선택될 수 있다.
관절 목록(202)은 3D 이미지로 표시되는 로봇의 각 관절에 대한 각도값 및 실제 로봇 모델의 각 관절에 대한 각도값을 포함할 수 있으며, 로봇 모션 뷰어(120)는 관절 목록(202)을 화면창에 표시하여, 사용자에게 3D 로봇과 실제 로봇에 대한 각 관절의 각도를 알려줄 수 있다.
관절 그룹 메뉴(203)는 복수의 관절로 이루어진 관절 그룹을 선택하기 위한 메뉴이다. 이 때, 복수의 관절로 이루어진 그룹은 사용자의 입력에 의해 설정될 수 있다.
예를 들어, 도 4a 및 도 4b에 도시된 바와 같이, 로봇을 구성하는 컴포넌트 사이의 관절에 아이디 1번부터 아이디 16번까지 각각 할당되어 있는데, 관절 그룹 메뉴(203)에 포함된 "새 관절 그룹 만들기" 버튼이 선택된 후, 관절 그룹 이름으로 "오른팔 그룹"이 입력될 수 있다. 이후, 복수의 관절인 아이디 3 번 및 5번 관절이 선택된 후, 확인 버튼이 선택되면, 아이디 3번 및 5번 관절이 "오른팔 그룹", 즉, 관절 그룹으로 설정될 수 있다.
관절 그룹 메뉴(203)를 통해 "오른팔 그룹"이 선택되면, 로봇 모션 뷰어(120)는 "오른팔 그룹"으로 설정된 아이디 3번 및 5번에 해당하는 관절이 선택된 것을 인식하고, 선택된 아이디 3번 및 5번을 다른 아이디와 차별화되는 색으로 표시하는 등의 방법을 통해 강조하여 표시할 수 있다.
관절 그룹 메뉴(203)는 관절 그룹을 편집하기 위한 메뉴인 관절 그룹 편집 메뉴를 포함할 수 있다. 이 때, 관절 그룹 편집 메뉴는 관절 그룹에 포함된 관절들에 대한 가중치값을 설정하기 위한 메뉴이다.
예를 들어, 아이디 11번, 13번 및 15번 관절이 "오른쪽 다리 그룹"으로 설정되기 위해 선택될 수 있는데, 이 때, 아이디 11번, 13번 및 15번 관절이 위치 별로 변경될 수 있는 각도의 범위가 상이하므로, 관절 그룹 편집 메뉴를 통해 관절 별로 가중치값이 설정되어, 로봇의 오른쪽 다리에 대한 움직임, 즉 관절의 변경에 따른 동작에 방해 받지 않도록 할 수 있다.
각도 변경 인터페이스(204)는 관절 목록(202)을 통해 선택된 각각의 관절에 대한 각도를 얼마만큼 변경할 것인지 설정하기 위한 유저 인터페이스로, 로봇 모션 뷰어(120)는 각도 변경 인터페이스(204)를 통해 입력되는 각도값으로, 선택된 관절의 각도를 변경하여, 해당 각도값으로 관절이 변경된 컴포넌트를 포함하여 이루어진 로봇의 3D 이미지를 화면창에 표시할 수 있다.
예를 들어, 관절 목록(202)을 통해 아이디 3번이 선택되고, 각도 변경 인터페이스(204)를 통해 90도 각도값이 입력되면, 로봇 모션 뷰어(120)는 아이디 3번에 해당하는 관절의 각도를 90도로 변경하여, 90도로 관절이 변경된 컴포넌트를 포함하는 로봇의 3D 이미지를 화면창에 표시할 수 있다.
관절 목록(202) 또는 관절에 할당된 아이디를 통한 관절 선택 시, 관절 선택을 위한 입력 방식에 따라, 움직이는 방향이 설정될 수 있다.
본 발명의 일 실시예에 따르면, 사용자 입력을 통해 마우스 왼쪽 버튼이 클릭되어 관절이 선택되면, 선택된 관절은 시계반대방향(CCW : Counter Clock Wise), 즉, (+) 방향으로 움직이게 설정될 수 있고, 마우스 오른쪽 버튼이 클릭되어 관절이 선택되면, 선택된 관절은 시계방향(CW : Clock Wise), 즉, (-) 방향으로 움직이게 설정될 수 있다.
예를 들어, 아이디 3번 관절이 마우스 왼쪽 클릭으로 선택되고, 아이디 4번 관절이 마우스 오른쪽 클릭으로 선택된 후, 각도 변경 인터페이스(204)를 통해 45도 각도값이 입력되면, 아이디 3번 관절의 각도값은 정방향인 +45도로 변경되고, 아이디 5번 관절의 각도값은 역방향인 -45도로 변경되어, 해당 각도값에 따라 관절이 움직이는 방향이 설정될 수 있다.
각도 변경 인터페이스(204)는 관절 목록(202)을 통해 선택된 다수의 관절 또는 관절 그룹 메뉴(203)를 통해 선택된 관절 그룹의 각도값을 동일하게 변경하기 위한 차이 조정 탭을 포함할 수 있다. 여기서, 차이 조정 탭은 더하기 또는 빼기 선택을 위한 버튼, 변경되는 단위값을 설정하기 위한 버튼을 포함할 수 있다. 이 때, 단위값(예를 들면, 0.1, 1, 10 등)이 설정된 후, 더하기 또는 빼기 선택을 위한 버튼이 선택되면, 각 관절의 각도값에서 단위값을 더하거나 뺄 수 있다.
예를 들어, 아이디 3번 관절이 마우스 왼쪽 클릭으로 선택되고, 각도 변경 인터페이스(204)를 통해 20도 각도값이 입력되어 아이디 3번 관절의 각도값은 +20도이고, 아이디 4번 관절이 마우스 오른쪽 클릭으로 선택되고, 각도 변경 인터페이스(204)를 통해 30도 각도값이 입력되어 아이디 4번 관절의 각도값은 -30도 일 수 있다. 이 때, 차이 조정 탭을 통해 단위값이 1도로 설정되고, 빼기 선택을 위한 버튼(CW 버튼)이 한 번 선택되면, 아이디 3번 관절의 각도값은 20도에서 1도를 차감하여 19도로 변경될 수 있고, 아이디 4번 관절의 각도값은 -30도에서 1도를 부가하여 -29도로 변경될 수 있다.
본 발명의 일 실시예에 따르면, 관절 그룹 메뉴(203)에 포함된 "새 관절 그룹 만들기" 버튼이 선택된 후, 관절 그룹 이름으로 "양팔 그룹"이 입력된 후, 확인 버튼이 선택될 수 있다.
이후, 관절 그룹 메뉴(203)에 포함된 관절 그룹 편집 메뉴를 통해 아이디 1번, 3번 및 5번 관절이 마우스 왼쪽 클릭으로 선택되고, 아이디 2번, 4번 및 6번 관절이 마우스 오른쪽 클릭으로 선택될 수 있으며, 가중치값으로 'x 1.0'이 입력될 수 있다. 이 때, 마우스 왼쪽 클릭 선택 시 정방향이 적용되어, 1번, 3번 및 5번 관절에 대한 가중치값으로 'x 1.0'이 설정될 수 있으며, 마우스 오른쪽 클릭 선택 시 반대방향이 적용되어, 2번, 4번 및 6번 관절에 대한 가중치값으로 'x -1.0'이 설정될 수 있다.
가중치값 입력 후, 확인 버튼이 선택되면, 관절 그룹 메뉴(203)에 포함된 관절 그룹 목록창에 "양팔 그룹"이 추가될 수 있으며, "양팔 그룹"이 선택되면, 로봇 모션 뷰어(120)는 로봇의 3D 이미지와 함께 표시되는 아이디 중 1번, 3번 및 5번 아이디를 다른 아이디와 차별화되는 색(예를 들면, 파란색)으로 표시하고, 아이디 2번, 4번 및 6번 아이디를 다른 아이디와 차별화되는 다른 색(예를 들면, 빨간색)으로 표시할 수 있다.
이후, 각도 변경 인터페이스(204)에 포함된 차이 조정 탭을 통해 각도값이 변경되면, 왼쪽 팔에 해당하는 아이디 1번, 3번 및 5번 관절에 대한 가중치값과 오른쪽 팔에 해당하는 아이디 2번, 4번 및 6번 관절에 대한 가중치값이 정반대의 동일한 값으로 설정되어 있으므로, 양팔이 대칭되는 자세가 되도록 각도값이 변경될 수 있다.
즉, 관절 그룹 메뉴(203)를 통해 복수의 관절에 대한 방향성 및 가중치값이 함께 설정될 수 있으며, 차이 조정 탭을 통해 복수의 관절 각각에 대한 각도값이 방향성 및 가중치값에 따라 변경될 수 있다.
관절 그룹 메뉴(203)를 통해 설정된 관절 그룹 중 일부분만 선택되어 가중치값이 다르게 설정되는 경우, 예를 들어, "양팔 그룹"에서 아이디 5번 및 6번 관절만 선택되어 가중치값으로 'x 2.0'이 설정되었으면, 차이 조정 탭을 통해 변경되는 아이디 5번 및 6번 관절의 각도값이 아이디 1번, 2번, 3번 및 4번 관절의 각도값과 상이할 수 있다. 즉, 관절 그룹 내에서 전체 또는 일부에 대하여 가중치를 설정할 수 있으며, 차이 조정 탭을 통해 각도값 변경 시 설정된 가중치가 적용될 수 있다.
각도 변경 인터페이스(204)는 관절의 각도값을 대칭되는 값으로 변경하기 위한 좌우대칭 버튼, 상하대칭 버튼 및 원점대칭 버튼을 더 포함할 수 있다. 예를 들어, 오른쪽 팔에 해당하는 아이디 3번 및 5번 관절의 각도값을 왼쪽 팔에 해당하는 아이디 4번 및 6번 관절의 각도값으로 동일하게 입력하면, 오른쪽 팔의 자세와 왼쪽 팔의 자세가 좌우 구분 없이 같아지는 문제(예를 들면, 오른쪽 팔이 안쪽으로 접힌 자세와 대응하여 왼쪽 팔이 바깥쪽으로 접힌 부자연스러운 자세)가 발생할 수 있다. 이 때, 왼쪽 팔에 해당하는 아이디 4번 및 6번 관절 선택 후, 좌우대칭 버튼이 선택되면, 오른쪽 팔과 왼쪽 팔이 대칭되는 자연스러운 자세가 되도록 각도값이 변경될 수 있다.
상술한 바와 같이 컴포넌트 사이의 관절 각도가 변경되어, 로봇 모션 뷰어(120)는 도 4a에 도시된 바와 같이 양팔을 올리고 있는 상태인 로봇의 제 1 정지 자세를 화면창에 표시할 수 있고, 도 4b에 도시된 바와 같이 양팔을 내리고 있는 상태인 로봇의 제 2 정지 자세를 화면창에 표시할 수 있다.
키 프레임 메뉴(205)는 사용자에 의해 편집된 로봇의 정지 자세를 삽입 또는 삭제하기 위한 메뉴로, 키 프레임 메뉴(205) 중 삽입 메뉴가 선택되면, 저장부(110)는 사용자에 의해 편집된 로봇의 정지 자세를 타임라인 인터페이스(201)를 통해 배치된 시간에 따라 키 프레임 단위로 저장할 수 있고, 키 프레임 메뉴(205) 중 삭제 메뉴가 선택되면, 저장부(110)는 키 프레임 단위로 저장된 로봇의 정지 자세를 삭제할 수 있다.
즉, 저장부(110)는 도 4a에 도시된 바와 같이 양팔을 올리고 있는 상태인 로봇의 제 1 정지 자세를 타임라인 인터페이스(201)를 통해 배치된 0.2초 시각의 키 프레임 단위로 저장하고, 도 4b에 도시된 바와 같이 양팔을 내리고 있는 상태인 로봇의 제 2 정지 자세를 타임라인 인터페이스(201)를 통해 배치된 0.4초 시각의 키 프레임 단위로 저장할 수 있다. 이 때, 사용자 입력에 의해, 제 1 정지 자세 또는 제 2 정지 자세의 로봇을 구성하는 컴포넌트 사이의 관절이 각도 변경 인터페이스(204)를 통해 변경될 수 있으며, 타임라인 인터페이스(201)를 통해 배치된 시간도 변경될 수 있다. 여기서, 0.2초 시각 및 0.4초 시각은 로봇 모션이 0초를 시작으로 재생된다고 가정하였을 시, 재생 시작 시각(0초)으로부터 해당 시각만큼 경과된 순간을 의미한다.
로봇 모션 뷰어(120)는 로봇을 구성하는 복수의 컴포넌트 사이의 관절 중 적어도 하나에 대한 유연성 및 로봇의 관성력을 편집하기 위한 모션 유닛 파라미터 인터페이스를 화면창에 표시할 수 있다. 즉, 도 5에 도시된 바와 같이, 로봇 모션 뷰어(120)는 컴포넌트 사이의 관절 별로 유연성 단계를 편집할 수 있고, 로봇의 관성력 단계를 편집할 수 있는 모션 유닛 파라미터 인터페이스를 화면창에 표시할 수 있다.
재생 메뉴(206)는 저장부(110)에 저장된 제 1 정지 자세 및 제 2 정지 자세를 보간 기법에 따라 연결하여, 로봇의 모션 유닛을 동영상으로 표시하기 위한 메뉴로, 재생 메뉴(206)가 선택되면, 로봇 모션 뷰어(120)는 0초(시작점)에 양 팔을 벌리고 있는 로봇의 서있는 자세, 시작점으로부터 0.2초 후에 양팔을 올리고 있는 상태인 로봇의 제 1 정지 자세, 시작점으로부터 0.4초 후에 양팔을 내리고 있는 상태인 로봇의 제 2 정지 자세를 연결하여, 시간에 따라 자연스럽게 로봇이 움직이는 로봇의 모션을 생성하고, 로봇의 모션을 동영상으로 화면창에 표시할 수 있다. 이 때, 로봇 모션 뷰어(120)는 상술한 모션 유닛 파라미터를 더 적용하여 로봇의 모션 유닛을 생성할 수 있다.
로봇 모션 뷰어(120)는 로봇의 모션 유닛을 동영상으로 화면창에 표시한 후, 종료 시 미리 등록된 안정적인 로봇의 준비 자세로 변경하여 화면창에 표시할 수 있다.
로봇 모션 뷰어(120)는 에뮬레이터 기능이 활성화되면, 실물 로봇과 유사하게 로봇의 모션 유닛을 동영상으로 화면창에 표시할 수 있다. 예를 들어, 실물 로봇은 두 발 중 적어도 하나의 발이 땅에 붙어 있어야 하므로, 로봇 모션 뷰어(120)는 이를 고려하여 로봇의 모션 유닛을 동영상으로 화면창에 표시할 수 있다.
로봇 모션 뷰어(120)는 타임라인 인터페이스(201)를 통해 특정 시각이 선택되면, 로봇의 모션 유닛 중 특정 시각에 해당하는 정지 자세를 화면창에 표시할 수 있다. 예를 들어, 타임라인 인터페이스(201)를 통해 0.3초 시각이 선택되면, 로봇 모션 뷰어(120)는 시작으로부터 0.2초 후에 해당하는 제 1 정지 자세에서 0.4초 후에 해당하는 제 2 정지 자세로 변경되는 과정 중 0.3초 시각 후에 해당하는 45도 양팔을 올리고 있는 상태인 로봇의 정지 자세를 화면창에 표시할 수 있다.
티칭 메뉴(207)는 화면창에 표시된 로봇의 정지 자세와 로봇 모션 편집 및 재생 장치(100)와 연결된 실제 로봇 모델을 동기화하기 위한 메뉴로, 이를 통해, 사용자에 의해 편집된 로봇의 정지 자세를 실제 로봇 모델에 적용할 수 있고, 실제 로봇 모델의 자세 정보를 획득하여, 화면창에 표시된 로봇의 정지 자세가 실제 로봇 모델의 자세로 변경될 수 있다. 이 때, 실제 로봇 모델과 화면창에 표시된 로봇의 자세가 차이가 있으면, 로봇 모션 편집 및 재생 장치(100)는 차이나는 각도를 보상하여 동기화시킬 수 있다. 예를 들어, 로봇 모션 편집 및 재생 장치(100)는 실제 로봇 모델이 마모, 손상 등에 의해 한 쪽 다리의 자세가 틀어진 경우, 이를 보정하여, 화면창에 표시된 로봇과 실제 로봇 모델을 동기화시킬 수 있다.
토크 메뉴(208)는 동기화된 실제 로봇 모델을 제어하기 위한 메뉴로, 토크 메뉴(208)를 통해 토크 비활성화가 선택되면, 실제 로봇 모델의 관절에 힘이 빠져 관절이 임의적으로 변경될 수 있지만, 토크 활성화가 선택되면, 실제 로봇 모델의 관절에 힘이 들어가서 해당 관절을 고정하여, 관절의 각도를 유지할 수 있다.
예를 들어, 어깨 부분의 관절을 토크 비활성화하여, 실제 로봇 모델의 어깨 부분의 관절에 대한 변경으로 팔을 올리고 있는 자세로 변경한 후, 어깨 부분의 관절을 토크 활성화하여, 팔을 올리고 있는 자세가 변경되지 않도록 실제 로봇 모델의 어깨 부분의 관절을 고정할 수 있다. 이 때, 로봇 모션 편집 및 재생 장치(100)는 고정된 관절의 각도값을 포함하는 로봇의 자세에 대한 정보를 획득할 수 있다.
이와 같이, 본 발명의 일 실시예에 따르면, 타임라인 기반의 애니메이션 편집 기술을 로봇의 모션 유닛 편집에 차용할 수 있으므로, 종래보다 직관적인 모션 유닛 편집 환경을 제공하여 비전문가도 직관적으로 로봇의 모션 유닛을 편집할 수 있으므로, 사용자 편의성이 증대될 수 있다.
또한, 본 발명의 일 실시예에 따르면, 로봇의 모션 유닛 편집 시, 실제 로봇 모델을 직접 구동하지 않아도, 화면창에 표시되는 로봇의 모션 유닛을 통해, 그 결과를 미리 확인할 수 있다.
도 6은 본 발명의 일 실시예에 따른 모션을 편집하기 위한 화면창을 도시한 도면이다.
먼저, 저장부(110)는 모션 유닛 편집 프로그램을 통해 생성된 로봇의 모션 유닛을 저장할 수 있는데, 이 때, 저장부(110)는 메모리의 물리적 공간을 넘지 않는 선에서 많은 로봇의 모션 유닛을 저장할 수 있고, 로봇의 모션 유닛 중 사용자에 의해 선택된 모션 유닛만 별도로 저장할 수도 있다.
로봇 모션 뷰어(120)는 모션 편집 프로그램을 실행하여, 모션 유닛 편집 프로그램을 통해 생성되어 저장부(110)에 저장된 로봇의 모션 유닛을 로딩할 수 있다.
도 6을 참조하면, 로봇 모션 뷰어(120)는 플로우 차트 인터페이스(301), 링크 메뉴(302) 및 재생 메뉴(206)를 화면창에 표시할 수 있다. 플로우 차트 인터페이스(301)는 로봇의 모션 유닛을 순서에 따라 배치하여, 연속적인 로봇의 모션을 생성하기 위한 유저 인터페이스이며, 모션 파라미터가 설정된 로봇의 모션 유닛이 플로우 차트 인터페이스(301)를 통해 배치될 수 있다.
이 때, 모션 파라미터는 모션 파라미터 인터페이스를 통해 입력될 수 있으며, 로봇 모션 뷰어(120)는 도 7에 도시된 바와 같이, 모션 파라미터 인터페이스를 화면창에 표시할 수 있다. 모션 파라미터 인터페이스는 로봇의 모션 유닛에 대한 반복 횟수, 재생 속도 및 호출 가능 여부를 포함하는 모션 파라미터를 설정하기 위한 유저 인터페이스로, 모션 유닛 별로 모션 파라미터가 설정될 수 있다.
로봇의 모션 유닛이 플로우 차트 인터페이스(301)를 통해 배치된 후, 드래그 앤 드롭(drag and drop) 방식 등을 통하여, 배치된 모션 유닛의 순서가 변경될 수 있으며, 로봇 모션 뷰어(120)는 변경된 로봇의 모션 유닛에 대한 배치에 따라, 새로 모션 유닛들을 연결하여 모션을 생성할 수 있다.
링크 메뉴(302)는 모션 파라미터가 설정된 로봇의 모션 유닛을 삽입 또는 삭제하기 위한 메뉴로, 링크 메뉴(302) 중 삽입 메뉴가 선택되면, 로봇 모션 뷰어(120)는 선택된 로봇의 모션 유닛을 모션에 포함시켜 연결할 수 있고, 링크 메뉴(302) 중 삭제 메뉴가 선택되면, 로봇 모션 뷰어(120)는 모션에서 선택된 로봇의 모션 유닛을 삭제할 수 있다.
재생 메뉴(206)는 상술한 바와 같이, 로봇의 모션을 동영상으로 표시하기 위한 메뉴로, 재생 메뉴(206)가 선택되면, 로봇 모션 뷰어(120)는 플로우 차트 인터페이스(301)를 통해 입력되는 로봇의 모션 유닛에 대한 배치, 모션 파라미터, 종료 모션 유닛을 이용하여 로봇의 모션 유닛에 대한 연속 동작인 모션을 생성할 수 있으며, 모션을 동영상으로 화면창에 표시할 수 있다.
도 6에 도시된 플로우 차트 인터페이스(301)를 참조하면, 제 1 모션 유닛, 제 2 모션 유닛, 제 3 모션 유닛 순으로 모션 유닛들이 배치되어 있으며, 제 1 모션 유닛에는 재생 속도 1배, 반복 횟수 1회, 처음 순서이므로 호출 가능 여부가 자동으로 호출 가능으로 체크되어 있으며, 제 2 모션 유닛은 재생 속도 2배, 반복 횟수 3회, 호출 가능 여부가 호출 가능으로 체크되어 있으며, 제 3 모션 유닛에는 재생 속도 1회, 반복 횟수 1회, 호출 가능 여부가 호출 불가능으로 체크되어 있지 않다.
로봇 모션 뷰어(120)는 제 1 모션 유닛, 제 2 모션 유닛, 제 3 모션 유닛 순으로 연결하여 모션을 생성할 수 있다.
로봇 모션 뷰어(120)는 생성한 모션을 동영상으로 화면창에 표시할 수 있는데, 이 때, 모션 파라미터를 이용하여, 모션 유닛 별로 재생 속도 및 반복 횟수를 적용할 수 있다. 즉, 로봇 모션 뷰어(120)는 제 1 모션 유닛을1배의 재생 속도로 1회 반복하고, 제 2 모션 유닛을 2배의 재생 속도로 3회 반복하고, 제 3 모션 유닛을 1 배의 재생 속도로 1회 반복하는 동영상을 연결하여 화면창에 표시할 수 있다.
로봇 모션 뷰어(120)는 모션 파라미터에 포함된 호출 가능 여부에 따라, 호출 가능으로 체크된 제 1 모션 유닛 또는 제 2 모션 유닛부터 동영상으로 화면창에 표시할 수 있다. 이 때, 제 2 모션 유닛부터 동영상으로 표시하면, 제 1 모션 유닛은 표시되지 않을 수 있다.
플로우 차트 인터페이스(301)를 참조하면, 제 1 모션 유닛에는 제 1 종료 모션 유닛이 연결되어 있고, 제 2 모션 유닛에는 종료 모션 유닛이 연결되어 있지 않으며, 제 3 모션 유닛에는 제 2 종료 모션 유닛이 연결되어 있다. 여기서, 제 1 종료 모션 유닛 및 제 2 종료 모션 유닛은 종료 시 표시되는 무게 중심이 안정 상태인 모션 유닛일 수 있다.
예를 들어, 로봇 모션 뷰어(120)는 제 1 모션 유닛을 동영상으로 표시하다가, 종료 명령이 입력되면, 제 1 모션 유닛과 연결된 제 1 종료 모션 유닛을 표시할 수 있다.
또한, 로봇 모션 뷰어(120)는 제 2 모션 유닛을 동영상으로 표시하다가, 종료 명령이 입력되면, 제 2 모션 유닛과 연결된 종료 모션 유닛이 없으므로, 제 2 모션 유닛만 표시한 후, 모션의 재생을 종료할 수 있다.
즉, 종료 모션 유닛이 연결되지 않은 모션 유닛을 동영상으로 표시하는 도중에, 종료 명령이 입력되면, 강제 종료 명령에 따라 수행하는 과정과 같이, 해당 모션 유닛만 표시한 후, 모션의 재생을 종료할 수 있다.
상기 도 6을 참조하여 설명한 모션 편집은 모션 편집 프로그램에 의해 수행될 수 있으며, 도 4a및 도 4b를 참조하여 설명한 모션 유닛 편집은 모션 유닛 편집 프로그램에 의해 수행될 수 있다.
저장부(110)는 모션 유닛 편집 프로그램에 의해 생성된 모션 유닛, 모션 편집 프로그램에 의해 생성된 모션 및 복수의 모션으로 이루어진 모션 그룹 등을 포함하는 모션 프로젝트 파일을 저장할 수 있다.
로봇의 메모리가 한정되어 있어, 많은 모션을 로봇의 메모리에 저장할 수 없으므로, 목적에 따라 모션 프로젝트 파일이 여러 개로 분리될 수 있으며, 해당 모션 프로젝트 파일이 선택되어 다운로드 되는 방식은 모션 프로젝트 파일이 여러 개여서 해당 파일들을 디렉토리나 압축파일로 묶어서 저장해야 하고, 각 파일들 사이에 필요한 모션을 서로 복사해야 하는 작업이 필요할 수 있다.
하지만, 하나의 모션 프로젝트 파일에 라이브러리 방식으로 모션 유닛을 참조하여 모션을 생성하고, 목적에 따라 복수의 모션을 그룹화하여 모션 그룹을 생성하며, 모션 프로젝트 파일을 선택하는 대신에 모션 그룹을 선택하여 해당 모션 그룹에 해당하는 파일을 다운로드 하는 방식은 상술한 파일들을 디렉토리나 압축파일로 묶어서 저장하고, 필요한 모션을 서로 복사해야 하는 작업이 필요하지 않을 수 있다.
이에, 목적에 따라 모션을 그룹화하는 기능을 모션 프로젝트 파일이 아니라 모션 그룹을 통해 설정할 수 있도록 함으로써, 매 번 새로운 모션 프로젝트 파일을 생성하지 않아도, 기존에 사용하던 모션 프로젝트 파일을 재사용 할 수 있으므로, 모션 프로젝트 파일에 대한 유지 관리가 용이할 수 있으며, 해당 파일에 대한 재사용률도 증가할 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (13)

  1. 로봇의 3D 이미지 파일과, 사용자 입력에 의해 편집된 시간별 상기 로봇의 정지 자세를 키 프레임(key frame) 단위로 저장하는 저장부; 및
    상기 저장된 키 프레임 간 정지 자세를 보간(interpolation) 기법에 따라 연결한 로봇의 모션 유닛을 동영상으로 표시하는 로봇 모션 뷰어를 포함하는, 로봇 모션 편집 및 재생 장치.
  2. 제1항에 있어서,
    상기 저장부는,
    상기 로봇을 구성하는 복수의 컴포넌트 사이의 관절에 할당된 아이디를 더 저장하고,
    상기 로봇 모션 뷰어는,
    상기 로봇의 정지 자세를 편집하기 위해, 상기 로봇의 3D 이미지와 함께 상기 관절에 할당된 아이디를 표시하는, 로봇 모션 편집 및 재생 장치.
  3. 제1항에 있어서,
    상기 로봇 모션 뷰어는,
    상기 로봇을 구성하는 복수의 컴포넌트 사이의 관절 중 적어도 하나가 선택되면, 상기 선택된 관절의 각도를 편집하기 위한 각도 변경 인터페이스를 더 표시하고,
    상기 저장부는,
    상기 각도 변경 인터페이스를 통해 입력되는 각도값으로 관절이 편집된 컴포넌트를 포함하는 상기 로봇의 정지 자세를 저장하는, 로봇 모션 편집 및 재생 장치.
  4. 제1항에 있어서,
    상기 로봇 모션 뷰어는,
    상기 로봇의 정지 자세를 시간 별로 등록하기 위한 타임라인(timeline) 인터페이스를 더 표시하고,
    상기 저장부는,
    상기 타임라인 인터페이스를 통해 입력되는 시각에 따라, 상기 로봇의 정지 자세를 키 프레임으로 저장하는, 로봇 모션 편집 및 재생 장치.
  5. 제1항에 있어서,
    상기 로봇 모션 뷰어는,
    상기 로봇을 구성하는 복수의 컴포넌트 사이의 관절 중 적어도 하나에 대한 유연성 및 상기 로봇의 관성력을 편집하기 위한 모션 유닛 파라미터 인터페이스를 더 표시하고, 상기 모션 유닛 파라미터 인터페이스를 통해 입력되는 모션 유닛 파라미터를 이용하여, 상기 모션 유닛을 동영상으로 표시하는, 로봇 모션 편집 및 재생 장치.
  6. 제1항에 있어서,
    상기 로봇 모션 뷰어는,
    상기 모션 유닛을 순서대로 등록하기 위한 플로우 차트 인터페이스를 더 표시하고, 상기 플로우 차트 인터페이스를 통해 입력되는 순서에 따라 상기 모션 유닛을 연결한 모션을 동영상으로 표시하는, 로봇 모션 편집 및 재생 장치.
  7. 제6항에 있어서,
    상기 로봇 모션 뷰어는,
    상기 모션 유닛에 대한 재생 속도, 반복 횟수 및 호출 가능 여부를 편집하기 위한 모션 파라미터 인터페이스를 더 표시하고, 상기 모션 파라미터 인터페이스를 통해 입력되는 모션 파라미터를 이용하여, 상기 모션을 동영상으로 표시하는, 로봇 모션 편집 및 재생 장치.
  8. 제6항에 있어서,
    상기 저장부는,
    상기 플로우 차트 인터페이스를 통해 입력된 상기 모션 유닛과 연결되는 무게 중심이 안정 상태(stable state)인 종료 모션 유닛을 저장하고,
    상기 로봇 모션 뷰어는,
    상기 모션의 동영상 표시 중 종료 명령이 입력되면, 상기 종료 모션 유닛을 연결하여 표시하는, 로봇 모션 편집 및 재생 장치.
  9. 제1항에 있어서,
    상기 로봇의 3D 이미지 파일은,
    상기 로봇 모션 뷰어에 의해 실행되는 모션 유닛 편집 프로그램에서 기본적으로 제공하는 파일 및 상기 사용자 조작에 의해 로봇 조립 프로그램을 통해 편집되어 저장된 파일 중 적어도 하나를 포함하는, 로봇 모션 편집 및 재생 장치.
  10. 제1항에 있어서,
    상기 저장부는,
    상기 정지 자세를 라이브러리 방식으로 참조하여, 상기 정지 자세를 연결한 모션 유닛을 저장하고, 상기 모션 유닛을 라이브러리 방식으로 참조하여, 상기 모션 유닛을 연결한 모션을 저장하는, 로봇 모션 편집 및 재생 장치.
  11. 제1항에 있어서,
    상기 저장부는,
    상기 모션 유닛을 연결한 모션에 대하여, 목적에 따라 그룹화한 모션 그룹을 하나의 모션 프로젝트 파일에 저장하는, 로봇 모션 편집 및 재생 장치.
  12. 로봇의 3D 이미지 파일과, 사용자 입력에 의해 편집된 시간별 상기 로봇의 정지 자세를 키 프레임(key frame) 단위로 저장하는 단계; 및
    상기 저장된 키 프레임 간 정지 자세를 보간(interpolation) 기법에 따라 연결한 로봇의 모션 유닛을 동영상으로 표시하는 단계를 포함하는, 로봇 모션 편집 및 재생 방법.
  13. 제12항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체.
PCT/KR2014/004254 2014-03-19 2014-05-13 로봇 모션을 편집 및 재생하기 위한 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 WO2015141893A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201480079029.1A CN106462992B (zh) 2014-03-19 2014-05-13 用于对机器人运动进行编辑及再生的装置、方法及记录介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0032372 2014-03-19
KR1020140032372A KR101572042B1 (ko) 2014-03-19 2014-03-19 로봇 모션을 편집 및 재생하기 위한 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Publications (1)

Publication Number Publication Date
WO2015141893A1 true WO2015141893A1 (ko) 2015-09-24

Family

ID=54144843

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/004254 WO2015141893A1 (ko) 2014-03-19 2014-05-13 로봇 모션을 편집 및 재생하기 위한 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Country Status (3)

Country Link
KR (1) KR101572042B1 (ko)
CN (1) CN106462992B (ko)
WO (1) WO2015141893A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108145709A (zh) * 2016-12-06 2018-06-12 韩华泰科株式会社 控制机器人的方法和设备
WO2020138542A1 (ko) * 2018-12-27 2020-07-02 엘지전자 주식회사 액션 로봇용 콘텐츠 판매 서비스 운영 장치 및 그의 동작 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102046918B1 (ko) * 2018-02-19 2019-11-20 동서대학교 산학협력단 서브모터를 이용한 모션 입력 장치 및 모션 입력 방법
CN109986559B (zh) * 2019-02-28 2021-08-10 深圳镁伽科技有限公司 参数编辑方法和系统、控制设备及存储介质
KR102302388B1 (ko) * 2019-08-07 2021-09-16 한국과학기술연구원 연속적인 3차원 조작 인터랙션의 가상 오브젝트 단위 인터랙션 복원 방법 및 이를 지원하는 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001188918A (ja) * 2000-10-23 2001-07-10 Hitachi Ltd 多関節構造体の動作表現装置,コンピュータグラフィックスシステム、及びロボット制御システム
US20020003540A1 (en) * 1990-07-12 2002-01-10 Munetoshi Unuma Method and apparatus for representing motion of multiple-jointed object, computer graphic apparatus, and robot controller
KR20030014164A (ko) * 2001-08-09 2003-02-15 일본국(동경대학장소관) 트리구조 링크계의 자세 및 동작을 생성하는 방법
JP2004130428A (ja) * 2002-10-09 2004-04-30 Sony Corp ロボット装置及びロボット装置の動作制御方法、記録媒体、並びにプログラム
JP2005071182A (ja) * 2003-08-26 2005-03-17 Matsushita Electric Works Ltd 3次元アニメーション作成支援装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100464720C (zh) * 2005-12-22 2009-03-04 天津市华志计算机应用技术有限公司 基于光学跟踪闭环控制的脑外科机器人系统及实现方法
JP2008030136A (ja) 2006-07-27 2008-02-14 Sony Corp ロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラム
FR2918477A1 (fr) 2007-07-04 2009-01-09 Aldebaran Robotics Soc Par Act Procede d'edition de mouvements d'un robot

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020003540A1 (en) * 1990-07-12 2002-01-10 Munetoshi Unuma Method and apparatus for representing motion of multiple-jointed object, computer graphic apparatus, and robot controller
JP2001188918A (ja) * 2000-10-23 2001-07-10 Hitachi Ltd 多関節構造体の動作表現装置,コンピュータグラフィックスシステム、及びロボット制御システム
KR20030014164A (ko) * 2001-08-09 2003-02-15 일본국(동경대학장소관) 트리구조 링크계의 자세 및 동작을 생성하는 방법
JP2004130428A (ja) * 2002-10-09 2004-04-30 Sony Corp ロボット装置及びロボット装置の動作制御方法、記録媒体、並びにプログラム
JP2005071182A (ja) * 2003-08-26 2005-03-17 Matsushita Electric Works Ltd 3次元アニメーション作成支援装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108145709A (zh) * 2016-12-06 2018-06-12 韩华泰科株式会社 控制机器人的方法和设备
WO2020138542A1 (ko) * 2018-12-27 2020-07-02 엘지전자 주식회사 액션 로봇용 콘텐츠 판매 서비스 운영 장치 및 그의 동작 방법

Also Published As

Publication number Publication date
CN106462992B (zh) 2019-12-10
KR101572042B1 (ko) 2015-11-25
CN106462992A (zh) 2017-02-22
KR20150109216A (ko) 2015-10-01

Similar Documents

Publication Publication Date Title
WO2015141893A1 (ko) 로봇 모션을 편집 및 재생하기 위한 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
WO2018143770A1 (en) Electronic device for creating panoramic image or motion picture and method for the same
WO2014069964A1 (ko) 동영상 편집 방법 및 그 단말기 그리고 기록매체
WO2017104987A1 (en) Photographing device and control method thereof
WO2011025189A2 (en) Method for play synchronization and device using the same
WO2015020496A1 (ko) 동영상 편집을 위한 사용자 인터페이스의 제공장치, 그 제공방법 및 기록매체
WO2011149160A1 (ko) 애니메이션 저작 시스템 및 애니메이션 저작 방법
WO2020233056A1 (zh) 基于h5页面的动画显示方法、装置、设备及存储介质
WO2017213439A1 (ko) 멀티 스티커를 이용한 영상 생성 방법 및 장치
US20100198403A1 (en) Method for Editing Movements of a Robot
WO2018038428A1 (en) Electronic device and method for rendering 360-degree multimedia content
JPH07505834A (ja) ビデオタイムコード同調ロボット制御装置
WO2018129792A1 (zh) Vr播放方法、vr播放装置及vr播放系统
WO2019037542A1 (zh) 电视信源的预览方法、装置及计算机可读存储介质
WO2017026835A1 (ko) 모바일 단말기 및 터치 입력 장치를 이용한 모바일 단말기의 제어 방법
WO2019035581A1 (ko) 서버, 디스플레이장치 및 그 제어방법
WO2013094881A1 (ko) 어플리케이션 실행 제어 방법 및 장치
WO2023277253A1 (en) Automatic representation switching based on depth camera field of view
WO2016195219A1 (en) Display device and method of controlling the same
WO2014107025A1 (en) Method and apparatus for controlling contents in electronic device
WO2023234532A1 (ko) 버추얼 프로덕션의 데이터 기록 방법, 장치 및 시스템
WO2016072538A1 (ko) 유저 인터페이스를 통한 카메라 장치의 동작 방법
EP3039508A1 (en) Display device and method of setting group information
US20180089787A1 (en) Device, method, and computer-readable recording medium for editing and playing robot motion
WO2015141984A1 (ko) 로봇 조립 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14886197

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14886197

Country of ref document: EP

Kind code of ref document: A1