WO2020089970A1 - センサ装置、情報処理装置、設定付き測定データの出力方法、情報処理方法、プログラム及び設定付き測定データのデータ構造 - Google Patents
センサ装置、情報処理装置、設定付き測定データの出力方法、情報処理方法、プログラム及び設定付き測定データのデータ構造 Download PDFInfo
- Publication number
- WO2020089970A1 WO2020089970A1 PCT/JP2018/040122 JP2018040122W WO2020089970A1 WO 2020089970 A1 WO2020089970 A1 WO 2020089970A1 JP 2018040122 W JP2018040122 W JP 2018040122W WO 2020089970 A1 WO2020089970 A1 WO 2020089970A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- measurement data
- setting
- coordinate system
- acceleration
- velocity
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P1/00—Details of instruments
- G01P1/12—Recording devices
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C9/00—Measuring inclination, e.g. by clinometers, by levels
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D21/00—Measuring or testing not otherwise provided for
- G01D21/02—Measuring two or more variables by means not covered by a single other subclass
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P3/00—Measuring linear or angular speed; Measuring differences of linear or angular speeds
- G01P3/42—Devices characterised by the use of electric or magnetic means
- G01P3/44—Devices characterised by the use of electric or magnetic means for measuring angular speed
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P3/00—Measuring linear or angular speed; Measuring differences of linear or angular speeds
- G01P3/42—Devices characterised by the use of electric or magnetic means
- G01P3/50—Devices characterised by the use of electric or magnetic means for measuring linear speed
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P21/00—Testing or calibrating of apparatus or devices covered by the preceding groups
Definitions
- the present invention relates to a sensor device, an information processing device, an output method of measurement data with settings, an information processing method, a program, and a data structure of measurement data with settings.
- IoT Internet of Things
- the overall arrangement of these plurality of sensors can be specified, and the relative positions and relative postures between the sensors can be determined. It is conceivable to perform calculations such as specifying
- the specifications of such measurement data are not unified. Therefore, whether the coordinate system is a left-handed system or a right-handed system, the direction of the coordinate system in the forward direction, the unit of length, etc., the setting of the coordinate system that represents the position and orientation indicated by the measurement data is different. .. Moreover, the setting of such a coordinate system is not shown in the measurement data.
- the present invention has been made in view of the above problems, and one of its objects is to measure at least one of a position, a posture, a velocity, an acceleration, an angular velocity, and an angular acceleration measured by a sensor. It is an object to provide a sensor device, an information processing device, an output method of measurement data with settings, an information processing method, a program, and a data structure of measurement data with settings, which allows a user to easily understand the setting of a coordinate system of data.
- the sensor device is a measurement data that acquires measurement data indicating at least one of a position, a posture, a velocity, an acceleration, an angular velocity, and an angular acceleration measured by the sensor.
- An acquisition unit coordinate system setting data indicating the setting of the coordinate system used for the expression of at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration indicated by the measurement data; and the measurement data.
- a generation unit that generates measurement data with settings that includes and an output unit that outputs the measurement data with settings.
- the coordinate system setting data includes data indicating whether the coordinate system is a left-handed system or a right-handed system, data indicating a positive direction, and data indicating a unit of length. , At least one of
- the data indicating the forward direction includes the data indicating which axis direction the front direction corresponds, the data indicating which axis direction the upward direction corresponds to, and Data indicating which axis corresponds to the right direction, data indicating which direction the gravity direction corresponds to, or data indicating which direction corresponds to which axis direction. May be.
- the information processing apparatus further includes a measurement data acquisition unit that acquires measurement data indicating at least one of a position, a posture, a velocity, an acceleration, an angular velocity, and an angular acceleration measured by a sensor, Coordinate system setting data indicating the setting of the first coordinate system used for the expression of at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration indicated by the measurement data; A generation unit that generates measurement data with settings including an output unit that outputs the measurement data with settings, and a measurement data acquisition unit with settings that acquires the measurement data with settings output from a sensor device; Based on the setting of the first coordinate system indicated by the coordinate system setting data included in the measurement data with setting and the setting of the given second coordinate system, the measurement data with setting is set.
- the measurement data indicates a position included in the data, including position, velocity, acceleration, angular velocity, and a coordinate conversion unit that converts at least one representation of the angular acceleration represented by the second coordinate system, the.
- the coordinate conversion unit performs a process of replacing the axis and a process of reversing the positive and negative of the axis a plurality of times, thereby indicating the position and orientation indicated by the measurement data included in the measurement data with the setting.
- At least one of velocity, acceleration, angular velocity, and angular acceleration is converted into an expression in the second coordinate system.
- another information processing apparatus acquires first measurement data indicating at least one of the position, orientation, speed, acceleration, angular velocity, and angular acceleration measured by the first sensor. And a first coordinate system used for expressing at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration indicated by the first measurement data.
- a first generation unit that generates measurement data with first settings including first coordinate system setting data indicating settings and the first measurement data, and outputs the measurement data with first settings
- a first output unit a first setting measurement data acquisition unit that acquires the first setting measurement data output from the first sensor device, and a position measured by the second sensor; Posture, velocity, acceleration, angular velocity And a second measurement data acquisition unit that acquires second measurement data indicating at least one of angular acceleration, and a position, orientation, velocity, acceleration, angular velocity, and angle indicated by the second measurement data.
- a second output unit configured to output the second measured data with setting and a second output unit configured to acquire the second measured data with setting output from a second sensor device.
- the second coordinate system setting data Of the position, posture, velocity, acceleration, angular velocity, and angular acceleration indicated by the first measurement data included in the measurement data with the first setting, based on the setting of the second coordinate system shown
- a coordinate conversion unit for converting at least one expression of the expression into an expression according to the second coordinate system.
- the coordinate conversion unit performs the axis replacement processing and the axis positive / negative inversion processing a plurality of times to thereby perform the first measurement included in the first measurement data with setting. At least one expression of the position, posture, speed, acceleration, angular velocity, and angular acceleration indicated by the data is converted into an expression in the second coordinate system.
- a method of outputting measurement data with settings includes a step of acquiring measurement data indicating at least one of a position, a posture, a velocity, an acceleration, an angular velocity, and an angular acceleration measured by a sensor, Coordinate system setting data indicating setting of a coordinate system used for expression of at least one of position, orientation, velocity, acceleration, angular velocity, and angular acceleration indicated by the measurement data, and the measurement data.
- the method includes the steps of generating measurement data with settings and outputting the measurement data with settings.
- the information processing method includes a measurement data acquisition unit that acquires measurement data indicating at least one of a position, an attitude, a velocity, an acceleration, an angular velocity, and an angular acceleration measured by a sensor, Coordinate system setting data indicating the setting of the first coordinate system used for the expression of at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration indicated by the measurement data; And a step of acquiring the setting measurement data output from the sensor device including a generation unit that generates the setting measurement data including the setting unit, and an output unit that outputs the setting measurement data, Before being included in the measurement data with setting, based on the setting of the first coordinate system indicated by the included coordinate system setting data and the setting of the given second coordinate system. Position indicated by the measurement data, including position, velocity, acceleration, angular velocity, and a step of converting the at least one representation of the angular acceleration represented by the second coordinate system, the.
- Another information processing method obtains first measurement data indicating at least one of a position, a posture, a velocity, an acceleration, an angular velocity, and an angular acceleration measured by the first sensor. And a first coordinate system used for expressing at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration indicated by the first measurement data.
- a first generation unit that generates measurement data with first settings including first coordinate system setting data indicating settings and the first measurement data, and outputs the measurement data with first settings
- a second measurement data acquisition unit that acquires at least one second measurement data, and at least one of a position, orientation, speed, acceleration, angular velocity, and angular acceleration indicated by the second measurement data.
- a second generation unit that generates measurement data with a second setting, which includes second coordinate system setting data indicating the setting of the second coordinate system used for expression, and the second measurement data.
- a second output unit that outputs the second measurement data with the setting, and a step of acquiring the measurement data with the second setting output from a second sensor device;
- At least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration indicated by the first measurement data included in the first measurement data with setting is converted into the second coordinate system. And a converting step.
- the program according to the present invention is a procedure for acquiring measurement data indicating at least one of a position, orientation, velocity, acceleration, angular velocity, and angular acceleration measured by a sensor, a position indicated by the measurement data, Generating measurement data with settings including coordinate system setting data indicating settings of a coordinate system used for expression of at least one of posture, velocity, acceleration, angular velocity, and angular acceleration, and the measurement data.
- the computer is caused to execute the procedure and the procedure of outputting the measurement data with the setting.
- Another program is a measurement data acquisition unit that acquires measurement data indicating at least one of a position, a posture, a velocity, an acceleration, an angular velocity, and an angular acceleration measured by a sensor, Coordinate system setting data indicating the setting of the first coordinate system used for the expression of at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration indicated by the measurement data;
- a procedure for acquiring the measurement data with settings output from the sensor device including a generation unit that generates measurement data with settings including; and an output unit that outputs the measurement data with settings, included in the measurement data with settings Based on the setting of the first coordinate system indicated by the coordinate system setting data and the setting of the given second coordinate system.
- Data indicates the position, orientation, velocity, acceleration, angular velocity, and to execute the at least one representation of the angular acceleration procedures into a representation by the second coordinate system, to the computer.
- Still another program obtains first measurement data indicating at least one of a position, a posture, a velocity, an acceleration, an angular velocity, and an angular acceleration measured by the first sensor.
- a first generation unit that generates first measurement data with setting including first coordinate system setting data indicating the first measurement data, and a first generation unit that outputs the first measurement data with setting.
- a procedure for acquiring the measurement data with the first setting output from the first sensor device including the first output unit, the position, the posture, the velocity, the acceleration, the angular velocity measured by the second sensor, and Of the angular acceleration
- a second measurement data acquisition unit that acquires at least one second measurement data, and at least one of the position, orientation, speed, acceleration, angular velocity, and angular acceleration indicated by the second measurement data.
- a second generation unit that generates measurement data with a second setting, which includes second coordinate system setting data indicating a setting of a second coordinate system used for one expression and the second measurement data.
- a second output unit that outputs the second set measurement data, and a procedure for obtaining the second set measurement data output from a second sensor device, the first setting The setting of the first coordinate system indicated by the first coordinate system setting data included in the measurement data and the second coordinate system setting data indicated by the second coordinate system setting data included in the second measurement data with setting.
- a procedure for converting at least one expression of the position, orientation, speed, acceleration, angular velocity, and angular acceleration indicated by the first measurement data included in the measurement data with setting into the expression by the second coordinate system causess the computer to execute.
- the data structure of the measurement data with settings according to the present invention includes measurement data indicating at least one of a position, a posture, a velocity, an acceleration, an angular velocity, and an angular acceleration measured by a sensor, and the measurement data.
- the coordinate system setting data indicating the setting of the coordinate system used for the expression of at least one of the position, posture, velocity, acceleration, angular velocity, and angular acceleration shown.
- FIG. 1 is a diagram showing an example of a computer network 14 according to an embodiment of the present invention.
- FIG. 2 is a configuration diagram showing an example of the sensor device 10 according to the embodiment of the present invention.
- a plurality of sensor devices 10 including a sensor device 10a and a sensor device 10b and a measurement data collecting device 12 are connected to a computer network 14 such as the Internet according to the present embodiment. Therefore, the sensor device 10 and the measurement data collection device 12 can communicate with each other via the computer network 14.
- the sensor device 10 is, for example, a device for tracking at least one of the position, orientation, speed, acceleration, angular velocity, and angular acceleration of the sensor device 10.
- the sensor device 10 includes a processor 20, a storage unit 22, a communication unit 24, and a sensor unit 26.
- the processor 20 is, for example, a program control device such as a CPU that operates according to a program installed in the sensor device 10.
- the storage unit 22 is, for example, a storage element such as ROM or RAM, a hard disk drive, or the like.
- the storage unit 22 stores programs executed by the processor 20 and the like.
- the communication unit 24 is a communication interface such as a wireless LAN module.
- the sensor unit 26 is a device including one or more types of sensors such as a camera, an inertial sensor (IMU), a geomagnetic sensor (direction sensor), an acceleration sensor, a motion sensor, and a GPS (Global Positioning System) module. Then, the sensor unit 26 generates measurement data indicating at least one of the position, posture, speed, acceleration, angular velocity, and angular acceleration of the sensor unit 26.
- IMU inertial sensor
- geomagnetic sensor direction sensor
- acceleration sensor acceleration sensor
- motion sensor a motion sensor
- GPS Global Positioning System
- the measurement data collection device 12 is a computer system including, for example, a personal computer in the present embodiment. As shown in FIG. 1, the measurement data collection device 12 includes, for example, a processor 12a, a storage unit 12b, and a communication unit 12c.
- the processor 12a is a program control device such as a CPU that operates according to a program installed in the measurement data collection device 12, for example.
- the storage unit 12b is, for example, a storage element such as a ROM or RAM, a hard disk drive, or the like.
- the storage unit 12b stores programs executed by the processor 12a.
- the communication unit 12c is a communication interface such as a network board or a wireless LAN module.
- FIG. 3 is a diagram showing an example of a data structure of measurement data that is generated by the sensor unit 26 according to the present embodiment and indicates the position and orientation of the sensor unit 26.
- the measurement data according to the present embodiment includes position data indicating the position of the sensor unit 26 and posture data indicating the posture of the sensor unit 26.
- a three-dimensional coordinate value in which the position of the sensor unit 26 is expressed by the coordinate system preset in the sensor unit 26 is set.
- a quaternion value or a rotation matrix value in which the orientation of the sensor unit 26 with respect to the reference direction is expressed by the coordinate system preset in the sensor unit 26 is set.
- the measurement data may include either position data or posture data.
- the measurement data includes velocity data indicating the velocity of the sensor unit 26, acceleration data indicating the acceleration of the sensor unit 26, angular velocity data indicating the angular velocity of the sensor unit 26, angular acceleration data indicating the angular acceleration of the sensor unit 26, and the like. You can leave.
- FIG. 4 is a diagram showing an example of a data structure of coordinate system setting data according to the present embodiment.
- the coordinate system setting data is, for example, data indicating the setting of the coordinate system used for expressing at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration indicated by the measurement data.
- the coordinate system setting data includes, for example, left-handed / right-handed data indicating whether the coordinate system is left-handed or right-handed.
- RIGHT_HAND or 1 is set as the value of the left-handed / right-handed data
- LEFT_HAND is set as the value of the left-handed / right-handed data.
- NO_CONVERT or 3 may be set as the value of the left-hand / right-hand system data.
- the coordinate system setting data includes, for example, unit length data indicating a unit of length in the measurement data. If the position indicated by the measurement data is expressed in millimeters, MM or 0 may be set as the value of the unit length data. When the position indicated by the measurement data is expressed in units of centimeters, CM or 1 may be set as the value of the unit length data. In addition, when the position indicated by the measurement data is expressed in units of meters, M or 2 may be set as the value of the unit length data. If the position indicated by the measurement data is expressed in units of kilometers, KM or 3 may be set as the value of the unit length data. If the position indicated by the measurement data is expressed in feet, FT or 4 may be set as the value of the unit length data. If the position indicated by the measurement data is expressed in miles, MI or 5 may be set as the value of the unit length data.
- unit length data indicating a unit of length in the measurement data.
- the coordinate system setting data includes, for example, front direction data indicating which direction the front direction corresponds to, front direction data indicating which direction the upper direction corresponds to, and front direction data. It includes rightward data indicating which axis the rightward direction corresponds to.
- X_PLUS or 1 is set as the value of the front direction data.
- X_MINUS or -1 is set as the value of the front direction data.
- Y_PLUS or 2 is set as the value of the front direction data.
- Y_MINUS or -2 is set as the value of the front direction data.
- Z_PLUS or 3 is set as the value of the front direction data.
- Z_MINUS or -3 is set as the value of the front direction data.
- X_PLUS or 1 is set as the value of the upward direction data.
- X_MINUS or -1 is set as the value of the upward direction data.
- Y_PLUS or 2 is set as the value of the upward direction data.
- Y_MINUS or -2 is set as the value of the upward direction data.
- Z_PLUS or 3 is set as the value of the upward direction data. If the upward direction is the negative Z-axis direction, Z_MINUS or -3 is set as the value of the upward direction data.
- X_PLUS or 1 is set as the value of the right direction data.
- X_MINUS or -1 is set as the value of the rightward data.
- Y_PLUS or 2 is set as the value of the right direction data.
- Y_MINUS or -2 is set as the value of the rightward data.
- Z_PLUS or 3 is set as the value of the right direction data. If the rightward direction when facing the front is the negative Z-axis direction, Z_MINUS or -3 is set as the value of the rightward data.
- Coordinate system setting indicating the setting of the coordinate system used for the expression of at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration indicated by the measurement data generated by the sensor unit 26 of the sensor device 10.
- the data is stored in the storage unit 22 of the sensor device 10 in advance, for example. Further, at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration represented by the measurement data may be variable. In this case, even if the coordinate system setting data stored in the storage unit 22 is updated according to a change in the expression of at least one of the position, posture, velocity, acceleration, angular velocity, and angular acceleration indicated by the measurement data. Good.
- the coordinate system setting data does not need to include all the left-hand / right-hand data, unit length data, front direction data, upward direction data, and right direction data.
- the coordinate system setting data may include a part of left-hand / right-hand data, unit length data, front direction data, upward direction data, and right direction data.
- the value of the right-hand data can be uniquely specified from the values of the left-hand / right-hand system data, the front direction data, and the upward data.
- the value of the upward data can be uniquely specified from the values of the left-handed / right-handed data, the frontal direction data, and the rightward data.
- the value of the front direction data can be uniquely specified from the values of the left-hand / right-hand system data, the upward data, and the right data. Further, the values of the left-handed / right-handed data can be uniquely specified from the values of the frontal direction data, the upward direction data, and the rightward data.
- the coordinate system setting data may include data indicating left-hand / right-hand system data, unit length data, front direction data, upward direction data, and coordinate system settings other than right direction data.
- FIG. 5 is a diagram showing an example of a data structure of measurement data with settings according to the present embodiment.
- the measurement data with setting is generated according to the generation of the measurement data by the sensor unit 26 of the sensor device 10.
- the measurement data with setting includes the measurement data generated by the sensor unit 26 of the sensor device 10 and the coordinate system setting data stored in the storage unit 22 of the sensor device 10. Be done.
- the generated measurement data with settings is output.
- the measurement data with the setting is transmitted to the measurement data collection device 12.
- the sensor device 10a performs measurement with settings including measurement data indicating a measurement result by the sensor unit 26 of the sensor device 10a and coordinate system setting data stored in the storage unit 22 of the sensor device 10a.
- the data is transmitted to the measurement data collection device 12.
- the sensor device 10b measures the measurement data with the setting including the measurement data indicating the measurement result by the sensor unit 26 of the sensor device 10b and the coordinate system setting data stored in the storage unit 22 of the sensor device 10b. It transmits to the data collection device 12.
- the measurement data collection device 12 specifies the overall arrangement of the plurality of sensor devices 10 based on the measurement data with these settings, and the relative positions and relative positions between the sensor devices 10. Calculations such as posture identification are performed.
- the setting of the coordinate system in which at least one of the position, the posture, the velocity, the acceleration, the angular velocity, and the angular acceleration indicated by the measurement data generated by the sensor unit 26 included in each of the plurality of sensor devices 10 is expressed varies. Sometimes there is. In addition, the setting of such a coordinate system may not be shown in the measurement data.
- the coordinate system setting data is included in the measurement data with setting. Therefore, in the present embodiment, the user can easily set the coordinate system of the measurement data indicating at least one of the position and the posture measured by the sensor unit 26 by referring to the coordinate system setting data included in the measurement data with setting. You will be able to understand.
- FIG. 6 is a functional block diagram showing an example of functions implemented by the sensor device 10 and the measurement data collection device 12 according to the present embodiment.
- the sensor device 10 and the measurement data collection device 12 according to the present embodiment do not need to have all the functions shown in FIG. 6, and may have functions other than those shown in FIG. Absent.
- a measurement data acquisition unit 30 As shown in FIG. 6, in the sensor device 10 according to the present embodiment, functionally, for example, a measurement data acquisition unit 30, a coordinate system setting data storage unit 32, a setting measurement data generating unit 34, a setting measurement data is used.
- An output unit 36 is included.
- the measurement data acquisition unit 30 is mainly mounted on the processor 20 and the sensor unit 26.
- the coordinate system setting data storage unit 32 is implemented mainly by the storage unit 22.
- the measurement data generator with setting 34 is implemented mainly by the processor 20.
- the measurement data output unit 36 with settings is implemented mainly by the processor 20 and the communication unit 24.
- the above functions may be implemented by causing the processor 20 to execute a program that is installed in the sensor device 10 that is a computer and that includes a command corresponding to the above functions.
- This program may be supplied to the sensor device 10 via a computer-readable information storage medium such as an optical disc, a magnetic disc, a magnetic tape, a magneto-optical disc, a flash memory, or the like, or via the Internet or the like.
- the measurement data collection device 12 functionally includes, for example, a measurement data acquisition unit with setting 40, a coordinate conversion library storage unit 42, and a calculation unit 44.
- the measurement data acquisition unit 40 with settings is implemented mainly by the processor 12a and the communication unit 12c.
- the coordinate conversion library storage unit 42 is implemented mainly by the storage unit 12b.
- the arithmetic unit 44 is mainly mounted on the processor 12a.
- the above functions may be implemented by executing a program, which is installed in the measurement data collection device 12 which is a computer, and which includes a command corresponding to the above functions, on the processor 12a.
- This program may be supplied to the measurement data collecting device 12 via a computer-readable information storage medium such as an optical disk, a magnetic disk, a magnetic tape, a magneto-optical disk, a flash memory, or via the Internet. Good.
- the measurement data acquisition unit 30 acquires measurement data indicating at least one of the position, orientation, speed, acceleration, angular velocity, and angular acceleration measured by the sensor unit 26.
- the coordinate system setting data storage unit 32 stores, for example, the setting of the coordinate system used to represent at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration indicated by the measurement data.
- the coordinate system setting data shown is stored.
- the coordinate system setting data includes data indicating whether the coordinate system is a left-handed system or a right-handed system, data indicating a positive direction, and data indicating a unit of length. May be included.
- the data indicating the forward direction includes the front direction data indicating which axis direction the front direction corresponds to, and the upward direction data indicating which axis direction the upward direction corresponds to.
- it may include right direction data indicating which axis direction the right direction when facing the front corresponds.
- the measurement data with setting generation unit 34 generates, for example, measurement data with setting including measurement data and coordinate system setting data.
- the measurement data with setting generation unit 34 generates measurement data with setting including the measurement data acquired by the measurement data acquisition unit 30 and the coordinate system setting data stored in the coordinate system setting data storage unit 32. ..
- the measurement data output unit 36 with settings outputs measurement data with settings in the present embodiment, for example.
- the measurement data with setting output unit 36 transmits the measurement data with setting generated by the measurement data generating unit with setting 34 to the measurement data collecting device 12.
- the measurement data with setting acquisition unit 40 acquires measurement data with settings output from the sensor device 10.
- the measurement data with setting acquisition unit 40 receives the measurement data with setting transmitted from the sensor device 10a.
- the measurement data with the setting will be referred to as first measurement data with the setting.
- the measurement data with the first setting includes measurement data indicating at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration measured by the sensor unit 26 of the sensor device 10a.
- the measurement data will be referred to as first measurement data.
- the setting of the coordinate system used to represent at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration indicated by the first measurement data. Is included in the coordinate system setting data.
- the coordinate system setting data will be referred to as first coordinate system setting data indicating the setting of the first coordinate system.
- the measurement data with setting acquisition unit 40 receives the measurement data with setting transmitted from the sensor device 10b.
- the measurement data with the setting will be referred to as the second measurement data with the setting.
- the measurement data with the second setting includes measurement data indicating at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration measured by the sensor unit 26 of the sensor device 10b.
- the measurement data will be referred to as second measurement data.
- the setting of the coordinate system used for the expression of at least one of the position, posture, velocity, acceleration, angular velocity, and angular acceleration indicated by the second measurement data. Is included in the coordinate system setting data.
- the coordinate system setting data will be referred to as second coordinate system setting data indicating the setting of the second coordinate system.
- the coordinate conversion library storage unit 42 stores, for example, a library program for coordinate conversion used for the processing executed by the calculation unit 44.
- the calculation unit 44 executes calculations such as specifying the overall arrangement of the plurality of sensor devices 10 and specifying the relative positions and relative postures of the sensor devices 10.
- the above calculation is executed based on the first measurement data with the setting and the second measurement data with the setting.
- the calculation unit 44 expresses at least one of the position, orientation, speed, acceleration, angular velocity, and angular acceleration indicated by the measurement data included in the measurement data with setting in another coordinate system. You may perform the calculation of the coordinate conversion which converts into the expression by.
- the calculation unit 44 based on the setting of the above-mentioned first coordinate system and the setting of the above-mentioned second coordinate system, the position, posture, velocity, acceleration, angular velocity, which the first measurement data indicates, Also, a coordinate conversion calculation for converting at least one expression of the angular acceleration into an expression in the second coordinate system may be performed.
- the position indicated by the first measurement data is indicated.
- Coordinate conversion for converting at least one of the posture, velocity, acceleration, angular velocity, and angular acceleration into a representation in the third coordinate system.
- the position, posture, velocity, acceleration, angular velocity, and angular acceleration indicated by the second measurement data are calculated.
- a coordinate transformation operation for transforming at least one of the expressions into an expression in the third coordinate system may be performed.
- FIG. 7 is a diagram showing an example of a source code of a program related to the above-described coordinate conversion calculation executed by the calculation unit 44.
- the command used in the program is implemented by, for example, a library program stored in the coordinate conversion library storage unit 42.
- the command (1) is a command that sets the value of the first coordinate system setting data to the value cs_in.
- the value of the left-handed / right-handed data included in the first coordinate system setting data is set in the argument a1.
- the value of the unit length data included in the first coordinate system setting data is set in the argument a2.
- the value of the front direction data included in the first coordinate system setting data is set in the argument a3.
- the value of the upward data included in the first coordinate system setting data is set in the argument a4.
- the value of the rightward data included in the first coordinate system setting data is set in the argument a5.
- the command (2) is a command to set the value of the first coordinate system setting data and the value of the position data included in the first measurement data to the value p_in.
- the value of the position data included in the first measurement data is set in the argument (px, py, pz).
- the command (3) is a command that sets the value of the first coordinate system setting data and the value of the attitude data included in the first measurement data to the value q_in.
- the values of the posture data included in the first measurement data are set in the arguments (qx, qy, qz, qw).
- the command (4) is a command for setting the value of the second coordinate system setting data in the value cs_out.
- the value of the left-handed / right-handed data included in the second coordinate system setting data is set in the argument b1.
- the value of the unit length data included in the second coordinate system setting data is set in the argument b2.
- the value of the front direction data included in the second coordinate system setting data is set in the argument b3.
- the value of the upward data included in the second coordinate system setting data is set in the argument b4.
- the value of rightward data included in the second coordinate system setting data is set in the argument b5.
- the command (5) is a command for executing a coordinate conversion operation for converting the expression of the position indicated by the first measurement data into the expression in the second coordinate system.
- a value obtained by converting the position indicated by the first measurement data indicated by the value p_in into an expression in the second coordinate system is set.
- the command (6) is a command for executing a coordinate conversion operation for converting the expression of the posture indicated by the first measurement data into the expression in the second coordinate system.
- a value obtained by converting the posture represented by the first measurement data represented by the value q_in into an expression in the second coordinate system is set.
- the command convert shown in the commands (5) and (6) is implemented by performing the X-axis, Y-axis, and Z-axis replacement processing and the axis positive / negative inversion processing multiple times. Good.
- FIG. 8 is a flow chart showing an example of the flow of processing executed by the command convert.
- FIG. 8 shows an example of a process of converting the quaternion q from the representation in the first coordinate system to the representation in the second coordinate system.
- from_axis [0] and from_axis [1] from_axis [2] correspond to which of the axes in the first coordinate system is the front direction, the upward direction, and the right direction when facing the front. I will indicate whether to do.
- from_axis [0], from_axis [1], and from_axis [2] are respectively the values of the front direction data, the values of the upward direction data, and the values of the rightward direction data included in the first coordinate system setting data. It may be.
- to_axis [0] and to_axis [1] to_axis [2] respectively indicate which axis direction corresponds to the front direction, the upward direction, and the right direction when facing the front in the second coordinate system. It is assumed that Here, for example, to_axis [0] and to_axis [1] to_axis [2] are respectively the values of the front direction data, the values of the upward direction data, and the values of the right direction data included in the second coordinate system setting data. May be.
- the calculation unit 44 confirms whether or not the axis represented by from_axis [i] and the axis represented by to_axis [i] are different (S101). In the processing shown in S101, if the X-axis, the Y-axis, and the Z-axis are the same even if the signs are different, the axis represented by from_axis [i] and the axis represented by to_axis [i] It is supposed to be the same.
- the calculation unit 44 exchanges the value corresponding to from_axis [i] and the value corresponding to to_axis [i] included in the quaternion q, and inverts the sign of the value of w included in the quaternion q ( S102).
- the calculation unit 44 inverts the sign of the value corresponding to from_axis [i] included in the quaternion q, and inverts the sign of the value of w included in the quaternion q (S104).
- the calculation unit 44 sets the same axis as to_axis [i] among the from_axis [i + 1] to from_axis [2] to the from_axis [j] (S105).
- the calculation unit 44 updates the value of from_axis [j] to the value of from_axis [i] (S106).
- the calculation unit 44 inverts the code represented by from_axis [i] as the value of from_axis [j]. Update to value.
- the value of the quaternion q is (0, 0.33, 0.55, 0.77).
- the value of from_axis [0], the value of from_axis [1], and the value of from_axis [2] are assumed to be X_MINUS, Y_PLUS, and Z_MINUS, respectively.
- the first coordinate system is the right-handed system.
- the value of to_axis [0], the value of to_axis [1], and the value of to_axis [2] are Y_MINUS, Z_PLUS, and X_PLUS, respectively.
- the second coordinate system is the left-handed system.
- the quaternion q is converted into the expression (-0.55, 0, 0.33, -0.77) in the second coordinate system.
- the command convert may be implemented by performing the X-axis, Y-axis, and Z-axis interchange processing and the axis positive / negative inversion processing multiple times.
- the posture indicated by the measurement data included in the measurement data with setting is represented by the first coordinate system from the second coordinate.
- An example of converting to a system expression has been described.
- the axis replacement processing and the axis positive / negative inversion processing are performed a plurality of times so that the first coordinate system is used.
- the representation may be converted into the representation in the second coordinate system.
- basic vector operations and rotation operations may be implemented in the library program stored in the coordinate conversion library storage unit 42.
- the library program it is not necessary to purposely code a complicated program related to coordinate conversion. Further, it is not necessary to perform coordinate conversion many times. It also improves the readability of the source code.
- the present invention is not limited to the above embodiment.
- one coordinate system setting data and a plurality of positions each indicating at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration measured at different timings are set.
- the measurement data may be included.
- the measurement data may include a time stamp indicating the timing at which at least one of the position, orientation, velocity, acceleration, angular velocity, and angular acceleration is measured.
- the measurement data not including the coordinate system setting data may be transmitted from the sensor device 10.
- the upward direction may not match the upward direction of gravity.
- the coordinate system setting data includes the front direction and the upward direction in the initial posture, or the axis direction in which the front direction and the gravity direction correspond. Data indicating whether to do it may be included.
- the coordinate system setting data may include data indicating which direction corresponds to which axis direction, such as north data indicating which direction the north direction corresponds to.
- the data indicating the positive direction included in the coordinate system setting data includes data indicating which axis corresponds to the direction of gravity, or which direction corresponds to which axis. The data shown may be included.
- the value of the coordinate system setting data may be expressed by the three-dimensional coordinate value of the unit vector instead of being expressed by the axis name and code.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
- User Interface Of Digital Computer (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
Abstract
センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データの座標系の設定をユーザが容易に把握できるセンサ装置、情報処理装置、設定付き測定データの出力方法、情報処理方法、プログラム及び設定付き測定データのデータ構造を提供する。測定データ取得部(30)は、センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを取得する。設定付き測定データ生成部(34)は、測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示す座標系設定データと、測定データと、を含む設定付き測定データを生成する。設定付き測定データ出力部(36)は、設定付き測定データを出力する。
Description
本発明は、センサ装置、情報処理装置、設定付き測定データの出力方法、情報処理方法、プログラム及び設定付き測定データのデータ構造に関する。
近年、インターネットに接続された様々なデバイスによる情報交換が行われるモノのインターネット(IoT)の技術に注目が集まっている。
IoTの技術を活用することで、例えば、複数の様々なセンサから収集される測定データに基づいて、これら複数のセンサの全体的な配置の特定やセンサ間の相対的な位置や相対的な姿勢の特定などといった演算を行うことが考えられる。
しかしこのような測定データの仕様は統一されていない。そのため座標系が左手系であるか右手系であるか、当該座標系の正方向の向き、長さの単位などといった、測定データが示す位置や姿勢が表現される座標系の設定はまちまちである。しかもこのような座標系の設定は、測定データには示されていない。
そのため複数の様々なセンサから出力される測定データを用いた演算を行うためには測定データの座標系の設定を仕様書など参照してユーザがわざわざ調べる必要があり面倒であった。
本発明は上記課題に鑑みてなされたものであって、その目的の1つは、センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データの座標系の設定をユーザが容易に把握できるセンサ装置、情報処理装置、設定付き測定データの出力方法、情報処理方法、プログラム及び設定付き測定データのデータ構造を提供することにある。
上記課題を解決するために、本発明に係るセンサ装置は、センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを取得する測定データ取得部と、前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示す座標系設定データと、前記測定データと、を含む設定付き測定データを生成する生成部と、前記設定付き測定データを出力する出力部と、を含む。
本発明の一態様では、前記座標系設定データには、当該座標系が左手系であるか右手系であるかを示すデータ、正方向の向きを示すデータ、及び、長さの単位を示すデータ、のうちの少なくとも1つが含まれる。
この態様では、前記正方向の向きを示すデータには、正面方向がどの軸の方向に相当するのかを示すデータ、上方向がどの軸の方向に相当するのかを示すデータ、正面を向いた際の右方向がどの軸の方向に相当するのかを示すデータ、重力方向がどの軸の方向に相当するのかを示すデータ、又は、どの方角がどの軸の方向に相当するのかを示すデータが含まれていてもよい。
また、本発明に係る情報処理装置は、センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを取得する測定データ取得部と、前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第1の座標系の設定を示す座標系設定データと、前記測定データと、を含む設定付き測定データを生成する生成部と、前記設定付き測定データを出力する出力部と、を含むセンサ装置から出力される前記設定付き測定データを取得する設定付き測定データ取得部と、前記設定付き測定データに含まれる前記座標系設定データが示す前記第1の座標系の設定と、所与の第2の座標系の設定と、に基づいて、前記設定付き測定データに含まれる前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換する座標変換部と、を含む。
本発明の一態様では、前記座標変換部は、軸の入れ替え処理、及び、軸の正負の反転処理、を複数回行うことにより、前記設定付き測定データに含まれる前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換する。
また、本発明に係る別の情報処理装置は、第1のセンサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す第1の測定データを取得する第1の測定データ取得部と、前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第1の座標系の設定を示す第1の座標系設定データと、前記第1の測定データと、を含む第1の設定付き測定データを生成する第1の生成部と、前記第1の設定付き測定データを出力する第1の出力部と、を含む第1のセンサ装置から出力される前記第1の設定付き測定データを取得する第1の設定付き測定データ取得部と、第2のセンサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す第2の測定データを取得する第2の測定データ取得部と、前記第2の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第2の座標系の設定を示す第2の座標系設定データと、前記第2の測定データと、を含む第2の設定付き測定データを生成する第2の生成部と、前記第2の設定付き測定データを出力する第2の出力部と、を含む第2のセンサ装置から出力される前記第2の設定付き測定データを取得する第2の設定付き測定データ取得部と、前記第1の設定付き測定データに含まれる前記第1の座標系設定データが示す前記第1の座標系の設定と、前記第2の設定付き測定データに含まれる前記第2の座標系設定データが示す前記第2の座標系の設定と、に基づいて、前記第1の設定付き測定データに含まれる前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換する座標変換部と、を含む。
本発明の一態様では、前記座標変換部は、軸の入れ替え処理、及び、軸の正負の反転処理、を複数回行うことにより、前記第1の設定付き測定データに含まれる前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換する。
また、本発明に係る設定付き測定データの出力方法は、センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを取得するステップと、前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示す座標系設定データと、前記測定データと、を含む設定付き測定データを生成するステップと、前記設定付き測定データを出力するステップと、を含む。
また、本発明に係る情報処理方法は、センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを取得する測定データ取得部と、前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第1の座標系の設定を示す座標系設定データと、前記測定データと、を含む設定付き測定データを生成する生成部と、前記設定付き測定データを出力する出力部と、を含むセンサ装置から出力される前記設定付き測定データを取得するステップと、前記設定付き測定データに含まれる前記座標系設定データが示す前記第1の座標系の設定と、所与の第2の座標系の設定と、に基づいて、前記設定付き測定データに含まれる前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換するステップと、を含む。
また、本発明に係る別の情報処理方法は、第1のセンサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す第1の測定データを取得する第1の測定データ取得部と、前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第1の座標系の設定を示す第1の座標系設定データと、前記第1の測定データと、を含む第1の設定付き測定データを生成する第1の生成部と、前記第1の設定付き測定データを出力する第1の出力部と、を含む第1のセンサ装置から出力される前記第1の設定付き測定データを取得するステップと、第2のセンサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す第2の測定データを取得する第2の測定データ取得部と、前記第2の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第2の座標系の設定を示す第2の座標系設定データと、前記第2の測定データと、を含む第2の設定付き測定データを生成する第2の生成部と、前記第2の設定付き測定データを出力する第2の出力部と、を含む第2のセンサ装置から出力される前記第2の設定付き測定データを取得するステップと、前記第1の設定付き測定データに含まれる前記第1の座標系設定データが示す前記第1の座標系の設定と、前記第2の設定付き測定データに含まれる前記第2の座標系設定データが示す前記第2の座標系の設定と、に基づいて、前記第1の設定付き測定データに含まれる前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換するステップと、を含む。
また、本発明に係るプログラムは、センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを取得する手順、前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示す座標系設定データと、前記測定データと、を含む設定付き測定データを生成する手順、前記設定付き測定データを出力する手順、をコンピュータに実行させる。
また、本発明に係る別のプログラムは、センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを取得する測定データ取得部と、前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第1の座標系の設定を示す座標系設定データと、前記測定データと、を含む設定付き測定データを生成する生成部と、前記設定付き測定データを出力する出力部と、を含むセンサ装置から出力される前記設定付き測定データを取得する手順、前記設定付き測定データに含まれる前記座標系設定データが示す前記第1の座標系の設定と、所与の第2の座標系の設定と、に基づいて、前記設定付き測定データに含まれる前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換する手順、をコンピュータに実行させる。
また、本発明に係るさらに別のプログラムは、第1のセンサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す第1の測定データを取得する第1の測定データ取得部と、前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第1の座標系の設定を示す第1の座標系設定データと、前記第1の測定データと、を含む第1の設定付き測定データを生成する第1の生成部と、前記第1の設定付き測定データを出力する第1の出力部と、を含む第1のセンサ装置から出力される前記第1の設定付き測定データを取得する手順、第2のセンサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す第2の測定データを取得する第2の測定データ取得部と、前記第2の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第2の座標系の設定を示す第2の座標系設定データと、前記第2の測定データと、を含む第2の設定付き測定データを生成する第2の生成部と、前記第2の設定付き測定データを出力する第2の出力部と、を含む第2のセンサ装置から出力される前記第2の設定付き測定データを取得する手順、前記第1の設定付き測定データに含まれる前記第1の座標系設定データが示す前記第1の座標系の設定と、前記第2の設定付き測定データに含まれる前記第2の座標系設定データが示す前記第2の座標系の設定と、に基づいて、前記第1の設定付き測定データに含まれる前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換する手順、をコンピュータに実行させる。
また、本発明に係る設定付き測定データのデータ構造は、センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データと、前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示す座標系設定データと、を含む。
図1は、本発明の一実施形態に係るコンピュータネットワーク14の一例を示す図である。図2は、本発明の一実施形態に係るセンサ装置10の一例を示す構成図である。
図1に示すように、本実施形態に係るインターネット等のコンピュータネットワーク14には、センサ装置10a及びセンサ装置10bを含む複数のセンサ装置10と、測定データ収集装置12と、が接続されている。そのため、センサ装置10と測定データ収集装置12とはコンピュータネットワーク14を介して互いに通信可能となっている。
センサ装置10は、本実施形態では例えば、当該センサ装置10の位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを追跡するためのデバイスである。
図2に示すように、センサ装置10には、プロセッサ20、記憶部22、通信部24、センサ部26が含まれている。
プロセッサ20は、例えばセンサ装置10にインストールされているプログラムに従って動作するCPU等のプログラム制御デバイスである。記憶部22は、例えばROMやRAM等の記憶素子やハードディスクドライブなどである。記憶部22には、プロセッサ20によって実行されるプログラムなどが記憶される。通信部24は、無線LANモジュールなどといった通信インタフェースである。
センサ部26は、例えばカメラ、慣性センサ(IMU)、地磁気センサ(方位センサ)、加速度センサ、モーションセンサ、GPS(Global Positioning System)モジュールなどといった1又は複数の種類のセンサを含むデバイスである。そしてセンサ部26は、センサ部26の位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを生成する。
測定データ収集装置12は、本実施形態では例えば、パーソナルコンピュータ等から構成されるコンピュータシステムである。測定データ収集装置12には、図1に示すように、例えば、プロセッサ12a、記憶部12b、通信部12cが含まれている。
プロセッサ12aは、例えば測定データ収集装置12にインストールされているプログラムに従って動作するCPU等のプログラム制御デバイスである。記憶部12bは、例えばROMやRAM等の記憶素子やハードディスクドライブなどである。記憶部12bには、プロセッサ12aによって実行されるプログラムなどが記憶される。通信部12cは、ネットワークボードや無線LANモジュールなどといった通信インタフェースである。
図3は、本実施形態に係るセンサ部26が生成する、センサ部26の位置及び姿勢を示す測定データのデータ構造の一例を示す図である。図3に示すように、本実施形態に係る測定データには、センサ部26の位置を示す位置データとセンサ部26の姿勢を示す姿勢データとが含まれる。
ここで例えば、位置データの値としては、当該センサ部26において予め設定されている座標系によりセンサ部26の位置が表現された三次元座標値などが設定される。
また例えば、姿勢データの値としては、当該センサ部26において予め設定されている座標系により基準方向に対するセンサ部26の向きが表現されたクォータニオンの値や回転行列の値などが設定される。
なお測定データが、位置データ及び姿勢データのうちのいずれか一方を含んでいてもよい。また測定データが、センサ部26の速度を示す速度データ、センサ部26の加速度を示す加速度データ、センサ部26の角速度を示す角速度データ、センサ部26の角加速度を示す角加速度データ、などを含んでいてもよい。
図4は、本実施形態に係る座標系設定データのデータ構造の一例を示す図である。座標系設定データは、例えば、測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示すデータである。
図4に示すように座標系設定データには、例えば、当該座標系が左手系であるのか右手系であるのかを示す左手・右手系データが含まれる。ここで当該座標系が右手系である場合は、左手・右手系データの値としてRIGHT_HAND、又は1が設定され、当該座標系が左手系である場合は、左手・右手系データの値としてLEFT_HAND、又は2が設定されてもよい。また座標系の変換を行う必要がない場合は、左手・右手系データの値としてNO_CONVERT、又は3が設定されてもよい。
また座標系設定データには、例えば、測定データにおける長さの単位を示す単位長さデータが含まれる。ここで測定データが示す位置がミリメートル単位で表現されている場合は、単位長さデータの値としてMM又は0が設定されてもよい。また、測定データが示す位置がセンチメートル単位で表現されている場合は、単位長さデータの値としてCM又は1が設定されてもよい。また、測定データが示す位置がメートル単位で表現されている場合は、単位長さデータの値としてM又は2が設定されてもよい。また測定データが示す位置がキロメートル単位で表現されている場合は、単位長さデータの値としてKM又は3が設定されてもよい。また測定データが示す位置がフィート単位で表現されている場合は、単位長さデータの値としてFT又は4が設定されてもよい。また測定データが示す位置がマイル単位で表現されている場合は、単位長さデータの値としてMI又は5が設定されてもよい。
また座標系設定データには、例えば、正面方向がどの軸の方向に相当するのかを示す正面方向データ、上方向がどの軸の方向に相当するのかを示す上方向データ、及び、正面を向いた際の右方向がどの軸の方向に相当するのかを示す右方向データが含まれる。
ここで例えば正面方向がX軸正方向である場合は、正面方向データの値として、X_PLUS、又は1が設定される。また正面方向がX軸負方向である場合は、正面方向データの値として、X_MINUS、又は-1が設定される。また正面方向がY軸正方向である場合は、正面方向データの値として、Y_PLUS、又は2が設定される。また正面方向がY軸負方向である場合は、正面方向データの値として、Y_MINUS、又は-2が設定される。また正面方向がZ軸正方向である場合は、正面方向データの値として、Z_PLUS、又は3が設定される。また正面方向がZ軸負方向である場合は、正面方向データの値として、Z_MINUS、又は-3が設定される。
また上方向がX軸正方向である場合は、上方向データの値として、X_PLUS、又は1が設定される。また上方向がX軸負方向である場合は、上方向データの値として、X_MINUS、又は-1が設定される。また上方向がY軸正方向である場合は、上方向データの値として、Y_PLUS、又は2が設定される。また上方向がY軸負方向である場合は、上方向データの値として、Y_MINUS、又は-2が設定される。また上方向がZ軸正方向である場合は、上方向データの値として、Z_PLUS、又は3が設定される。また上方向がZ軸負方向である場合は、上方向データの値として、Z_MINUS、又は-3が設定される。
また正面を向いた際の右方向がX軸正方向である場合は、右方向データの値として、X_PLUS、又は1が設定される。また正面を向いた際の右方向がX軸負方向である場合は、右方向データの値として、X_MINUS、又は-1が設定される。また正面を向いた際の右方向がY軸正方向である場合は、右方向データの値として、Y_PLUS、又は2が設定される。また正面を向いた際の右方向がY軸負方向である場合は、右方向データの値として、Y_MINUS、又は-2が設定される。また正面を向いた際の右方向がZ軸正方向である場合は、右方向データの値として、Z_PLUS、又は3が設定される。また正面を向いた際の右方向がZ軸負方向である場合は、右方向データの値として、Z_MINUS、又は-3が設定される。
センサ装置10のセンサ部26により生成される測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示す座標系設定データは、例えば、当該センサ装置10の記憶部22に予め記憶されている。また、測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現が可変であってもよい。この場合、測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現の変更に応じて記憶部22に記憶されている座標系設定データが更新されてもよい。
なお、座標系設定データに、左手・右手系データ、単位長さデータ、正面方向データ、上方向データ、及び、右方向データのすべてが含まれている必要はない。座標系設定データに、左手・右手系データ、単位長さデータ、正面方向データ、上方向データ、及び、右方向データのうちの一部が含まれていてもよい。例えば左手・右手系データ、正面方向データ、及び、上方向データの値から、右方向データの値は一意に特定可能である。また、左手・右手系データ、正面方向データ、及び、右方向データの値から、上方向データの値は一意に特定可能である。また、左手・右手系データ、上方向データ、及び、右方向データの値から、正面方向データの値は一意に特定可能である。また、正面方向データ、上方向データ、及び、右方向データの値から、左手・右手系データの値は一意に特定可能である。
また座標系設定データが、左手・右手系データ、単位長さデータ、正面方向データ、上方向データ、及び、右方向データ以外の座標系の設定を示すデータを含んでいてもよい。
図5は、本実施形態に係る設定付き測定データのデータ構造の一例を示す図である。そして本実施形態では、センサ装置10のセンサ部26による測定データの生成に応じて、設定付き測定データが生成される。図5に示すように、設定付き測定データには、センサ装置10のセンサ部26により生成される測定データと、当該センサ装置10の記憶部22に記憶されている座標系設定データと、が含まれる。
そして生成される設定付き測定データは出力される。ここでは例えば、当該設定付き測定データは、測定データ収集装置12に送信される。
本実施形態では例えば、センサ装置10aが、センサ装置10aのセンサ部26による測定結果を示す測定データと、センサ装置10aの記憶部22に記憶されている座標系設定データと、を含む設定付き測定データを測定データ収集装置12に送信する。同様に、センサ装置10bが、センサ装置10bのセンサ部26による測定結果を示す測定データと、センサ装置10bの記憶部22に記憶されている座標系設定データと、を含む設定付き測定データを測定データ収集装置12に送信する。
そして本実施形態では例えば、測定データ収集装置12が、これらの設定付き測定データに基づいて、複数のセンサ装置10の全体的な配置の特定やセンサ装置10間の相対的な位置や相対的な姿勢の特定などといった演算を行う。
複数のセンサ装置10のそれぞれに含まれるセンサ部26が生成する測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つが表現される座標系の設定がまちまちであることがある。またこのような座標系の設定が、測定データに示されていないことがある。
このような場合に上述の演算を行うためには、複数のセンサ装置10のそれぞれから収集される測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つが表現される座標系を統一させる必要がある。
ここで、測定データの座標系の設定を仕様書など参照してユーザが調べるのは面倒である。また、調べた座標系の設定に基づいて座標変換のプログラムを作成し、当該プログラムを実行することにより座標系を統一させるのも面倒である。
本実施形態では、上述のように、設定付き測定データに座標系設定データが含まれている。そのため本実施形態では、設定付き測定データに含まれる座標系設定データを参照することにより、センサ部26により測定される位置及び姿勢の少なくとも一方を示す測定データの座標系の設定をユーザが容易に把握できることとなる。
以下、本実施形態に係るセンサ装置10及び測定データ収集装置12の機能についてさらに説明する。
図6は、本実施形態に係るセンサ装置10及び測定データ収集装置12で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るセンサ装置10及び測定データ収集装置12で、図6に示す機能のすべてが実装される必要はなく、また、図6に示す機能以外の機能が実装されていても構わない。
図6に示すように、本実施形態に係るセンサ装置10には、機能的には例えば、測定データ取得部30、座標系設定データ記憶部32、設定付き測定データ生成部34、設定付き測定データ出力部36が含まれる。
測定データ取得部30は、プロセッサ20及びセンサ部26を主として実装される。座標系設定データ記憶部32は、記憶部22を主として実装される。設定付き測定データ生成部34は、プロセッサ20を主として実装される。設定付き測定データ出力部36は、プロセッサ20及び通信部24を主として実装される。
以上の機能は、コンピュータであるセンサ装置10にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ20で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してセンサ装置10に供給されてもよい。
図6に示すように、本実施形態に係る測定データ収集装置12には、機能的には例えば、設定付き測定データ取得部40、座標変換ライブラリ記憶部42、演算部44が含まれる。
設定付き測定データ取得部40は、プロセッサ12a及び通信部12cを主として実装される。座標変換ライブラリ記憶部42は、記憶部12bを主として実装される。演算部44は、プロセッサ12aを主として実装される。
以上の機能は、コンピュータである測定データ収集装置12にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ12aで実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介して測定データ収集装置12に供給されてもよい。
測定データ取得部30は、本実施形態では例えば、センサ部26により測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを取得する。
座標系設定データ記憶部32は、本実施形態では例えば、測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示す座標系設定データを記憶する。上述のように、座標系設定データには、当該座標系が左手系であるか右手系であるかを示すデータ、正方向の向きを示すデータ、及び、長さの単位を示すデータ、のうちの少なくとも1つが含まれていてもよい。ここで上述のように、正方向の向きを示すデータには、正面方向がどの軸の方向に相当するのかを示す正面方向データ、上方向がどの軸の方向に相当するのかを示す上方向データ、又は、正面を向いた際の右方向がどの軸の方向に相当するのかを示す右方向データが含まれていてもよい。
設定付き測定データ生成部34は、本実施形態では例えば、測定データと座標系設定データとを含む設定付き測定データを生成する。ここでは例えば、設定付き測定データ生成部34は、測定データ取得部30が取得する測定データと座標系設定データ記憶部32に記憶されている座標系設定データとを含む設定付き測定データを生成する。
設定付き測定データ出力部36は、本実施形態では例えば、設定付き測定データを出力する。ここでは例えば、設定付き測定データ出力部36は、設定付き測定データ生成部34により生成される設定付き測定データを測定データ収集装置12に送信する。
設定付き測定データ取得部40は、本実施形態では例えば、センサ装置10から出力される設定付き測定データを取得する。
ここでは例えば、設定付き測定データ取得部40は、センサ装置10aから送信される設定付き測定データを受信する。以下、当該設定付き測定データを、第1の設定付き測定データと呼ぶこととする。当該第1の設定付き測定データには、センサ装置10aのセンサ部26により測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データが含まれる。以下、当該測定データを第1の測定データと呼ぶこととする。また当該第1の設定付き測定データには、当該第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示す座標系設定データが含まれる。以下、当該座標系設定データを第1の座標系の設定を示す第1の座標系設定データと呼ぶこととする。
また、設定付き測定データ取得部40は、センサ装置10bから送信される設定付き測定データを受信する。以下、当該設定付き測定データを、第2の設定付き測定データと呼ぶこととする。当該第2の設定付き測定データには、センサ装置10bのセンサ部26により測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データが含まれる。以下、当該測定データを第2の測定データと呼ぶこととする。また当該第2の設定付き測定データには、当該第2の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示す座標系設定データが含まれる。以下、当該座標系設定データを第2の座標系の設定を示す第2の座標系設定データと呼ぶこととする。
座標変換ライブラリ記憶部42は、本実施形態では例えば、演算部44により実行される処理に用いられる座標変換のためのライブラリプログラムを記憶する。
演算部44は、本実施形態では例えば、複数のセンサ装置10の全体的な配置の特定やセンサ装置10間の相対的な位置や相対的な姿勢の特定などといった演算を実行する。ここでは例えば、第1の設定付き測定データと第2の設定付き測定データとに基づいて、上述の演算が実行される。
また演算部44は、当該演算の一部として、設定付き測定データに含まれる測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を別の座標系による表現に変換する座標変換の演算を実行してもよい。ここで例えば演算部44が、上述の第1の座標系の設定と、上述の第2の座標系の設定とに基づいて、第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を第2の座標系による表現に変換する座標変換の演算を実行してもよい。
また例えば、上述の第1の座標系の設定と、第1の座標系とも第2の座標系とも異なる所与の第3の座標系の設定とに基づいて、第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を第3の座標系による表現に変換する座標変換が実行されてもよい。そして、上述の第2の座標系の設定と、所与の第3の座標系の設定とに基づいて、第2の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を第3の座標系による表現に変換する座標変換の演算が実行されてもよい。
図7は、演算部44が実行する上述の座標変換の演算に関するプログラムのソースコードの一例を示す図である。当該プログラムにおいて用いられているコマンドは、例えば、座標変換ライブラリ記憶部42に記憶されているライブラリプログラムにより実装されている。
図7の例では、コマンド(1)は、値cs_inに第1の座標系設定データの値を設定するコマンドである。ここでは例えば、引数a1に、第1の座標系設定データに含まれる左手・右手系データの値が設定される。また引数a2に、第1の座標系設定データに含まれる単位長さデータの値が設定される。また引数a3に、第1の座標系設定データに含まれる正面方向データの値が設定される。また引数a4に、第1の座標系設定データに含まれる上方向データの値が設定される。また引数a5に、第1の座標系設定データに含まれる右方向データの値が設定される。
コマンド(2)は、値p_inに、第1の座標系設定データの値及び第1の測定データに含まれる位置データの値を設定するコマンドである。ここでは例えば、引数(px,py,pz)に第1の測定データに含まれる位置データの値が設定される。
コマンド(3)は、値q_inに、第1の座標系設定データの値及び第1の測定データに含まれる姿勢データの値を設定するコマンドである。ここでは例えば、引数(qx,qy,qz,qw)に第1の測定データに含まれる姿勢データの値が設定される。
コマンド(4)は、値cs_outに第2の座標系設定データの値を設定するコマンドである。ここでは例えば、引数b1に、第2の座標系設定データに含まれる左手・右手系データの値が設定される。また引数b2に、第2の座標系設定データに含まれる単位長さデータの値が設定される。また引数b3に、第2の座標系設定データに含まれる正面方向データの値が設定される。また引数b4に、第2の座標系設定データに含まれる上方向データの値が設定される。また引数b5に、第2の座標系設定データに含まれる右方向データの値が設定される。
コマンド(5)は、第1の測定データが示す位置の表現を第2の座標系による表現に変換する座標変換の演算を実行するコマンドである。値p_outとして、値p_inが示す第1の測定データが示す位置を第2の座標系による表現に変換したものが設定される。
コマンド(6)は、第1の測定データが示す姿勢の表現を第2の座標系による表現に変換する座標変換の演算を実行するコマンドである。値q_outとして、値q_inが示す第1の測定データが示す姿勢を第2の座標系による表現に変換したものが設定される。
以後、値p_out及び値q_outと第2の測定データとに基づいて、第2の座標系での表現に基づく各種の演算が可能となる。
ここでコマンド(5)及び(6)に示されているコマンドconvertが、X軸、Y軸、Z軸の入れ替え処理、及び、軸の正負の反転処理、を複数回行うことにより実装されていてもよい。
図8は、コマンドconvertによって実行される処理の流れの一例を示すフロー図である。図8には、クォータニオンqを第1の座標系による表現から第2の座標系による表現に変換する処理の一例が示されている。
以下の説明では、from_axis[0]、from_axis[1]from_axis[2]は、それぞれ、第1の座標系において、正面方向、上方向、正面を向いた際の右方向がどの軸の方向に相当するのかを示していることとする。ここで例えばfrom_axis[0]、from_axis[1]、from_axis[2]が、それぞれ、第1の座標系設定データに含まれる、正面方向データの値、上方向データの値、右方向データの値であってもよい。
またto_axis[0]、to_axis[1]to_axis[2]は、それぞれ、第2の座標系において、正面方向、上方向、正面を向いた際の右方向がどの軸の方向に相当するのかを示していることとする。ここで例えばto_axis[0]、to_axis[1]to_axis[2]が、それぞれ、第2の座標系設定データに含まれる、正面方向データの値、上方向データの値、右方向データの値であってもよい。
図8に示す処理ではS101~S106に示す処理が、変数iが0、1、2のそれぞれについて繰り返し実行される。
まず、演算部44が、from_axis[i]が表す軸とto_axis[i]が表す軸とが異なるか否かを確認する(S101)。S101に示す処理では、符号が異なっていてもX軸、Y軸、Z軸のうちのいずれであるのかが同じであれば、from_axis[i]が表す軸とto_axis[i]が表す軸とは同じであることとする。
ここでfrom_axis[i]が表す軸とto_axis[i]が表す軸とが異なることが確認されたとする(S101:Y)。この場合は、演算部44が、クォータニオンqに含まれる、from_axis[i]に相当する値とto_axis[i]に相当する値とを入れ替え、クォータニオンqに含まれるwの値の符号を反転させる(S102)。
S101に示す処理でfrom_axis[i]が表す軸とto_axis[i]が表す軸とが同じであることが確認された(S101:N)、あるいは、S102に示す処理が終了されたとする。この場合は、演算部44が、from_axis[i]が表す符号とto_axis[i]が表す符号とが異なるか否かを確認する(S103)。
ここでfrom_axis[i]が表す符号とto_axis[i]が表す符号とが異なることが確認されたとする(S103:Y)。この場合は、演算部44は、クォータニオンqに含まれるfrom_axis[i]に相当する値の符号を反転させ、クォータニオンqに含まれるwの値の符号を反転させる(S104)。
S103に示す処理でfrom_axis[i]が表す符号とto_axis[i]が表す符号とが同じであることが確認された(S103:N)、あるいは、S104に示す処理が終了されたとする。この場合は、演算部44が、from_axis[i+1]~from_axis[2]のうち、to_axis[i]と同じ軸を、from_axis[j]に設定する(S105)。
そして、演算部44が、from_axis[j]の値をfrom_axis[i]の値に更新する(S106)。S106に示す処理では、from_axis[j]が表す符号とfrom_axis[i]が表す符号とが異なる場合は、演算部44は、from_axis[j]の値をfrom_axis[i]が表す符号を反転させた値に更新する。
S101~S106に示す処理が、変数iが0、1、2について実行されると、本処理例に示す処理は終了される。
以下、図8に示す処理の一具体例について図9を参照しながら説明する。ここでは例えば図9の(1)に示すように、クォータニオンqの値が(0,0.33,0.55,0.77)であることとする。また、from_axis[0]の値、from_axis[1]の値、from_axis[2]の値が、それぞれ、X_MINUS、Y_PLUS、Z_MINUSであることとする。なおこの場合、第1の座標系は右手系である。また、to_axis[0]の値、to_axis[1]の値、to_axis[2]の値が、それぞれ、Y_MINUS、Z_PLUS、X_PLUSであることとする。なおこの場合、第2の座標系は左手系である。
この場合、まず、変数iが0である際のS102に示す処理において、図9の(2)に示すように、クォータニオンqの値が(0.33,0,0.55,-0.77)に更新される。ここではfrom_axis[0](X_MINUS)が表す軸がX軸であり、to_axis[0](Y_MINUS)が表す軸がY軸であるため、クォータニオンqのxの値とyの値とが入れ替えられ、wの値の符号が反転される。
そして、変数iが0である際のS106に示す処理において、図9の(3)に示すように、from_axis[1]の値(Y_PLUS)がX_PLUSに更新される。これはfrom_axis[1](Y_PLUS)が表す軸、及び、to_axis[0](Y_MINUS)が表す軸がY軸であるためである。また、from_axis[1](Y_PLUS)が表す符号とfrom_axis[0](X_MINUS)が表す符号とが異なっているため、from_axis[0](X_MINUS)の符号を反転させたX_PLUSにfrom_axis[1]の値は更新される。
そして、変数iが1である際のS102に示す処理において、図9の(4)に示すように、クォータニオンqの値が(0.55,0,0.33,0.77)に更新される。ここではfrom_axis[1](X_PLUS)が表す軸がX軸であり、to_axis[1](Z_PLUS)が表す軸がZ軸であるため、クォータニオンqのxの値とzの値とが入れ替えられ、wの値の符号が反転される。
そして、変数iが1である際のS106に示す処理において、図9の(5)に示すように、from_axis[2]の値(Z_MINUS)がX_MINUSに更新される。これはfrom_axis[2](Z_MINUS)が表す軸、及び、to_axis[1](Z_PLUS)が表す軸がZ軸であるためである。また、from_axis[2](Z_MINUS)が表す符号とfrom_axis[1](X_PLUS)が表す符号とが異なっているため、from_axis[1](X_PLUS)の符号を反転させたX_MINUSにfrom_axis[2]の値は更新される。
そして、変数iが2である際のS104に示す処理において、図9の(6)に示すように、クォータニオンqの値が(-0.55,0,0.33,-0.77)に更新される。これは、from_axis[2](X_MINUS)が表す符号とto_axis[2](X_PLUS)が表す符号とが異なるため、クォータニオンqに含まれるxの値、及び、wの値が反転される。
以上のようにして、クォータニオンqは、第2の座標系による表現(-0.55,0,0.33,-0.77)に変換される。
以上のようにして、コマンドconvertが、X軸、Y軸、Z軸の入れ替え処理、及び、軸の正負の反転処理、を複数回行うことにより実装されていてもよい。
また以上では、軸の入れ替え処理、及び、軸の正負の反転処理、を複数回行うことにより、設定付き測定データに含まれる測定データが示す姿勢を第1の座標系による表現から第2の座標系による表現に変換する一例について説明した。ここで姿勢以外の、位置、速度、加速度、角速度、角加速度などについても同様にして、軸の入れ替え処理、及び、軸の正負の反転処理、を複数回行うことにより、第1の座標系による表現から第2の座標系による表現に変換されてもよい。
また、座標変換ライブラリ記憶部42に記憶されているライブラリプログラムにおいて基本的なベクトル演算や回転演算が実装されていてもよい。当該ライブラリプログラムを用いることで、座標変換に関する複雑なプログラムをわざわざコーディングする必要がなくなる。また座標変換を何度も行う必要がなくなる。またソースコードの可読性も向上する。
なお、本発明は上述の実施形態に限定されるものではない。
例えば設定付き測定データに、1の座標系設定データと、互いに異なる複数のタイミングに測定された位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つをそれぞれが示す複数の測定データと、が含まれていてもよい。また例えば測定データに位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの測定が行われたタイミングを示すタイムスタンプが含まれていてもよい。また例えば、センサ装置10から設定付き測定データが一度送信された後は、当該センサ装置10からは座標系設定データを含まない測定データが送信されるようにしてもよい。
また、デバイスによっては上方向が重力上方向と一致しないことがあることを踏まえ、座標系設定データに、初期姿勢における正面方向と上方向、又は、正面方向と重力方向がどの軸の方向に相当するのかを示すデータが含まれていてもよい。また例えば、座標系設定データに、北方向がどの軸の方向に相当するのかを示す北データなどといった、どの方角がどの軸の方向に相当するのかを示すデータが含まれていてもよい。このように、座標系設定データに含まれる正方向の向きを示すデータには、重力方向がどの軸の方向に相当するのかを示すデータ、又は、どの方角がどの軸の方向に相当するのかを示すデータが含まれていてもよい。
また座標系設定データの値が、軸の名称及び符号により表現される代わりに、単位ベクトルの三次元座標値などにより表現されてもよい。
また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。
Claims (14)
- センサにより測定される位置、姿勢、速度、加速度、及び、角速度のうちの少なくとも1つを示す測定データを取得する測定データ取得部と、
前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示す座標系設定データと、前記測定データと、を含む設定付き測定データを生成する生成部と、
前記設定付き測定データを出力する出力部と、
を含むことを特徴とするセンサ装置。 - 前記座標系設定データには、当該座標系が左手系であるか右手系であるかを示すデータ、正方向の向きを示すデータ、及び、長さの単位を示すデータ、のうちの少なくとも1つが含まれる、
ことを特徴とする請求項1に記載のセンサ装置。 - 前記正方向の向きを示すデータには、正面方向がどの軸の方向に相当するのかを示すデータ、上方向がどの軸の方向に相当するのかを示すデータ、正面を向いた際の右方向がどの軸の方向に相当するのかを示すデータ、重力方向がどの軸の方向に相当するのかを示すデータ、又は、どの方角がどの軸の方向に相当するのかを示すデータが含まれる、
ことを特徴とする請求項2に記載のセンサ装置。 - センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを取得する測定データ取得部と、前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第1の座標系の設定を示す座標系設定データと、前記測定データと、を含む設定付き測定データを生成する生成部と、前記設定付き測定データを出力する出力部と、を含むセンサ装置から出力される前記設定付き測定データを取得する設定付き測定データ取得部と、
前記設定付き測定データに含まれる前記座標系設定データが示す前記第1の座標系の設定と、所与の第2の座標系の設定と、に基づいて、前記設定付き測定データに含まれる前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換する座標変換部と、
を含むことを特徴とする情報処理装置。 - 前記座標変換部は、軸の入れ替え処理、及び、軸の正負の反転処理、を複数回行うことにより、前記設定付き測定データに含まれる前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換する、
ことを特徴とする請求項4に記載の情報処理装置。 - 第1のセンサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す第1の測定データを取得する第1の測定データ取得部と、前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第1の座標系の設定を示す第1の座標系設定データと、前記第1の測定データと、を含む第1の設定付き測定データを生成する第1の生成部と、前記第1の設定付き測定データを出力する第1の出力部と、を含む第1のセンサ装置から出力される前記第1の設定付き測定データを取得する第1の設定付き測定データ取得部と、
第2のセンサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す第2の測定データを取得する第2の測定データ取得部と、前記第2の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第2の座標系の設定を示す第2の座標系設定データと、前記第2の測定データと、を含む第2の設定付き測定データを生成する第2の生成部と、前記第2の設定付き測定データを出力する第2の出力部と、を含む第2のセンサ装置から出力される前記第2の設定付き測定データを取得する第2の設定付き測定データ取得部と、
前記第1の設定付き測定データに含まれる前記第1の座標系設定データが示す前記第1の座標系の設定と、前記第2の設定付き測定データに含まれる前記第2の座標系設定データが示す前記第2の座標系の設定と、に基づいて、前記第1の設定付き測定データに含まれる前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換する座標変換部と、
を含むことを特徴とする情報処理装置。 - 前記座標変換部は、軸の入れ替え処理、及び、軸の正負の反転処理、を複数回行うことにより、前記第1の設定付き測定データに含まれる前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換する、
ことを特徴とする請求項6に記載の情報処理装置。 - センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを取得するステップと、
前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示す座標系設定データと、前記測定データと、を含む設定付き測定データを生成するステップと、
前記設定付き測定データを出力するステップと、
を含むことを特徴とする設定付き測定データの出力方法。 - センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを取得する測定データ取得部と、前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第1の座標系の設定を示す座標系設定データと、前記測定データと、を含む設定付き測定データを生成する生成部と、前記設定付き測定データを出力する出力部と、を含むセンサ装置から出力される前記設定付き測定データを取得するステップと、
前記設定付き測定データに含まれる前記座標系設定データが示す前記第1の座標系の設定と、所与の第2の座標系の設定と、に基づいて、前記設定付き測定データに含まれる前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換するステップと、
を含むことを特徴とする情報処理方法。 - 第1のセンサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す第1の測定データを取得する第1の測定データ取得部と、前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第1の座標系の設定を示す第1の座標系設定データと、前記第1の測定データと、を含む第1の設定付き測定データを生成する第1の生成部と、前記第1の設定付き測定データを出力する第1の出力部と、を含む第1のセンサ装置から出力される前記第1の設定付き測定データを取得するステップと、
第2のセンサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す第2の測定データを取得する第2の測定データ取得部と、前記第2の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第2の座標系の設定を示す第2の座標系設定データと、前記第2の測定データと、を含む第2の設定付き測定データを生成する第2の生成部と、前記第2の設定付き測定データを出力する第2の出力部と、を含む第2のセンサ装置から出力される前記第2の設定付き測定データを取得するステップと、
前記第1の設定付き測定データに含まれる前記第1の座標系設定データが示す前記第1の座標系の設定と、前記第2の設定付き測定データに含まれる前記第2の座標系設定データが示す前記第2の座標系の設定と、に基づいて、前記第1の設定付き測定データに含まれる前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換するステップと、
を含むことを特徴とする情報処理方法。 - センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを取得する手順、
前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示す座標系設定データと、前記測定データと、を含む設定付き測定データを生成する手順、
前記設定付き測定データを出力する手順、
をコンピュータに実行させることを特徴とするプログラム。 - センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データを取得する測定データ取得部と、前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第1の座標系の設定を示す座標系設定データと、前記測定データと、を含む設定付き測定データを生成する生成部と、前記設定付き測定データを出力する出力部と、を含むセンサ装置から出力される前記設定付き測定データを取得する手順、
前記設定付き測定データに含まれる前記座標系設定データが示す前記第1の座標系の設定と、所与の第2の座標系の設定と、に基づいて、前記設定付き測定データに含まれる前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換する手順、
をコンピュータに実行させることを特徴とするプログラム。 - 第1のセンサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す第1の測定データを取得する第1の測定データ取得部と、前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第1の座標系の設定を示す第1の座標系設定データと、前記第1の測定データと、を含む第1の設定付き測定データを生成する第1の生成部と、前記第1の設定付き測定データを出力する第1の出力部と、を含む第1のセンサ装置から出力される前記第1の設定付き測定データを取得する手順、
第2のセンサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す第2の測定データを取得する第2の測定データ取得部と、前記第2の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている第2の座標系の設定を示す第2の座標系設定データと、前記第2の測定データと、を含む第2の設定付き測定データを生成する第2の生成部と、前記第2の設定付き測定データを出力する第2の出力部と、を含む第2のセンサ装置から出力される前記第2の設定付き測定データを取得する手順、
前記第1の設定付き測定データに含まれる前記第1の座標系設定データが示す前記第1の座標系の設定と、前記第2の設定付き測定データに含まれる前記第2の座標系設定データが示す前記第2の座標系の設定と、に基づいて、前記第1の設定付き測定データに含まれる前記第1の測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現を前記第2の座標系による表現に変換する手順、
をコンピュータに実行させることを特徴とするプログラム。 - センサにより測定される位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つを示す測定データと、
前記測定データが示す位置、姿勢、速度、加速度、角速度、及び、角加速度のうちの少なくとも1つの表現に用いられている座標系の設定を示す座標系設定データと、
を含むことを特徴とする設定付き測定データのデータ構造。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020554618A JP7109577B2 (ja) | 2018-10-29 | 2018-10-29 | センサ装置、情報処理装置、設定付き測定データの出力方法、情報処理方法、及び、プログラム |
| US17/285,703 US11768217B2 (en) | 2018-10-29 | 2018-10-29 | Sensor apparatus, information processing apparatus, method of outputting measurement data with settings, information processing method, program, and data structure of measurement data with settings |
| PCT/JP2018/040122 WO2020089970A1 (ja) | 2018-10-29 | 2018-10-29 | センサ装置、情報処理装置、設定付き測定データの出力方法、情報処理方法、プログラム及び設定付き測定データのデータ構造 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2018/040122 WO2020089970A1 (ja) | 2018-10-29 | 2018-10-29 | センサ装置、情報処理装置、設定付き測定データの出力方法、情報処理方法、プログラム及び設定付き測定データのデータ構造 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020089970A1 true WO2020089970A1 (ja) | 2020-05-07 |
Family
ID=70463047
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2018/040122 Ceased WO2020089970A1 (ja) | 2018-10-29 | 2018-10-29 | センサ装置、情報処理装置、設定付き測定データの出力方法、情報処理方法、プログラム及び設定付き測定データのデータ構造 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11768217B2 (ja) |
| JP (1) | JP7109577B2 (ja) |
| WO (1) | WO2020089970A1 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115854801B (zh) * | 2023-01-09 | 2024-07-30 | 北京信息科技大学 | 基于双轴地磁信息的自旋飞行体转速测量方法及装置 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004086898A (ja) * | 2002-08-22 | 2004-03-18 | Agilent Technol Inc | 異種のスカラー測定データを表示する方法および装置 |
| JP2007156779A (ja) * | 2005-12-05 | 2007-06-21 | Hitachi Ltd | センサネットシステム、基地局及びセンシングデータの中継方法 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9229540B2 (en) * | 2004-01-30 | 2016-01-05 | Electronic Scripting Products, Inc. | Deriving input from six degrees of freedom interfaces |
| JP5401245B2 (ja) | 2009-10-01 | 2014-01-29 | 日本電信電話株式会社 | 位置算出装置、位置算出方法及び位置算出プログラム |
| US8998717B2 (en) * | 2013-01-17 | 2015-04-07 | Ppg Technologies, Inc. | Device and method for reconstructing and analyzing motion of a rigid body |
| US10124230B2 (en) * | 2016-07-19 | 2018-11-13 | Blast Motion Inc. | Swing analysis method using a sweet spot trajectory |
-
2018
- 2018-10-29 WO PCT/JP2018/040122 patent/WO2020089970A1/ja not_active Ceased
- 2018-10-29 JP JP2020554618A patent/JP7109577B2/ja active Active
- 2018-10-29 US US17/285,703 patent/US11768217B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004086898A (ja) * | 2002-08-22 | 2004-03-18 | Agilent Technol Inc | 異種のスカラー測定データを表示する方法および装置 |
| JP2007156779A (ja) * | 2005-12-05 | 2007-06-21 | Hitachi Ltd | センサネットシステム、基地局及びセンシングデータの中継方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7109577B2 (ja) | 2022-07-29 |
| US20210341507A1 (en) | 2021-11-04 |
| US11768217B2 (en) | 2023-09-26 |
| JPWO2020089970A1 (ja) | 2021-09-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109885080B (zh) | 自主控制系统及自主控制方法 | |
| AU2016102440A4 (en) | Autonomous localization and navigation equipment, localization and navigation method, and autonomous localization and navigation system | |
| JP6954717B2 (ja) | 測位用分類器の作成方法、位置測定方法、外的要因ノイズ特定方法及び測位用分類器の作成システム | |
| US11009964B2 (en) | Length calibration for computer models of users to generate inputs for computer systems | |
| CN103136912A (zh) | 运动姿态捕捉系统 | |
| CN106989773B (zh) | 一种姿态传感器及姿态更新方法 | |
| CN108318027B (zh) | 载体的姿态数据的确定方法和装置 | |
| CN111145251A (zh) | 一种机器人及其同步定位与建图方法和计算机存储设备 | |
| CN115839726B (zh) | 磁传感器和角速度传感器联合标定的方法、系统及介质 | |
| WO2020049692A2 (ja) | 推定装置、学習装置、推定方法、学習方法及びプログラム | |
| CN119416153A (zh) | 多模态的穿戴式人形机器人数据采集和遥操系统 | |
| JP7109577B2 (ja) | センサ装置、情報処理装置、設定付き測定データの出力方法、情報処理方法、及び、プログラム | |
| CN121327916A (zh) | 一种基于STM32与Simulink结合的船舶轨迹可视化方法及系统 | |
| Leonori et al. | The bridge between xsens motion-capture and robot operating system (ros): Enabling robots with online 3d human motion tracking | |
| CN119494943A (zh) | 一种人体动作捕捉系统及方法 | |
| Xin et al. | A Novel ViDAR Device With Visual Inertial Encoder Odometry and Reinforcement Learning-Based Active SLAM Method | |
| Jitpakdeebodin et al. | IMU-based motion capture using madgwick filter with 3D visualization for robot teleoperations | |
| Fattah et al. | Dynamic map generating rescuer offering surveillance robotic system with autonomous path feedback capability | |
| Wang et al. | Finger Tracking for Human Computer Interface Using Multiple Sensor Data Fusion | |
| CN114186373A (zh) | 预制构件安装系统、方法、计算机设备和存储设备 | |
| CN113947634B (zh) | 一种相机姿态确定方法和系统 | |
| He et al. | Rotational coordinate transformation for visual-inertial sensor fusion | |
| CN116423515B (zh) | 一种多机器人的数字孪生控制系统及其定位与建图的方法 | |
| CN119540362B (zh) | 基于惯性位置跟踪器和深度体感相机的人体上肢位姿估计方法和系统 | |
| CN212460509U (zh) | 一种虚拟现实设备及虚拟现实系统 |
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: 18938292 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2020554618 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18938292 Country of ref document: EP Kind code of ref document: A1 |