WO2022196308A1 - Data processing device, data processing method, and program - Google Patents

Data processing device, data processing method, and program Download PDF

Info

Publication number
WO2022196308A1
WO2022196308A1 PCT/JP2022/008099 JP2022008099W WO2022196308A1 WO 2022196308 A1 WO2022196308 A1 WO 2022196308A1 JP 2022008099 W JP2022008099 W JP 2022008099W WO 2022196308 A1 WO2022196308 A1 WO 2022196308A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
series data
data
processing
interpolation
Prior art date
Application number
PCT/JP2022/008099
Other languages
French (fr)
Japanese (ja)
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 JP2023506924A priority Critical patent/JPWO2022196308A1/ja
Publication of WO2022196308A1 publication Critical patent/WO2022196308A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J3/00Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements

Definitions

  • the present invention relates to a data processing device, a data processing method, and a program.
  • Patent Document 1 An example of such technology is disclosed in Patent Document 1.
  • the haptic sensation is transmitted to a multi-fingered device worn by the user by digitizing the haptic sensation when an object is gripped by a robot manipulator.
  • Patent Document 1 only assumes that the detected haptic sensation itself is transmitted in real time by converting the detected haptic sensation into data. In addition to this, it is desirable to make more use of haptic data.
  • An object of the present invention is to make more use of haptic data.
  • a data processing device includes: Acquisition means for acquiring time-series data of parameters used for transmitting haptic sensations between devices; a processing means for processing the time-series data acquired by the acquisition means; interpolation means for generating interpolation data based on the values of the parameters included in the time-series data processed by the processing means, and interpolating the time-series data after processing with the interpolation data; characterized by comprising
  • haptic data can be used more effectively.
  • FIG. 1 is a block diagram showing an example of the overall configuration of a data processing system according to one embodiment of the present invention
  • FIG. 2 is a block diagram showing the hardware configuration of a first driving device 10 and a second driving device 20
  • FIG. 3 is a block diagram showing the hardware configuration and functional configuration of a control device 30
  • FIG. 3 is a block diagram showing a control algorithm for transmitting a haptic sense in a haptic sense control unit 311.
  • FIG. 3 is a block diagram showing the hardware configuration and functional configuration of the data processing device 40
  • FIG. 10 is a schematic diagram showing waveforms corresponding to time-series data and various user interfaces for receiving operations from the user, which are displayed on the display by the presentation unit 412 in the data editing process.
  • FIG. 10 is a diagram showing a graph when the value of the position of the interpolation target section 53 is interpolated using Linear (primary) as an interpolation method.
  • FIG. 11 is a graph showing a case where EaseIn (quadratic) is used as an interpolation method to interpolate the value of the position of the interpolation target section 53;
  • FIG. 10 is a graph showing a case where EaseOut (quadratic) is used as an interpolation method to interpolate the value of the position of the interpolation target section 53;
  • FIG. 11 is a graph showing a case where the value of the position of the interpolation target section 53 is interpolated using EaseInOut (cubic) as an interpolation technique;
  • FIG. 11 is a diagram showing a graph when the value of the position of the interpolation target section 53 is interpolated using the quintic as the interpolation method.
  • FIG. 11 is a diagram showing a graph when the value of the position of the interpolation target section 53 is interpolated using the 7th order as the interpolation method.
  • FIG. 10 is a schematic diagram of the display of the presentation unit 412 in a scene where “clipping”, which is one of processing involving interpolation, is performed.
  • FIG. 10 is a schematic diagram of the display of the presentation unit 412 in a scene where “cutting”, which is one of the processing involving interpolation, is performed;
  • FIG. 10 is a schematic diagram of the display of the presentation unit 412 in a scene where “value change”, which is one of the processing involving interpolation, is performed.
  • FIG. 10 is a schematic diagram of the display of the presentation unit 412 in a scene where “value offset”, which is one of the processing involving interpolation, is performed.
  • FIG. 10 is a schematic diagram of the display of the presentation unit 412 in a scene where “enlargement or reduction of value”, which is one of the processing accompanying the generation of approximate expressions, is performed.
  • FIG. 11 is a schematic diagram of the display of the presentation unit 412 in a scene where “expansion or reduction of the time range”, which is one of the processing accompanied by the generation of approximate expressions, is performed.
  • 4 is a flowchart for explaining the flow of time-series data acquisition processing executed by the data processing system S; 4 is a flowchart for explaining the flow of data editing processing executed by the data processing system S; 4 is a flowchart for explaining the flow of reproduction processing executed by the data processing system S;
  • FIG. 1 is a block diagram showing the overall configuration of a data processing system S according to this embodiment.
  • the data processing system S includes n sets (n is an arbitrary integer value equal to or greater than 1) consisting of a first drive device 10, a second drive device 20, and a control device 30, and data and a processing device 40 .
  • the first driving device 10, the second driving device 20, and the control device 30 are communicably connected by wire or wirelessly. Also, each control device 30 and the data processing device 40 are connected via a network N so as to be communicable.
  • This network N is implemented by a wired or wireless network such as a LAN (Local Area Network) or the Internet.
  • this form of communication connection is merely an example.
  • the first driving device 10, each second driving device 20, and the control device 30 may be communicably connected to the control device 30 via the network N or another network.
  • each control device 30 and the data processing device 40 may be connected so as to be communicable without going through the network N.
  • the first driving device 10 operates as a master device to drive the first mechanism that receives the operation from the user.
  • the second drive device 20 operates as a slave device to drive a second mechanism that performs work involving contact with an object.
  • the control device 30 performs control (bilateral control) to transmit the haptic sensation between the first mechanism driven by the first driving device 10 and the second mechanism driven by the second driving device 20. conduct.
  • the user's operation (position and force input) to the first mechanism is transmitted to the second mechanism, and the reaction force (position and force response) from the second mechanism is transmitted to the first mechanism.
  • each control device 30 acquires time-series data of parameters used for transmitting haptic sensations between devices in such bilateral control. Each control device 30 then transmits this time-series data to the data processing device 40 .
  • the data processing device 40 processes the time-series data received from each control device 30 in accordance with user instructions.
  • the data processing device 40 also generates interpolated data based on parameter values included in the processed time-series data, and interpolates the processed time-series data using this interpolated data. Further, the data processing device 40 transmits the interpolated data to any one of the control devices 30 to execute the interpolated data in the first driving device 10 or the second driving device 20 (that is, (Reproduce the operation based on the data after interpolation).
  • the data processing system S processes the time-series data of the parameters used to transmit the haptic sensation, generates interpolation data in accordance with the values of the parameters of the processed time-series data, and processes the interpolation data. Appropriately interpolate time-series data after processing by data.
  • the haptic data can be appropriately used not only for real-time transmission of the detected haptic itself, but also for other purposes. Therefore, according to the data processing system S, it is possible to solve the problem of making more use of the haptic data.
  • the data processing system S does not only process the data, but also appropriately interpolates the processed time-series data as described above. By appropriately interpolating in this manner, it is possible to maintain the interrelationship and continuity of various parameters relating to haptic sensation even when processing is performed. Therefore, according to the data processing system S, it is possible to further utilize the haptic data.
  • FIG. 2 is a block diagram showing the hardware configuration of the first driving device 10 and the second driving device 20.
  • the first drive device 10 detects an actuator 12 for driving the first mechanism 15, a driver 11 for driving the actuator 12, and a position of a moving object moved by the actuator 12. and a position sensor 13 .
  • the second driving device 20 includes an actuator 22 for driving the second mechanism 25, a driver 21 for driving the actuator 22, a position sensor 23 for detecting the position of the moving object moved by the actuator 22, It has
  • the position of the moving object detected by the position sensor 13 is, for example, the position of a predetermined portion of the first mechanism 15 or the position of a predetermined portion of the user who operates the first mechanism 15 .
  • the position of the object to be moved detected by the position sensor 23 is, for example, the position of a predetermined portion of the second mechanism 25, or the position of an object to be gripped, processed, or moved by contact with the second mechanism 25. is the position of a predetermined portion of
  • the rotation angle of the output shaft of each actuator may be detected by a rotary encoder built into each actuator. That is, in the present embodiment, the concept of position includes an angle (for example, the rotation angle of the output shaft of the actuator), and the information on the position includes position, angle, velocity, angular velocity, acceleration, and angular acceleration. shall be included. Position and velocity (or acceleration) or angle and angular velocity (or angular acceleration) are parameters that can be replaced by calculus. It is possible to process from
  • the first mechanism 15 is a mechanism that functions as an operation tool that receives user operations, and its shape and structure are not particularly limited.
  • the first mechanism 15 is realized by a controller having a movable part that receives user's operation, or a finger-shaped device worn by the user.
  • the second mechanism 25 is a mechanism that grips, processes, or moves an object in contact with it, and its shape and structure are not particularly limited.
  • the second mechanism 25 is implemented by a robot manipulator that grips or moves an object in contact with it, or a robot arm equipped with (or attached with) a tool for processing an object.
  • control device 30 outputs a control command to the driver 11 or the driver 21 based on position information detected by the position sensor 13 or the position sensor 23, thereby causing the first control device, which is the master device.
  • a bilateral control that transmits a haptic sensation is realized between the driving device 10 and the second driving device 20, which is a slave device. A specific algorithm for realizing this control will be described later with reference to FIG.
  • FIG. 3 is a block diagram showing the hardware configuration and functional configuration of the control device 30.
  • the control device 30 includes a processor 31 , a storage section 32 , a ROM (Read Only Memory) 33 , a RAM (Random Access Memory) 34 and a communication section 35 .
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the processor 31 is composed of an arithmetic device such as a CPU (Central Processing Unit), and executes various processes according to programs recorded in the ROM 33 or programs loaded from the storage unit 32 to the RAM 34 .
  • the RAM 34 also stores data necessary for the processor 31 to execute various types of processing.
  • the processor 31 is interconnected with the ROM 33 and RAM 34 via a bus (not shown).
  • the bus is further connected to a storage unit 32 and a communication unit 35 .
  • the processor 31 is further connected to the position sensor 13, the driver 11, the position sensor 23, and the driver 21 described above with reference to FIG. 2 through signal lines.
  • Circuits such as a D/A (digital to analog) conversion circuit and an A/D (analog to digital) conversion circuit for realizing signal transmission/reception, a pulse counter, and the like are appropriately arranged on the connection path.
  • the transmission and reception of signals via this signal line may be realized by parallel communication or may be realized by serial communication.
  • the storage unit 32 is composed of a hard disk, a DRAM (Dynamic Random Access Memory), or the like, and stores various data.
  • the communication unit 35 controls communication with other devices via the network.
  • the control device 30 having such a hardware configuration performs “time-series data acquisition processing” and “reproduction processing”.
  • the time-series data acquisition process performs control for transmitting the haptic sensation between the first driving device 10 and the second driving device 20, and acquires time-series data of parameters used for transmitting the haptic sensation. It is a series of processing to do.
  • the reproduction process is performed by the second driving device 20 on reproduction data generated by performing processing involving interpolation, non-normalization, etc. on time-series data (that is, an operation corresponding to the reproduction data is executed It is a series of processing to reproduce).
  • the processor 31 When these processes are performed, in the processor 31, the haptic control unit 311, the time-series data acquisition unit 312, and the reproduction data acquisition unit 313 function. In addition, a time-series data storage unit 321 and a reproduced data storage unit 322 are formed in the storage unit 32 . Data necessary for realizing processing is appropriately transmitted and received between these functional blocks at appropriate timings, including cases not specifically mentioned below.
  • the haptic control unit 311 controls the transmission of haptic sensations between the first driving device 10 and the second driving device 20 .
  • the details of the control for transmitting the haptic sensation differ between the time-series data acquisition process and the reproduction process.
  • the haptic control unit 311 when performing the time-series data acquisition process, performs control to transmit the haptic in both directions between the actuator 12 of the first driving device 10 and the actuator 22 of the second driving device 20. to run. For this purpose, the haptic control unit 311 acquires the position (specifically, position or angle) of the moving object moved by the actuator 12 from the position sensor 13 , and also acquires the position of the object moved by the actuator 22 from the position sensor 23 . Obtain the position (specifically, position or angle) of the moving object to be moved.
  • the haptic control unit 311 controls the actuator of the second driving device 20 based on the reproduction data for controlling the operation of the second driving device 20 stored in the reproduction data storage unit 322. 22 performs control to reproduce the motion based on the reproduction data. That is, the haptic control unit 311 executes control to transmit the haptic sensation based on the reproduction data to the actuator 22 .
  • the haptic control unit 311 acquires the position (specifically, position or angle) of the moving object moved by the actuator 22 from the position sensor 23 , and stores the position in the reproduction data storage unit 322 . Reproduction data for controlling the operation of the second driving device 20 is acquired.
  • the position and reproduction data acquired by the haptic control unit 311 are used by the first driving device 10 and the second driving device 20 in the control algorithm for transmitting the haptic sensation.
  • used as a reference value to control the operation of A control algorithm for transmitting this haptic sensation will be described in detail with reference to FIG.
  • FIG. 4 is a block diagram showing a control algorithm for transmitting a haptic sense in the haptic sense control section 311.
  • the control algorithm implemented in the haptic control unit 311 includes a functional force/velocity assignment conversion block FT, at least one of an ideal force source block FC or an ideal velocity (position) source block PC, It is represented as a control law including an inverse transform block IFT.
  • the controlled system CS is configured by the first driving device 10 and the second driving device 20 .
  • the function-specific force/velocity allocation conversion block FT is a block that defines the conversion of control energy into the velocity (position) and force regions set according to the function of the controlled system CS. Specifically, in the function-specific force/velocity assignment conversion block FT, a value (reference value) that serves as a reference for the function of the controlled system CS and the current positions (or current angles) of the actuators 12 and 22 are input.
  • a coordinate transformation is defined to This coordinate transformation generally converts an input vector whose elements are a reference value and a current position (current angle) into an output vector consisting of a position (angle) for calculating a control target value of the position (angle), and a reference It converts an input vector whose elements are a value and a current force into an output vector composed of force for calculating a force control target value.
  • the haptic transmission function between the first driving device 10 and the second driving device 20 is realized by setting the coordinate transformation in the functional force/velocity assignment transformation block FT to the content representing the haptic transmission function.
  • the motion of transmitting the haptic sensation can be reproduced by the second driving device 20 without using the first driving device 10 .
  • the position (angle) or force can be scaled by setting coefficients to the elements of the conversion matrix.
  • the variables of the actuator 12 or the actuator 22 alone are converted into the variable group (coordinates) of the entire system expressing the haptic transmission function.
  • the control energy is assigned to the control energy of the position (angle) and the control energy of the force.
  • the coordinate transformation set in the function-specific force/velocity assignment transformation block FT converts real space coordinates (oblique coordinates) in which position (angle) and force are related to each other into coordinates in which position (angle) and force are independent of each other. It converts to the coordinates (orthogonal coordinates) of the virtual space.
  • control energy of the position (angle) and the control energy of the force are given independently, that is, the position (angle) and It is possible to control the force independently.
  • the positions (angles) of the members moved by the actuator 12 and these positions (angles) are calculated from Between the force input and the position (angle) and the reference value that is the reference for force control, the difference in position (angle) is zero, and the sum of forces is zero (an equal force is output in the opposite direction). condition, it is possible to calculate the state value in the space after the coordinate transformation.
  • the position (angle) and the reference value that serves as the reference for force control are the positions (angles) of the members moved by the actuator 22 in the second driving device 20 and their positions (angles). ) is the force calculated from Note that the first driving device 10 does not operate in the reproduction process.
  • the position (angle) of the member moved by the actuator 22 and the position (angle) calculated from these positions (angles) If the difference in the position (angle) is zero and the sum of the forces is zero (an equal force is output in the opposite direction) between the force input and the reference value that is the reference for position (angle) and force control.
  • State values in the space after the coordinate transformation can be calculated on the condition that However, in the time-series data acquisition process, the position (angle) and the reference value that serves as the reference for force control are the positions (angles) of the members moved by the actuator 12 in the first driving device 10 and their positions (angles). ), and is the reproduction data read from the reproduction data storage unit 322 in the reproduction process.
  • the ideal force source block FC is a block that performs calculations in the force domain according to the coordinate transformation defined by the functional force/velocity assignment transformation block FT.
  • a target value is set for the force when performing calculations based on the coordinate transformation defined by the functional force/velocity assignment transformation block FT.
  • This target value is set as a fixed value or a variable value depending on the function to be implemented. For example, to achieve a function similar to the function indicated by the reference value, set the target value to zero, or to perform scaling, set a value obtained by expanding or contracting the information representing the function indicated by the reference value.
  • the ideal force source block FC can also set an upper limit for the force energy determined by the calculation in the force domain. Setting the upper limit of force energy limits the contact force when the second mechanism 25 contacts an object. Damage to the mechanism 25 and objects can be suppressed.
  • the ideal velocity (position) source block PC is a block that performs calculations in the position (angle) area according to the coordinate transformation defined by the functional force/velocity assignment transformation block FT.
  • target values relating to positions (angles) are set when performing calculations based on the coordinate transformation defined by the functional force/velocity assignment transformation block FT.
  • This target value is set as a fixed value or a variable value depending on the function to be implemented. For example, when realizing a function similar to the function indicated by the reference value, set the target value to zero, or when performing scaling, set a value obtained by enlarging or reducing the information indicating the function to be reproduced. can.
  • the ideal velocity (position) source block PC can also set an upper limit for the position (angle) energy determined by calculations in the position (angle) domain. Setting the upper limit of the energy of the position (angle) limits the distance that the second mechanism 25 can move. can be suppressed.
  • the inverse transformation block IFT inversely transforms the values of the position (angle) and force domains into the values of the domain of inputs to the controlled system CS (for example, voltage values or current values, etc.) (i.e., real space command values ) block.
  • time-series position (angle) detection values detected by the position sensors 13 and 23 are input to the haptic control unit 311 .
  • the detected values of the position (angle) in this time series represent the operation of the actuator 12 and the actuator 22, and the haptic control unit 311 derives the input position (angle) and these positions (angles). Coordinate transformations that transmit haptic sensations are applied to the forces.
  • the haptic control unit 311 receives time-series position (angle) detection values detected by the position sensor 23 .
  • This time-series position (angle) detection value represents the operation of the actuator 22 .
  • the haptic control unit 311 receives time-series position (angle) values in the reproduction data.
  • the position (angle) value in this reproduction data represents the operation of the actuator 22 in the reproduction data.
  • the haptic control unit 311 applies coordinate transformations that transmit haptic sensations to the input positions (angles) and the forces derived from these positions (angles). In this case, time-series data values of position (angle) and force parameters may be input as reproduction data.
  • the haptic control unit 311 uses the time-series values of the position (angle) and force parameters in the reproduction data, the position (angle) input from the position sensor 23, and the force derived from this position (angle). Based on and apply a coordinate transformation that conveys haptic sensations.
  • the time-series data acquisition unit 312 obtains control history time-series data (for example, the first driving device 10 and Time-series data of position and force parameters that change with the execution of the time-series data acquisition process in the second driving device 20) is acquired. Also, the time-series data acquisition unit 312 transmits the acquired time-series data to the data processing device 40 . Furthermore, the time-series data acquisition unit 312 stores the acquired time-series data in the time-series data storage unit 321 . That is, the time-series data storage unit 321 functions as a storage unit that stores time-series data. After transmitting the acquired time-series data to the data processing device 40, the time-series data acquisition unit 312 discards the time-series data without storing it in the time-series data storage unit 321, thereby reducing the storage capacity. can be
  • the time-series data acquisition unit 312 adds an identifier for identifying the first drive device 10 and the second drive device 20, an identifier for identifying the first drive device 10 and the second drive device 20, and an identifier to the acquired time-series data as necessary. Attributes of the device 20 (for example, the type of each device, the number of axes, the movable range, the torque output range, etc.) and information such as the date and time when the process was executed are added, and then transmitted or stored. As a result, when the time-series data is to be processed, the user can instruct the processing after referring to this information.
  • the reproduction data acquisition unit 313 acquires by receiving the reproduction data transmitted from the data processing device 40 when the reproduction process is executed.
  • the reproduction data includes time-series data of position (angle) and force parameters for controlling the operation of the actuator 22 of the second drive unit 20 in the reproduction process, as described above.
  • the time-series data of the position (angle) and force parameters correspond to the operation of the actuator 22 of the second driving device 20 in the reproduced data.
  • the reproduction data acquisition unit 313 stores the acquired reproduction data in the reproduction data storage unit 322 . That is, the reproduction data storage unit 322 functions as a storage unit that stores reproduction data.
  • FIG. 5 is a block diagram showing the hardware configuration and functional configuration of the data processing device 40.
  • the data processing device 40 includes a processor 41, a storage unit 42, a ROM 43, a RAM 44, a communication unit 45, an input unit 46, an output unit 47, and a drive 48.
  • the processor 41, the storage unit 42, the ROM 43, the RAM 44, and the communication unit 45 are the same as the hardware of the same name provided in the control device 30, so duplicate descriptions will be omitted. These units, the input unit 46, the output unit 47, and the drive 48 are connected via a bus (not shown).
  • the input unit 46 is composed of various buttons and the like, and inputs various kinds of information according to instruction operations.
  • the output unit 47 includes a display, a speaker, and the like, and outputs images and sounds.
  • a removable medium 50 consisting of a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is appropriately mounted in the drive 48 .
  • a program read from the removable medium 50 by the drive 48 is installed in the storage unit 42 as required.
  • the data processing device 40 having such a hardware configuration performs "time-series data acquisition processing", “data editing processing”, and “reproduction processing".
  • the time-series data processing and the reproduction processing are as described above when explaining the control device 30 .
  • the data editing process generates edited time-series data (hereinafter referred to as "edited data") by editing the time-series data by a method such as processing with interpolation and normalization. It is a series of processing to do.
  • a time-series data acquisition unit 411, a presentation unit 412, and an interpolation unit 414 function.
  • a time-series data storage section 421 and an edited data storage section 422 are formed in the storage section 42 . Data necessary for realizing processing is appropriately transmitted and received between these functional blocks at appropriate timings, including cases not specifically mentioned below.
  • the time-series data acquisition unit 411 acquires the time-series data transmitted from the time-series data acquisition unit 312 of the control device 30 by receiving the time-series data. Also, the time-series data acquisition unit 411 stores the acquired time-series data in the time-series data storage unit 421 . That is, the time-series data storage unit 421 functions as a storage unit that stores time-series data. In addition, the time-series data acquisition unit 411 reads the time-series data to be edited from the time-series data storage unit 421 based on the user's selection instruction operation.
  • the presentation unit 412 presents the time-series data read by the time-series data acquisition unit 411 to the user. This presentation is realized, for example, by displaying a waveform corresponding to time-series data on a display included in the output unit 47 . In this case, the presentation unit 412 also displays various user interfaces for receiving operations from the user.
  • the processing unit 413 processes the time-series data to be processed based on the processing instruction operation by the user who referred to the presentation by the presentation unit 412 .
  • Processing includes, for example, combining multiple pieces of time-series data, clipping time-series data, cutting time-series data, manipulating values of parameters of time-series data, and changing parameter values or time ranges of time-series data. , enlargement or reduction, etc.
  • interpolation by the interpolation unit 414, generation of an approximate expression by the approximate expression generation unit 415, normalization by the normalization management unit 416, and the like are performed along with these processing, the edited data storage unit 422 Processing is performed in cooperation with these units.
  • the processing unit 413 stores the time-series data that has undergone such processing involving interpolation, non-normalization, etc. in the edited data storage unit 422 as edited data. That is, the edited data storage unit 422 functions as a storage unit that stores edited data.
  • the interpolation unit 414 generates interpolation data based on the parameter values included in the time-series data processed by the processing unit 413, and interpolates the processed time-series data using this interpolation data. As a result, it is possible to generate interpolation data that conforms to the parameter values of the time-series data to be interpolated this time, and to appropriately interpolate the processed time-series data using this interpolation data.
  • the approximation formula generation unit 415 generates an approximation formula for the time series data based on the time series data. This makes it possible to formulate and express the time-series data and reduce the data amount of the time-series data. Further, by modifying the approximation formula, it is possible to change the values of the parameters, the time range, etc. without lowering the resolution of the time-series data.
  • the normalization management unit 416 normalizes or denormalizes the time series data based on the time series data.
  • the normalization management unit 416 corresponds to the time-series data before normalization or after non-normalization (that is, from which this time-series data was acquired, or from which this time-series data is reproduced).
  • the reproduced data generation unit 417 reads out the edited data to be reproduced (that is, the reproduction data generation source) from the edited data storage unit 422 based on the user's selection instruction operation. Then, the reproduction data generation unit 417 generates reproduction data based on the read edited data. The reproduction data generation unit 417 also transmits the generated reproduction data to the control device 30 that reproduces the operation corresponding to the reproduction data. Furthermore, the reproduction data generation unit 417 stores the generated reproduction data in the reproduction data storage unit 423 . That is, the reproduction data storage unit 423 functions as a storage unit that stores reproduction data. After transmitting the generated reproduction data to the control device 30, the reproduction data generation unit 417 may discard the reproduction data without storing it in the reproduction data storage unit 423, thereby reducing the storage capacity. .
  • FIG. 6 is a schematic diagram showing waveforms corresponding to time-series data displayed on the display by the presentation unit 412 in the data editing process, and various user interfaces for receiving operations from the user.
  • connection which is one of the processing involving interpolation, is performed.
  • the time series of parameter values in the time series data is displayed as a waveform. Specifically, it is displayed as a graph in which the vertical axis is the value of the parameter (the upper row is the value of the position of the axis A, and the lower row is the force value of the axis A), and the horizontal axis is the time. Although these graphs may actually show more minute changes, changes in the graphs are simplified in the drawing. Furthermore, as shown in FIG. 6, an operation pointer is also displayed for accepting an operation such as designation of a time range from the user.
  • the processing unit 413 has a time range (that is, time length) between the first time-series data 51 and the second time-series data 52, but the parameter value does not exist. Processing is performed so that an interpolation target section 53 (indicated by a dashed frame in the drawing) is included adjacently. Note that the length of the time range of the interpolation target section 53 may be set in advance, or may be determined based on a user's operation instruction.
  • the interpolation unit 414 interpolates the interpolation target section 53 included in the processed time-series data with the interpolation data.
  • FIG. 6 shows the time-series data after this interpolation.
  • the interpolation unit 414 for example, based on the value of the parameter at the end point of the first time-series data 51, the value of the parameter at the start point of the second time-series data 52, and the length of the time range of the interpolation target section 53 Then, interpolated data is generated so that these two pieces of time-series data are smoothly connected on the time axis, and the time-series data are interpolated.
  • FIG. 7 shows a graph when the value of the position of the interpolation target section 53 is interpolated using Linear (primary) as an interpolation method.
  • interpolation can be performed so as to change at a constant speed from the start point to the end point.
  • FIG. 8 shows a graph when the value of the position of the interpolation target section 53 is interpolated using EaseIn (quadratic) as an interpolation method.
  • interpolation can be performed so that the positional change of the starting point is smooth as shown in the figure.
  • FIG. 9 shows a graph when the value of the position of the interpolation target section 53 is interpolated using EaseOut (secondary) as an interpolation method.
  • EaseOut secondary
  • FIG. 10 shows a graph when the value of the position of the interpolation target section 53 is interpolated using EaseInOut (cubic) as an interpolation method.
  • EaseInOut cubic
  • FIG. 11 shows a graph when the value of the position of the interpolation target section 53 is interpolated using the quintic as an interpolation method.
  • the interpolation can be performed so that the position changes at both the start point and the end point are changed smoothly, and the speed change between the start point and the end point is smooth.
  • FIG. 12 shows a graph when the value of the position of the interpolation target section 53 is interpolated using the 7th order as an interpolation method.
  • interpolation can be performed so that the position changes at both the start point and the end point are changed smoothly, and the change in velocity and acceleration between the start point and the end point is smooth.
  • the interpolation unit 414 can select various interpolation methods. Therefore, if the operation result when the reproduction data corresponding to the interpolated data is executed by the second driving device 20 (that is, the operation corresponding to the reproduction data is reproduced) is not preferable, the user may By selecting the interpolation method of and redoing the interpolation, more appropriate interpolation can be performed.
  • the processing unit 413 includes the interpolation target section 53 adjacently between the end point of the first time-series data 51 and the start point of the second time-series data 52. I was processing to make it possible. That is, the processed time-series data is processed so as to include all of the first time-series data 51 and the second time-series data 52 . Alternatively, the processing unit 413 may process the interpolation target section 53 so that it overlaps part of the first time-series data 51 or the second time-series data 52 . For example, the interpolation target section 53 may overlap near the end of the first time-series data 51 or near the start of the second time-series data.
  • the interpolation unit 414 When performing such partially overlapping processing, the interpolation unit 414, for example, sets the value of the parameter at the end point of the portion that does not overlap with the interpolation target section 53 of the first time-series data 51 and the second time-series data Based on the value of the parameter at the start point of the portion that does not overlap with the interpolation target section 53 of 52 and the length of the time range of the interpolation target section 53, these two time series data are smoothly connected on the time axis. Generate interpolated data. Then, the interpolation target section 53 (including the portion overlapping with the first time-series data 51 and the second time-series data 52) may be interpolated with this interpolation data.
  • how much time range the interpolation target section 53 overlaps with the first time series data 51 and the second time series data 52 may be set in advance, or may be determined based on a user's operation instruction. This makes it possible to easily link any time range of the first time-series data 51 and any time range of the second time-series data 52 based on the user's intention.
  • FIG. 13 is a schematic diagram of the display of the presentation unit 412 in the data editing process, similar to FIG. In FIG. 13, it is assumed that "clipping", which is one of the processing involving interpolation, is performed. It should be noted that duplicate descriptions of points common to FIG. 6 will be omitted. In addition, in FIG. 13, it is assumed that the axis A and the axis B exist. In this way, in each processing performed by the processing unit 413, the number of axes is not particularly limited, and time-series data corresponding to any number of axes can be processed.
  • the time range of time series data specified by the user is clipped from the time series data to be clipped, while the time range of time series data that is not specified is deleted.
  • a series of time-series data 54a, time-series data 55a, and time-series data 56a for the axis A is set by the user's designation instruction operation of the time range using the operation pointer.
  • the time series data 54a is designated as a time range to be clipped (the designated time range is hatched).
  • time series data 54b is specified as a time range to be clipped from a series of time series data consisting of time series data 54b, time series data 55b, and time series data 56b.
  • the processing unit 413 cuts out the time-series data 54a and the time-series data 54b so as to leave the time-series data 54a and the time-series data 54b as shown in FIG.
  • the series data 56a, the time series data 55b, and the time series data 56b are deleted.
  • the interpolation unit 414 regenerates interpolation data corresponding to the value of the parameter of the end point of the time-series data 54a, and performs interpolation again on the interpolation target section 57a.
  • the interpolation unit 414 repeats the interpolation data corresponding to the value of the parameter at the start point of the clipping target time-series data. Generate and re-interpolate the interpolation target section.
  • the user can select the time-series data to be processed (that is, the first time-series data or the second time-series data adjacent to the interpolation target section) simply by specifying the time range. That is, an intuitive and simple user interface can be provided to the user.
  • FIG. 14 is a schematic diagram of the display of the presentation unit 412 in the data editing process, similar to FIG. 6 and the like.
  • cutting which is one of processing involving interpolation, is performed. It should be noted that redundant description of points common to those in FIG. 6 and the like will be omitted.
  • cutting the time range of time series data specified by the user is deleted from the time series data to be cut, while the time range of time series data not specified is cut so as to remain.
  • time-series data 59a is specified as a time range to be cut (the specified time range is hatched).
  • time-series data 59b is specified as the time range to be clipped.
  • the processing unit 413 cuts out the specified time series data 59b and the time series data 59b so as to delete them, Series data 58a and time series data 58b are left.
  • the interpolation unit 414 regenerates interpolation data corresponding to the value of the parameter of the end point of the time-series data 58a, and performs interpolation on the interpolation target section 60a again.
  • the interpolation unit 414 converts the interpolation data is generated again, and interpolation is performed again for the interpolation target section.
  • the user can select the time-series data to be processed (that is, the first time-series data or the second time-series data adjacent to the interpolation target section) simply by specifying the time range. That is, an intuitive and simple user interface can be provided to the user.
  • FIG. 15 is a schematic diagram of the display of the presentation unit 412 in the data editing process, similar to FIG. 6 and the like. In FIG. 15, it is assumed that "value change", which is one of the processing involving interpolation, is performed. It should be noted that redundant description of points common to those in FIG. 6 and the like will be omitted.
  • the value change the value of the parameter at the point in time designated by the user is changed based on the user's designation from the time-series data to be changed. For example, as shown in FIG. 15A, a point 61 is specified by the user's specifying instruction operation using the operation pointer, and the changed parameter value (here, force value) at this point 61 is changed. is performed.
  • the processing unit 413 changes the designated time point 61 to the parameter value (here, force value) designated by the user. However, if this is left as it is, at the time point 61, it will change instantaneously regardless of the values of the parameters before and after, and the continuity of the operation cannot be maintained. Therefore, as shown in FIG. 15B, the interpolation unit 414 treats a time range including the time point 61 as an interpolation target section 62 . Then, the interpolating unit 414 performs interpolation corresponding to the parameter value (here, the force value) at the starting point of the interpolation target section 62 and the changed parameter value (here, the force value) at the time point 61.
  • the parameter value here, force value
  • interpolation unit 414 generates , interpolation data is generated, and interpolation is performed by replacing the existing parameter value (here, force value) of the interpolation target section 62-2, which is the latter half of the interpolation target section 62, with the interpolation data.
  • FIG. 16 is a schematic diagram of the display of the presentation unit 412 in the data editing process, similar to FIG. 6 and the like. In FIG. 16, it is assumed that a "value offset", which is one of the processing involving interpolation, is performed. It should be noted that redundant description of points common to those in FIG. 6 and the like will be omitted.
  • the value offset is offset from the time series data for which the value is to be offset with respect to the time range of part or all of the time series data.
  • the maximum value 63 of the position is assumed in, for example, the movable range of the first driving device 10 or the second driving device 20 from which the time-series data was obtained, or a predetermined operation corresponding to the time-series data. Determined by range of motion.
  • the user's designating operation using the operation pointer designates the entire time width of the position value and designates "+10" as the offset value.
  • the user intends to perform an offset in order to apply this time-series data to the first driving device 10 and the second driving device 20, for example, whose starting point value of the position is "10".
  • the processing unit 413 interpolates the position value so that the position value is increased by "+10" over the entire time width of the position value. That is, interpolation is performed so as to be offset. As a result, as shown in FIG. 16B, the starting point value 66 of the position becomes “10” and the maximum value 63 of the position becomes "14" while the shape of the waveform in the time-series data is maintained.
  • FIG. 17 is a schematic diagram of the display of the presentation unit 412 in the data editing process, similar to FIG. 6 and the like. In FIG. 17, it is assumed that "enlargement or reduction of values", which is one of the processing accompanied by the generation of approximate expressions, is performed. It should be noted that redundant description of points common to those in FIG. 6 and the like will be omitted.
  • the values are expanded or contracted from the time-series data to be expanded or contracted to the time range of part or all of the time-series data.
  • the maximum value 65 of the position is assumed in, for example, the movable range of the first driving device 10 or the second driving device 20 from which the time-series data is obtained, or a predetermined operation corresponding to the time-series data. Determined by range of motion.
  • the user uses the operation pointer to specify the entire time width of the position value and to specify "300%" as the enlargement ratio.
  • the user intends to perform enlargement in order to apply this time-series data to the first driving device 10 and the second driving device 20 whose movable range is "30", for example.
  • the approximation formula generation unit 415 In response to this instruction operation, the approximation formula generation unit 415 generates an approximation formula for the time-series data based on the time-series data whose values are to be scaled up or down.
  • a method for generating approximate expressions for example, linear approximation, polynomial approximation (e.g., spline interpolation, Lagrangian interpolation, etc.), exponential approximation, logarithmic approximation, power approximation, etc.
  • existing methods for generating approximate expressions method can be used.
  • the processing unit 413 performs processing to enlarge or reduce the parameter values of the time-series data from which the approximate expression is generated (here, the enlargement ratio “ 300%” processing) is performed. For example, the processing unit 413 performs processing by multiplying or dividing the approximate expression generated by the approximate expression generating unit 415 by a coefficient. As a result, as shown in FIG. 17B, the starting point value 66 of the position becomes "0" and the maximum value 65 of the position becomes "30" while the shape of the waveform in the time-series data is maintained.
  • time-series data can be formulated and expressed, data with expanded or reduced parameter values can be generated as continuous data, and parameter values can be changed without lowering the resolution of the time-series data.
  • an offset value to or from the approximate expression generated by the approximate expression generation unit 415, the value can be offset along with the expansion or reduction of the value, or separately from the expansion or reduction of the value. .
  • FIG. 18 is a schematic diagram of the display of the presentation unit 412 in the data editing process, similar to FIG. 6 and the like.
  • it is assumed that "expansion or reduction of the time range", which is one of the processing accompanied by the generation of approximate expressions, is performed. It should be noted that redundant description of points common to those in FIG. 6 and the like will be omitted.
  • the time range is expanded or contracted from the time-series data to be expanded or contracted for part or all of the time-series data.
  • FIG. 18A it is assumed that there is time-series data of time range t1.
  • the time length of the time range t1 of this time-series data is "11 minutes and 26 seconds", and the operation pointer is currently selecting "1 minute and 8 seconds”. Is displayed.
  • the entire time width is specified by the user's specification instruction operation using the operation pointer, and the specification instruction operation of "50%" as the reduction ratio is performed.
  • the user intends to perform reduction in order to apply this time-series data to the first driving device 10 or the second driving device 20 at 0.5 times speed, for example.
  • the approximation formula generation unit 415 In response to this instruction operation, the approximation formula generation unit 415 generates an approximation formula for the time-series data based on the time-series data whose values are to be scaled up or down. Existing techniques for generating approximate expressions are as described above.
  • the processing unit 413 expands or reduces the time range of the time-series data from which the approximate expression was generated (here, the reduction rate is “50 %” processing) is performed. For example, the processing unit 413 performs processing by multiplying or dividing the approximate expression generated by the approximate expression generating unit 415 by a coefficient. As a result, as shown in FIG. 18B, the parameter value is reduced to the time range t2 while maintaining the starting point value and the maximum value.
  • the display area 67 displays that the time length of the time range t2 of this time-series data is "5 minutes and 43 seconds" and that the operation pointer is currently selecting the point of time of "34 seconds.” be. That is, it is displayed that the image has been reduced to a reduction ratio of "50%".
  • time-series data This makes it possible to formulate and express the time-series data and reduce the data amount of the time-series data.
  • time-series data it is possible to formulate and express the time-series data, generate data with an expanded or reduced time width as continuous data, and change the time width without lowering the resolution of the time-series data.
  • the time range can be offset (i.e. , processing to move the time range back and forth in time) can also be performed.
  • the normalization management unit 416 normalizes or denormalizes the time series data based on the time series data. In this case, the normalization management unit 416 performs normalization or denormalization according to the attributes of the device that executes the time-series data before normalization or after denormalization.
  • Methods for normalization or denormalization generation use existing methods for normalization or denormalization generation, such as min-max scale transformation, variance scale transformation, and scale transformation with quantiles. be able to. It should be noted that the parameter A different technique may be used for each.
  • the minimum and maximum values used for normalization and non-normalization for example, the minimum and maximum values of the parameter values in the time series data can be used.
  • the first drive corresponding to the time-series data to be normalized and denormalized that is, the time-series data from which this time-series data was obtained, or from which this time-series data is executed as reproduction data
  • Minimum and maximum values based on attributes unique to the device 10 and the second driving device 20 eg, movable range and torque output range
  • normalization can be performed based on the attributes (for example, movable range and torque output range) of each device from which the time-series data was acquired.
  • the normalized time-series data can be de-normalized based on the attributes (for example, movable range and torque output range) of each device that executes this time-series data as reproduction data.
  • normalized general-purpose time-series data can be generated simply by acquiring and normalizing the time-series data when any of the control devices 30 controls the device.
  • denormalization is performed according to the attributes of the device that executes the reproduction data, reproduction data unique to the device is generated, and the corresponding operation is reproduced.
  • human effort to prepare time-series data corresponding to each of various devices in advance can be reduced. can be omitted.
  • time-series data can be managed easily.
  • FIG. 19 is a flowchart for explaining the flow of time-series data acquisition processing executed by the data processing system S.
  • the time-series data acquisition process is performed when the user has started a predetermined action using the first drive device 10 as a master device, or when the user has started a predetermined action using the first drive device 10 as a master device. It is executed in response to acceptance of the user's instruction to start the time-series data acquisition process.
  • step S11 the haptic control unit 311 controls the position (specifically, position or angle) of the moving object moved by the actuator 12 and the position of the moving object moved by the actuator 22 (specifically, , position or angle) and .
  • step S12 the haptic sense control unit 311 converts the input vector in the real space into a vector in the virtual space.
  • step S13 the haptic control unit 311 performs calculation in the velocity (position) area and calculation in the force area.
  • step S14 the haptic control unit 311 inversely transforms the values of the velocity (position) and force regions into the values of the input region (real space vector) to the controlled system CS.
  • step S ⁇ b>15 the haptic control unit 311 outputs command values for the actuators 12 and 22 .
  • step S16 the time-series data acquisition unit 312 acquires control history time-series data (for example, the first driving device 10 and the second driving device) calculated in the processes from steps S11 to S16 by the haptic control unit 311. 20, time-series data of position and force parameters that change with the execution of the time-series data acquisition process in 20).
  • control history time-series data for example, the first driving device 10 and the second driving device
  • step S17 the haptic control unit 311 determines whether or not the user has finished executing a predetermined action using the first driving device 10 as the master device. If the execution of the predetermined action has ended, it is determined as Yes in step S17, and the process proceeds to step S18. On the other hand, if the execution of the predetermined action has not ended, it is determined No in step S17, and the process returns to step S11 and is repeated.
  • step S ⁇ b>18 the time-series data acquisition unit 312 transmits the time-series data acquired in step S ⁇ b>16 to the data processing device 40 .
  • step S ⁇ b>19 the time series data acquisition unit 312 stores the time series data acquired in step S ⁇ b>16 in the time series data storage unit 321 .
  • the time series data is temporarily stored each time step S16 is repeated, and all the temporarily stored time series data are collectively transmitted and stored in steps S18 and S19. .
  • the same transmission and storage as steps S18 and S19 may be performed each time step S16 is repeated.
  • step S21 the time-series data acquisition unit 411 acquires the time-series data transmitted from the time-series data acquisition unit 312 of the control device 30 by receiving the time-series data.
  • step S ⁇ b>22 the time series data acquisition unit 411 stores the time series data acquired in step S ⁇ b>12 in the time series data storage unit 421 . This completes the processing.
  • control is performed to transmit the haptic sensation between the first driving device 10 and the second driving device 20, and the time-series data of the parameters used for transmitting the haptic sensation are obtained. can be obtained.
  • FIG. 20 is a flowchart for explaining the flow of data editing processing executed by the data processing system S. As shown in FIG. The data editing process is executed when the data processing device 40 receives an instruction to start the editing process by the user.
  • step S ⁇ b>31 the time-series data acquisition unit 411 reads time-series data to be edited from the time-series data storage unit 421 based on the user's selection instruction operation.
  • the time-series data acquisition unit 411 selects the time-series data to be edited (here, the existing edited data) based on the user's selection instruction operation.
  • the presentation unit 412 presents the time-series data read by the edited data storage unit 422 to the user.
  • step S33 the processing unit 413 determines whether or not to execute processing involving interpolation. For example, the processing unit 413 executes processing involving interpolation when there is a processing instruction operation from the user.
  • processing accompanied by interpolation is, for example, combining multiple pieces of time-series data, clipping time-series data, clipping time-series data, and manipulating values of parameters of time-series data. If such processing involving interpolation is to be executed, a determination of Yes is made in step S33, and the process proceeds to step S34. On the other hand, if processing involving interpolation is not to be executed, the determination in step S33 is No, and the process proceeds to step S36.
  • step S34 the processing unit 413 processes the time-series data.
  • step S35 the interpolating unit 414 generates interpolated data based on the parameter values included in the processed time series data in step S34, and interpolates the processed time series data using this interpolated data.
  • step S36 the processing unit 413 determines whether or not to execute processing involving generation of approximate expressions. For example, the processing unit 413 executes processing accompanied by generation of approximate expressions when there is a processing instruction operation from the user.
  • the processing accompanied by the generation of the approximation formula is realized, for example, by expanding or contracting the values of the parameters of the time-series data or the time range. If processing involving the generation of such an approximation formula is to be executed, a determination of Yes is made in step S36, and the process proceeds to step S37. On the other hand, if the processing that accompanies the generation of the approximation formula is not executed, it is determined as No in step S36, and the process proceeds to step S39.
  • step S37 the approximation formula generation unit 415 generates an approximation formula for the time series data based on the time series data.
  • step S38 the processing unit 413 processes the approximate expression of the time-series data generated in step S37.
  • step S39 the normalization management unit 416 determines whether or not to normalize the time series data. For example, the normalization management unit 416 normalizes the time-series data when there is a normalization instruction operation from the user. If the time-series data is to be normalized, a determination of Yes is made in step S39, and the process proceeds to step S40. On the other hand, when the time-series data is not normalized, it is determined as No in step S39, and the process proceeds to step S41. In step S40, the normalization management unit 416 normalizes the time series data based on the time series data.
  • step S41 the processing unit 413 determines whether or not to end the editing process. For example, the processing unit 413 ends the editing process when the user instructs to end the editing process. If the editing process is to end, the determination in step S41 is Yes, and the process proceeds to step S42. On the other hand, if the editing process is not to be ended, a determination of No is made in step S41, and the process returns to step S32 and is repeated.
  • step S42 the processing unit 413 stores the time-series data that has undergone processing involving interpolation, non-normalization, etc. in the processing from steps S31 to S41 as edited data in the edited data storage unit 422. This completes the processing.
  • FIG. 21 is a flowchart for explaining the flow of reproduction processing executed by the data processing system S.
  • the reproduction process is executed when the data processing device 40 receives a user's instruction to start the reproduction process.
  • step S ⁇ b>51 the reproduction data generation unit 417 reads out edit data to be reproduced (that is, set as reproduction data) from the edit data storage unit 422 based on the user's selection instruction operation.
  • step S52 the normalization management unit 416 determines whether or not to denormalize the edited data. For example, the normalization management unit 416 denormalizes the edited data when the user instructs denormalization. If the edited data is to be non-normalized, a determination of Yes is made in step S52, and the process proceeds to step S53. On the other hand, if the edited data is not to be denormalized, a determination of No is made in step S52, and the process proceeds to step S54.
  • step S53 the normalization management unit 416 executes denormalization according to the attribute of the control device 30 that executes the reproduction data, which is the time-series data after denormalization.
  • step S54 the reproduction data generation unit 417 generates reproduction data based on the edited data read out in step S51 or the non-normalized data in step S53.
  • step S55 the reproduction data generator 417 transmits the reproduction data generated in step S54 to the control device 30 that reproduces the action corresponding to the reproduction data.
  • step S ⁇ b>56 the reproduction data generation unit 417 stores the reproduction data generated in step S ⁇ b>54 in the reproduction data storage unit 423 .
  • step S ⁇ b>61 the reproduction data acquisition unit 313 receives and acquires the reproduction data transmitted from the reproduction data generation unit 417 of the data processing device 40 .
  • step S ⁇ b>62 the reproduction data acquisition unit 313 stores the reproduction data acquired in step S ⁇ b>61 in the reproduction data storage unit 322 .
  • step S63 the haptic control unit 311 reads the reproduction data to be reproduced from the reproduction data storage unit 322 based on the user's selection instruction operation, ) to obtain the position (specifically, position or angle) of the moving object that is moved by .
  • step S64 the haptic sense control unit 311 converts the input vector in the real space into a vector in the virtual space.
  • step S65 the haptic control unit 311 performs calculation in the velocity (position) area and calculation in the force area.
  • step S66 the haptic control unit 311 inversely transforms the values of the velocity (position) and force regions into the values of the input region (real space vector) to the controlled system CS.
  • step S67 the haptic control unit 311 outputs a command value for one of the actuators (here, the actuator 22). In the reproduction process, the command value for the other actuator (here, actuator 12) is not output.
  • step S68 the haptic control unit 311 determines whether or not the reproduction data being reproduced in this process has ended. If the reproduction data being reproduced has ended, it is determined as Yes in step S68, and this process ends. On the other hand, if the reproduction data being reproduced has not ended, it is determined as No in step S68, and the process returns to step S63 and is repeated.
  • the reproduction data generated by performing processing involving interpolation and the like, non-normalization, etc., on the time-series data is executed in the second driving device 20 (that is, the reproduction data corresponds to the reproduction data). You can reproduce the behavior to do).
  • the data processing system S processes the time-series data of the parameters used to transmit the haptic sensation, generates interpolation data in accordance with the values of the parameters of the processed time-series data, and processes the interpolation data. Appropriately interpolate time-series data after processing by data.
  • the haptic data can be appropriately used not only for real-time transmission of the detected haptic itself, but also for other purposes. Therefore, according to the data processing system S, it is possible to solve the problem of making more use of the haptic data.
  • control device 30 and the data processing device 40 are implemented as different devices. Not limited to this, for example, the control device 30 and the data processing device 40 may be implemented as an integrated device. In other words, time-series data may be obtained by controlling the transmission of haptic sensations, and the time-series data may be edited by the device itself. Alternatively, for example, off-line editing may be performed without connecting the data processing device 40 to a network. In addition, for example, a function of performing time-series data acquisition processing of acquiring time-series data and data editing processing of editing this time-series data by omitting the function of performing reproduction processing of generating reproduction data from the data processing device 40 The data processing device 40 may be realized as a device provided with
  • the first driving device 10, the second driving device 20, and the control device 30 do not necessarily have to be included in the set.
  • there may be a set of only two the second driving device 20 for performing operations based on existing time-series data or reproduction data, and the control device 30 for controlling these operations.
  • the time-series data acquisition process is not performed for this set of only two units.
  • this two-unit control device 30 can edit existing time-series data (for example, existing time-series data acquired in another set), and then edit this existing time-series data.
  • the generated reproduction data is obtained from the data processing device 40 .
  • the control device 30 controls the operation of the second driving device 20 based on the acquired existing time-series data and reproduction data.
  • control device 30 and the data processing device 40 are realized as an integrated device, for example, existing time-series data can be downloaded and edited by oneself. , a robot or the like that controls the operation of the second driving device 20 by itself.
  • control device 30 there may be a set including one control device 30 and a plurality of first driving devices 10 and a plurality of second driving devices 20 .
  • a plurality of first drive devices 10 operate as master devices of the multi-degree-of-freedom robot arm
  • a plurality of second drive devices 20 operate as slave devices of the multi-degree-of-freedom robot arm. All operations are controlled by one controller 30 .
  • the control device 30 may be implemented as a device integrated with the first drive device 10 or the second drive device 20 .
  • the data processing device 40 may be realized by a plurality of server devices constituting a cloud server. That is, the system configuration in the embodiment described above is merely an example, and can be appropriately modified into various configurations.
  • the haptic control unit 311 controls the second driving device 20 based on the reproduction data for controlling the operation of the second driving device 20 stored in the reproduction data storage unit 322 . 20, the actuator 22 was controlled to reproduce the operation based on the reproduced data. That is, the haptic control unit 311 executes control to transmit the haptic sensation based on the reproduction data to the actuator 22 .
  • the haptic control unit 311 controls the operation of the first driving device 10 based on the reproduction data for controlling the operation of the first driving device 10 stored in the reproduction data storage unit 322 . may be executed to reproduce the operation of the actuator 12 based on reproduction data. That is, the haptic control section 311 may perform control to transmit the haptic sensation to the actuator 12 based on the reproduced data.
  • time-series position (angle) detection values detected by the position sensor 13 are input to the haptic control unit 311 .
  • This time-series position (angle) detection value represents the operation of the actuator 12 .
  • the haptic control unit 311 receives time-series position (angle) values in the reproduction data.
  • the position (angle) value in this reproduction data represents the operation of the actuator 12 in the reproduction data.
  • the haptic control unit 311 applies coordinate transformations that transmit haptic sensations to the input positions (angles) and the forces derived from these positions (angles).
  • time-series data values of position (angle) and force parameters may be input as reproduction data.
  • the haptic control unit 311 uses the time-series values of the position (angle) and force parameters in the reproduction data, the position (angle) input from the position sensor 13, and the force derived from this position (angle). Based on and apply a coordinate transformation that conveys haptic sensations. As a result, the haptic sensation based on the reproduced data can be transmitted to the actuator 12, and the data on the haptic sensation can be used for various purposes.
  • a filter that passes only a predetermined frequency band and attenuates other frequency bands is used.
  • high-frequency noise components in the time-series data can be removed by using a low-pass filter.
  • outliers may be removed as preprocessing by ignoring detected values exceeding a predetermined threshold and replacing them with immediately preceding detected values. good.
  • outlier saturation may be performed as preprocessing, for example, in which detected values of parameters included in time-series data that exceed a predetermined threshold value are saturated and replaced with the threshold value. This makes it possible to appropriately remove noise contained in the time-series data.
  • the second driving device 20 acting as the slave device actually grips, moves, or moves an object that involves contact with the object. It is assumed that work such as processing will be executed.
  • the data processing device 40 and the control device 30 cooperate to create a virtual slave based on a virtual user's operation on a virtual master device in a virtual space simulated by a computer.
  • the device may be used to perform an operation such as grasping a virtual object.
  • the virtual user's operation on the virtual master device is transmitted to the virtual slave device, and the reaction force input from the virtual object to the virtual slave device is transmitted to the master device.
  • control device 30 performs control to transmit haptic sensations between the virtual first mechanism driven by the virtual master device and the virtual second mechanism driven by the virtual slave device. (bilateral control).
  • control device 30 acquires time-series data of parameters used for transmitting haptic sensations in the control of transmitting haptic sensations between virtual devices.
  • time-series data can be acquired by computer simulation without actually performing work such as gripping that involves contact with an object.
  • the time-series data may be obtained by a technique other than simulation. For example, time-series data created based on a user's operation instruction may be obtained.
  • time-series data created by a creation tool that automatically creates time-series data based on predetermined conditions may be acquired. Then, the time-series data acquired by this simulation, the time-series data acquired by the user's operation instruction, and the time-series data acquired by the creation tool are to be edited as in the above-described embodiment. As a result, it is possible to further utilize the haptic data.
  • the data processing device 40 may display a preview of the operation of a virtual master device or a virtual slave device based on time-series data.
  • the time-series data is time-series data acquired by simulation, time-series data acquired by user's operation instruction, time-series data acquired by the creation tool, or time-series data acquired by time-series data acquisition processing. Any time series data or the like may be used. Further, it may be reproduction data created by editing these time-series data.
  • the preview display can be realized, for example, by representing the operations of a virtual master device or a virtual slave device in schematic computer graphics and displaying them. In this case, the virtual first mechanism, the virtual second mechanism, the virtual object to be touched, etc.
  • the preview display are also represented by schematic computer graphics and included in the preview display. You may do so. By performing such a preview display, the user can reproduce the created time-series data or the reproduced data created with editing appropriately without actually operating the first driving device 10 or the second driving device 20. You can easily check if it works.
  • the data processing system S includes the time-series data acquisition unit 411, the processing unit 413, and the interpolation unit 414.
  • the time-series data acquisition unit 411 acquires time-series data of parameters used for transmitting haptic sensations between devices.
  • the processing unit 413 processes the time-series data acquired by the time-series data acquisition unit 411 .
  • the interpolation unit 414 generates interpolation data based on the values of parameters included in the time-series data processed by the processing unit 413, and interpolates the processed time-series data using the interpolation data.
  • the data processing system S processes the time-series data of the parameters used to transmit the haptic sensation, generates interpolation data in accordance with the values of the parameters of the processed time-series data, and processes the interpolation data. Appropriately interpolate time-series data after processing by data.
  • the haptic data can be appropriately used not only for real-time transmission of the detected haptic itself, but also for other purposes. Therefore, according to the data processing system S, it is possible to solve the problem of making more use of the haptic data.
  • the processing unit 413 puts the processed time-series data in chronological order into the first time-series data to be processed, the section having the time range to be interpolated, and the second time-series data to be processed. , are processed to be included next to each other,
  • the interpolation unit 414 interpolates a section having a time range to be interpolated, which is included in the processed time-series data, with interpolation data. As a result, it is possible to appropriately interpolate between data to be processed. Therefore, even when processing is performed, it is possible to maintain the interrelationship of various parameters related to the haptic sensation and the continuity between the front and back.
  • the data processing system S further includes a presentation unit 412 .
  • the presentation unit 412 presents the time-series data to the user.
  • the processing unit 413 determines at least one of the first time-series data and the second time-series data based on the specification of the time range by the user who referred to the time-series data. As a result, the user can select time-series data to be processed simply by designating a time range. That is, according to the data processing system S, an intuitive and simple user interface can be provided to the user.
  • the data processing system S further includes a presentation unit 412 .
  • the presentation unit 412 presents the time-series data to the user.
  • the processing unit 413 determines a section having a time range to be interpolated based on a user's specification of a change in the value of a parameter that accompanies specification of a time point by a user who refers to the time-series data. As a result, it is possible to select a section having a time range to be interpolated simply by designating a parameter value change that accompanies designation of a point in time. That is, according to the data processing system S, an intuitive and simple user interface can be provided to the user.
  • the data processing system S further includes an approximate expression generator 415 .
  • the approximation formula generation unit 415 generates an approximation formula for the time series data based on the time series data.
  • the processing unit 413 performs processing to expand or reduce the parameter values of the time-series data from which the approximation formula was generated, and processing to offset the parameter values of the time-series data. Either or both processes are performed. This makes it possible to formulate and express the time-series data and reduce the data amount of the time-series data.
  • time-series data can be formulated and expressed, and data with expanded or reduced parameter values or offset data can be generated as continuous data, and parameter values can be changed without lowering the resolution of time-series data. be able to.
  • the data processing system S further includes an approximate expression generator 415 .
  • the approximation formula generation unit 415 generates an approximation formula for the time series data based on the time series data. Based on the approximation formula, the processing unit 413 either expands or contracts the time range of the time series data from which the approximation formula is generated, or offsets the time range of the time series data, or Both sides are processed. This makes it possible to formulate and express the time-series data and reduce the data amount of the time-series data.
  • time-series data can be formulated and expressed, and data with an expanded or reduced time range or offset data can be generated as continuous data, and the time range can be changed without reducing the resolution of the time-series data. can.
  • the data processing system S further includes a normalization manager 416 .
  • the normalization management unit 416 normalizes or denormalizes the time series data based on the time series data.
  • the normalization management unit 416 performs normalization or denormalization according to the attribute of the device corresponding to the time-series data before normalization or after denormalization.
  • normalized general-purpose time-series data can be generated simply by acquiring and normalizing the time-series data when any of the control devices 30 performs control.
  • denormalization is performed according to the attributes of the device that executes the reproduction data, reproduction data unique to the device is generated, and the corresponding operation is reproduced.
  • time-series data corresponding to each of various devices can be easily generated from normalized general-purpose time-series data. It is possible to omit the human effort to prepare in advance. In addition, time-series data can be managed easily.
  • the actuator 12 moves the first moving object along with execution of a predetermined action.
  • the position sensor 13 acquires first position information regarding the position of the first moving object moved by the actuator 12 .
  • the actuator 22 moves the second moving object along with execution of a predetermined action.
  • the position sensor 23 acquires second position information regarding the position of the second object moved by the actuator 22 .
  • the haptic control unit 311 controls the actuator 12 so as to output the position and force corresponding to the motion represented by the second position information based on the first position information and the second position information serving as a reference for the motion of the actuator 12 .
  • the time-series data acquisition unit 411 acquires at least part of the parameters used by the haptic control unit 311 to control the actuators 12 and 22 as time-series data.
  • a function for executing a series of processes according to the above-described embodiment can be realized by hardware, software, or a combination thereof. In other words, it is sufficient that any one of the data processing systems S implements the function of executing the series of processes described above, and there is no particular limitation as to how the function is implemented.
  • the processor that executes this arithmetic processing is composed of various single processing units such as a single processor, a multiprocessor, and a multicore processor. In addition to these, it also includes a combination of these various processing devices and a processing circuit such as ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • the programs that make up the software are installed in the computer via a network or a recording medium.
  • the computer may be a computer in which dedicated hardware is installed, or a general-purpose computer capable of executing a predetermined function by installing a program (for example, a general-purpose personal computer, etc.). general electronic equipment).
  • the steps of writing the program may include only processes performed in chronological order, but may also include processes performed in parallel or individually. Also, the steps of writing the program may be executed in any order without departing from the gist of the present invention.
  • a recording medium recording such a program may be provided to the user by being distributed separately from the computer main body, or may be provided to the user in a state pre-installed in the computer main body.
  • the storage medium distributed separately from the computer main body is, for example, the removable medium 50, which is composed of a magnetic disk (including a floppy disk), an optical disk, a magneto-optical disk, or the like.
  • the optical disc is composed of, for example, a CD-ROM (Compact Disc-Read Only Memory), a DVD (Digital Versatile Disc), or a Blu-ray (registered trademark) Disc (Blu-ray Disc).
  • the magneto-optical disc is composed of, for example, an MD (Mini Disc) or the like.
  • the recording medium provided to the user in a state of being pre-installed in the computer main body is, for example, the storage unit 32 or storage unit 42 in which the program is recorded, and is a hard disk drive (HDD) or solid state SSD (SSD). Drive).
  • HDD hard disk drive
  • SSD solid state SSD

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

According to the present invention, data related to force and tactile sensation is better used. A data processing system (S) comprises a time-series data acquisition unit (411), a processing unit (413), and an interpolation unit (414). The time-series data acquisition unit (411) acquires time-series data of parameters used for transmitting force and tactile sensation between devices. The processing unit (413) processes the time-series data acquired by the time-series data acquisition unit (411). The interpolation unit (414) generates interpolation data on the basis of the value of the parameter included in the time-series data processed by the processing unit (413), and interpolates the processed time-series data by using the interpolation data.

Description

データ加工装置、データ加工方法、及びプログラムData processing device, data processing method, and program
 本発明は、データ加工装置、データ加工方法、及びプログラムに関する。 The present invention relates to a data processing device, a data processing method, and a program.
 従来、物体に接触した際の力触覚(例えば、物体の硬さや柔らかさ)をデータ化することにより、装置間での力触覚の伝達を実現する技術が存在する。これにより、例えば、ユーザからの操作を受け付ける一方の装置と、物体への接触を伴う作業をする他方の装置との間で、双方向に力触覚を伝達することが可能となる。 Conventionally, there are technologies that realize the transmission of haptic sensations between devices by converting the haptic sensations (for example, the hardness and softness of objects) when touching an object into data. As a result, for example, it is possible to transmit haptic sensations bidirectionally between one device that receives an operation from a user and the other device that performs work involving contact with an object.
 このような技術の一例が、特許文献1に開示されている。特許文献1に開示の技術では、ロボットマニピュレーターによって物体を把持した際の力触覚をデータ化することによって、ユーザが装着する多指型のデバイスに対して力触覚を伝達する。 An example of such technology is disclosed in Patent Document 1. In the technique disclosed in Patent Document 1, the haptic sensation is transmitted to a multi-fingered device worn by the user by digitizing the haptic sensation when an object is gripped by a robot manipulator.
特開2009-289179号公報JP 2009-289179 A
 しかしながら、特許文献1に開示されているような一般的な技術では、検出された力触覚をデータ化することによって、検出された力触覚そのものをリアルタイムに伝達することのみを想定している。これにとどまらず、力触覚に関するデータを、より活用することが望まれる。 However, the general technology disclosed in Patent Document 1 only assumes that the detected haptic sensation itself is transmitted in real time by converting the detected haptic sensation into data. In addition to this, it is desirable to make more use of haptic data.
 本発明は、このような状況に鑑みてなされたものである。そして、本発明の課題は、力触覚に関するデータを、より活用することである。 The present invention has been made in view of such circumstances. An object of the present invention is to make more use of haptic data.
 上記課題を解決するため、本発明の一実施形態に係るデータ加工装置は、
 装置間で力触覚を伝達するために用いられるパラメータの時系列データを取得する取得手段と、
 前記取得手段が取得した前記時系列データを加工する加工手段と、
 前記加工手段による加工後の時系列データに含まれる前記パラメータの値に基づいて補間データを生成し、該補間データによって前記加工後の時系列データを補間する補間手段と、
 を備えることを特徴とする。
In order to solve the above problems, a data processing device according to an embodiment of the present invention includes:
Acquisition means for acquiring time-series data of parameters used for transmitting haptic sensations between devices;
a processing means for processing the time-series data acquired by the acquisition means;
interpolation means for generating interpolation data based on the values of the parameters included in the time-series data processed by the processing means, and interpolating the time-series data after processing with the interpolation data;
characterized by comprising
 本発明によれば、力触覚に関するデータを、より活用することができる。 According to the present invention, haptic data can be used more effectively.
本発明の一実施形態に係るデータ加工システムの全体構成の一例を示すブロック図である。1 is a block diagram showing an example of the overall configuration of a data processing system according to one embodiment of the present invention; FIG. 第1駆動装置10と、第2駆動装置20のハードウェア構成を示すブロック図である。2 is a block diagram showing the hardware configuration of a first driving device 10 and a second driving device 20; FIG. 制御装置30のハードウェア構成及び機能的構成を示すブロック図である。3 is a block diagram showing the hardware configuration and functional configuration of a control device 30; FIG. 力触覚制御部311における力触覚の伝達をする制御アルゴリズムを示すブロック図である。3 is a block diagram showing a control algorithm for transmitting a haptic sense in a haptic sense control unit 311. FIG. データ加工装置40のハードウェア構成及び機能的構成を示すブロック図である。3 is a block diagram showing the hardware configuration and functional configuration of the data processing device 40; FIG. データ編集処理において、提示部412がディスプレイに表示する、時系列データに対応する波形と、ユーザからの操作を受け付けるための各種ユーザインタフェースを示す模式図である。FIG. 10 is a schematic diagram showing waveforms corresponding to time-series data and various user interfaces for receiving operations from the user, which are displayed on the display by the presentation unit 412 in the data editing process. 補間の手法として、Linear(1次)を用いて、補間対象区間53の位置の値を補間した場合のグラフを示す図である。FIG. 10 is a diagram showing a graph when the value of the position of the interpolation target section 53 is interpolated using Linear (primary) as an interpolation method. 補間の手法として、EaseIn(2次)を用いて、補間対象区間53の位置の値を補間した場合のグラフを示す図である。FIG. 11 is a graph showing a case where EaseIn (quadratic) is used as an interpolation method to interpolate the value of the position of the interpolation target section 53; 補間の手法として、EaseOut(2次)を用いて、補間対象区間53の位置の値を補間した場合のグラフを示す図である。FIG. 10 is a graph showing a case where EaseOut (quadratic) is used as an interpolation method to interpolate the value of the position of the interpolation target section 53; 補間の手法として、EaseInOut(3次)を用いて、補間対象区間53の位置の値を補間した場合のグラフを示す図である。FIG. 11 is a graph showing a case where the value of the position of the interpolation target section 53 is interpolated using EaseInOut (cubic) as an interpolation technique; 補間の手法として、5次を用いて、補間対象区間53の位置の値を補間した場合のグラフを示す図である。FIG. 11 is a diagram showing a graph when the value of the position of the interpolation target section 53 is interpolated using the quintic as the interpolation method. 補間の手法として、7次を用いて、補間対象区間53の位置の値を補間した場合のグラフを示す図である。FIG. 11 is a diagram showing a graph when the value of the position of the interpolation target section 53 is interpolated using the 7th order as the interpolation method. 補間を伴う加工の1つである「切り抜き」を行う場面における、提示部412の表示の模式図である。FIG. 10 is a schematic diagram of the display of the presentation unit 412 in a scene where “clipping”, which is one of processing involving interpolation, is performed. 補間を伴う加工の1つである「切り取り」を行う場面における、提示部412の表示の模式図である。FIG. 10 is a schematic diagram of the display of the presentation unit 412 in a scene where “cutting”, which is one of the processing involving interpolation, is performed; 補間を伴う加工の1つである「値変更」を行う場面における、提示部412の表示の模式図である。FIG. 10 is a schematic diagram of the display of the presentation unit 412 in a scene where “value change”, which is one of the processing involving interpolation, is performed. 補間を伴う加工の1つである「値のオフセット」を行う場面における、提示部412の表示の模式図である。FIG. 10 is a schematic diagram of the display of the presentation unit 412 in a scene where “value offset”, which is one of the processing involving interpolation, is performed. 近似式の生成を伴う加工の1つである「値の拡大または縮小」を行う場面における、提示部412の表示の模式図である。FIG. 10 is a schematic diagram of the display of the presentation unit 412 in a scene where “enlargement or reduction of value”, which is one of the processing accompanying the generation of approximate expressions, is performed. 近似式の生成を伴う加工の1つである「時間範囲の拡大または縮小」を行う場面における、提示部412の表示の模式図である。FIG. 11 is a schematic diagram of the display of the presentation unit 412 in a scene where “expansion or reduction of the time range”, which is one of the processing accompanied by the generation of approximate expressions, is performed. データ加工システムSが実行する時系列データ取得処理の流れを説明するフローチャートである。4 is a flowchart for explaining the flow of time-series data acquisition processing executed by the data processing system S; データ加工システムSが実行するデータ編集処理の流れを説明するフローチャートである。4 is a flowchart for explaining the flow of data editing processing executed by the data processing system S; データ加工システムSが実行する再現処理の流れを説明するフローチャートである。4 is a flowchart for explaining the flow of reproduction processing executed by the data processing system S;
 以下、添付の図面を参照して本発明の実施形態の一例について説明する。 An example of an embodiment of the present invention will be described below with reference to the accompanying drawings.
[システム構成]
 図1は、本実施形態に係るデータ加工システムSの全体構成を示すブロック図である。図1に示すように、データ加工システムSは、第1駆動装置10、第2駆動装置20、及び制御装置30からなる組をn組(nは、1以上の任意の整数値)と、データ加工装置40と、を含む。
[System configuration]
FIG. 1 is a block diagram showing the overall configuration of a data processing system S according to this embodiment. As shown in FIG. 1, the data processing system S includes n sets (n is an arbitrary integer value equal to or greater than 1) consisting of a first drive device 10, a second drive device 20, and a control device 30, and data and a processing device 40 .
 各組において、第1駆動装置10及び第2駆動装置20と、制御装置30は、有線または無線により通信可能に接続される。また、各制御装置30と、データ加工装置40は、ネットワークNを介して通信可能に接続される。このネットワークNは、例えば、LAN(Local Area Network)やインターネット等の、有線または無線によるネットワークにより実現される。
 ただし、この通信接続の態様は、あくまで一例である。例えば、各組において、第1駆動装置10及び各第2駆動装置20と、制御装置30は、ネットワークNや他のネットワークを介して制御装置30と通信可能に接続されていてもよい。他にも、例えば、各制御装置30と、データ加工装置40は、ネットワークNを介することなく通信可能に接続されていてもよい。
In each set, the first driving device 10, the second driving device 20, and the control device 30 are communicably connected by wire or wirelessly. Also, each control device 30 and the data processing device 40 are connected via a network N so as to be communicable. This network N is implemented by a wired or wireless network such as a LAN (Local Area Network) or the Internet.
However, this form of communication connection is merely an example. For example, in each set, the first driving device 10, each second driving device 20, and the control device 30 may be communicably connected to the control device 30 via the network N or another network. In addition, for example, each control device 30 and the data processing device 40 may be connected so as to be communicable without going through the network N.
 各組において、第1駆動装置10は、マスタ装置として動作することにより、ユーザからの操作を受け付ける第1機構を駆動する。一方で、第2駆動装置20は、スレーブ装置として動作することにより、物体への接触を伴う作業をする第2機構を駆動する。
 この場合に、制御装置30は、第1駆動装置10が駆動する第1機構と、第2駆動装置20が駆動する第2機構との間で、力触覚を伝達する制御(バイラテラル制御)を行う。これにより、第1機構に対するユーザの操作(位置と力の入力)が第2機構に伝達されると共に、第2機構からの反力(位置と力の応答)が第1機構に伝達される。
In each set, the first driving device 10 operates as a master device to drive the first mechanism that receives the operation from the user. On the other hand, the second drive device 20 operates as a slave device to drive a second mechanism that performs work involving contact with an object.
In this case, the control device 30 performs control (bilateral control) to transmit the haptic sensation between the first mechanism driven by the first driving device 10 and the second mechanism driven by the second driving device 20. conduct. Thereby, the user's operation (position and force input) to the first mechanism is transmitted to the second mechanism, and the reaction force (position and force response) from the second mechanism is transmitted to the first mechanism.
 また、各制御装置30は、このようなバイラテラル制御にて、装置間で力触覚を伝達するために用いられるパラメータの時系列データを取得する。そして、各制御装置30は、この時系列データを、データ加工装置40に対して送信する。 In addition, each control device 30 acquires time-series data of parameters used for transmitting haptic sensations between devices in such bilateral control. Each control device 30 then transmits this time-series data to the data processing device 40 .
 データ加工装置40は、各制御装置30から受信した時系列データを、ユーザの指示に応じて加工する。また、データ加工装置40は、加工後の時系列データに含まれるパラメータの値に基づいて補間データを生成し、この補間データによって加工後の時系列データを補間する。
 さらに、データ加工装置40は、この補間後のデータを何れかの制御装置30に対して送信することにより、第1駆動装置10や第2駆動装置20において、補間後のデータを実行(すなわち、補間後のデータに基づいた動作を再現)させる。
The data processing device 40 processes the time-series data received from each control device 30 in accordance with user instructions. The data processing device 40 also generates interpolated data based on parameter values included in the processed time-series data, and interpolates the processed time-series data using this interpolated data.
Further, the data processing device 40 transmits the interpolated data to any one of the control devices 30 to execute the interpolated data in the first driving device 10 or the second driving device 20 (that is, (Reproduce the operation based on the data after interpolation).
 このように、データ加工システムSは、力触覚を伝達するために用いられるパラメータの時系列データを加工すると共に、加工後の時系列データのパラメータの値に即した補間データを生成し、この補間データによって加工後の時系列データを適切に補間する。これにより、力触覚に関するデータを、従来のように検出した力触覚そのものをリアルタイムに伝達する用途のみならず、他の用途にも適切に利用することができる。
 従って、データ加工システムSによれば、力触覚に関するデータを、より活用する、という課題を解決することが可能となる。
In this way, the data processing system S processes the time-series data of the parameters used to transmit the haptic sensation, generates interpolation data in accordance with the values of the parameters of the processed time-series data, and processes the interpolation data. Appropriately interpolate time-series data after processing by data. As a result, the haptic data can be appropriately used not only for real-time transmission of the detected haptic itself, but also for other purposes.
Therefore, according to the data processing system S, it is possible to solve the problem of making more use of the haptic data.
 また、時系列データに対して、単に加工のみを行った場合には、時系列データに含まれる力触覚に関する各種パラメータの相互関係性や前後の連続性が失われるおそれがある。しかしながら、データ加工システムSは、単に加工をするのみではなく、上述したようにして、加工後の時系列データを適切に補間する。このようにして、適切な補間を行うことにより、加工を行った場合であっても、力触覚に関する各種パラメータの相互関係性や前後の連続性を保持することが可能となる。
 従って、データ加工システムSによれば、力触覚に関するデータを、より一層、活用することが可能となる。
Further, if only processing is performed on the time-series data, there is a risk that interrelationships and continuity between various parameters related to haptic sensations included in the time-series data will be lost. However, the data processing system S does not only process the data, but also appropriately interpolates the processed time-series data as described above. By appropriately interpolating in this manner, it is possible to maintain the interrelationship and continuity of various parameters relating to haptic sensation even when processing is performed.
Therefore, according to the data processing system S, it is possible to further utilize the haptic data.
[装置構成]
 次に、データ加工システムSに含まれる各装置の構成について説明する。
 図2は、第1駆動装置10と、第2駆動装置20のハードウェア構成を示すブロック図である。
 図2に示すように、第1駆動装置10は、第1機構15を駆動するためのアクチュエータ12と、アクチュエータ12を駆動するドライバ11と、アクチュエータ12によって移動される移動対象物の位置を検出する位置センサ13と、を備えている。また、第2駆動装置20は、第2機構25を駆動するためのアクチュエータ22と、アクチュエータ22を駆動するドライバ21と、アクチュエータ22によって移動される移動対象物の位置を検出する位置センサ23と、を備えている。
[Device configuration]
Next, the configuration of each device included in the data processing system S will be described.
FIG. 2 is a block diagram showing the hardware configuration of the first driving device 10 and the second driving device 20. As shown in FIG.
As shown in FIG. 2, the first drive device 10 detects an actuator 12 for driving the first mechanism 15, a driver 11 for driving the actuator 12, and a position of a moving object moved by the actuator 12. and a position sensor 13 . The second driving device 20 includes an actuator 22 for driving the second mechanism 25, a driver 21 for driving the actuator 22, a position sensor 23 for detecting the position of the moving object moved by the actuator 22, It has
 この場合に、位置センサ13が検出する移動対象物の位置とは、例えば、第1機構15の所定の部位の位置や、第1機構15を操作するユーザの所定の部位の位置である。また、位置センサ23が検出する移動対象物の位置とは、例えば、第2機構25の所定の部位の位置や、第2機構25が接触することにより、把持や加工や移動の対象となる物体の所定の部位の位置である。 In this case, the position of the moving object detected by the position sensor 13 is, for example, the position of a predetermined portion of the first mechanism 15 or the position of a predetermined portion of the user who operates the first mechanism 15 . The position of the object to be moved detected by the position sensor 23 is, for example, the position of a predetermined portion of the second mechanism 25, or the position of an object to be gripped, processed, or moved by contact with the second mechanism 25. is the position of a predetermined portion of
 ただし、本実施形態では、これら移動対象物の位置に代えて、各アクチュエータの出力軸の回転角度を各アクチュエータに内蔵されたロータリーエンコーダによって検出することとしてもよい。すなわち、本実施形態において、位置の概念には角度(例えば、アクチュエータの出力軸の回転角度等)が含まれるものとし、位置に関する情報には、位置、角度、速度、角速度、加速度及び角加速度が含まれるものとする。また、位置と速度(または加速度)あるいは角度と角速度(または角加速度)は、微積分演算により置換可能なパラメータであるため、位置あるいは角度に関する処理を行う場合、適宜、速度あるいは角速度等に置換してから処理を行うことが可能である。 However, in this embodiment, instead of the positions of these moving objects, the rotation angle of the output shaft of each actuator may be detected by a rotary encoder built into each actuator. That is, in the present embodiment, the concept of position includes an angle (for example, the rotation angle of the output shaft of the actuator), and the information on the position includes position, angle, velocity, angular velocity, acceleration, and angular acceleration. shall be included. Position and velocity (or acceleration) or angle and angular velocity (or angular acceleration) are parameters that can be replaced by calculus. It is possible to process from
 第1機構15は、ユーザの操作を受け付ける操作具として機能する機構であり、その形状や構造は特に限定されない。例えば、第1機構15は、ユーザの操作を受け付ける可動部を備えたコントローラや、ユーザが装着する手指等の形状のデバイスにより実現される。また、第2機構25は、物体に接触して把持や加工や移動を行う機構であり、その形状や構造は特に限定されない。例えば、第2機構25は、物体に接触して把持や移動を行うロボットマニュピレータや、物体を加工する工具を備えた(あるいは、工具が装着された)ロボットアームにより実現される。 The first mechanism 15 is a mechanism that functions as an operation tool that receives user operations, and its shape and structure are not particularly limited. For example, the first mechanism 15 is realized by a controller having a movable part that receives user's operation, or a finger-shaped device worn by the user. Also, the second mechanism 25 is a mechanism that grips, processes, or moves an object in contact with it, and its shape and structure are not particularly limited. For example, the second mechanism 25 is implemented by a robot manipulator that grips or moves an object in contact with it, or a robot arm equipped with (or attached with) a tool for processing an object.
 このような構成において、制御装置30は、位置センサ13や位置センサ23が検出した位置の情報に基づいて、ドライバ11やドライバ21に対して制御指令を出力することにより、マスタ装置である第1駆動装置10と、スレーブ装置である第2駆動装置20との間で力触覚を伝達するバイラテラル制御を実現する。なお、この制御を実現するための具体的なアルゴリズムについては、図4を参照して後述する。 In such a configuration, the control device 30 outputs a control command to the driver 11 or the driver 21 based on position information detected by the position sensor 13 or the position sensor 23, thereby causing the first control device, which is the master device. A bilateral control that transmits a haptic sensation is realized between the driving device 10 and the second driving device 20, which is a slave device. A specific algorithm for realizing this control will be described later with reference to FIG.
 図3は、制御装置30のハードウェア構成及び機能的構成を示すブロック図である。
 図3に示すように、制御装置30は、プロセッサ31と、記憶部32と、ROM(Read Only Memory)33と、RAM(Random Access Memory)34と、通信部35と、を備えている。
FIG. 3 is a block diagram showing the hardware configuration and functional configuration of the control device 30. As shown in FIG.
As shown in FIG. 3 , the control device 30 includes a processor 31 , a storage section 32 , a ROM (Read Only Memory) 33 , a RAM (Random Access Memory) 34 and a communication section 35 .
 プロセッサ31は、CPU(Central Processing Unit)等の演算装置により構成され、ROM33に記録されているプログラム、または、記憶部32からRAM34にロードされたプログラムに従って各種の処理を実行する。
 RAM34には、プロセッサ31が各種の処理を実行する上において必要なデータ等も適宜記憶される。
The processor 31 is composed of an arithmetic device such as a CPU (Central Processing Unit), and executes various processes according to programs recorded in the ROM 33 or programs loaded from the storage unit 32 to the RAM 34 .
The RAM 34 also stores data necessary for the processor 31 to execute various types of processing.
 プロセッサ31は、ROM33、及びRAM34と、図示を省略したバスを介して相互に接続されている。このバスにはさらに、記憶部32と、通信部35と、が接続される。
 また、プロセッサ31にはさらに、図2を参照して上述した、位置センサ13と、ドライバ11と、位置センサ23と、ドライバ21と、が信号線を介して相互に接続されている。この接続経路には、D/A(digital to analog)変換回路やA/D(analogd to digital)変換回路等の信号の送受を実現するための回路や、パルスカウンタ等が適宜配置される。また、この信号線を介した信号の送受は、パラレル通信により実現されてもよいし、シリアル通信により実現されてもよい。
The processor 31 is interconnected with the ROM 33 and RAM 34 via a bus (not shown). The bus is further connected to a storage unit 32 and a communication unit 35 .
Further, the processor 31 is further connected to the position sensor 13, the driver 11, the position sensor 23, and the driver 21 described above with reference to FIG. 2 through signal lines. Circuits such as a D/A (digital to analog) conversion circuit and an A/D (analog to digital) conversion circuit for realizing signal transmission/reception, a pulse counter, and the like are appropriately arranged on the connection path. Also, the transmission and reception of signals via this signal line may be realized by parallel communication or may be realized by serial communication.
 記憶部32は、ハードディスクあるいはDRAM(Dynamic Random Access Memory)等で構成され、各種データを記憶する。
 通信部35は、ネットワークを介して他の装置との間で行う通信を制御する。
The storage unit 32 is composed of a hard disk, a DRAM (Dynamic Random Access Memory), or the like, and stores various data.
The communication unit 35 controls communication with other devices via the network.
 このようなハードウェア構成を有する制御装置30は、「時系列データ取得処理」や、「再現処理」を行う。
 ここで、時系列データ取得処理は、第1駆動装置10及び第2駆動装置20の間で力触覚を伝達する制御を行うと共に、力触覚を伝達するために用いたパラメータの時系列データを取得する一連の処理である。
 また、再現処理は、時系列データに対して、補間等を伴う加工や非正規化等を行うことによって生成した再現データを、第2駆動装置20において実行(すなわち、再現データに対応する動作を再現)させる一連の処理である。
The control device 30 having such a hardware configuration performs “time-series data acquisition processing” and “reproduction processing”.
Here, the time-series data acquisition process performs control for transmitting the haptic sensation between the first driving device 10 and the second driving device 20, and acquires time-series data of parameters used for transmitting the haptic sensation. It is a series of processing to do.
In addition, the reproduction process is performed by the second driving device 20 on reproduction data generated by performing processing involving interpolation, non-normalization, etc. on time-series data (that is, an operation corresponding to the reproduction data is executed It is a series of processing to reproduce).
 これらの処理が行われる場合、プロセッサ31において、力触覚制御部311と、時系列データ取得部312と、再現データ取得部313と、が機能する。また、記憶部32には、時系列データ記憶部321と、再現データ記憶部322と、が形成される。
 以下で特に言及しない場合も含め、これら機能ブロック間では、処理を実現するために必要なデータを、適切なタイミングで適宜送受信する。
When these processes are performed, in the processor 31, the haptic control unit 311, the time-series data acquisition unit 312, and the reproduction data acquisition unit 313 function. In addition, a time-series data storage unit 321 and a reproduced data storage unit 322 are formed in the storage unit 32 .
Data necessary for realizing processing is appropriately transmitted and received between these functional blocks at appropriate timings, including cases not specifically mentioned below.
 力触覚制御部311は、第1駆動装置10及び第2駆動装置20の間で力触覚を伝達する制御を行う。この力触覚を伝達する制御の詳細は、時系列データ取得処理を行う場合と、再現処理を行う場合とで異なる。 The haptic control unit 311 controls the transmission of haptic sensations between the first driving device 10 and the second driving device 20 . The details of the control for transmitting the haptic sensation differ between the time-series data acquisition process and the reproduction process.
 具体的に、時系列データ取得処理を行う場合、力触覚制御部311は、第1駆動装置10のアクチュエータ12と第2駆動装置20のアクチュエータ22との間で双方向に力触覚を伝達する制御を実行する。そのために、力触覚制御部311は、位置センサ13から、アクチュエータ12によって移動される移動対象物の位置(具体的には、位置または角度)を取得すると共に、位置センサ23から、アクチュエータ22によって移動される移動対象物の位置(具体的には、位置または角度)を取得する。 Specifically, when performing the time-series data acquisition process, the haptic control unit 311 performs control to transmit the haptic in both directions between the actuator 12 of the first driving device 10 and the actuator 22 of the second driving device 20. to run. For this purpose, the haptic control unit 311 acquires the position (specifically, position or angle) of the moving object moved by the actuator 12 from the position sensor 13 , and also acquires the position of the object moved by the actuator 22 from the position sensor 23 . Obtain the position (specifically, position or angle) of the moving object to be moved.
 一方で、再現処理を行う場合、力触覚制御部311は、再現データ記憶部322に記憶された第2駆動装置20の動作を制御するための再現データに基づいて、第2駆動装置20のアクチュエータ22における再現データに基づいた動作を再現する制御を実行する。すなわち、力触覚制御部311は、再現データに基づいた力触覚をアクチュエータ22に伝達する制御を実行する。そのために、力触覚制御部311は、位置センサ23から、アクチュエータ22によって移動される移動対象物の位置(具体的には、位置または角度)を取得すると共に、再現データ記憶部322に記憶された第2駆動装置20の動作を制御するための再現データを取得する。 On the other hand, when performing reproduction processing, the haptic control unit 311 controls the actuator of the second driving device 20 based on the reproduction data for controlling the operation of the second driving device 20 stored in the reproduction data storage unit 322. 22 performs control to reproduce the motion based on the reproduction data. That is, the haptic control unit 311 executes control to transmit the haptic sensation based on the reproduction data to the actuator 22 . For this purpose, the haptic control unit 311 acquires the position (specifically, position or angle) of the moving object moved by the actuator 22 from the position sensor 23 , and stores the position in the reproduction data storage unit 322 . Reproduction data for controlling the operation of the second driving device 20 is acquired.
 このようにして、時系列データ取得処理や再現処理において、力触覚制御部311によって取得された位置及び再現データは、力触覚を伝達する制御アルゴリズムにおいて、第1駆動装置10や第2駆動装置20の動作を制御するための基準値として用いられる。この力触覚を伝達する制御アルゴリズムについて、図4を参照して詳細に説明をする。 In this way, in the time-series data acquisition process and the reproduction process, the position and reproduction data acquired by the haptic control unit 311 are used by the first driving device 10 and the second driving device 20 in the control algorithm for transmitting the haptic sensation. used as a reference value to control the operation of A control algorithm for transmitting this haptic sensation will be described in detail with reference to FIG.
 図4は、力触覚制御部311における力触覚の伝達をする制御アルゴリズムを示すブロック図である。
 図4に示すように、力触覚制御部311に実装される制御アルゴリズムは、機能別力・速度割当変換ブロックFTと、理想力源ブロックFCあるいは理想速度(位置)源ブロックPCの少なくとも1つと、逆変換ブロックIFTとを含む制御則として表される。なお、本実施形態において、制御対象システムCSは、第1駆動装置10及び第2駆動装置20によって構成される。
FIG. 4 is a block diagram showing a control algorithm for transmitting a haptic sense in the haptic sense control section 311. As shown in FIG.
As shown in FIG. 4, the control algorithm implemented in the haptic control unit 311 includes a functional force/velocity assignment conversion block FT, at least one of an ideal force source block FC or an ideal velocity (position) source block PC, It is represented as a control law including an inverse transform block IFT. In addition, in the present embodiment, the controlled system CS is configured by the first driving device 10 and the second driving device 20 .
 機能別力・速度割当変換ブロックFTは、制御対象システムCSの機能に応じて設定される速度(位置)及び力の領域への制御エネルギーの変換を定義するブロックである。具体的には、機能別力・速度割当変換ブロックFTでは、制御対象システムCSの機能の基準となる値(基準値)と、アクチュエータ12やアクチュエータ22の現在位置(または現在角度)とを入力とする座標変換が定義されている。この座標変換は、一般に、基準値及び現在位置(現在角度)を要素とする入力ベクトルを位置(角度)の制御目標値を算出するための位置(角度)からなる出力ベクトルに変換すると共に、基準値及び現在の力を要素とする入力ベクトルを力の制御目標値を算出するための力からなる出力ベクトルに変換するものである。 The function-specific force/velocity allocation conversion block FT is a block that defines the conversion of control energy into the velocity (position) and force regions set according to the function of the controlled system CS. Specifically, in the function-specific force/velocity assignment conversion block FT, a value (reference value) that serves as a reference for the function of the controlled system CS and the current positions (or current angles) of the actuators 12 and 22 are input. A coordinate transformation is defined to This coordinate transformation generally converts an input vector whose elements are a reference value and a current position (current angle) into an output vector consisting of a position (angle) for calculating a control target value of the position (angle), and a reference It converts an input vector whose elements are a value and a current force into an output vector composed of force for calculating a force control target value.
 機能別力・速度割当変換ブロックFTにおける座標変換を、力触覚の伝達機能を表す内容に設定することにより、第1駆動装置10と第2駆動装置20との間における力触覚の伝達機能を実現したり、力触覚を伝達する動作を、第1駆動装置10を用いることなく第2駆動装置20で再現したりすることができる。また、機能別力・速度割当変換ブロックFTにおける座標変換において、変換行列の要素に係数を設定することにより、位置(角度)あるいは力のスケーリングを行ったりすることができる。 The haptic transmission function between the first driving device 10 and the second driving device 20 is realized by setting the coordinate transformation in the functional force/velocity assignment transformation block FT to the content representing the haptic transmission function. Alternatively, the motion of transmitting the haptic sensation can be reproduced by the second driving device 20 without using the first driving device 10 . In addition, in the coordinate conversion in the functional force/velocity assignment conversion block FT, the position (angle) or force can be scaled by setting coefficients to the elements of the conversion matrix.
 すなわち、本実施形態においては、機能別力・速度割当変換ブロックFTにおいて、アクチュエータ12やアクチュエータ22単体の変数(実空間上の変数)を、力触覚伝達機能を表現するシステム全体の変数群(座標変換後の空間上の変数)に“変換”し、位置(角度)の制御エネルギーと力の制御エネルギーとに制御エネルギーを割り当てる。すなわち、機能別力・速度割当変換ブロックFTに設定される座標変換は、位置(角度)と力とが互いに関連する実空間の座標(斜交座標)を位置(角度)と力とが互いに独立した仮想空間の座標(直交座標)に変換するものである。そのため、アクチュエータ単体の変数(実空間上の変数)のまま制御を行う場合と比較して、位置(角度)の制御エネルギーと力の制御エネルギーとを独立に与えること、すなわち、位置(角度)と力とを独立に制御することが可能となっている。 That is, in the present embodiment, in the functional force/velocity assignment conversion block FT, the variables of the actuator 12 or the actuator 22 alone (variables in the real space) are converted into the variable group (coordinates) of the entire system expressing the haptic transmission function. The control energy is assigned to the control energy of the position (angle) and the control energy of the force. That is, the coordinate transformation set in the function-specific force/velocity assignment transformation block FT converts real space coordinates (oblique coordinates) in which position (angle) and force are related to each other into coordinates in which position (angle) and force are independent of each other. It converts to the coordinates (orthogonal coordinates) of the virtual space. Therefore, compared to the case where the control is performed with the variables of the actuator alone (variables in the real space), the control energy of the position (angle) and the control energy of the force are given independently, that is, the position (angle) and It is possible to control the force independently.
 本実施形態においては、例えば、第1駆動装置10が出力する位置(角度)及び力を制御する場合、アクチュエータ12によって移動される部材の位置(角度)及びこれらの位置(角度)から算出される力の入力と、位置(角度)及び力の制御の基準となる基準値とにおいて、位置(角度)の差がゼロ、力の和がゼロ(逆向きに等しい力が出力される)となることを条件として、座標変換後の空間における状態値の演算を行うことができる。ただし、位置(角度)及び力の制御の基準となる基準値は、時系列データ取得処理においては、第2駆動装置20におけるアクチュエータ22によって移動される部材の位置(角度)及びこれらの位置(角度)から算出される力である。なお、再現処理においては、第1駆動装置10は動作を行わない。 In this embodiment, for example, when controlling the position (angle) and force output by the first driving device 10, the positions (angles) of the members moved by the actuator 12 and these positions (angles) are calculated from Between the force input and the position (angle) and the reference value that is the reference for force control, the difference in position (angle) is zero, and the sum of forces is zero (an equal force is output in the opposite direction). condition, it is possible to calculate the state value in the space after the coordinate transformation. However, in the time-series data acquisition process, the position (angle) and the reference value that serves as the reference for force control are the positions (angles) of the members moved by the actuator 22 in the second driving device 20 and their positions (angles). ) is the force calculated from Note that the first driving device 10 does not operate in the reproduction process.
 同様に、本実施形態において、例えば、第2駆動装置20が出力する位置(角度)及び力を制御する場合、アクチュエータ22によって移動される部材の位置(角度)及びこれらの位置(角度)から算出される力の入力と、位置(角度)及び力の制御の基準となる基準値とにおいて、位置(角度)の差がゼロ、力の和がゼロ(逆向きに等しい力が出力される)となることを条件として、座標変換後の空間における状態値の演算を行うことができる。ただし、位置(角度)及び力の制御の基準となる基準値は、時系列データ取得処理においては、第1駆動装置10におけるアクチュエータ12によって移動される部材の位置(角度)及びこれらの位置(角度)から算出される力であり、再現処理においては、再現データ記憶部322から読み出された再現データである。 Similarly, in this embodiment, for example, when controlling the position (angle) and force output by the second driving device 20, the position (angle) of the member moved by the actuator 22 and the position (angle) calculated from these positions (angles) If the difference in the position (angle) is zero and the sum of the forces is zero (an equal force is output in the opposite direction) between the force input and the reference value that is the reference for position (angle) and force control. State values in the space after the coordinate transformation can be calculated on the condition that However, in the time-series data acquisition process, the position (angle) and the reference value that serves as the reference for force control are the positions (angles) of the members moved by the actuator 12 in the first driving device 10 and their positions (angles). ), and is the reproduction data read from the reproduction data storage unit 322 in the reproduction process.
 理想力源ブロックFCは、機能別力・速度割当変換ブロックFTによって定義された座標変換に従って、力の領域における演算を行うブロックである。理想力源ブロックFCにおいては、機能別力・速度割当変換ブロックFTによって定義された座標変換に基づく演算を行う際の力に関する目標値が設定されている。この目標値は、実現される機能に応じて固定値または可変値として設定される。例えば、基準値が示す機能と同様の機能を実現する場合には、目標値としてゼロを設定したり、スケーリングを行う場合には、基準値が示す機能を表す情報を拡大・縮小した値を設定したりできる。また、理想力源ブロックFCは、力の領域における演算によって決定される力のエネルギーに対し、上限値を設定することができる。力のエネルギーの上限値を設定することは、第2機構25が物体に接触する際の接触力に制限を与えることとなり、第2機構25が物体に過度に強く押し当てられることにより、第2機構25や物体が破損すること等を抑制できる。 The ideal force source block FC is a block that performs calculations in the force domain according to the coordinate transformation defined by the functional force/velocity assignment transformation block FT. In the ideal force source block FC, a target value is set for the force when performing calculations based on the coordinate transformation defined by the functional force/velocity assignment transformation block FT. This target value is set as a fixed value or a variable value depending on the function to be implemented. For example, to achieve a function similar to the function indicated by the reference value, set the target value to zero, or to perform scaling, set a value obtained by expanding or contracting the information representing the function indicated by the reference value. You can The ideal force source block FC can also set an upper limit for the force energy determined by the calculation in the force domain. Setting the upper limit of force energy limits the contact force when the second mechanism 25 contacts an object. Damage to the mechanism 25 and objects can be suppressed.
 理想速度(位置)源ブロックPCは、機能別力・速度割当変換ブロックFTによって定義された座標変換に従って、位置(角度)の領域における演算を行うブロックである。理想速度(位置)源ブロックPCにおいては、機能別力・速度割当変換ブロックFTによって定義された座標変換に基づく演算を行う際の位置(角度)に関する目標値が設定されている。この目標値は、実現される機能に応じて固定値または可変値として設定される。例えば、基準値が示す機能と同様の機能を実現する場合には、目標値としてゼロを設定したり、スケーリングを行う場合には、再現する機能を示す情報を拡大・縮小した値を設定したりできる。また、理想速度(位置)源ブロックPCは、位置(角度)の領域における演算によって決定される位置(角度)のエネルギーに対し、上限値を設定することができる。位置(角度)のエネルギーの上限値を設定することは、第2機構25が移動する距離に制限を与えることとなり、第2機構25が過度に移動することにより、第2機構25や物体が破損すること等を抑制できる。 The ideal velocity (position) source block PC is a block that performs calculations in the position (angle) area according to the coordinate transformation defined by the functional force/velocity assignment transformation block FT. In the ideal velocity (position) source block PC, target values relating to positions (angles) are set when performing calculations based on the coordinate transformation defined by the functional force/velocity assignment transformation block FT. This target value is set as a fixed value or a variable value depending on the function to be implemented. For example, when realizing a function similar to the function indicated by the reference value, set the target value to zero, or when performing scaling, set a value obtained by enlarging or reducing the information indicating the function to be reproduced. can. The ideal velocity (position) source block PC can also set an upper limit for the position (angle) energy determined by calculations in the position (angle) domain. Setting the upper limit of the energy of the position (angle) limits the distance that the second mechanism 25 can move. can be suppressed.
 逆変換ブロックIFTは、位置(角度)及び力の領域の値を制御対象システムCSへの入力の領域の値(例えば、電圧値または電流値等)に逆変換する(すなわち、実空間の指令値を決定する)ブロックである。 The inverse transformation block IFT inversely transforms the values of the position (angle) and force domains into the values of the domain of inputs to the controlled system CS (for example, voltage values or current values, etc.) (i.e., real space command values ) block.
 このような制御アルゴリズムの下、時系列データ取得処理を行う場合、力触覚制御部311には、位置センサ13や位置センサ23によって検出された時系列の位置(角度)の検出値が入力される。この時系列の位置(角度)の検出値は、アクチュエータ12やアクチュエータ22の動作を表すものであり、力触覚制御部311は、入力された位置(角度)及びこれらの位置(角度)から導出された力に対して、力触覚を伝達する座標変換を適用する。 When time-series data acquisition processing is performed under such a control algorithm, time-series position (angle) detection values detected by the position sensors 13 and 23 are input to the haptic control unit 311 . . The detected values of the position (angle) in this time series represent the operation of the actuator 12 and the actuator 22, and the haptic control unit 311 derives the input position (angle) and these positions (angles). Coordinate transformations that transmit haptic sensations are applied to the forces.
 また、このような制御アルゴリズムの下、再現処理を行う場合、力触覚制御部311には、位置センサ23によって検出された時系列の位置(角度)の検出値が入力される。この時系列の位置(角度)の検出値は、アクチュエータ22の動作を表すものである。加えて、力触覚制御部311には、再現データにおける時系列の位置(角度)の値が入力される。この再現データにおける位置(角度)の値は、再現データにおけるアクチュエータ22の動作を表すものである。力触覚制御部311は、入力された位置(角度)及びこれらの位置(角度)から導出された力に対して、力触覚を伝達する座標変換を適用する。
 なお、この場合に、再現データとして、位置(角度)及び力のパラメータの時系列データの値が入力されるようにしてもよい。この場合、力触覚制御部311は、再現データにおける位置(角度)及び力のパラメータの時系列の値と、位置センサ23から入力された位置(角度)及びこの位置(角度)から導出された力とに基づいて、力触覚を伝達する座標変換を適用する。
Further, when performing reproduction processing under such a control algorithm, the haptic control unit 311 receives time-series position (angle) detection values detected by the position sensor 23 . This time-series position (angle) detection value represents the operation of the actuator 22 . In addition, the haptic control unit 311 receives time-series position (angle) values in the reproduction data. The position (angle) value in this reproduction data represents the operation of the actuator 22 in the reproduction data. The haptic control unit 311 applies coordinate transformations that transmit haptic sensations to the input positions (angles) and the forces derived from these positions (angles).
In this case, time-series data values of position (angle) and force parameters may be input as reproduction data. In this case, the haptic control unit 311 uses the time-series values of the position (angle) and force parameters in the reproduction data, the position (angle) input from the position sensor 23, and the force derived from this position (angle). Based on and apply a coordinate transformation that conveys haptic sensations.
 図3に戻り、時系列データ取得部312は、時系列データ取得処理が実行される際に、力触覚制御部311により算出された制御の履歴の時系列データ(例えば、第1駆動装置10及び第2駆動装置20における、時系列データ取得処理の実行に伴い変化する、位置及び力のパラメータの時系列データ)を取得する。また、時系列データ取得部312は、取得した時系列データをデータ加工装置40に対して送信する。さらに、時系列データ取得部312は、取得した時系列データを時系列データ記憶部321に記憶する。すなわち、時系列データ記憶部321は、時系列データを記憶する記憶部として機能する。なお、時系列データ取得部312は、取得した時系列データをデータ加工装置40に送信した後に、その時系列データを時系列データ記憶部321に記憶せずに廃棄して、記憶容量を削減するようにしてもよい。 Returning to FIG. 3 , the time-series data acquisition unit 312 obtains control history time-series data (for example, the first driving device 10 and Time-series data of position and force parameters that change with the execution of the time-series data acquisition process in the second driving device 20) is acquired. Also, the time-series data acquisition unit 312 transmits the acquired time-series data to the data processing device 40 . Furthermore, the time-series data acquisition unit 312 stores the acquired time-series data in the time-series data storage unit 321 . That is, the time-series data storage unit 321 functions as a storage unit that stores time-series data. After transmitting the acquired time-series data to the data processing device 40, the time-series data acquisition unit 312 discards the time-series data without storing it in the time-series data storage unit 321, thereby reducing the storage capacity. can be
 なお、時系列データ取得部312は、必要に応じて、取得した時系列データに、第1駆動装置10及び第2駆動装置20を識別するための識別子や、第1駆動装置10及び第2駆動装置20の属性(例えば、各装置の種類や軸数や可動範囲やトルク出力範囲等)や、処理を実行した日時等の情報を付加した上で、送信や記憶を行う。これにより、時系列データの加工等を行う場合に、ユーザはこれらの情報を参照した上で加工の指示を行うことが可能となる。 Note that the time-series data acquisition unit 312 adds an identifier for identifying the first drive device 10 and the second drive device 20, an identifier for identifying the first drive device 10 and the second drive device 20, and an identifier to the acquired time-series data as necessary. Attributes of the device 20 (for example, the type of each device, the number of axes, the movable range, the torque output range, etc.) and information such as the date and time when the process was executed are added, and then transmitted or stored. As a result, when the time-series data is to be processed, the user can instruct the processing after referring to this information.
 再現データ取得部313は、再現処理が実行される際に、データ加工装置40から送信された再現データを、受信することにより取得する。再現データは、上述したように、再現処理において第2駆動装置20のアクチュエータ22の動作を制御するための、位置(角度)及び力のパラメータの時系列データが含まれる。なお、この位置(角度)及び力のパラメータの時系列データは、再現データにおける第2駆動装置20のアクチュエータ22の動作に対応するものである。再現データ取得部313は、取得した再現データを再現データ記憶部322に記憶する。すなわち、再現データ記憶部322は、再現データを記憶する記憶部として機能する。 The reproduction data acquisition unit 313 acquires by receiving the reproduction data transmitted from the data processing device 40 when the reproduction process is executed. The reproduction data includes time-series data of position (angle) and force parameters for controlling the operation of the actuator 22 of the second drive unit 20 in the reproduction process, as described above. The time-series data of the position (angle) and force parameters correspond to the operation of the actuator 22 of the second driving device 20 in the reproduced data. The reproduction data acquisition unit 313 stores the acquired reproduction data in the reproduction data storage unit 322 . That is, the reproduction data storage unit 322 functions as a storage unit that stores reproduction data.
 図5は、データ加工装置40のハードウェア構成及び機能的構成を示すブロック図である。
 図5に示すように、データ加工装置40は、プロセッサ41と、記憶部42と、ROM43と、RAM44と、通信部45と、入力部46と、出力部47と、ドライブ48と、を備えている。
FIG. 5 is a block diagram showing the hardware configuration and functional configuration of the data processing device 40. As shown in FIG.
As shown in FIG. 5, the data processing device 40 includes a processor 41, a storage unit 42, a ROM 43, a RAM 44, a communication unit 45, an input unit 46, an output unit 47, and a drive 48. there is
 プロセッサ41と、記憶部42と、ROM43と、RAM44と、通信部45とについては、制御装置30が備える同名のハードウェアと同様なので、重複する再度の説明を省略する。これら各部と、入力部46、出力部47、及びドライブ48は、図示を省略したバスを介して接続されている。 The processor 41, the storage unit 42, the ROM 43, the RAM 44, and the communication unit 45 are the same as the hardware of the same name provided in the control device 30, so duplicate descriptions will be omitted. These units, the input unit 46, the output unit 47, and the drive 48 are connected via a bus (not shown).
 入力部46は、各種ボタン等で構成され、指示操作に応じて各種情報を入力する。
 出力部47は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
The input unit 46 is composed of various buttons and the like, and inputs various kinds of information according to instruction operations.
The output unit 47 includes a display, a speaker, and the like, and outputs images and sounds.
 ドライブ48には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなる、リムーバブルメディア50が適宜装着される。ドライブ48によってリムーバブルメディア50から読み出されたプログラムは、必要に応じて記憶部42にインストールされる。 A removable medium 50 consisting of a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is appropriately mounted in the drive 48 . A program read from the removable medium 50 by the drive 48 is installed in the storage unit 42 as required.
 このようなハードウェア構成を有するデータ加工装置40は、「時系列データ取得処理」や、「データ編集処理」や、「再現処理」を行う。ここで、時系列データ処理と、再現処理については、制御装置30の説明の際に上述したとおりである。
 また、データ編集処理は、時系列データを、補間等を伴う加工や正規化等を行うといった方法で編集することにより、編集された時系列データ(以下、「編集データ」と称する。)を生成する一連の処理である。
 これらの処理が行われる場合、プロセッサ41において、時系列データ取得部411と、提示部412と、補間部414と、が機能する。また、記憶部42には、時系列データ記憶部421と、編集データ記憶部422と、が形成される。
 以下で特に言及しない場合も含め、これら機能ブロック間では、処理を実現するために必要なデータを、適切なタイミングで適宜送受信する。
The data processing device 40 having such a hardware configuration performs "time-series data acquisition processing", "data editing processing", and "reproduction processing". Here, the time-series data processing and the reproduction processing are as described above when explaining the control device 30 .
In addition, the data editing process generates edited time-series data (hereinafter referred to as "edited data") by editing the time-series data by a method such as processing with interpolation and normalization. It is a series of processing to do.
When these processes are performed, in the processor 41, a time-series data acquisition unit 411, a presentation unit 412, and an interpolation unit 414 function. In addition, a time-series data storage section 421 and an edited data storage section 422 are formed in the storage section 42 .
Data necessary for realizing processing is appropriately transmitted and received between these functional blocks at appropriate timings, including cases not specifically mentioned below.
 時系列データ取得部411は、制御装置30の時系列データ取得部312から送信された時系列データを、受信することにより取得する。また、時系列データ取得部411は、取得した時系列データを時系列データ記憶部421に記憶する。すなわち、時系列データ記憶部421は、時系列データを記憶する記憶部として機能する。
 また、時系列データ取得部411は、ユーザからの選択指示操作に基づいて、データ編集の対象とする時系列データを、時系列データ記憶部421から読み出す。
The time-series data acquisition unit 411 acquires the time-series data transmitted from the time-series data acquisition unit 312 of the control device 30 by receiving the time-series data. Also, the time-series data acquisition unit 411 stores the acquired time-series data in the time-series data storage unit 421 . That is, the time-series data storage unit 421 functions as a storage unit that stores time-series data.
In addition, the time-series data acquisition unit 411 reads the time-series data to be edited from the time-series data storage unit 421 based on the user's selection instruction operation.
 提示部412は、時系列データ取得部411が読み出した時系列データをユーザに対して提示する。この提示は、例えば、時系列データに対応する波形を、出力部47に含まれるディスプレイへ表示することにより実現される。この場合に、提示部412は、ユーザからの操作を受け付けるための各種ユーザインタフェースも表示する。 The presentation unit 412 presents the time-series data read by the time-series data acquisition unit 411 to the user. This presentation is realized, for example, by displaying a waveform corresponding to time-series data on a display included in the output unit 47 . In this case, the presentation unit 412 also displays various user interfaces for receiving operations from the user.
 加工部413は、提示部412による提示を参照したユーザからの加工指示操作に基づいて、加工対象とする時系列データを加工する。加工には、例えば、複数の時系列データの結合や、時系列データの切り抜きや、時系列データの切り取りや、時系列データのパラメータの値操作や、時系列データのパラメータの値または時間範囲の、拡大または縮小等が含まれる。また、これらの加工に伴い、補間部414による補間や、近似式生成部415による近似式の生成や、正規化管理部416による正規化等が行われる場合には、編集データ記憶部422は、これら各部と協働して加工を行う。
 そして、加工部413は、このような補間等を伴う加工や非正規化等を実施した時系列データを、編集データとして編集データ記憶部422に記憶する。すなわち、編集データ記憶部422は、編集データを記憶する記憶部として機能する。
The processing unit 413 processes the time-series data to be processed based on the processing instruction operation by the user who referred to the presentation by the presentation unit 412 . Processing includes, for example, combining multiple pieces of time-series data, clipping time-series data, cutting time-series data, manipulating values of parameters of time-series data, and changing parameter values or time ranges of time-series data. , enlargement or reduction, etc. In addition, when interpolation by the interpolation unit 414, generation of an approximate expression by the approximate expression generation unit 415, normalization by the normalization management unit 416, and the like are performed along with these processing, the edited data storage unit 422 Processing is performed in cooperation with these units.
Then, the processing unit 413 stores the time-series data that has undergone such processing involving interpolation, non-normalization, etc. in the edited data storage unit 422 as edited data. That is, the edited data storage unit 422 functions as a storage unit that stores edited data.
 なお、データ編集処理では、上述したように時系列データ記憶部421が記憶する時系列データを加工対象とするのみではなく、編集データ記憶部422が記憶する編集データを加工対象とするようにしてもよい。すなわち、一度補間等を伴う加工や非正規化等を実施して生成した編集データに対して、補間等を伴う加工や非正規化等を再度実施して(すなわち、再編集をして)、新たな編集データとして編集データ記憶部422に記憶するようにしてもよい。 Note that in the data editing process, not only the time-series data stored in the time-series data storage unit 421 as described above is processed, but also the edited data stored in the edited data storage unit 422 is processed. good too. That is, the edited data generated by processing with interpolation, etc., non-normalization, etc., is again processed with interpolation, etc., non-normalization, etc. (that is, re-edited), You may make it memorize|store in the edit data storage part 422 as new edit data.
 補間部414は、加工部413による加工後の時系列データに含まれるパラメータの値に基づいて補間データを生成し、この補間データによって加工後の時系列データを補間する。これにより、今回補間対象とする時系列データのパラメータの値に即した補間データを生成し、この補間データによって加工後の時系列データを適切に補間することができる。 The interpolation unit 414 generates interpolation data based on the parameter values included in the time-series data processed by the processing unit 413, and interpolates the processed time-series data using this interpolation data. As a result, it is possible to generate interpolation data that conforms to the parameter values of the time-series data to be interpolated this time, and to appropriately interpolate the processed time-series data using this interpolation data.
 近似式生成部415は、時系列データに基づいて、この時系列データの近似式を生成する。これにより、時系列データを定式化して表現し、時系列データのデータ量を削減することができる。また、近似式を加工することにより、時系列データの分解能を低下させることなくパラメータの値や時間範囲等を変更することができる。 The approximation formula generation unit 415 generates an approximation formula for the time series data based on the time series data. This makes it possible to formulate and express the time-series data and reduce the data amount of the time-series data. Further, by modifying the approximation formula, it is possible to change the values of the parameters, the time range, etc. without lowering the resolution of the time-series data.
 正規化管理部416は、時系列データに基づいて、この時系列データを正規化または非正規化する。この場合、例えば、正規化管理部416は、正規化前または非正規化後の時系列データに対応する(すなわち、この時系列データの取得元となった、または、これからこの時系列データを再現データとして実行する)装置の属性に応じて、正規化または非正規化を実行する。これにより、装置の属性に応じた時系列データを生成することができる。 The normalization management unit 416 normalizes or denormalizes the time series data based on the time series data. In this case, for example, the normalization management unit 416 corresponds to the time-series data before normalization or after non-normalization (that is, from which this time-series data was acquired, or from which this time-series data is reproduced). Perform normalization or denormalization depending on device attributes. Thereby, it is possible to generate time-series data according to the attributes of the device.
 再現データ生成部417は、ユーザからの選択指示操作に基づいて、再現対象とする(すなわち、再現データの生成元とする)編集データを、編集データ記憶部422から読み出す。そして、再現データ生成部417は、読み出した編集データに基づいて、再現データを生成する。また、再現データ生成部417は、生成した再現データを、再現データに対応する動作を再現する制御装置30に対して送信する。さらに、再現データ生成部417は、生成した再現データを再現データ記憶部423に記憶する。すなわち、再現データ記憶部423は、再現データを記憶する記憶部として機能する。なお、再現データ生成部417は、生成した再現データを制御装置30に送信した後に、その再現データを再現データ記憶部423に記憶せずに廃棄して、記憶容量を削減するようにしてもよい。 The reproduced data generation unit 417 reads out the edited data to be reproduced (that is, the reproduction data generation source) from the edited data storage unit 422 based on the user's selection instruction operation. Then, the reproduction data generation unit 417 generates reproduction data based on the read edited data. The reproduction data generation unit 417 also transmits the generated reproduction data to the control device 30 that reproduces the operation corresponding to the reproduction data. Furthermore, the reproduction data generation unit 417 stores the generated reproduction data in the reproduction data storage unit 423 . That is, the reproduction data storage unit 423 functions as a storage unit that stores reproduction data. After transmitting the generated reproduction data to the control device 30, the reproduction data generation unit 417 may discard the reproduction data without storing it in the reproduction data storage unit 423, thereby reducing the storage capacity. .
 以上、データ加工システムSに含まれる各装置の構成について詳細に説明した。次に、データ加工装置40の各部が協働して実行するデータ編集処理における、編集データの生成の詳細について図6から図18までを参照して説明をする。 The configuration of each device included in the data processing system S has been described in detail above. Next, the details of generation of edited data in the data editing process executed cooperatively by each part of the data processing device 40 will be described with reference to FIGS. 6 to 18. FIG.
[編集データの生成]
 図6は、データ編集処理において、提示部412がディスプレイに表示する、時系列データに対応する波形と、ユーザからの操作を受け付けるための各種ユーザインタフェースを示す模式図である。図6では、補間を伴う加工の1つである「連結」を行う場面を想定する。
[Generate edit data]
FIG. 6 is a schematic diagram showing waveforms corresponding to time-series data displayed on the display by the presentation unit 412 in the data editing process, and various user interfaces for receiving operations from the user. In FIG. 6, it is assumed that "connection", which is one of the processing involving interpolation, is performed.
 図6に示すように、時系列データにおけるパラメータの値の時系列が波形として表示される。具体的には、縦軸をパラメータの値(上段は軸Aの位置の値であり、下段は軸Aの力の値)とし、横軸を時間としたグラフとして表示される。なお、これらのグラフは、実際にはより微小な変化をする場合もあるが、図中ではグラフの変化を簡略化して示す。さらに、図6に示すように、ユーザからの時間範囲の指定等の操作を受け付けるための操作用ポインタも表示される。 As shown in FIG. 6, the time series of parameter values in the time series data is displayed as a waveform. Specifically, it is displayed as a graph in which the vertical axis is the value of the parameter (the upper row is the value of the position of the axis A, and the lower row is the force value of the axis A), and the horizontal axis is the time. Although these graphs may actually show more minute changes, changes in the graphs are simplified in the drawing. Furthermore, as shown in FIG. 6, an operation pointer is also displayed for accepting an operation such as designation of a time range from the user.
 このような表示において、ユーザからの選択指示操作に基づいて、データ編集の対象として、第1時系列データ51と、第2時系列データ52とが選択されたとする。また、これら2つの時系列データを連結する旨の指示操作がなされたとする。
 これらの指示操作に応じて、加工部413は、第1時系列データ51と第2時系列データ52の間に、時間範囲(すなわち、時間的な長さ)を有するがパラメータの値が存在しない補間対象区間53(図中において破線の枠で示す)を隣接して含ませる加工を行う。なお、補間対象区間53の時間範囲の長さは、予め設定しておいてもよいし、ユーザの操作指示に基づいて決定してもよい。
In such a display, it is assumed that the first time-series data 51 and the second time-series data 52 are selected as data edit targets based on a selection instruction operation from the user. Also, assume that an instruction operation to the effect that these two pieces of time-series data are linked is performed.
In response to these instruction operations, the processing unit 413 has a time range (that is, time length) between the first time-series data 51 and the second time-series data 52, but the parameter value does not exist. Processing is performed so that an interpolation target section 53 (indicated by a dashed frame in the drawing) is included adjacently. Note that the length of the time range of the interpolation target section 53 may be set in advance, or may be determined based on a user's operation instruction.
 そして、補間部414は、加工後の時系列データに含まれる、補間対象区間53を補間対象として、補間データで補間する。図6には、この補間後の時系列データが示されている。このように、パラメータの値が存在しない補間対象区間53を敢えて設け、この補間対象区間53に対して補間を行うことにより、これら2つの時系列データが時間軸上で滑らかにつながるので、各種パラメータの相互関係性や前後の連続性を保持することが可能となる。 Then, the interpolation unit 414 interpolates the interpolation target section 53 included in the processed time-series data with the interpolation data. FIG. 6 shows the time-series data after this interpolation. In this way, by intentionally providing an interpolation target section 53 in which no parameter value exists and performing interpolation on this interpolation target section 53, these two pieces of time-series data are smoothly connected on the time axis. It is possible to maintain the interrelationship between and the continuity of before and after.
 この場合、補間部414は、例えば、第1時系列データ51の終点におけるパラメータの値と、第2時系列データ52の始点におけるパラメータの値と、補間対象区間53の時間範囲の長さに基づいて、これら2つの時系列データが時間軸上で滑らかにつながるように補間データを生成し、時系列データを補間する。  In this case, the interpolation unit 414, for example, based on the value of the parameter at the end point of the first time-series data 51, the value of the parameter at the start point of the second time-series data 52, and the length of the time range of the interpolation target section 53 Then, interpolated data is generated so that these two pieces of time-series data are smoothly connected on the time axis, and the time-series data are interpolated. 
 このような時系列データの補間の手法としては、例えば、Linear(1次)、EaseIn(2次)、EaseOut(2次)、EaseInOut(3次)、5次、及び7次等の、補間に関する既存の手法を用いることができる。この場合に、説明のための一例として、補間対象区間53における始点の位置の値(ここでは、第1時系列データ51の終点における値)が「0」であり速度の値が「0」であり、補間対象区間53における終点のパラメータの値(ここでは、第2時系列データ52の始点における値)が「0」であり速度の値が「0」であったとする。この前提において、位置の値を補間することを想定する。なお、以下の説明では、説明を明確とするために、補間により変化した位置(Position)の値のみならず、この補間に伴い変化した速度(Velocity)の値と、この補間に伴い変化した加速度(Acceleration)の値もそれぞれ縦軸に示し、横軸を時間としたグラフを図示する。ここで、上述したように、位置と、速度と、加速度は、微積分演算により置換可能なパラメータであるので、補間に伴う位置の値の変化により、速度の値と加速度の値も変化する。 As a method of interpolating such time-series data, for example, Linear (primary), EaseIn (secondary), EaseOut (secondary), EaseInOut (third), fifth, seventh, etc. Existing techniques can be used. In this case, as an example for explanation, when the value of the position of the starting point in the interpolation target section 53 (here, the value at the end point of the first time-series data 51) is "0" and the value of the velocity is "0". , and the value of the parameter at the end point of the interpolation target section 53 (here, the value at the start point of the second time-series data 52) is "0" and the value of the velocity is "0". In this premise, we assume to interpolate the position values. In the following description, in order to clarify the description, not only the position value changed by the interpolation, but also the velocity value changed by the interpolation and the acceleration changed by the interpolation The values of (Acceleration) are also shown on the vertical axis, and the horizontal axis is time. Here, as described above, the position, velocity, and acceleration are parameters that can be replaced by calculus, so that the velocity value and the acceleration value change as the position value changes due to interpolation.
 図7に補間の手法として、Linear(1次)を用いて、補間対象区間53の位置の値を補間した場合のグラフを示す。この場合、図示するように始点から終点まで一定速度で変化するように補間をすることができる。 FIG. 7 shows a graph when the value of the position of the interpolation target section 53 is interpolated using Linear (primary) as an interpolation method. In this case, as shown in the figure, interpolation can be performed so as to change at a constant speed from the start point to the end point.
 図8に補間の手法として、EaseIn(2次)を用いて、補間対象区間53の位置の値を補間した場合のグラフを示す。この場合、図示するように始点の位置変化が滑らかとなるように補間をすることができる。 FIG. 8 shows a graph when the value of the position of the interpolation target section 53 is interpolated using EaseIn (quadratic) as an interpolation method. In this case, interpolation can be performed so that the positional change of the starting point is smooth as shown in the figure.
 図9に補間の手法として、EaseOut(2次)を用いて、補間対象区間53の位置の値を補間した場合のグラフを示す。この場合、図示するように終点の位置変化が滑らかとなるように補間をすることができる。 FIG. 9 shows a graph when the value of the position of the interpolation target section 53 is interpolated using EaseOut (secondary) as an interpolation method. In this case, as shown in the figure, interpolation can be performed so that the change in position of the end point is smooth.
 図10に補間の手法として、EaseInOut(3次)を用いて、補間対象区間53の位置の値を補間した場合のグラフを示す。この場合、図示するように始点と終点の双方での位置変化が滑らかとなるように補間をすることができる。 FIG. 10 shows a graph when the value of the position of the interpolation target section 53 is interpolated using EaseInOut (cubic) as an interpolation method. In this case, as shown in the figure, interpolation can be performed so that position changes are smooth at both the start point and the end point.
 図11に補間の手法として、5次を用いて、補間対象区間53の位置の値を補間した場合のグラフを示す。この場合、図示するように始点と終点の双方での位置変化を滑らかに変化し、且つ、始点と終点の速度変化が滑らかとなるように補間をすることができる。 FIG. 11 shows a graph when the value of the position of the interpolation target section 53 is interpolated using the quintic as an interpolation method. In this case, as shown in the figure, the interpolation can be performed so that the position changes at both the start point and the end point are changed smoothly, and the speed change between the start point and the end point is smooth.
 図12に補間の手法として、7次を用いて、補間対象区間53の位置の値を補間した場合のグラフを示す。この場合、図示するように始点と終点の双方での位置変化を滑らかに変化し、且つ、始点と終点の速度及び加速度の変化が滑らかとなるように補間をすることができる。 FIG. 12 shows a graph when the value of the position of the interpolation target section 53 is interpolated using the 7th order as an interpolation method. In this case, as shown in the figure, interpolation can be performed so that the position changes at both the start point and the end point are changed smoothly, and the change in velocity and acceleration between the start point and the end point is smooth.
 このように、補間部414は、様々な補間の手法を選択することができる。そのため、ユーザは、補間後のデータに対応する再現データを、第2駆動装置20において実行(すなわち、再現データに対応する動作を再現)させた場合の動作結果が好ましくないような場合に、他の補間の手法を選択して補間をやり直すことにより、より適切な補間を行うことが可能となる。 Thus, the interpolation unit 414 can select various interpolation methods. Therefore, if the operation result when the reproduction data corresponding to the interpolated data is executed by the second driving device 20 (that is, the operation corresponding to the reproduction data is reproduced) is not preferable, the user may By selecting the interpolation method of and redoing the interpolation, more appropriate interpolation can be performed.
 なお、上述の「連結」を行う場合の説明において、加工部413は、第1時系列データ51終了時点と第2時系列データ52開始時点との間に、補間対象区間53を隣接して含ませる加工を行っていた。すなわち、加工後の時系列データに、第1時系列データ51と第2時系列データ52の全てが含まれるように加工をしていた。
 これに限らず、加工部413は、補間対象区間53が、第1時系列データ51や、第2時系列データ52の一部と重複するように加工をしてもよい。例えば、第1時系列データ51の終了付近や第2時系列データの開始付近に、補間対象区間53が重複するようにしてもよい。このようにしても結果として、時系列の順に、第1時系列データ51の補間対象区間53と重複していない部分と、補間対象区間53と、第2時系列データ52の補間対象区間53と重複していない部分と、を隣接して含ませることができる。
Note that in the above description of the case of performing the “connection”, the processing unit 413 includes the interpolation target section 53 adjacently between the end point of the first time-series data 51 and the start point of the second time-series data 52. I was processing to make it possible. That is, the processed time-series data is processed so as to include all of the first time-series data 51 and the second time-series data 52 .
Alternatively, the processing unit 413 may process the interpolation target section 53 so that it overlaps part of the first time-series data 51 or the second time-series data 52 . For example, the interpolation target section 53 may overlap near the end of the first time-series data 51 or near the start of the second time-series data. Even if this is done, as a result, in chronological order, a portion that does not overlap with the interpolation target section 53 of the first time-series data 51, the interpolation target section 53, and the interpolation target section 53 of the second time-series data 52 are obtained. non-overlapping portions can be included adjacently.
 このような一部が重複する加工を行う場合、補間部414は、例えば、第1時系列データ51の補間対象区間53と重複していない部分の終点におけるパラメータの値と、第2時系列データ52の補間対象区間53と重複していない部分の始点におけるパラメータの値と、補間対象区間53の時間範囲の長さに基づいて、これら2つの時系列データが時間軸上で滑らかにつながるように補間データを生成する。そして、この補間データで、補間対象区間53(第1時系列データ51や第2時系列データ52と重複する部分も含む)を、補間するようにすればよい。
 なお、このような一部が重複する加工を行う場合に、補間対象区間53が、第1時系列データ51や第2時系列データ52と、どの程度の時間範囲だけ重複するか(すなわち、どの程度の時間の長さだけ重複するか)については、予め設定しておいてもよいし、ユーザの操作指示に基づいて決定してもよい。これにより、ユーザの意図に基づいて、第1時系列データ51の任意の時間範囲と、第2時系列データ52の任意の時間範囲とを容易に連結することが可能となる。
When performing such partially overlapping processing, the interpolation unit 414, for example, sets the value of the parameter at the end point of the portion that does not overlap with the interpolation target section 53 of the first time-series data 51 and the second time-series data Based on the value of the parameter at the start point of the portion that does not overlap with the interpolation target section 53 of 52 and the length of the time range of the interpolation target section 53, these two time series data are smoothly connected on the time axis. Generate interpolated data. Then, the interpolation target section 53 (including the portion overlapping with the first time-series data 51 and the second time-series data 52) may be interpolated with this interpolation data.
In addition, when performing such partially overlapping processing, how much time range the interpolation target section 53 overlaps with the first time series data 51 and the second time series data 52 (that is, how much overlap by a certain amount of time) may be set in advance, or may be determined based on a user's operation instruction. This makes it possible to easily link any time range of the first time-series data 51 and any time range of the second time-series data 52 based on the user's intention.
 図13は、図6と同様に、データ編集処理における、提示部412の表示の模式図である。図13では、補間を伴う加工の1つである「切り抜き」を行う場面を想定する。なお、図6と共通する点については、重複する説明を省略する。なお、図13では、軸Aと軸Bが存在することを想定する。このように、加工部413が行う各加工において、軸数について特に制限はなく、任意の軸数に対応する時系列データを加工対象とすることができる。 FIG. 13 is a schematic diagram of the display of the presentation unit 412 in the data editing process, similar to FIG. In FIG. 13, it is assumed that "clipping", which is one of the processing involving interpolation, is performed. It should be noted that duplicate descriptions of points common to FIG. 6 will be omitted. In addition, in FIG. 13, it is assumed that the axis A and the axis B exist. In this way, in each processing performed by the processing unit 413, the number of axes is not particularly limited, and time-series data corresponding to any number of axes can be processed.
 切り抜きでは、切り抜き対象の時系列データから、ユーザに指定された時系列データの時間範囲を残すように切り抜く一方で、指定されていない時系列データの時間範囲については削除する。 When clipping, the time range of time series data specified by the user is clipped from the time series data to be clipped, while the time range of time series data that is not specified is deleted.
 例えば、図13(A)に示すように、操作ポインタを用いたユーザの時間範囲の指定指示操作により、軸Aについては、時系列データ54a、時系列データ55a、及び時系列データ56aからなる一連の時系列データから、時系列データ54aが切り抜き対象の時間範囲として指定(指定された時間範囲にハッチングを付す)されたとする。同様に、軸Bについては、時系列データ54b、時系列データ55b、及び時系列データ56bからなる一連の時系列データから、時系列データ54bが切り抜き対象の時間範囲として指定されたとする。 For example, as shown in FIG. 13A, a series of time-series data 54a, time-series data 55a, and time-series data 56a for the axis A is set by the user's designation instruction operation of the time range using the operation pointer. Suppose that the time series data 54a is designated as a time range to be clipped (the designated time range is hatched). Similarly, for axis B, it is assumed that time series data 54b is specified as a time range to be clipped from a series of time series data consisting of time series data 54b, time series data 55b, and time series data 56b.
 これらの指示操作に応じて、加工部413は、図13(B)に示すように、時系列データ54aと時系列データ54bを残すように切り抜く一方で、指定されていない時系列データ55a、時系列データ56a、時系列データ55b、及び時系列データ56bについては削除する。また、これに伴い、補間部414は、時系列データ54aの終点のパラメータの値に対応して、補間データを再度生成し、補間対象区間57aに対して再度補間を行う。同様に、例えば、補間部414は、切り抜き対象の時系列データの前に補間対象区間が存在する場合には、切り抜き対象の時系列データの始点のパラメータの値に対応して、補間データを再度生成し、補間対象区間に対して再度補間を行う。 In response to these instruction operations, the processing unit 413 cuts out the time-series data 54a and the time-series data 54b so as to leave the time-series data 54a and the time-series data 54b as shown in FIG. The series data 56a, the time series data 55b, and the time series data 56b are deleted. Along with this, the interpolation unit 414 regenerates interpolation data corresponding to the value of the parameter of the end point of the time-series data 54a, and performs interpolation again on the interpolation target section 57a. Similarly, for example, when an interpolation target section exists before the clipping target time-series data, the interpolation unit 414 repeats the interpolation data corresponding to the value of the parameter at the start point of the clipping target time-series data. Generate and re-interpolate the interpolation target section.
 これにより、ユーザは時間範囲の指定をするのみで、加工対象とする時系列データ(すなわち、補間対象区間に隣接する第1時系列データまたは第2時系列データ)を選択することができる。すなわち、直感的で簡便なユーザインタフェースをユーザに対して提供することができる。 As a result, the user can select the time-series data to be processed (that is, the first time-series data or the second time-series data adjacent to the interpolation target section) simply by specifying the time range. That is, an intuitive and simple user interface can be provided to the user.
 図14は、図6等と同様に、データ編集処理における、提示部412の表示の模式図である。図14では、補間を伴う加工の1つである「切り取り」を行う場面を想定する。なお、図6等と共通する点については、重複する説明を省略する。
 切り取りでは、切り取り対象の時系列データから、ユーザに指定された時系列データの時間範囲を削除する一方で、指定されていない時系列データの時間範囲については残すように切り取る。
FIG. 14 is a schematic diagram of the display of the presentation unit 412 in the data editing process, similar to FIG. 6 and the like. In FIG. 14, it is assumed that "cutting", which is one of processing involving interpolation, is performed. It should be noted that redundant description of points common to those in FIG. 6 and the like will be omitted.
In cutting, the time range of time series data specified by the user is deleted from the time series data to be cut, while the time range of time series data not specified is cut so as to remain.
 例えば、図14(A)に示すように、操作ポインタを用いたユーザの時間範囲の指定指示操作により、軸Aについては、時系列データ58a、及び時系列データ59aからなる一連の時系列データから、時系列データ59aが切り取り対象の時間範囲として指定(指定された時間範囲にハッチングを付す)されたとする。同様に、軸Bについては、時系列データ58b、及び時系列データ59b(ここでは、加工前から、一部の時間範囲のパラメータは存在しない)からなる一連の時系列データから、時系列データ59bが切り取り対象の時間範囲として指定されたとする。 For example, as shown in FIG. 14(A), by the user's designation instruction operation of the time range using the operation pointer, for axis A, from a series of time-series data consisting of time-series data 58a and time-series data 59a , the time series data 59a is specified as a time range to be cut (the specified time range is hatched). Similarly, for axis B, from a series of time-series data consisting of time-series data 58b and time-series data 59b (here, parameters for some time ranges do not exist before processing), time-series data 59b is specified as the time range to be clipped.
 これらの指示操作に応じて、加工部413は、図14(B)に示すように、指定されている時系列データ59bと時系列データ59bを削除するように切り取る一方で、指定されていない時系列データ58a、及び時系列データ58bについては残す。また、これに伴い、補間部414は、時系列データ58aの終点のパラメータの値に対応して、補間データを再度生成し、補間対象区間60aに対して再度補間を行う。同様に、例えば、補間部414は、切り取り対象ではない時系列データの前に補間対象区間が存在する場合には、切り取り対象ではない時系列データの始点のパラメータの値に対応して、補間データを再度生成し、補間対象区間に対して再度補間を行う。 In response to these instruction operations, as shown in FIG. 14B, the processing unit 413 cuts out the specified time series data 59b and the time series data 59b so as to delete them, Series data 58a and time series data 58b are left. Along with this, the interpolation unit 414 regenerates interpolation data corresponding to the value of the parameter of the end point of the time-series data 58a, and performs interpolation on the interpolation target section 60a again. Similarly, for example, when an interpolation target section exists before the time-series data that is not to be cut, the interpolation unit 414 converts the interpolation data is generated again, and interpolation is performed again for the interpolation target section.
 これにより、ユーザは時間範囲の指定をするのみで、加工対象とする時系列データ(すなわち、補間対象区間に隣接する第1時系列データまたは第2時系列データ)を選択することができる。すなわち、直感的で簡便なユーザインタフェースをユーザに対して提供することができる。 As a result, the user can select the time-series data to be processed (that is, the first time-series data or the second time-series data adjacent to the interpolation target section) simply by specifying the time range. That is, an intuitive and simple user interface can be provided to the user.
 図15は、図6等と同様に、データ編集処理における、提示部412の表示の模式図である。図15では、補間を伴う加工の1つである「値変更」を行う場面を想定する。なお、図6等と共通する点については、重複する説明を省略する。 FIG. 15 is a schematic diagram of the display of the presentation unit 412 in the data editing process, similar to FIG. 6 and the like. In FIG. 15, it is assumed that "value change", which is one of the processing involving interpolation, is performed. It should be noted that redundant description of points common to those in FIG. 6 and the like will be omitted.
 値変更では、値変更対象の時系列データから、ユーザに指定された時点におけるパラメータの値を、ユーザの指定に基づいて変更する。
 例えば、図15(A)に示すように、操作ポインタを用いたユーザの指定指示操作により、時点61が指定されると共に、この時点61における変更後のパラメータの値(ここでは、力の値)の指定指示操作がなされたとする。
In the value change, the value of the parameter at the point in time designated by the user is changed based on the user's designation from the time-series data to be changed.
For example, as shown in FIG. 15A, a point 61 is specified by the user's specifying instruction operation using the operation pointer, and the changed parameter value (here, force value) at this point 61 is changed. is performed.
 これらの指示操作に応じて、加工部413は、指定された時点61を、ユーザの指定したパラメータの値(ここでは、力の値)に変更する。ただし、そのままでは、時点61において、前後のパラメータの値と関わりなく瞬間的に変化することになり、動作の連続性が保てない。そこで、図15(B)に示すように、補間部414は、時点61を含む時間範囲を補間対象区間62として扱う。そして、補間部414は、この補間対象区間62の始点のパラメータの値(ここでは、力の値)と時点61における変更後のパラメータの値(ここでは、力の値)に対応して、補間データを生成し、補間対象区間62の前半である補間対象区間62-1の既存のパラメータの値(ここでは、力の値)を補間データで置き換えることで補間する。同様にして、補間部414は、この補間対象区間62の終点のパラメータの値(ここでは、力の値)と時点61における変更後のパラメータの値(ここでは、力の値)に対応して、補間データを生成し、補間対象区間62の後半である補間対象区間62-2の既存のパラメータの値(ここでは、力の値)を補間データで置き換えることで補間する。 In response to these instruction operations, the processing unit 413 changes the designated time point 61 to the parameter value (here, force value) designated by the user. However, if this is left as it is, at the time point 61, it will change instantaneously regardless of the values of the parameters before and after, and the continuity of the operation cannot be maintained. Therefore, as shown in FIG. 15B, the interpolation unit 414 treats a time range including the time point 61 as an interpolation target section 62 . Then, the interpolating unit 414 performs interpolation corresponding to the parameter value (here, the force value) at the starting point of the interpolation target section 62 and the changed parameter value (here, the force value) at the time point 61. Data is generated, and interpolation is performed by replacing the existing parameter values (here, force values) of the interpolation target section 62-1, which is the first half of the interpolation target section 62, with the interpolation data. Similarly, the interpolation unit 414 generates , interpolation data is generated, and interpolation is performed by replacing the existing parameter value (here, force value) of the interpolation target section 62-2, which is the latter half of the interpolation target section 62, with the interpolation data.
 これにより、時点の指定を伴うパラメータの値の変更の指定をするのみで、補間対象となる時間範囲を有する区間を選択することができる。すなわち、直感的で簡便なユーザインタフェースをユーザに対して提供することができる。また、補間対象とする時系列データを適切に補間することにより、パラメータの値が瞬間的に変化することはなくなり、動作の連続性を保つことができる。 As a result, it is possible to select a section having a time range to be interpolated simply by specifying a parameter value change that accompanies specification of a time point. That is, an intuitive and simple user interface can be provided to the user. In addition, by appropriately interpolating the time-series data to be interpolated, the parameter values do not change instantaneously, and the continuity of the operation can be maintained.
 図16は、図6等と同様に、データ編集処理における、提示部412の表示の模式図である。図16では、補間を伴う加工の1つである「値のオフセット」を行う場面を想定する。なお、図6等と共通する点については、重複する説明を省略する。 FIG. 16 is a schematic diagram of the display of the presentation unit 412 in the data editing process, similar to FIG. 6 and the like. In FIG. 16, it is assumed that a "value offset", which is one of the processing involving interpolation, is performed. It should be noted that redundant description of points common to those in FIG. 6 and the like will be omitted.
 値のオフセットでは、値のオフセット対象の時系列データから、時系列データの一部または全部の時間範囲に対して、値をオフセットする。
 例えば、図16(A)に示すように、位置の始点の値66が「0」であり、位置の最大値63が「4」という時系列データが存在したとする。ここで、位置の最大値63は、例えば、時系列データの取得元となった第1駆動装置10や第2駆動装置20の可動範囲や、時系列データに対応する所定の動作において想定される可動範囲によって決定される。
In the value offset, the value is offset from the time series data for which the value is to be offset with respect to the time range of part or all of the time series data.
For example, as shown in FIG. 16A, it is assumed that there is time-series data in which the starting point value 66 of the position is "0" and the maximum value 63 of the position is "4". Here, the maximum value 63 of the position is assumed in, for example, the movable range of the first driving device 10 or the second driving device 20 from which the time-series data was obtained, or a predetermined operation corresponding to the time-series data. Determined by range of motion.
 この場合に、操作ポインタを用いたユーザの指定指示操作により、位置の値の全部の時間幅が指定されると共に、オフセットの値として「+10」の指定指示操作がなされたとする。この場合、ユーザは、例えば、位置の始点の値が「10」の第1駆動装置10や第2駆動装置20に、この時系列データを適用するためにオフセットを行うことを意図している。 In this case, it is assumed that the user's designating operation using the operation pointer designates the entire time width of the position value and designates "+10" as the offset value. In this case, the user intends to perform an offset in order to apply this time-series data to the first driving device 10 and the second driving device 20, for example, whose starting point value of the position is "10".
 これらの指示操作に応じて、加工部413は、位置の値の全部の時間幅において、位置の値「+10」されるように位置の値の補間を行う。すなわち、オフセットされるように補間を行う。これにより、図16(B)に示すように、時系列データにおける波形の形状は保たれたまま、位置の始点の値66が「10」となり、位置の最大値63が「14」となる。 In response to these instruction operations, the processing unit 413 interpolates the position value so that the position value is increased by "+10" over the entire time width of the position value. That is, interpolation is performed so as to be offset. As a result, as shown in FIG. 16B, the starting point value 66 of the position becomes "10" and the maximum value 63 of the position becomes "14" while the shape of the waveform in the time-series data is maintained.
 これにより、時間範囲の指定とオフセットする値の指定とをするのみで、ユーザの意図に沿ったオフセットを実現することができる。すなわち、直感的で簡便なユーザインタフェースをユーザに対して提供することができる。
 図17は、図6等と同様に、データ編集処理における、提示部412の表示の模式図である。図17では、近似式の生成を伴う加工の1つである「値の拡大または縮小」を行う場面を想定する。なお、図6等と共通する点については、重複する説明を省略する。
As a result, it is possible to realize an offset that meets the user's intention simply by designating a time range and a value to be offset. That is, an intuitive and simple user interface can be provided to the user.
FIG. 17 is a schematic diagram of the display of the presentation unit 412 in the data editing process, similar to FIG. 6 and the like. In FIG. 17, it is assumed that "enlargement or reduction of values", which is one of the processing accompanied by the generation of approximate expressions, is performed. It should be noted that redundant description of points common to those in FIG. 6 and the like will be omitted.
 値の拡大または縮小では、値の拡大または縮小対象の時系列データから、時系列データの一部または全部の時間範囲に対して、値を拡大または縮小する。
 例えば、図17(A)に示すように、位置の始点の値66が「0」であり、位置の最大値65が「10」という時系列データが存在したとする。ここで、位置の最大値65は、例えば、時系列データの取得元となった第1駆動装置10や第2駆動装置20の可動範囲や、時系列データに対応する所定の動作において想定される可動範囲によって決定される。
When expanding or contracting values, the values are expanded or contracted from the time-series data to be expanded or contracted to the time range of part or all of the time-series data.
For example, as shown in FIG. 17A, it is assumed that there is time-series data in which the starting point value 66 of the position is "0" and the maximum value 65 of the position is "10". Here, the maximum value 65 of the position is assumed in, for example, the movable range of the first driving device 10 or the second driving device 20 from which the time-series data is obtained, or a predetermined operation corresponding to the time-series data. Determined by range of motion.
 この場合に、操作ポインタを用いたユーザの指定指示操作により、位置の値の全部の時間幅が指定されると共に、拡大率として「300%」の指定指示操作がなされたとする。この場合、ユーザは、例えば、可動範囲が「30」の第1駆動装置10や第2駆動装置20に、この時系列データを適用するために拡大を行うことを意図している。 In this case, it is assumed that the user uses the operation pointer to specify the entire time width of the position value and to specify "300%" as the enlargement ratio. In this case, the user intends to perform enlargement in order to apply this time-series data to the first driving device 10 and the second driving device 20 whose movable range is "30", for example.
 この指示操作に応じて、近似式生成部415は、値の拡大または縮小対象の時系列データに基づいて、この時系列データの近似式を生成する。この場合の近似式の生成の手法としては、例えば、線形近似、多項式近似(例えば、スプライン補間、ラグランジュ補間等)、指数近似、対数近似、及び累乗近似等についての、近似式の生成に関する既存の手法を用いることができる。 In response to this instruction operation, the approximation formula generation unit 415 generates an approximation formula for the time-series data based on the time-series data whose values are to be scaled up or down. As a method for generating approximate expressions in this case, for example, linear approximation, polynomial approximation (e.g., spline interpolation, Lagrangian interpolation, etc.), exponential approximation, logarithmic approximation, power approximation, etc., existing methods for generating approximate expressions method can be used.
 そして、加工部413は、この近似式生成部415が生成した近似式に基づいて、近似式の生成元となった時系列データのパラメータの値を拡大または縮小する加工(ここでは、拡大率「300%」となる加工)を行う。例えば、加工部413は、この近似式生成部415が生成した近似式に係数を乗算または除算することにより加工を行う。これにより、図17(B)に示すように、時系列データにおける波形の形状は保たれたまま、位置の始点の値66が「0」となり、位置の最大値65が「30」となる。 Then, based on the approximate expression generated by the approximate expression generating unit 415, the processing unit 413 performs processing to enlarge or reduce the parameter values of the time-series data from which the approximate expression is generated (here, the enlargement ratio “ 300%" processing) is performed. For example, the processing unit 413 performs processing by multiplying or dividing the approximate expression generated by the approximate expression generating unit 415 by a coefficient. As a result, as shown in FIG. 17B, the starting point value 66 of the position becomes "0" and the maximum value 65 of the position becomes "30" while the shape of the waveform in the time-series data is maintained.
 これにより、時系列データを定式化して表現し、時系列データのデータ量を削減することができる。また、時系列データを定式化して表現し、パラメータの値を拡大または縮小したデータを、連続したデータとして生成でき、時系列データの分解能を低下させることなくパラメータの値を変更することができる。 また、近似式生成部415が生成した近似式に、オフセット値を加算または減算することにより値の拡大や縮小と共に、あるいは、値の拡大や縮小と別途に、値のオフセット加工を行うこともできる。 This makes it possible to formulate and express time-series data and reduce the amount of time-series data. In addition, time-series data can be formulated and expressed, data with expanded or reduced parameter values can be generated as continuous data, and parameter values can be changed without lowering the resolution of the time-series data. Also, by adding or subtracting an offset value to or from the approximate expression generated by the approximate expression generation unit 415, the value can be offset along with the expansion or reduction of the value, or separately from the expansion or reduction of the value. .
 図18は、図6等と同様に、データ編集処理における、提示部412の表示の模式図である。図18では、近似式の生成を伴う加工の1つである「時間範囲の拡大または縮小」を行う場面を想定する。なお、図6等と共通する点については、重複する説明を省略する。 FIG. 18 is a schematic diagram of the display of the presentation unit 412 in the data editing process, similar to FIG. 6 and the like. In FIG. 18, it is assumed that "expansion or reduction of the time range", which is one of the processing accompanied by the generation of approximate expressions, is performed. It should be noted that redundant description of points common to those in FIG. 6 and the like will be omitted.
 時間範囲の拡大または縮小では、時間範囲の拡大または縮小対象の時系列データから、時系列データの一部または全部の時間範囲に対して、時間範囲を拡大または縮小する。
 例えば、図18(A)に示すように、時間範囲t1の時系列データが存在したとする。なお、表示領域67には、この時系列データの時間範囲t1の時間の長さが「11分26秒」であり、操作ポインタが現在「1分8秒」の時点を選択していることが表示される。
 この場合に、操作ポインタを用いたユーザの指定指示操作により、全部の時間幅が指定されると共に、縮小率として「50%」の指定指示操作がなされたとする。この場合、ユーザは、例えば、第1駆動装置10や第2駆動装置20に、この時系列データを0.5倍速で適用するために縮小を行うことを意図している。
When expanding or contracting the time range, the time range is expanded or contracted from the time-series data to be expanded or contracted for part or all of the time-series data.
For example, as shown in FIG. 18A, it is assumed that there is time-series data of time range t1. In the display area 67, the time length of the time range t1 of this time-series data is "11 minutes and 26 seconds", and the operation pointer is currently selecting "1 minute and 8 seconds". Is displayed.
In this case, it is assumed that the entire time width is specified by the user's specification instruction operation using the operation pointer, and the specification instruction operation of "50%" as the reduction ratio is performed. In this case, the user intends to perform reduction in order to apply this time-series data to the first driving device 10 or the second driving device 20 at 0.5 times speed, for example.
 この指示操作に応じて、近似式生成部415は、値の拡大または縮小対象の時系列データに基づいて、この時系列データの近似式を生成する。近似式を生成するための既存の手法については、上述したとおりである。 In response to this instruction operation, the approximation formula generation unit 415 generates an approximation formula for the time-series data based on the time-series data whose values are to be scaled up or down. Existing techniques for generating approximate expressions are as described above.
 そして、加工部413は、この近似式生成部415が生成した近似式に基づいて、近似式の生成元となった時系列データの時間範囲を拡大または縮小する加工(ここでは、縮小率「50%」となる加工)を行う。例えば、加工部413は、この近似式生成部415が生成した近似式に係数を乗算または除算することにより加工を行う。これにより、図18(B)に示すように、パラメータの値の始点の値や最大値は保たれたまま、時間範囲t2に縮小される。なお、表示領域67には、この時系列データの時間範囲t2の時間の長さが「5分43秒」であり、操作ポインタが現在「34秒」の時点を選択していることが表示される。すなわち、縮小率「50%」に縮小されていることが表示される。 Based on the approximate expression generated by the approximate expression generating unit 415, the processing unit 413 expands or reduces the time range of the time-series data from which the approximate expression was generated (here, the reduction rate is “50 %” processing) is performed. For example, the processing unit 413 performs processing by multiplying or dividing the approximate expression generated by the approximate expression generating unit 415 by a coefficient. As a result, as shown in FIG. 18B, the parameter value is reduced to the time range t2 while maintaining the starting point value and the maximum value. The display area 67 displays that the time length of the time range t2 of this time-series data is "5 minutes and 43 seconds" and that the operation pointer is currently selecting the point of time of "34 seconds." be. That is, it is displayed that the image has been reduced to a reduction ratio of "50%".
 これにより、時系列データを定式化して表現し、時系列データのデータ量を削減することができる。また、時系列データを定式化して表現し、時間幅を拡大または縮小したデータを、連続したデータとして生成でき、時系列データの分解能を低下させることなく時間幅を変更することができる。
 また、近似式生成部415が生成した近似式に、オフセット値を加算または減算することにより時間範囲の拡大や縮小と共に、あるいは、時間範囲の拡大や縮小と別途に、時間範囲のオフセット加工(すなわち、時間範囲を時間的に前後に移動させる加工)を行うこともできる。
This makes it possible to formulate and express the time-series data and reduce the data amount of the time-series data. In addition, it is possible to formulate and express the time-series data, generate data with an expanded or reduced time width as continuous data, and change the time width without lowering the resolution of the time-series data.
In addition, by adding or subtracting an offset value to or from the approximate expression generated by the approximate expression generating unit 415, the time range can be offset (i.e. , processing to move the time range back and forth in time) can also be performed.
 次に、正規化管理部416による正規化及び非正規化について説明する。正規化管理部416は、時系列データに基づいて、この時系列データを正規化または非正規化する。この場合に、正規化管理部416は、正規化前または非正規化後の時系列データを実行する装置の属性に応じて、正規化または非正規化を実行する。 Next, normalization and non-normalization by the normalization management unit 416 will be described. The normalization management unit 416 normalizes or denormalizes the time series data based on the time series data. In this case, the normalization management unit 416 performs normalization or denormalization according to the attributes of the device that executes the time-series data before normalization or after denormalization.
 正規化または非正規化の生成の手法としては、例えば、最小最大スケール変換、分散スケール変換、及び分位数を用いたスケール変換等の、正規化または非正規化の生成に関する既存の手法を用いることができる。なお、位置のパラメータの値を正規化または非正規化する場合には第1手法を用い、力のパラメータの値を正規化または非正規化する場合には第2手法を用いるというように、パラメータごとに用いる手法を異ならせるようにしてもよい。 Methods for normalization or denormalization generation use existing methods for normalization or denormalization generation, such as min-max scale transformation, variance scale transformation, and scale transformation with quantiles. be able to. It should be noted that the parameter A different technique may be used for each.
 この場合に、正規化及び非正規化に用いる最小値や最大値としては、例えば、時系列データにおけるパラメータの値の最小値や最大値を用いることができる。また、他にも、正規化及び非正規化する時系列データに対応する(すなわち、この時系列データの取得元となった、または、これからこの時系列データを再現データとして実行する)第1駆動装置10や第2駆動装置20固有の属性(例えば、可動範囲やトルク出力範囲)に基づく最小値や最大値を用いることができる。この場合、時系列データの取得元となった各装置の属性(例えば、可動範囲やトルク出力範囲)に基づいて正規化を行うことができる。また、これらからこの時系列データを再現データとして実行する各装置の属性(例えば、可動範囲やトルク出力範囲)に基づいてこの正規化した時系列データの非正規化を行うことができる。 In this case, as the minimum and maximum values used for normalization and non-normalization, for example, the minimum and maximum values of the parameter values in the time series data can be used. In addition, the first drive corresponding to the time-series data to be normalized and denormalized (that is, the time-series data from which this time-series data was obtained, or from which this time-series data is executed as reproduction data) Minimum and maximum values based on attributes unique to the device 10 and the second driving device 20 (eg, movable range and torque output range) can be used. In this case, normalization can be performed based on the attributes (for example, movable range and torque output range) of each device from which the time-series data was acquired. Further, the normalized time-series data can be de-normalized based on the attributes (for example, movable range and torque output range) of each device that executes this time-series data as reproduction data.
 これにより、何れかの制御装置30が装置を制御した際の時系列データを取得して正規化するのみで、正規化された汎用の時系列データを生成することができる。また、この汎用の時系列データを再現データとして実行させる際には、再現データを実行する装置の属性に応じて非正規化を行い、その装置固有の再現データを生成し、対応する動作を再現させることができる。すなわち、正規化した汎用の時系列データから、多様な装置それぞれに対応した時系列データを容易に生成することができることから、多様な装置それぞれに応じた時系列データを予め用意する人的労力を省くことができる。また、時系列データの管理を容易にすることができる。 As a result, normalized general-purpose time-series data can be generated simply by acquiring and normalizing the time-series data when any of the control devices 30 controls the device. In addition, when executing this general-purpose time-series data as reproduction data, denormalization is performed according to the attributes of the device that executes the reproduction data, reproduction data unique to the device is generated, and the corresponding operation is reproduced. can be made In other words, since it is possible to easily generate time-series data corresponding to each of various devices from normalized general-purpose time-series data, human effort to prepare time-series data corresponding to each of various devices in advance can be reduced. can be omitted. In addition, time-series data can be managed easily.
 以上、データ編集処理における、編集データの生成の詳細について説明した、なお、データ編集処理では、時系列データに対して、上述した様々な加工等を任意に組み合わせて行うことも可能である。例えば、時系列データを結合して補間した後に、その時系列データをさら切り抜いてさらに補間したり、その時系列データをさらに拡大または縮小したり、その時系列データをさらに正規化等したりすることが可能である。また、例えば、パラメータの値や時間範囲の拡大または縮小以外の加工を行う場合に、データ削減等を目的として近似式を生成するようなことも可能である。
 次に、データ加工システムSにより行われる各処理の処理内容の詳細について説明をする。
The details of the generation of edited data in the data editing process have been described above. In the data editing process, it is also possible to arbitrarily combine the above-described various processing and the like on the time-series data. For example, after combining and interpolating time-series data, it is possible to further clip the time-series data and interpolate further, further expand or shrink the time-series data, or further normalize the time-series data. is. Also, for example, when performing processing other than expansion or contraction of parameter values or time ranges, it is possible to generate approximate expressions for the purpose of data reduction or the like.
Next, details of processing contents of each processing performed by the data processing system S will be described.
[時系列データ取得処理]
 図19は、データ加工システムSが実行する時系列データ取得処理の流れを説明するフローチャートである。時系列データ取得処理は、ユーザが第1駆動装置10をマスタ装置として用いて所定の行為を開始したことや、ユーザが第1駆動装置10をマスタ装置として用いて所定の行為を開始した状態でユーザによる時系列データ取得処理の開始指示操作を受け付けたことに伴い実行される。
[Time series data acquisition process]
FIG. 19 is a flowchart for explaining the flow of time-series data acquisition processing executed by the data processing system S. As shown in FIG. The time-series data acquisition process is performed when the user has started a predetermined action using the first drive device 10 as a master device, or when the user has started a predetermined action using the first drive device 10 as a master device. It is executed in response to acceptance of the user's instruction to start the time-series data acquisition process.
 まず、制御装置30の処理内容について説明をする。
 ステップS11において、力触覚制御部311は、アクチュエータ12によって移動される移動対象物の位置(具体的には、位置または角度)と、アクチュエータ22によって移動される移動対象物の位置(具体的には、位置または角度)と、を取得する。
First, the processing contents of the control device 30 will be described.
In step S11, the haptic control unit 311 controls the position (specifically, position or angle) of the moving object moved by the actuator 12 and the position of the moving object moved by the actuator 22 (specifically, , position or angle) and .
 ステップS12において、力触覚制御部311は、実空間の入力ベクトルを仮想空間のベクトルに変換する。
 ステップS13において、力触覚制御部311は、速度(位置)の領域における演算及び力の領域における演算を実行する。
In step S12, the haptic sense control unit 311 converts the input vector in the real space into a vector in the virtual space.
In step S13, the haptic control unit 311 performs calculation in the velocity (position) area and calculation in the force area.
 ステップS14において、力触覚制御部311は、速度(位置)及び力の領域の値を制御対象システムCSへの入力の領域の値(実空間のベクトル)に逆変換する。
 ステップS15において、力触覚制御部311は、アクチュエータ12及びアクチュエータ22の指令値を出力する。
In step S14, the haptic control unit 311 inversely transforms the values of the velocity (position) and force regions into the values of the input region (real space vector) to the controlled system CS.
In step S<b>15 , the haptic control unit 311 outputs command values for the actuators 12 and 22 .
 ステップS16において、時系列データ取得部312は、力触覚制御部311によるステップS11からステップS16までの処理で算出された制御の履歴の時系列データ(例えば、第1駆動装置10及び第2駆動装置20における、時系列データ取得処理の実行に伴い変化する、位置及び力のパラメータの時系列データ)を取得する。 In step S16, the time-series data acquisition unit 312 acquires control history time-series data (for example, the first driving device 10 and the second driving device) calculated in the processes from steps S11 to S16 by the haptic control unit 311. 20, time-series data of position and force parameters that change with the execution of the time-series data acquisition process in 20).
 ステップS17において、力触覚制御部311は、ユーザによる第1駆動装置10をマスタ装置として用いた所定の行為の実行が終了したか否かを判定する。所定の行為の実行が終了した場合は、ステップS17においてYesと判定され、処理はステップS18に進む。一方で、所定の行為の実行が終了していない場合は、ステップS17においてNoと判定され、処理はステップS11に戻り繰り返される。 In step S17, the haptic control unit 311 determines whether or not the user has finished executing a predetermined action using the first driving device 10 as the master device. If the execution of the predetermined action has ended, it is determined as Yes in step S17, and the process proceeds to step S18. On the other hand, if the execution of the predetermined action has not ended, it is determined No in step S17, and the process returns to step S11 and is repeated.
 ステップS18において、時系列データ取得部312は、ステップS16において取得された時系列データをデータ加工装置40に対して送信する。
 ステップS19において、時系列データ取得部312は、ステップS16において取得された時系列データを時系列データ記憶部321に記憶する。
In step S<b>18 , the time-series data acquisition unit 312 transmits the time-series data acquired in step S<b>16 to the data processing device 40 .
In step S<b>19 , the time series data acquisition unit 312 stores the time series data acquired in step S<b>16 in the time series data storage unit 321 .
 なお、本フローチャートでは、ステップS16を繰り返すたびに時系列データを一時的に記憶しておき、ステップS18及びステップS19において、一時的に記憶した時系列データを全てまとめて送信及び記憶することとしている。これに限らず、ステップS16を繰り返す都度、ステップS18及びステップS19同様の送信及び記憶を行うようにしてもよい。 In this flowchart, the time series data is temporarily stored each time step S16 is repeated, and all the temporarily stored time series data are collectively transmitted and stored in steps S18 and S19. . Alternatively, the same transmission and storage as steps S18 and S19 may be performed each time step S16 is repeated.
 次に、データ加工装置40の処理内容について説明をする。
 ステップS21において、時系列データ取得部411は、制御装置30の時系列データ取得部312から送信された時系列データを、受信することにより取得する。
 ステップS22において、時系列データ取得部411は、ステップS12において取得した時系列データを時系列データ記憶部421に記憶する。これにより、本処理は終了する。
Next, the processing contents of the data processing device 40 will be described.
In step S21, the time-series data acquisition unit 411 acquires the time-series data transmitted from the time-series data acquisition unit 312 of the control device 30 by receiving the time-series data.
In step S<b>22 , the time series data acquisition unit 411 stores the time series data acquired in step S<b>12 in the time series data storage unit 421 . This completes the processing.
 以上説明した時系列データ取得処理によれば、第1駆動装置10及び第2駆動装置20の間で力触覚を伝達する制御を行うと共に、力触覚を伝達するために用いたパラメータの時系列データを取得することができる。 According to the time-series data acquisition process described above, control is performed to transmit the haptic sensation between the first driving device 10 and the second driving device 20, and the time-series data of the parameters used for transmitting the haptic sensation are obtained. can be obtained.
[データ編集処理]
 図20は、データ加工システムSが実行するデータ編集処理の流れを説明するフローチャートである。データ編集処理は、データ加工装置40が、ユーザによる編集処理の開始指示操作を受け付けたことに伴い実行される。
[Data editing process]
FIG. 20 is a flowchart for explaining the flow of data editing processing executed by the data processing system S. As shown in FIG. The data editing process is executed when the data processing device 40 receives an instruction to start the editing process by the user.
 ステップS31において、時系列データ取得部411は、ユーザからの選択指示操作に基づいて、データ編集の対象とする時系列データを、時系列データ記憶部421から読み出す。なお、再編集が行われる場合には、ユーザからの選択指示操作に基づいて、時系列データ取得部411は、データ編集の対象とする時系列データ(ここでは、既存の編集データ)を、編集データ記憶部422から読み出す。
 ステップS32において、提示部412は、編集データ記憶部422が読み出した時系列データをユーザに対して提示する。
In step S<b>31 , the time-series data acquisition unit 411 reads time-series data to be edited from the time-series data storage unit 421 based on the user's selection instruction operation. When re-editing is performed, the time-series data acquisition unit 411 selects the time-series data to be edited (here, the existing edited data) based on the user's selection instruction operation. Read from the data storage unit 422 .
In step S32, the presentation unit 412 presents the time-series data read by the edited data storage unit 422 to the user.
 ステップS33において、加工部413は、補間を伴う加工を実行するか否かを判定する。例えば、加工部413は、ユーザからの加工指示操作があった場合に、補間を伴う加工を実行する。ここで、補間を伴う加工とは、例えば、複数の時系列データの結合や、時系列データの切り抜きや、時系列データの切り取りや、時系列データのパラメータの値操作である。このような補間を伴う加工を実行する場合は、ステップS33においてYesと判定され、処理はステップS34に進む。一方で、補間を伴う加工を実行しない場合は、ステップS33においてNoと判定され、処理はステップS36に進む。 In step S33, the processing unit 413 determines whether or not to execute processing involving interpolation. For example, the processing unit 413 executes processing involving interpolation when there is a processing instruction operation from the user. Here, processing accompanied by interpolation is, for example, combining multiple pieces of time-series data, clipping time-series data, clipping time-series data, and manipulating values of parameters of time-series data. If such processing involving interpolation is to be executed, a determination of Yes is made in step S33, and the process proceeds to step S34. On the other hand, if processing involving interpolation is not to be executed, the determination in step S33 is No, and the process proceeds to step S36.
 ステップS34において、加工部413は、時系列データに対して加工を実行する。
 ステップS35において、補間部414は、ステップS34における加工後の時系列データに含まれるパラメータの値に基づいて補間データを生成し、この補間データによって加工後の時系列データを補間する。
In step S34, the processing unit 413 processes the time-series data.
In step S35, the interpolating unit 414 generates interpolated data based on the parameter values included in the processed time series data in step S34, and interpolates the processed time series data using this interpolated data.
 ステップS36において、加工部413は、近似式の生成を伴う加工を実行するか否かを判定する。例えば、加工部413は、ユーザからの加工指示操作があった場合に、近似式の生成を伴う加工を実行する。ここで、近似式の生成を伴う加工とは、例えば、時系列データのパラメータの値または時間範囲の、拡大または縮小等により実現される。このような近似式の生成を伴う加工を実行する場合は、ステップS36においてYesと判定され、処理はステップS37に進む。一方で、近似式の生成を伴う加工を実行しない場合は、ステップS36においてNoと判定され、処理はステップS39に進む。 In step S36, the processing unit 413 determines whether or not to execute processing involving generation of approximate expressions. For example, the processing unit 413 executes processing accompanied by generation of approximate expressions when there is a processing instruction operation from the user. Here, the processing accompanied by the generation of the approximation formula is realized, for example, by expanding or contracting the values of the parameters of the time-series data or the time range. If processing involving the generation of such an approximation formula is to be executed, a determination of Yes is made in step S36, and the process proceeds to step S37. On the other hand, if the processing that accompanies the generation of the approximation formula is not executed, it is determined as No in step S36, and the process proceeds to step S39.
 ステップS37において、近似式生成部415は、時系列データに基づいて、この時系列データの近似式を生成する。
 ステップS38において、加工部413は、ステップS37において生成された時系列データの近似式に対して加工を実行する。
In step S37, the approximation formula generation unit 415 generates an approximation formula for the time series data based on the time series data.
In step S38, the processing unit 413 processes the approximate expression of the time-series data generated in step S37.
 ステップS39において、正規化管理部416は、時系列データを正規化するか否かを判定する。例えば、正規化管理部416は、ユーザからの正規化指示操作があった場合に、時系列データを正規化する。時系列データを正規化する場合は、ステップS39においてYesと判定され、処理はステップS40に進む。一方で、時系列データを正規化しない場合は、ステップS39においてNoと判定され、処理はステップS41に進む。
 ステップS40において、正規化管理部416は、時系列データに基づいて、この時系列データを正規化する。
In step S39, the normalization management unit 416 determines whether or not to normalize the time series data. For example, the normalization management unit 416 normalizes the time-series data when there is a normalization instruction operation from the user. If the time-series data is to be normalized, a determination of Yes is made in step S39, and the process proceeds to step S40. On the other hand, when the time-series data is not normalized, it is determined as No in step S39, and the process proceeds to step S41.
In step S40, the normalization management unit 416 normalizes the time series data based on the time series data.
 ステップS41において、加工部413は、編集処理を終了するか否かを判定する。例えば、加工部413は、ユーザによる編集処理の終了指示操作があった場合に、編集処理を終了する。編集処理を終了する場合は、ステップS41においてYesと判定され、処理はステップS42に進む。一方で、場合は、編集処理を終了しない場合は、ステップS41においてNoと判定され、処理はステップS32に戻り繰り返される。 In step S41, the processing unit 413 determines whether or not to end the editing process. For example, the processing unit 413 ends the editing process when the user instructs to end the editing process. If the editing process is to end, the determination in step S41 is Yes, and the process proceeds to step S42. On the other hand, if the editing process is not to be ended, a determination of No is made in step S41, and the process returns to step S32 and is repeated.
 ステップS42において、加工部413は、ステップS31からステップS41までの処理によって、補間等を伴う加工や非正規化等を実施した時系列データを、編集データとして、編集データ記憶部422に記憶する。これにより、本処理は終了する。 In step S42, the processing unit 413 stores the time-series data that has undergone processing involving interpolation, non-normalization, etc. in the processing from steps S31 to S41 as edited data in the edited data storage unit 422. This completes the processing.
 以上説明した、データ編集処理によれば、時系列データを、補間等を伴う加工や正規化等を行うといった方法で編集することにより、編集された時系列データを生成することができる。 According to the data editing process described above, it is possible to generate edited time-series data by editing the time-series data using a method such as processing with interpolation or normalization.
[再現処理]
 図21は、データ加工システムSが実行する再現処理の流れを説明するフローチャートである。再現処理は、データ加工装置40が、ユーザによる再現処理の開始指示操作を受け付けたことに伴い実行される。
[Reproduction processing]
FIG. 21 is a flowchart for explaining the flow of reproduction processing executed by the data processing system S. FIG. The reproduction process is executed when the data processing device 40 receives a user's instruction to start the reproduction process.
 まず、データ加工装置40の処理内容について説明をする。
 ステップS51において、再現データ生成部417は、ユーザからの選択指示操作に基づいて、再現対象とする(すなわち、再現データとする)編集データを、編集データ記憶部422から読み出す。
First, the processing contents of the data processing device 40 will be described.
In step S<b>51 , the reproduction data generation unit 417 reads out edit data to be reproduced (that is, set as reproduction data) from the edit data storage unit 422 based on the user's selection instruction operation.
 ステップS52において、正規化管理部416は、編集データを非正規化するか否かを判定する。例えば、正規化管理部416は、ユーザからの非規化指示操作があった場合に、編集データを非正規化する。編集データを非正規化する場合は、ステップS52においてYesと判定され、処理はステップS53に進む。一方で、編集データを非正規化しない場合は、ステップS52においてNoと判定され、処理はステップS54に進む。 In step S52, the normalization management unit 416 determines whether or not to denormalize the edited data. For example, the normalization management unit 416 denormalizes the edited data when the user instructs denormalization. If the edited data is to be non-normalized, a determination of Yes is made in step S52, and the process proceeds to step S53. On the other hand, if the edited data is not to be denormalized, a determination of No is made in step S52, and the process proceeds to step S54.
 ステップS53において、正規化管理部416は、非正規化後の時系列データである再現データを実行する制御装置30の属性に応じて、非正規化を実行する。
 ステップS54において、再現データ生成部417は、ステップS51において読み出した編集データまたはステップS53において非正規化後のデータに基づいて、再現データを生成する。
In step S53, the normalization management unit 416 executes denormalization according to the attribute of the control device 30 that executes the reproduction data, which is the time-series data after denormalization.
In step S54, the reproduction data generation unit 417 generates reproduction data based on the edited data read out in step S51 or the non-normalized data in step S53.
 ステップS55において、再現データ生成部417は、ステップS54において生成した再現データを、再現データに対応する動作を再現する制御装置30に対して送信する。
 ステップS56において、再現データ生成部417は、ステップS54において生成した再現データを、再現データ記憶部423に記憶する。
In step S55, the reproduction data generator 417 transmits the reproduction data generated in step S54 to the control device 30 that reproduces the action corresponding to the reproduction data.
In step S<b>56 , the reproduction data generation unit 417 stores the reproduction data generated in step S<b>54 in the reproduction data storage unit 423 .
 次に、制御装置30の処理内容について説明をする。
 ステップS61において、再現データ取得部313は、データ加工装置40の再現データ生成部417から送信された再現データを、受信することにより取得する。
 ステップS62において、再現データ取得部313は、ステップS61において取得した再現データを再現データ記憶部322に記憶する。
Next, the processing contents of the control device 30 will be described.
In step S<b>61 , the reproduction data acquisition unit 313 receives and acquires the reproduction data transmitted from the reproduction data generation unit 417 of the data processing device 40 .
In step S<b>62 , the reproduction data acquisition unit 313 stores the reproduction data acquired in step S<b>61 in the reproduction data storage unit 322 .
 ステップS63において、力触覚制御部311は、ユーザからの選択指示操作に基づいて、再現対象とする再現データを、再現データ記憶部322から読み出すと共に、一方の駆動装置のアクチュエータ(ここでは、アクチュエータ22)によって移動される移動対象物の位置(具体的には、位置または角度)を取得する。 In step S63, the haptic control unit 311 reads the reproduction data to be reproduced from the reproduction data storage unit 322 based on the user's selection instruction operation, ) to obtain the position (specifically, position or angle) of the moving object that is moved by .
 ステップS64において、力触覚制御部311は、実空間の入力ベクトルを仮想空間のベクトルに変換する。
 ステップS65において、力触覚制御部311は、速度(位置)の領域における演算及び力の領域における演算を実行する。
In step S64, the haptic sense control unit 311 converts the input vector in the real space into a vector in the virtual space.
In step S65, the haptic control unit 311 performs calculation in the velocity (position) area and calculation in the force area.
 ステップS66において、力触覚制御部311は、速度(位置)及び力の領域の値を制御対象システムCSへの入力の領域の値(実空間のベクトル)に逆変換する。
 ステップS67において、力触覚制御部311は、一方のアクチュエータ(ここでは、アクチュエータ22)の指令値を出力する。なお、再現処理においては、他方のアクチュエータ(ここでは、アクチュエータ12)の指令値は出力されない。
In step S66, the haptic control unit 311 inversely transforms the values of the velocity (position) and force regions into the values of the input region (real space vector) to the controlled system CS.
In step S67, the haptic control unit 311 outputs a command value for one of the actuators (here, the actuator 22). In the reproduction process, the command value for the other actuator (here, actuator 12) is not output.
 ステップS68において、力触覚制御部311は、本処理で再現中の再現データが終了したか否かを判定する。再現中の再現データが終了した場合は、ステップS68においてYesと判定され、本処理は終了する。一方で、再現中の再現データが終了していない場合は、ステップS68においてNoと判定され、処理はステップS63に戻り繰り返される。 In step S68, the haptic control unit 311 determines whether or not the reproduction data being reproduced in this process has ended. If the reproduction data being reproduced has ended, it is determined as Yes in step S68, and this process ends. On the other hand, if the reproduction data being reproduced has not ended, it is determined as No in step S68, and the process returns to step S63 and is repeated.
 以上説明した再現処理によれば、時系列データに対して、補間等を伴う加工や非正規化等を行うことによって生成した再現データを、第2駆動装置20において実行(すなわち、再現データに対応する動作を再現)させることができる。 According to the reproduction process described above, the reproduction data generated by performing processing involving interpolation and the like, non-normalization, etc., on the time-series data is executed in the second driving device 20 (that is, the reproduction data corresponds to the reproduction data). You can reproduce the behavior to do).
 このように、データ加工システムSは、力触覚を伝達するために用いられるパラメータの時系列データを加工すると共に、加工後の時系列データのパラメータの値に即した補間データを生成し、この補間データによって加工後の時系列データを適切に補間する。これにより、力触覚に関するデータを、従来のように検出した力触覚そのものをリアルタイムに伝達する用途のみならず、他の用途にも適切に利用することができる。
 従って、データ加工システムSによれば、力触覚に関するデータを、より活用する、という課題を解決することが可能となる。
In this way, the data processing system S processes the time-series data of the parameters used to transmit the haptic sensation, generates interpolation data in accordance with the values of the parameters of the processed time-series data, and processes the interpolation data. Appropriately interpolate time-series data after processing by data. As a result, the haptic data can be appropriately used not only for real-time transmission of the detected haptic itself, but also for other purposes.
Therefore, according to the data processing system S, it is possible to solve the problem of making more use of the haptic data.
[変形例]
 以上、本発明の実施形態について説明したが、この実施形態は例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明は、本発明の要旨を逸脱しない範囲で、その他の様々な実施形態を取ることが可能である共に、省略及び置換等種々の変形を行うことができる。
[Modification]
Although the embodiment of the present invention has been described above, this embodiment is merely an example and does not limit the technical scope of the present invention. The present invention can take various other embodiments and can be modified in various ways such as omission and replacement without departing from the gist of the present invention.
[変形例1]
 上述した実施形態では、制御装置30と、データ加工装置40とを異なる装置として実現していた。これに限らず、例えば、制御装置30とデータ加工装置40とを一体の装置として実現してもよい。すなわち、力触覚を伝達する制御を行うことにより時系列データを取得すると共に、この時系列データを自身で編集可能な装置として実現してもよい。他にも、例えば、データ加工装置40をネットワークと接続せずに、オフラインで編集できるようにしてもよい。他にも、例えば、データ加工装置40から再現データを生成する再現処理を行う機能を省き、時系列データを取得する時系列データ取得処理と、この時系列データを編集するデータ編集処理を行う機能を備える装置としてデータ加工装置40を実現してもよい。
[Modification 1]
In the above-described embodiment, the control device 30 and the data processing device 40 are implemented as different devices. Not limited to this, for example, the control device 30 and the data processing device 40 may be implemented as an integrated device. In other words, time-series data may be obtained by controlling the transmission of haptic sensations, and the time-series data may be edited by the device itself. Alternatively, for example, off-line editing may be performed without connecting the data processing device 40 to a network. In addition, for example, a function of performing time-series data acquisition processing of acquiring time-series data and data editing processing of editing this time-series data by omitting the function of performing reproduction processing of generating reproduction data from the data processing device 40 The data processing device 40 may be realized as a device provided with
 他にも、例えば、第1駆動装置10、第2駆動装置20、及び制御装置30の三台が必ずしも組に含まれてなくともよい。例えば、既存の時系列データや再現データに基づいた動作を行うための第2駆動装置20と、この動作を制御する制御装置30と、の二台のみの組が存在していてもよい。この場合、この二台のみの組において、時系列データ取得処理は行わない。それに代えて、この二台のみの組の制御装置30は、既存の時系列データ(例えば、他の組において取得された既存の時系列データ)や、この既存の時系列データを編集してから生成された再現データを、データ加工装置40から取得する。そして、制御装置30は、取得した、既存の時系列データや再現データに基づいて、第2駆動装置20の動作を制御する。なお、この場合に、制御装置30とデータ加工装置40とを一体の装置として実現する、上述の変形例を組み合わせることにより、例えば、既存の時系列データをダウンロードして、自身で編集を行ったり、自身で第2駆動装置20の動作を制御したりするロボット等を実現することができる。 In addition, for example, the first driving device 10, the second driving device 20, and the control device 30 do not necessarily have to be included in the set. For example, there may be a set of only two, the second driving device 20 for performing operations based on existing time-series data or reproduction data, and the control device 30 for controlling these operations. In this case, the time-series data acquisition process is not performed for this set of only two units. Instead, this two-unit control device 30 can edit existing time-series data (for example, existing time-series data acquired in another set), and then edit this existing time-series data. The generated reproduction data is obtained from the data processing device 40 . Then, the control device 30 controls the operation of the second driving device 20 based on the acquired existing time-series data and reproduction data. In this case, by combining the above-described modified examples in which the control device 30 and the data processing device 40 are realized as an integrated device, for example, existing time-series data can be downloaded and edited by oneself. , a robot or the like that controls the operation of the second driving device 20 by itself.
 他にも、例えば、1台の制御装置30と、複数の第1駆動装置10及び複数の第2駆動装置20が含まれる組が存在していてもよい。このような組においては、例えば、多自由度ロボットアームのマスタ装置として複数の第1駆動装置10が動作し、多自由度ロボットアームのスレーブ装置として複数の第2駆動装置20が動作し、これら全ての動作を1台の制御装置30で制御する。他にも、例えば、制御装置30を、第1駆動装置10または第2駆動装置20と一体の装置として実現してもよい。他にも、例えば、クラウドサーバを構成する複数のサーバ装置等により、データ加工装置40を実現するようにしてもよい。
 すなわち、上述した実施形態におけるシステム構成は一例に過ぎず、様々な構成に適宜変形することができる。
Alternatively, for example, there may be a set including one control device 30 and a plurality of first driving devices 10 and a plurality of second driving devices 20 . In such a set, for example, a plurality of first drive devices 10 operate as master devices of the multi-degree-of-freedom robot arm, and a plurality of second drive devices 20 operate as slave devices of the multi-degree-of-freedom robot arm. All operations are controlled by one controller 30 . Alternatively, for example, the control device 30 may be implemented as a device integrated with the first drive device 10 or the second drive device 20 . In addition, for example, the data processing device 40 may be realized by a plurality of server devices constituting a cloud server.
That is, the system configuration in the embodiment described above is merely an example, and can be appropriately modified into various configurations.
[変形例2]
 上述した実施形態では、再現処理を行う場合、力触覚制御部311は、再現データ記憶部322に記憶された第2駆動装置20の動作を制御するための再現データに基づいて、第2駆動装置20のアクチュエータ22における再現データに基づいた動作を再現する制御を実行していた。すなわち、力触覚制御部311は、再現データに基づいた力触覚をアクチュエータ22に伝達する制御を実行していた。
[Modification 2]
In the above-described embodiment, when performing the reproduction process, the haptic control unit 311 controls the second driving device 20 based on the reproduction data for controlling the operation of the second driving device 20 stored in the reproduction data storage unit 322 . 20, the actuator 22 was controlled to reproduce the operation based on the reproduced data. That is, the haptic control unit 311 executes control to transmit the haptic sensation based on the reproduction data to the actuator 22 .
 これに限らず、再現処理を行う場合、力触覚制御部311は、再現データ記憶部322に記憶された第1駆動装置10の動作を制御するための再現データに基づいて、第1駆動装置10のアクチュエータ12における再現データに基づいた動作を再現する制御を実行するようにしてもよい。すなわち、力触覚制御部311は、再現データに基づいた力触覚をアクチュエータ12に伝達する制御を実行するようにしてもよい。 Not limited to this, when performing the reproduction process, the haptic control unit 311 controls the operation of the first driving device 10 based on the reproduction data for controlling the operation of the first driving device 10 stored in the reproduction data storage unit 322 . may be executed to reproduce the operation of the actuator 12 based on reproduction data. That is, the haptic control section 311 may perform control to transmit the haptic sensation to the actuator 12 based on the reproduced data.
 この場合、力触覚制御部311には、位置センサ13によって検出された時系列の位置(角度)の検出値が入力される。この時系列の位置(角度)の検出値は、アクチュエータ12の動作を表すものである。加えて、力触覚制御部311には、再現データにおける時系列の位置(角度)の値が入力される。この再現データにおける位置(角度)の値は、再現データにおけるアクチュエータ12の動作を表すものである。力触覚制御部311は、入力された位置(角度)及びこれらの位置(角度)から導出された力に対して、力触覚を伝達する座標変換を適用する。
 なお、この場合に、再現データとして、位置(角度)及び力のパラメータの時系列データの値が入力されるようにしてもよい。この場合、力触覚制御部311は、再現データにおける位置(角度)及び力のパラメータの時系列の値と、位置センサ13から入力された位置(角度)及びこの位置(角度)から導出された力とに基づいて、力触覚を伝達する座標変換を適用する。
 これにより、再現データに基づいた力触覚をアクチュエータ12に伝達することができ、力触覚に関するデータを、より様々な用途に活用することが可能となる。
In this case, time-series position (angle) detection values detected by the position sensor 13 are input to the haptic control unit 311 . This time-series position (angle) detection value represents the operation of the actuator 12 . In addition, the haptic control unit 311 receives time-series position (angle) values in the reproduction data. The position (angle) value in this reproduction data represents the operation of the actuator 12 in the reproduction data. The haptic control unit 311 applies coordinate transformations that transmit haptic sensations to the input positions (angles) and the forces derived from these positions (angles).
In this case, time-series data values of position (angle) and force parameters may be input as reproduction data. In this case, the haptic control unit 311 uses the time-series values of the position (angle) and force parameters in the reproduction data, the position (angle) input from the position sensor 13, and the force derived from this position (angle). Based on and apply a coordinate transformation that conveys haptic sensations.
As a result, the haptic sensation based on the reproduced data can be transmitted to the actuator 12, and the data on the haptic sensation can be used for various purposes.
[変形例3]
 上述した実施形態に対して、所定の処理を追加するようにしてもよい。例えば、時系列データ取得処理において取得した時系列データに対して、ノイズ除去を目的とした前処理を行うようにしてもよい。
[Modification 3]
You may make it add a predetermined process with respect to embodiment mentioned above. For example, the time-series data acquired in the time-series data acquisition process may be pre-processed for the purpose of removing noise.
 前処理としては、例えば、所定の周波数帯域のみを通過させ他の周波数帯域を減衰させるフィルタを用いるようにする。この場合、例えば、ローパスフィルタを用いることにより、時系列データにおける高周波ノイズ成分を除去することができる。 For preprocessing, for example, a filter that passes only a predetermined frequency band and attenuates other frequency bands is used. In this case, for example, high-frequency noise components in the time-series data can be removed by using a low-pass filter.
 また、他にも、時系列データに含まれるパラメータの検出値において、所定の閾値を超える検出値を無視することとし、直前の検出値に置き換える、外れ値除去を前処理として行うようにしてもよい。他にも、例えば、時系列データに含まれるパラメータの検出値において、所定の閾値を超える検出値を飽和させ、閾値に置き換える、外れ値飽和を前処理として行うようにしてもよい。
 これにより、時系列データに含まれるノイズを適切に除去することが可能となる。
In addition, among the detected values of the parameters included in the time-series data, outliers may be removed as preprocessing by ignoring detected values exceeding a predetermined threshold and replacing them with immediately preceding detected values. good. Alternatively, outlier saturation may be performed as preprocessing, for example, in which detected values of parameters included in time-series data that exceed a predetermined threshold value are saturated and replaced with the threshold value.
This makes it possible to appropriately remove noise contained in the time-series data.
[変形例4]
 上述した実施形態では、マスタ装置として動作する第1駆動装置10に対するユーザの実際の操作に基づいて、スレーブ装置として動作する第2駆動装置20により、実際に物体への接触を伴う把持や移動や加工等の作業を実行することを想定した。これに限らず、データ加工装置40と制御装置30とが協働することにより、コンピュータによるシミュレーションでの仮想空間における、仮想的なマスタ装置に対する仮想的なユーザの操作に基づいて、仮想的なスレーブ装置により、仮想的な物体に対して把持等の作業を実行するようにしてもよい。そして、仮想的なマスタ装置への仮想的なユーザの操作を仮想的なスレーブ装置に伝達すると共に、仮想的なスレーブ装置に対する仮想的な物体からの反力の入力をマスタ装置に伝達するようにしてもよい。
[Modification 4]
In the above-described embodiment, based on the user's actual operation on the first driving device 10 acting as the master device, the second driving device 20 acting as the slave device actually grips, moves, or moves an object that involves contact with the object. It is assumed that work such as processing will be executed. Not limited to this, the data processing device 40 and the control device 30 cooperate to create a virtual slave based on a virtual user's operation on a virtual master device in a virtual space simulated by a computer. The device may be used to perform an operation such as grasping a virtual object. Then, the virtual user's operation on the virtual master device is transmitted to the virtual slave device, and the reaction force input from the virtual object to the virtual slave device is transmitted to the master device. may
 この場合に、制御装置30は、仮想的なマスタ装置が駆動する仮想的な第1機構と、仮想的なスレーブ装置が駆動する仮想的な第2機構との間で、力触覚を伝達する制御(バイラテラル制御)を行う。また、制御装置30は、この仮想的な装置間で力触覚を伝達する制御において力触覚を伝達するために用いたパラメータの時系列データを取得する。これにより、実際に物体への接触を伴う把持等の作業を実行することなく、コンピュータによるシミュレーションにより時系列データを取得することができる。
 また、シミュレーション以外の手法により、時系列データを取得するようにしてもよい。例えば、ユーザの操作指示に基づいて作成された、時系列データを取得するようにしてもよい。また、他にも所定の条件に基づいて時系列データを自動作成する作成ツールで作成された、時系列データを取得するようにしてもよい。
 そして、このシミュレーションにより取得された時系列データや、ユーザの操作指示により取得された時系列データや、作成ツールにより取得された時系列データを、上述した実施形態のようにして編集する対象とすることにより、力触覚に関するデータを、より一層、活用することができる。
In this case, the control device 30 performs control to transmit haptic sensations between the virtual first mechanism driven by the virtual master device and the virtual second mechanism driven by the virtual slave device. (bilateral control). In addition, the control device 30 acquires time-series data of parameters used for transmitting haptic sensations in the control of transmitting haptic sensations between virtual devices. As a result, time-series data can be acquired by computer simulation without actually performing work such as gripping that involves contact with an object.
Also, the time-series data may be obtained by a technique other than simulation. For example, time-series data created based on a user's operation instruction may be obtained. Alternatively, time-series data created by a creation tool that automatically creates time-series data based on predetermined conditions may be acquired.
Then, the time-series data acquired by this simulation, the time-series data acquired by the user's operation instruction, and the time-series data acquired by the creation tool are to be edited as in the above-described embodiment. As a result, it is possible to further utilize the haptic data.
 また、このように、コンピュータによるシミュレーションを行う場合に、データ加工装置40は、時系列データに基づいた仮想的なマスタ装置や仮想的なスレーブ装置の動作を、プレビュー表示するようにしてもよい。この場合、時系列データは、シミュレーションにより取得された時系列データや、ユーザの操作指示により取得された時系列データや、作成ツールにより取得された時系列データや、時系列データ取得処理により取得された時系列データ等の何れであってもよい。また、これらの時系列データを編集して作成された再現データであってもよい。プレビュー表示は、例えば、仮想的なマスタ装置や仮想的なスレーブ装置の動作を、模式化したコンピュータグラフィックにて表現し、これを表示することにより実現できる。なお、この場合に、仮想的な第1機構や、仮想的な第2機構や、接触対象の仮想的な物体等についても、模式化したコンピュータグラフィックにて表現し、これをプレビュー表示に含ませるようにしてもよい。
 このようなプレビュー表示を行うことにより、ユーザは、実際に第1駆動装置10や第2駆動装置20を実際に動作させることなく、作成した時系列データや編集を伴って作成した再現データが適切に動作するかについて、容易に確認を行うことができる。
Further, when performing computer simulation in this way, the data processing device 40 may display a preview of the operation of a virtual master device or a virtual slave device based on time-series data. In this case, the time-series data is time-series data acquired by simulation, time-series data acquired by user's operation instruction, time-series data acquired by the creation tool, or time-series data acquired by time-series data acquisition processing. Any time series data or the like may be used. Further, it may be reproduction data created by editing these time-series data. The preview display can be realized, for example, by representing the operations of a virtual master device or a virtual slave device in schematic computer graphics and displaying them. In this case, the virtual first mechanism, the virtual second mechanism, the virtual object to be touched, etc. are also represented by schematic computer graphics and included in the preview display. You may do so.
By performing such a preview display, the user can reproduce the created time-series data or the reproduced data created with editing appropriately without actually operating the first driving device 10 or the second driving device 20. You can easily check if it works.
 以上のように、本実施形態に係るデータ加工システムSは、時系列データ取得部411と、加工部413と、補間部414と、を備える。
 時系列データ取得部411は、装置間で力触覚を伝達するために用いられるパラメータの時系列データを取得する。
 加工部413は、時系列データ取得部411が取得した時系列データを加工する。
 補間部414は、加工部413による加工後の時系列データに含まれるパラメータの値に基づいて補間データを生成し、該補間データによって加工後の時系列データを補間する。
 このように、データ加工システムSは、力触覚を伝達するために用いられるパラメータの時系列データを加工すると共に、加工後の時系列データのパラメータの値に即した補間データを生成し、この補間データによって加工後の時系列データを適切に補間する。これにより、力触覚に関するデータを、従来のように検出した力触覚そのものをリアルタイムに伝達する用途のみならず、他の用途にも適切に利用することができる。
 従って、データ加工システムSによれば、力触覚に関するデータを、より活用する、という課題を解決することが可能となる。
As described above, the data processing system S according to this embodiment includes the time-series data acquisition unit 411, the processing unit 413, and the interpolation unit 414.
The time-series data acquisition unit 411 acquires time-series data of parameters used for transmitting haptic sensations between devices.
The processing unit 413 processes the time-series data acquired by the time-series data acquisition unit 411 .
The interpolation unit 414 generates interpolation data based on the values of parameters included in the time-series data processed by the processing unit 413, and interpolates the processed time-series data using the interpolation data.
In this way, the data processing system S processes the time-series data of the parameters used to transmit the haptic sensation, generates interpolation data in accordance with the values of the parameters of the processed time-series data, and processes the interpolation data. Appropriately interpolate time-series data after processing by data. As a result, the haptic data can be appropriately used not only for real-time transmission of the detected haptic itself, but also for other purposes.
Therefore, according to the data processing system S, it is possible to solve the problem of making more use of the haptic data.
 加工部413は、加工後の時系列データに、時系列の順に、加工対象とした第1時系列データと、補間対象となる時間範囲を有する区間と、加工対象とした第2時系列データと、を隣接して含ませる加工を行い、
 補間部414は、加工後の時系列データに含まれる、補間対象となる時間範囲を有する区間を補間データで補間する。
 これにより、加工対象としたデータ間を適切に補間することができる。したがって、加工を行った場合であっても、力触覚に関する各種パラメータの相互関係性や前後の連続性を保持することが可能となる。
The processing unit 413 puts the processed time-series data in chronological order into the first time-series data to be processed, the section having the time range to be interpolated, and the second time-series data to be processed. , are processed to be included next to each other,
The interpolation unit 414 interpolates a section having a time range to be interpolated, which is included in the processed time-series data, with interpolation data.
As a result, it is possible to appropriately interpolate between data to be processed. Therefore, even when processing is performed, it is possible to maintain the interrelationship of various parameters related to the haptic sensation and the continuity between the front and back.
 データ加工システムSは、提示部412をさらに備える。
 提示部412は、時系列データをユーザに対して提示する。
 加工部413は、時系列データを参照したユーザからの時間範囲の指定に基づいて、第1時系列データ及び第2時系列データの少なくとも何れかを決定する。
 これにより、ユーザは時間範囲の指定をするのみで、加工対象とする時系列データを選択することができる。すなわち、データ加工システムSによれば、直感的で簡便なユーザインタフェースをユーザに対して提供することができる。
The data processing system S further includes a presentation unit 412 .
The presentation unit 412 presents the time-series data to the user.
The processing unit 413 determines at least one of the first time-series data and the second time-series data based on the specification of the time range by the user who referred to the time-series data.
As a result, the user can select time-series data to be processed simply by designating a time range. That is, according to the data processing system S, an intuitive and simple user interface can be provided to the user.
 データ加工システムSは、提示部412をさらに備える。
 提示部412は、時系列データをユーザに対して提示する。
 加工部413は、時系列データを参照したユーザからの時点の指定を伴うパラメータの値の変更の指定に基づいて、補間対象となる時間範囲を有する区間を決定する。
 これにより、時点の指定を伴うパラメータの値の変更の指定をするのみで、補間対象となる時間範囲を有する区間を選択することができる。すなわち、データ加工システムSによれば、直感的で簡便なユーザインタフェースをユーザに対して提供することができる。
The data processing system S further includes a presentation unit 412 .
The presentation unit 412 presents the time-series data to the user.
The processing unit 413 determines a section having a time range to be interpolated based on a user's specification of a change in the value of a parameter that accompanies specification of a time point by a user who refers to the time-series data.
As a result, it is possible to select a section having a time range to be interpolated simply by designating a parameter value change that accompanies designation of a point in time. That is, according to the data processing system S, an intuitive and simple user interface can be provided to the user.
 データ加工システムSは、近似式生成部415をさらに備える。
 近似式生成部415は、時系列データに基づいて、該時系列データの近似式を生成する。
 加工部413は、近似式に基づいて、近似式の生成元となった時系列データのパラメータの値を拡大または縮小する加工、並びに、前記時系列データの前記パラメータの値をオフセットする加工、の何れかまたは双方の加工を行う。
 これにより、時系列データを定式化して表現し、時系列データのデータ量を削減することができる。また、時系列データを定式化して表現し、パラメータの値を拡大または縮小したデータやオフセットしたデータを、連続したデータとして生成でき、時系列データの分解能を低下させることなくパラメータの値を変更することができる。
The data processing system S further includes an approximate expression generator 415 .
The approximation formula generation unit 415 generates an approximation formula for the time series data based on the time series data.
Based on the approximation formula, the processing unit 413 performs processing to expand or reduce the parameter values of the time-series data from which the approximation formula was generated, and processing to offset the parameter values of the time-series data. Either or both processes are performed.
This makes it possible to formulate and express the time-series data and reduce the data amount of the time-series data. In addition, time-series data can be formulated and expressed, and data with expanded or reduced parameter values or offset data can be generated as continuous data, and parameter values can be changed without lowering the resolution of time-series data. be able to.
 データ加工システムSは、近似式生成部415をさらに備える。
 近似式生成部415は、時系列データに基づいて、該時系列データの近似式を生成する。
 加工部413は、近似式に基づいて、近似式の生成元となった時系列データの時間範囲を拡大または縮小する加工、並びに、前記時系列データの時間範囲をオフセットする加工、の何れかまたは双方の加工を行う。
 これにより、時系列データを定式化して表現し、時系列データのデータ量を削減することができる。また、時系列データを定式化して表現し、時間範囲を拡大または縮小したデータやオフセットしたデータを、連続したデータとして生成でき、時系列データの分解能を低下させることなく時間範囲を変更することができる。
The data processing system S further includes an approximate expression generator 415 .
The approximation formula generation unit 415 generates an approximation formula for the time series data based on the time series data.
Based on the approximation formula, the processing unit 413 either expands or contracts the time range of the time series data from which the approximation formula is generated, or offsets the time range of the time series data, or Both sides are processed.
This makes it possible to formulate and express the time-series data and reduce the data amount of the time-series data. In addition, time-series data can be formulated and expressed, and data with an expanded or reduced time range or offset data can be generated as continuous data, and the time range can be changed without reducing the resolution of the time-series data. can.
 データ加工システムSは、正規化管理部416をさらに備える。
 正規化管理部416は、時系列データに基づいて、該時系列データを正規化または非正規化する。
 正規化管理部416は、正規化前または非正規化後の時系列データに対応する装置の属性に応じて、正規化または非正規化を実行する。
 これにより、何れかの制御装置30が制御をした際の時系列データを取得して正規化するのみで、正規化された汎用の時系列データを生成することができる。また、この汎用の時系列データを再現データとして実行させる際には、再現データを実行する装置の属性に応じて非正規化を行い、その装置固有の再現データを生成し、対応する動作を再現させることができる。すなわち、データ加工システムSによれば、正規化した汎用の時系列データから、多様な装置それぞれに対応した時系列データを容易に生成することができることから、多様な装置それぞれに応じた時系列データを予め用意する人的労力を省くことができる。また、時系列データの管理を容易にすることができる。
The data processing system S further includes a normalization manager 416 .
The normalization management unit 416 normalizes or denormalizes the time series data based on the time series data.
The normalization management unit 416 performs normalization or denormalization according to the attribute of the device corresponding to the time-series data before normalization or after denormalization.
As a result, normalized general-purpose time-series data can be generated simply by acquiring and normalizing the time-series data when any of the control devices 30 performs control. In addition, when executing this general-purpose time-series data as reproduction data, denormalization is performed according to the attributes of the device that executes the reproduction data, reproduction data unique to the device is generated, and the corresponding operation is reproduced. can be made That is, according to the data processing system S, time-series data corresponding to each of various devices can be easily generated from normalized general-purpose time-series data. It is possible to omit the human effort to prepare in advance. In addition, time-series data can be managed easily.
 アクチュエータ12と、位置センサ13と、アクチュエータ22と、位置センサ23と、力触覚制御部311と、が存在する場合に、
 アクチュエータ12は、所定の行為の実行に伴い第1移動対象を移動させる。
 位置センサ13は、アクチュエータ12によって移動される第1移動対象の位置に関する第1位置情報を取得する。
 アクチュエータ22は、所定の行為の実行に伴い第2移動対象を移動させる。
 位置センサ23は、アクチュエータ22によって移動される第2移動対象の位置に関する第2位置情報を取得する。
 力触覚制御部311は、第1位置情報と、アクチュエータ12の動作の基準となる第2位置情報とに基づいて、第2位置情報が表す動作に対応する位置及び力を出力するようにアクチュエータ12を制御する一方で、第2位置情報と、アクチュエータ22の動作の基準となる第1位置情報とに基づいて、第1位置情報が表す動作に対応する位置及び力を出力するようにアクチュエータ22を制御する。
 時系列データ取得部411は、力触覚制御部311がアクチュエータ12及びアクチュエータ22の制御に用いたパラメータの少なくとも一部を、時系列データとして取得する。
 これにより、位置センサで位置を検出する簡易な構成で、位置(角度)の制御エネルギーと力の制御エネルギーとを独立に与えること、すなわち、位置(角度)と力とを独立に制御することができる。
When the actuator 12, the position sensor 13, the actuator 22, the position sensor 23, and the haptic control unit 311 exist,
The actuator 12 moves the first moving object along with execution of a predetermined action.
The position sensor 13 acquires first position information regarding the position of the first moving object moved by the actuator 12 .
The actuator 22 moves the second moving object along with execution of a predetermined action.
The position sensor 23 acquires second position information regarding the position of the second object moved by the actuator 22 .
The haptic control unit 311 controls the actuator 12 so as to output the position and force corresponding to the motion represented by the second position information based on the first position information and the second position information serving as a reference for the motion of the actuator 12 . while controlling the second positional information and the first positional information that serves as a reference for the operation of the actuator 22, so as to output the position and force corresponding to the operation represented by the first positional information. Control.
The time-series data acquisition unit 411 acquires at least part of the parameters used by the haptic control unit 311 to control the actuators 12 and 22 as time-series data.
As a result, it is possible to independently apply position (angle) control energy and force control energy, that is, independently control position (angle) and force, with a simple configuration that detects position with a position sensor. can.
[ハードウェアやソフトウェアによる機能の実現]
 上述した実施形態による一連の処理を実行させる機能は、ハードウェアにより実現することもできるし、ソフトウェアにより実現することもできるし、これらの組み合わせにより実現することもできる。換言すると、上述した一連の処理を実行する機能が、データ加工システムSの何れかにおいて実現されていれば足り、この機能をどのような態様で実現するのかについては、特に限定されない。
[Realization of functions by hardware and software]
A function for executing a series of processes according to the above-described embodiment can be realized by hardware, software, or a combination thereof. In other words, it is sufficient that any one of the data processing systems S implements the function of executing the series of processes described above, and there is no particular limitation as to how the function is implemented.
 例えば、上述した一連の処理を実行する機能を、演算処理を実行するプロセッサによって実現する場合、この演算処理を実行するプロセッサは、シングルプロセッサ、マルチプロセッサ及びマルチコアプロセッサ等の各種処理装置単体によって構成されるものの他、これら各種処理装置と、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)等の処理回路とが組み合わせられたものを含む。 For example, when the function of executing the series of processes described above is realized by a processor that executes arithmetic processing, the processor that executes this arithmetic processing is composed of various single processing units such as a single processor, a multiprocessor, and a multicore processor. In addition to these, it also includes a combination of these various processing devices and a processing circuit such as ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array).
 また、例えば、上述した一連の処理を実行する機能を、ソフトウェアにより実現する場合、そのソフトウェアを構成するプログラムは、ネットワークまたは記録媒体を介してコンピュータにインストールされる。この場合、コンピュータは、専用のハードウェアが組み込まれているコンピュータであってもよいし、プログラムをインストールすることで所定の機能を実行することが可能な汎用のコンピュータ(例えば、汎用のパーソナルコンピュータ等の電子機器一般)であってもよい。また、プログラムを記述するステップは、その順序に沿って時系列的に行われる処理のみを含んでいてもよいが、並列的あるいは個別に実行される処理を含んでいてもよい。また、プログラムを記述するステップは、本発明の要旨を逸脱しない範囲内において、任意の順番に実行されてよい。 Also, for example, when the function of executing the series of processes described above is realized by software, the programs that make up the software are installed in the computer via a network or a recording medium. In this case, the computer may be a computer in which dedicated hardware is installed, or a general-purpose computer capable of executing a predetermined function by installing a program (for example, a general-purpose personal computer, etc.). general electronic equipment). Further, the steps of writing the program may include only processes performed in chronological order, but may also include processes performed in parallel or individually. Also, the steps of writing the program may be executed in any order without departing from the gist of the present invention.
 このようなプログラムを記録した記録媒体は、コンピュータ本体とは別に配布されることによりユーザに提供されてもよく、コンピュータ本体に予め組み込まれた状態でユーザに提供されてもよい。この場合、コンピュータ本体とは別に配布される記憶媒体は、例えば、リムーバブルメディア50であって、磁気ディスク(フロッピディスクを含む)、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)、あるいはBlu-ray(登録商標) Disc(ブルーレイディスク)等により構成される。光磁気ディスクは、例えば、MD(Mini Disc)等により構成される。また、コンピュータ本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている記憶部32や記憶部42であって、HDD(hard disk drive)やSSD(Solid State Drive)により構成される。 A recording medium recording such a program may be provided to the user by being distributed separately from the computer main body, or may be provided to the user in a state pre-installed in the computer main body. In this case, the storage medium distributed separately from the computer main body is, for example, the removable medium 50, which is composed of a magnetic disk (including a floppy disk), an optical disk, a magneto-optical disk, or the like. The optical disc is composed of, for example, a CD-ROM (Compact Disc-Read Only Memory), a DVD (Digital Versatile Disc), or a Blu-ray (registered trademark) Disc (Blu-ray Disc). The magneto-optical disc is composed of, for example, an MD (Mini Disc) or the like. In addition, the recording medium provided to the user in a state of being pre-installed in the computer main body is, for example, the storage unit 32 or storage unit 42 in which the program is recorded, and is a hard disk drive (HDD) or solid state SSD (SSD). Drive).
10-1,・・・,10-n 第1駆動装置、11,21 ドライバ、12,22 アクチュエータ、13,23 位置センサ、15 第1機構、20-1,・・・,20-n 第2駆動装置、25 第2機構、30-1,・・・,30-n 制御装置、31,41 プロセッサ、32,42 記憶部、33,43 ROM、34,44 RAM、35,45 通信部、46 入力部、47 出力部、48 ドライブ、40 データ加工装置、50 リムーバブルメディア、311 力触覚制御部、312,411 時系列データ取得部、313 再現データ取得部、321,421 時系列データ記憶部、322,423 再現データ記憶部、412 提示部、413 加工部、414 補間部、415 近似式生成部、416 正規化管理部、417 再現データ生成部、422 編集データ記憶部、CS 制御対象システム、FT 力・速度割当変換ブロック、FC 理想力源ブロック、PC 理想速度(位置)源ブロック、IFT 逆変換ブロック、N ネットワーク、S データ加工システム 10-1, . Drive device, 25 Second mechanism, 30-1, ..., 30-n Control device, 31, 41 Processor, 32, 42 Storage unit, 33, 43 ROM, 34, 44 RAM, 35, 45 Communication unit, 46 Input unit, 47 Output unit, 48 Drive, 40 Data processing device, 50 Removable media, 311 Haptic control unit, 312, 411 Time-series data acquisition unit, 313 Reproduction data acquisition unit, 321, 421 Time-series data storage unit, 322 , 423 reproduction data storage unit, 412 presentation unit, 413 processing unit, 414 interpolation unit, 415 approximate expression generation unit, 416 normalization management unit, 417 reproduction data generation unit, 422 edited data storage unit, CS controlled system, FT force · Velocity assignment conversion block, FC ideal force source block, PC ideal velocity (position) source block, IFT inverse conversion block, N network, S data processing system

Claims (10)

  1.  装置間で力触覚を伝達するために用いられるパラメータの時系列データを取得する取得手段と、
     前記取得手段が取得した前記時系列データを加工する加工手段と、
     前記加工手段による加工後の時系列データに含まれる前記パラメータの値に基づいて補間データを生成し、該補間データによって前記加工後の時系列データを補間する補間手段と、
     を備えることを特徴とするデータ加工装置。
    Acquisition means for acquiring time-series data of parameters used for transmitting haptic sensations between devices;
    a processing means for processing the time-series data acquired by the acquisition means;
    interpolation means for generating interpolation data based on the values of the parameters included in the time-series data processed by the processing means, and interpolating the time-series data after processing with the interpolation data;
    A data processing device comprising:
  2.  前記加工手段は、前記加工後の時系列データに、時系列の順に、加工対象とした第1時系列データと、補間対象となる時間範囲を有する区間と、加工対象とした第2時系列データと、を隣接して含ませる加工を行い、
     前記補間手段は、前記加工後の時系列データに含まれる、前記補間対象となる時間範囲を有する区間を前記補間データで補間する、
     ことを特徴とする請求項1に記載のデータ加工装置。
    The processing means processes the processed time-series data in chronological order as first time-series data to be processed, an interval having a time range to be interpolated, and second time-series data to be processed. and are processed to be included next to each other,
    The interpolating means interpolates a section having the time range to be interpolated, which is included in the processed time-series data, with the interpolated data.
    2. The data processing apparatus according to claim 1, wherein:
  3.  前記時系列データをユーザに対して提示する提示手段をさらに備え、
     前記加工手段は、前記時系列データを参照したユーザからの時間範囲の指定に基づいて、前記第1時系列データ及び前記第2時系列データの少なくとも何れかを決定する、
     ことを特徴とする請求項2に記載のデータ加工装置。
    Further comprising presentation means for presenting the time-series data to a user,
    The processing means determines at least one of the first time-series data and the second time-series data based on a time range specified by a user who refers to the time-series data.
    3. The data processing apparatus according to claim 2, wherein:
  4.  前記時系列データをユーザに対して提示する提示手段をさらに備え、
     前記加工手段は、前記時系列データを参照したユーザからの時点の指定を伴う前記パラメータの値の変更の指定に基づいて、前記補間対象となる時間範囲を有する区間を決定する、
     ことを特徴とする請求項2または3に記載のデータ加工装置。
    Further comprising presentation means for presenting the time-series data to a user,
    The processing means determines an interval having the time range to be interpolated based on a specification of a change in the value of the parameter accompanied by a specification of a time point from a user who refers to the time-series data.
    4. The data processing device according to claim 2 or 3, characterized in that:
  5.  前記時系列データに基づいて、該時系列データの近似式を生成する近似式生成手段をさらに備え、
     前記加工手段は、前記近似式に基づいて、前記近似式の生成元となった前記時系列データの前記パラメータの値を拡大または縮小する加工、並びに、前記時系列データの前記パラメータの値をオフセットする加工、の何れかまたは双方の加工を行う、
     ことを特徴とする請求項1から4の何れか1項に記載のデータ加工装置。
    Based on the time series data, further comprising approximate expression generating means for generating an approximate expression of the time series data,
    Based on the approximation formula, the processing means expands or contracts the values of the parameters of the time-series data from which the approximation formula is generated, and offsets the values of the parameters of the time-series data. processing, and processing of either or both,
    5. The data processing apparatus according to any one of claims 1 to 4, characterized in that:
  6.  前記時系列データに基づいて、該時系列データの近似式を生成する近似式生成手段をさらに備え、
     前記加工手段は、前記近似式に基づいて、前記近似式の生成元となった前記時系列データの時間範囲を拡大または縮小する加工、並びに、前記時系列データの時間範囲をオフセットする加工、の何れかまたは双方の加工を行う、
     ことを特徴とする請求項1から5の何れか1項に記載のデータ加工装置。
    Based on the time series data, further comprising approximate expression generating means for generating an approximate expression of the time series data,
    Based on the approximate expression, the processing means expands or contracts the time range of the time-series data from which the approximate expression was generated, and offsets the time range of the time-series data. perform either or both processing,
    6. The data processing apparatus according to any one of claims 1 to 5, characterized in that:
  7.  前記時系列データに基づいて、該時系列データを正規化または非正規化する正規化管理手段をさらに備え、
     前記正規化管理手段は、前記正規化前または前記非正規化後の時系列データに対応する装置の属性に応じて、前記正規化または前記非正規化を実行する、
     ことを特徴とする請求項1から6の何れか1項に記載のデータ加工装置。
    Further comprising normalization management means for normalizing or denormalizing the time series data based on the time series data,
    The normalization management means performs the normalization or the denormalization according to the attribute of the device corresponding to the time-series data before the normalization or after the denormalization.
    7. The data processing apparatus according to any one of claims 1 to 6, characterized in that:
  8.  所定の行為の実行に伴い第1移動対象を移動させる第1駆動手段と、
     前記第1駆動手段によって移動される前記第1移動対象の位置に関する第1位置情報を取得する第1位置情報取得手段と、
     前記所定の行為の実行に伴い第2移動対象を移動させる第2駆動手段と、
     前記第2駆動手段によって移動される前記第2移動対象の位置に関する第2位置情報を取得する第2位置情報取得手段と、
     前記第1位置情報と、前記第1駆動手段の動作の基準となる前記第2位置情報とに基づいて、前記第2位置情報が表す動作に対応する位置及び力を出力するように前記第1駆動手段を制御する一方で、前記第2位置情報と、前記第2駆動手段の動作の基準となる前記第1位置情報とに基づいて、前記第1位置情報が表す動作に対応する位置及び力を出力するように前記第2駆動手段を制御する制御手段と、
     が存在する場合に、
     前記取得手段は、前記制御手段が前記第1駆動手段及び前記第2駆動手段の制御に用いたパラメータの少なくとも一部を、前記時系列データとして取得する、
     ことを特徴とする請求項1から7の何れか1項に記載のデータ加工装置。
    a first driving means for moving the first moving object with execution of a predetermined action;
    a first positional information obtaining means for obtaining first positional information relating to the position of the first moving object moved by the first driving means;
    a second driving means for moving a second moving object with execution of the predetermined action;
    a second positional information obtaining means for obtaining second positional information relating to the position of the second movement object moved by the second driving means;
    Based on the first position information and the second position information that serves as a reference for the operation of the first driving means, the first driving means outputs a position and force corresponding to the operation represented by the second position information. While controlling the driving means, on the basis of the second position information and the first position information as a reference for the operation of the second driving means, position and force corresponding to the motion indicated by the first position information. a control means for controlling the second driving means to output
    exists,
    The acquiring means acquires at least part of the parameters used by the control means to control the first driving means and the second driving means as the time-series data.
    8. The data processing device according to any one of claims 1 to 7, characterized in that:
  9.  装置間で力触覚を伝達するために用いられるパラメータの時系列データを取得する取得ステップと、
     前記取得ステップにて取得した前記時系列データを加工する加工ステップと、
     前記加工ステップでの加工後の時系列データに含まれる前記パラメータの値に基づいて補間データを生成し、該補間データによって前記加工後の時系列データを補間する補間ステップと、
     を含むことを特徴とするデータ加工方法。
    an acquisition step of acquiring time-series data of parameters used to transmit haptic sensations between devices;
    a processing step of processing the time-series data acquired in the acquisition step;
    an interpolation step of generating interpolation data based on the values of the parameters included in the time-series data after processing in the processing step, and interpolating the time-series data after processing with the interpolation data;
    A data processing method comprising:
  10.  装置間で力触覚を伝達するために用いられるパラメータの時系列データを取得する取得機能と、
     前記取得機能が取得した前記時系列データを加工する加工機能と、
     前記加工機能による加工後の時系列データに含まれる前記パラメータの値に基づいて補間データを生成し、該補間データによって前記加工後の時系列データを補間する補間機能と、
     をコンピュータに実現させることを特徴とするプログラム。
    an acquisition function for acquiring time-series data of parameters used to transmit haptic sensations between devices;
    a processing function for processing the time-series data acquired by the acquisition function;
    an interpolation function that generates interpolation data based on the values of the parameters included in the time-series data processed by the processing function, and interpolates the processed time-series data with the interpolation data;
    A program characterized by realizing on a computer.
PCT/JP2022/008099 2021-03-17 2022-02-26 Data processing device, data processing method, and program WO2022196308A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023506924A JPWO2022196308A1 (en) 2021-03-17 2022-02-26

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-044155 2021-03-17
JP2021044155 2021-03-17

Publications (1)

Publication Number Publication Date
WO2022196308A1 true WO2022196308A1 (en) 2022-09-22

Family

ID=83321252

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/008099 WO2022196308A1 (en) 2021-03-17 2022-02-26 Data processing device, data processing method, and program

Country Status (2)

Country Link
JP (1) JPWO2022196308A1 (en)
WO (1) WO2022196308A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0946177A (en) * 1995-07-31 1997-02-14 Nec Corp Attenuator
JP6382203B2 (en) * 2013-09-19 2018-08-29 学校法人慶應義塾 Position / force control device, position / force control method and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0946177A (en) * 1995-07-31 1997-02-14 Nec Corp Attenuator
JP6382203B2 (en) * 2013-09-19 2018-08-29 学校法人慶應義塾 Position / force control device, position / force control method and program

Also Published As

Publication number Publication date
JPWO2022196308A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
US20110128292A1 (en) Dynamics-based motion generation apparatus and method
JPH076232A (en) System and method for execution of hybrid forward diffrence process so as to describe bezier spline
US20220072701A1 (en) Motion control method, device and system, and storage medium
WO2022196308A1 (en) Data processing device, data processing method, and program
US6798416B2 (en) Generating animation data using multiple interpolation procedures
JP3735187B2 (en) Data conversion apparatus and method for encoding and editing time-series data
US11914343B2 (en) Command generation device and command generation method to control motor
Awan et al. Model-Mediated Teleoperation for Remote Haptic Texture Sharing: Initial Study of Online Texture Modeling and Rendering
Singh et al. Enhancing the command-following bandwidth for transparent bilateral teleoperation
US20240208050A1 (en) Function management system, function management method, and storage medium
WO2021025087A1 (en) Position/force controller, and position/force control method and program
CN111331577A (en) Robot control device and control method
JP3727768B2 (en) Computer image display method and display device
JP6933758B1 (en) Information processing program, information processing device and information processing method
JP6908907B1 (en) Information processing equipment, information processing methods, and programs
US20230141048A1 (en) Learning assistance system, learning assistance method, and learning assistance storage medium
WO2020162619A1 (en) Position/force control device, position/force control method, and program
JP2002175541A (en) Method and device for generating animation
JP2020107127A (en) Synchronization control device, synchronization control system, synchronization control method, and simulation device
JPS6068474A (en) Picture converting method
JP2014174574A (en) Speed command data generation device
WO2022162960A1 (en) Program generation device, program generation program, and program generation method
JPH0744726A (en) System for visualizing human body movement
JP2900986B2 (en) B-spline curve layering device
Yeung et al. Data point reduction for NC tool path generation on over-determined data set

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: 22771063

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023506924

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22771063

Country of ref document: EP

Kind code of ref document: A1