WO2022196308A1 - Dispositif de traitement de données, procédé de traitement de données et programme - Google Patents
Dispositif de traitement de données, procédé de traitement de données et programme Download PDFInfo
- 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
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J3/00—Manipulators of leader-follower 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
Selon la présente invention, des données relatives à la force et à la sensation tactile sont mieux utilisées. Un système de traitement de données (S) comprend une unité d'acquisition de données chronologiques (411), une unité de traitement (413) et une unité d'interpolation (414). L'unité d'acquisition de données chronologiques (411) acquiert des données chronologiques de paramètres utilisés pour transmettre une force et une sensation tactile entre des dispositifs. L'unité de traitement (413) traite les données chronologiques acquises par l'unité d'acquisition de données chronologiques (411). L'unité d'interpolation (414) génère des données d'interpolation sur la base de la valeur du paramètre compris dans les données chronologiques traitées par l'unité de traitement (413), et interpole les données chronologiques traitées à l'aide des données d'interpolation.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023506924A JPWO2022196308A1 (fr) | 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 (fr) | 2022-09-22 |
Family
ID=83321252
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2022/008099 Ceased WO2022196308A1 (fr) | 2021-03-17 | 2022-02-26 | Dispositif de traitement de données, procédé de traitement de données et programme |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JPWO2022196308A1 (fr) |
| WO (1) | WO2022196308A1 (fr) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0946177A (ja) * | 1995-07-31 | 1997-02-14 | Nec Corp | 波形処理装置 |
| JP6382203B2 (ja) * | 2013-09-19 | 2018-08-29 | 学校法人慶應義塾 | 位置・力制御装置、位置・力制御方法及びプログラム |
-
2022
- 2022-02-26 JP JP2023506924A patent/JPWO2022196308A1/ja active Pending
- 2022-02-26 WO PCT/JP2022/008099 patent/WO2022196308A1/fr not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0946177A (ja) * | 1995-07-31 | 1997-02-14 | Nec Corp | 波形処理装置 |
| JP6382203B2 (ja) * | 2013-09-19 | 2018-08-29 | 学校法人慶應義塾 | 位置・力制御装置、位置・力制御方法及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2022196308A1 (fr) | 2022-09-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3051446B1 (fr) | Gravure d'une image 2d sur une surface à subdivision | |
| CN110561421B (zh) | 机械臂间接拖动示教方法及装置 | |
| JPH076232A (ja) | ベツィエスプラインを描写するようにハイブリッドフォワード相違プロセスを行うシステム及び方法 | |
| US20220072701A1 (en) | Motion control method, device and system, and storage medium | |
| WO2022196308A1 (fr) | Dispositif de traitement de données, procédé de traitement de données et programme | |
| US6798416B2 (en) | Generating animation data using multiple interpolation procedures | |
| JP3735187B2 (ja) | 時系列データの符号化と編集を行うデータ変換装置および方法 | |
| JP7772591B2 (ja) | 位置・力制御装置、位置・力制御方法及びプログラム | |
| Awan et al. | Model-mediated teleoperation for remote haptic texture sharing: Initial study of online texture modeling and rendering | |
| JP2020107127A (ja) | 同期制御装置、同期制御システム、同期制御方法及びシミュレーション装置 | |
| WO2021172580A1 (fr) | Système de commande de position/force, unité portée, unité de commande, procédé de commande de position/force, et programme | |
| WO2020162619A1 (fr) | Dispositif de commande de position/force, procédé de commande de position/force, et programme | |
| JP6960112B1 (ja) | 指令生成装置、指令生成方法 | |
| CN113034650B (zh) | 一种制作骨骼动画的模式切换方法、系统、装置及存储介质 | |
| JP6933758B1 (ja) | 情報処理プログラム、情報処理装置及び情報処理方法 | |
| WO2022270319A1 (fr) | Système de gestion de données de mouvement, procédé de gestion de données de mouvement et programme | |
| WO2022153578A1 (fr) | Dispositif de traitement d'informations, procédé de traitement d'informations et programme | |
| JP2770711B2 (ja) | 人体動作視覚化システム | |
| JPS6068474A (ja) | 画像変換方法 | |
| JP4012557B2 (ja) | 時系列データ圧縮方法、時系列データ圧縮プログラムを記録した記録媒体、および時系列データ圧縮装置 | |
| JP2014174574A (ja) | 速度指令データ生成装置 | |
| WO2022230594A1 (fr) | Système de gestion de fonction, procédé de gestion de fonction et programme | |
| JP2000235655A5 (fr) | ||
| Yeung et al. | Data point reduction for NC tool path generation on over-determined data set | |
| JP2600606B2 (ja) | データ処理装置 |
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 |