GB2485428A - A Controller for a Plumbing Simulator - Google Patents

A Controller for a Plumbing Simulator Download PDF

Info

Publication number
GB2485428A
GB2485428A GB1107050.5A GB201107050A GB2485428A GB 2485428 A GB2485428 A GB 2485428A GB 201107050 A GB201107050 A GB 201107050A GB 2485428 A GB2485428 A GB 2485428A
Authority
GB
United Kingdom
Prior art keywords
controller
simulator
relative angle
image
camera
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.)
Granted
Application number
GB1107050.5A
Other versions
GB2485428B (en
GB201107050D0 (en
Inventor
Jan Telensky
Prajay Kamat
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
J T CONSULTANCY Ltd
Original Assignee
J T CONSULTANCY Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by J T CONSULTANCY Ltd filed Critical J T CONSULTANCY Ltd
Priority to GB1107050.5A priority Critical patent/GB2485428B/en
Publication of GB201107050D0 publication Critical patent/GB201107050D0/en
Priority to IN883DEN2012 priority patent/IN2012DN00883A/en
Priority to GB1119412.3A priority patent/GB2486527B/en
Priority to CN201180003614.XA priority patent/CN102652328B/en
Priority to RU2012105332/12A priority patent/RU2600906C2/en
Priority to PCT/GB2011/052188 priority patent/WO2012063069A1/en
Publication of GB2485428A publication Critical patent/GB2485428A/en
Application granted granted Critical
Publication of GB2485428B publication Critical patent/GB2485428B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/24Use of tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0362Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 1D translations or rotations of an operating part of the device, e.g. scroll wheels, sliders, knobs, rollers or belts
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0069Engineering, e.g. mechanical, electrical design
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05GCONTROL DEVICES OR SYSTEMS INSOFAR AS CHARACTERISED BY MECHANICAL FEATURES ONLY
    • G05G9/00Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously
    • G05G9/02Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only
    • G05G9/04Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously
    • G05G9/047Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks
    • G05G2009/0474Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks characterised by means converting mechanical movement into electric signals
    • G05G2009/04748Position sensor for rotary movement, e.g. potentiometer
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05GCONTROL DEVICES OR SYSTEMS INSOFAR AS CHARACTERISED BY MECHANICAL FEATURES ONLY
    • G05G9/00Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously
    • G05G9/02Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only
    • G05G9/04Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously
    • G05G9/047Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks
    • G05G2009/0474Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks characterised by means converting mechanical movement into electric signals
    • G05G2009/04755Magnetic sensor, e.g. hall generator, pick-up coil
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05GCONTROL DEVICES OR SYSTEMS INSOFAR AS CHARACTERISED BY MECHANICAL FEATURES ONLY
    • G05G9/00Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously
    • G05G9/02Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only
    • G05G9/04Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously
    • G05G9/047Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks
    • G05G2009/0474Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks characterised by means converting mechanical movement into electric signals
    • G05G2009/04762Force transducer, e.g. strain gauge
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05GCONTROL DEVICES OR SYSTEMS INSOFAR AS CHARACTERISED BY MECHANICAL FEATURES ONLY
    • G05G9/00Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously
    • G05G9/02Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only
    • G05G9/04Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously
    • G05G9/047Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks
    • G05G2009/04766Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks providing feel, e.g. indexing means, means to create counterforce

Abstract

The invention relates to a controller for a simulator which includes a gyroscope, magnetometer and accelerometer. The controller is formed of two rotatably connected portions, and includes a bending sensor, to measure the relative angle between the two portions. The bending sensor may be a friction plate and a motor may be used to provide resistance to change in the relative angle between the portions. The controller may also include a pressure sensor provided in a groove of the first or second portion. The controller also includes a number of buttons and a thumb operated joystick as well as a plurality of LEDs to provide status and diagnostic information. The controller is intended to be used with a simulator to provide a simulation of such tasks as using a blow-torch or bending a pipe.

Description

A SIMULATOR INCLUDING A CONTROLLER
This invention relates to a simulator including a controller. More specifically, but not exclusively, this invention relates to a simulator for the training of a tradesman.
Traditionally, tradesmen, such as plumbers, have learned their trade on the job as an apprentice. An apprentice learns the various requisite skills by attempting to replicate their master's work. Apprenticeships provide a focussed, personal training experience. However, this form of training is not scalable, as the master's time is dissipated over many pupils.
Furthermore, at least in the early stages of training, the apprentice will make mistakes, which will cost the master and deter him/her from hiring apprentices in the future.
Vocational training courses were developed to give pupils the initial experience needed to start work as a tradesman, in an attempt to reduce the initial, costly, period of the apprenticeship. However, these courses are subject to relatively high fees due to the number of mistakes the pupils make in the early stages.
According to a first aspect of the invention, there is provided a controller comprising a first portion and second portion, the portions being rotatably connected, a magnetometer, a gyroscope, an accelerometer, and a bending sensor, wherein the bending sensor is configured to measure a relative angle between the first and second portion.
The bending sensor may be a friction plate.
The controller may further comprise a motor for resisting change in the relative angle between the portions.
The controller may further comprise a pressure sensor. Preferably, the first or second portion includes a groove, the pressure sensor being positioned in the groove.
Embodiments of the invention will now be described, by way of example, and with reference to the drawings in which: Figure 1 illustrates a simulator including a controller of an embodiment of the present invention, also showing, for reference only, a computer, head mounted display and camera unit; Figure 2 illustrates the controller of Figure 1, showing a first portion and a second portion in a parallel position; Figure 3 illustrates the controller of Figure 1, showing a relative angle between the first and second portion; Figure 4 illustrates the controller of Figure 1, showing the first and second portion in a perpendicular position; Figure 5 illustrates the hardware of the controller of Figure 1; Figure 6 illustrates, for reference only, a flow diagram illustrating a method of measuring the x-axis and y-axis co-ordinate of the controller of Figure 1; Figure 7 illustrates, for reference only, an OT-MACH filter of the method illustrated in Figure 6; and Figure 8 illustrates, for reference only, a method of measuring the z-axis of the controller of Figure 1.
Figure 1 illustrates an overview of a simulator 1. The simulator I includes a controller 100 of an embodiment of the present invention. The simulator I also includes, for reference only, a computer 200, a camera unit 300 and a head mounted display 400. For the purposes of this description, the computer 200 is configured to run a computer program which simulates a training scenario, such as using a blowtorch, or bending a pipe.
The computer 200 receives data from the controller 100 and the camera unit 300. The controller 100 includes various sensors to measure spatial properties, such as acceleration and orientation, and to measure user input. The controller 100 outputs the data from the sensors to the computer 200. The camera unit 300 includes a first camera 310 and a second, infrared, camera 320, for image acquisition. The camera unit 300 outputs the image data to the computer 200.
The computer 200 is configured to process the data from the controller 100 and camera unit 300 as input variables in the computer program. The controller 100 provides spatial data, such as acceleration and orientation, and user inputs, and the camera unit 300 provides images which may be processed for 3-dimensional position recognition of the controller 100.
The computer program, which may simulate a training scenario, can therefore give the user an immersive and accurate simulation of a real-life skill, such as using a blow-torch or bending a pipe. The controller 100 of the simulator I is described in more detail below.
* The Controller The controller 100 will now be described, with reference to Figures 2 to 5. The controller includes a housing formed of a first portion 110 and a second portion 120. The first portion 110 and second portion 120 are rotatably connected at one end. The first portion and second portion 120 are configured to rotate between a parallel position, as shown in Figure 2 where the relative angle is zero, and a perpendicular position, as shown in Figure 4 where the relative angle is 90°.
The first portion 110 includes a closing button 127, disposed between the first portion 110 and second portion 120. The closing button 127 is configured to depress as the relative angle between the first portion 110 and second portion 120 approaches zero (that is, approaches the parallel position).
The controller 100 includes a number of buttons thereon, including smaller general purpose buttons 113a-c, a larger general purpose button 111 and a thumb operated joystick 114.
The buttons allow the user to input basic commands to the computer program, such as menu navigation. In this embodiment, the first portion 110 includes a plurality of LEDS (not shown) to display status and diagnostic information to the user.
The second portion 120 includes a plurality of grooves 123a-d, for receiving the user's fingers. The grooves 123a-d allow the user to comfortably hold the controller 100.
Furthermore, the second portion 120 includes a plurality of pressure sensors 125a-d, positioned within the grooves 123a-d. The pressure sensors 125a-d are configured to measure the pressure exerted thereon, by varying their resistance in proportion to the pressure. The pressure sensors 125a-d may be activated only when the closing button 127 is depressed, and include a rubber casing to absorb shock.
The controller 100 also includes a bending sensor, for measuring a relative angle between the first portion 110 and second portion 120. In this embodiment, the bending sensor is a friction plate. The bending sensor outputs data that may be used by the computer program to simulate a pipe bending scenario.
In this embodiment, the bending sensor includes a braking motor, for resisting change in the relative angle between the first portion 110 and the second portion 120. This allows the simulator to replicate the resistance to bending, for example, when the user is bending a pipe. The controller 100 also includes vibration generator motors, which may be activated to provide a physical notification to the user.
Figure 5 is a block diagram illustrating the hardware inside the housing of the controller 100.
The controller 100 includes a microcontroller SOC 150 (including a plurality of modules described below), a battery 161, such as a Lithium-ion cell, a battery management module 162, and voltage regulators 163.
The battery management module 162 includes a battery charger, adapted to receive an AC input. The charger includes dynamic power path management (DPPM) that powers the controller 100 while simultaneously and independently charging the battery 161. The battery management module further includes protection and fuel gauge circuits.
The voltage regulators 163 distribute power to the modules on the microcontroller SOC 150, the sensors, and other active components detailed below.
The microcontroller SOC 150 includes a CPU 151, program memory 152 and execution memory 153, connected via a system bus. The microcontroller SOC 150 further includes GIPO 171, Power Management 172, ADC 173, DAC 174, UART 175, Audio DAC Output 176, 12C 177, and USB 178 modules, connected via a peripheral bus.
The GIPO module 171 is a digital 10, configured to receive data from the smaller and larger general purpose buttons 123a-c, 111, and the joystick 114. The GIPO module 171 is also configured to control the LEDs to provide status and diagnostic information to the user.
The controller 100 includes an accelerometer 180, gyroscope 181 and magnetometer 182, providing nine degrees of freedom tracking. The three sensors 180, 181, 182 are embodied on a circuit board. The circuit board is designed to filter noise from the sensor 180, 181, 182 readings to provide Euler angles or Quaternions to output as data relating to the orientation of the controller 100. The three sensors 180, 181, 182 are connected to the microcontroller SOC 150 via the 12C module 177, which configures, initializes and calibrates the sensors 180, 181, 182.
The pressure sensors 125a-d are connected to the microcontroller SOC 150 via a programmable gain amplifier 190 and the ADC module 173. The ADC module 173 and programmable gain amplifier 190 also connect a hall effect sensor 191 and electric field imaging sensor 192 to the microcontroller SOC 150. The electric field imaging sensor 192 is used for non-contact sensing of objects, by generating a low frequency sine-wave field. The electric field imaging sensor 192 detects proximal objects by changes in the sine-wave field.
Similarly, the hall effect sensor 191 measures the proximal magnetic field.
The ADO module 173 is configured to receive the data from the programmable gain amplifier 190, convert itto a digital signal and pass onto the OPU 151 for computation.
The microcontroller SOO 150 further includes motor driving circuitry 193, for driving motors S such as the vibration generating motor, or the dynamic braking motor. The motor driving circuitry 193 is modulated by the PWM module 172, which may be configured to operate without OPU 151 intervention.
The microcontroller SOO 150 also includes a USB module 178, for connection with an external USB device 194, and a UART module 175, for interfacing with a wireless communications module 195, e.g. a Bluetooth (RTM) dongle, for communication with the computer 200. The wireless communications module 195 is a transceiver for sending the data collected from the sensors and input devices to the computer 200, and for receiving feedback data, for example, to drive the dynamic braking motor.
The microcontroller SOO 150 also includes an Audio DAO output module 176, for controlling a speaker 196 on the controller 100.
The skilled reader will understand that the pressure sensor is a non-essential feature. The pressure sensor is preferable, as it allows a further user input to the simulator 1, such that the user may engage in certain training scenarios, such as using a blow-torch.
The skilled reader will also understand that it is non-essential for the controller 100 to rotate between the parallel and perpendicular position. Rather, the controller 100 may rotate between any two relative angles, smaller or greater than 90 degrees.
In the above embodiment, the controller 100 uses a friction plate to measure the relative angle between the first and second portion. The skilled reader will understand that the friction plate is just one way of measuring the relative angle, and further examples may be used. Furthermore, the dynamic braking motor is just one example of a means to resist change in the relative angle between the first and second portion. For example, friction can be achieved by positioning friction plates and applying pressure between them or by using a * 3-Dimensional Position Recognition Methods for determining the position of the controller 100 in three dimensions will now be described, for reference only. As shown in Figure 1, in normal use, the simulator I is set up in a room, with the camera unit 300 facing the controller 100. Generally, the camera unit 300 will be positioned against a wall, and face the controller 100 in the centre of the room.
The controller 100 is held by a user.
The computer 200 is configured to calculate the position of the controller 100 in three dimensions. For the purpose of this description, the three dimensions are denoted along the Cartesian x, y and z axes, wherein the z-axis is in the direction from the camera unit 300 to the controller 100 (that is, the axis parallel to the floor). The x-axis and y-axis are both orthogonal to the z-axis and to each other. The computer 200 is configured to calculate the x-axis and y-axis co-ordinates of the controller via a first method, and calculate the z-axis co-ordinate via a second method.
The first method, that is, the method of calculating the x-axis and y-axis co-ordinates of the controller 100, will now be described with reference to Figures 6 to 7. The method is performed on the computer 200, using the image data from the camera unit 300. The camera unit 300 acquires a calibration image via the first camera 310, and acquires an infrared image via the second, infrared, camera 320. As mentioned above, the camera unit 300 faces the controller 100, which is held by the user. Therefore the calibration image and the infrared image include the controller 100 and the user.
An overview of the first method is illustrated in Figure 6. As a preliminary step, background subtraction of the infrared image, via temporal differencing, differentiates the controller 100 and the user from the constant background. This produces a processed infrared image, including only the controller and the user, suitable for the subsequent steps.
An active contour model is applied to the processed infrared image to produce an accurate vector contouring the edge of the controller 110. The controller 110 is readily distinguishable from the user in the processed infrared image due to the use of an IR reflectant coating on the controller 100.
The active contour model works on the principle of energy minimization to ascertain the vector of the controller's 100 edge in the processed infrared image. The energy of each vector point is calculated based on its neighbouring pixels. A Difference of Gaussian (DoG) filtered image is computed for emphasizing the edges of the controller 100. This energy minimization process is an iterative, continuous, process until the vector of the edge of the controller 100 is accurately computed. The energy function computed and iterated for each vector point is described in the equation below, where i, the number of iterations, runs from 1 to n, n being the number of points on the vector, and Eector is the calculated energy of the vector point.
E;ector = a.E (v1) + .E (v1) The computer 200 includes a configuration file, for modifying the number of iterations, i, required to accurately compute the vector of the edge of the controller 100.
Once the vector of the edge of the controller 100 has been computed, the vector is then applied to the calibration image from the first camera, to extract the controller 100. The extracted controller 100 is then applied to the centre of a blank background, which forms a training image, suitable for an OT-MACH filter.
The training image is further processed to produce a plurality of rotated training images for the OT-MACH filter. For example, the training image is rotated by two-degree increments between -6 degrees and +6 degrees, thus obtaining 7 rotated training images. The rotated training images are multiplexed and input to the OT-MACH filter.
The operation of the OT-MACH filter will now be described in more detail, with reference to Figure 7. The OT-MACH (Optimal Trade-off Maximum Average Correlation Height) filter is performed on the computer 200 using a FFTW (Fastest Fast Fourer Transform in the West") library. The FFTVV library is a C subroutine library for computing discrete Fourier transforms in one or more dimensions. The FFTW library is interfaced with Intel's (RTM) OpenCV library for Computer vision, making the OT-MACH filter efficient with respect to processing time and frequency.
As shown on the left hand column in Figure 7, the OT-MACH filter receives the set of rotated training images ti=ltoN, where N is the number of rotated training images. Each rotated training image is Fourier transformed FT(T). The output of the FFTW is not a shifted FFT.
Shifting of the zero component of the FFT to the centre of the spectrum is performed using the following function, designed in C. cvFFTWSh(fl() The function has the effect of swapping the upper-left quadrant with the lower-right quadrant, and swapping the upper-right quadrant with the lower-left quadrant.
The OT-MACH filter is expressed in the equation below, where m is an average of the rotated training image vector xltoN in the frequency domain, C is a diagonal power spectral density matrix of any chosen noise model, D is a diagonal average power spectral density of the rotated training image, and S, denotes the similarity matrix of the rotated training image set. These parameters are derivable from the training image. Alpha, beta and gamma are non-negative optimal trade-off parameters, which allow the OT-MACH filter to be tailored for external conditions, such as light levels, ci, 13, and y can be modified in the configuration file. h-
-aC+D +yS The computer 200 receives a stream of images from the first camera. As shown on the right hand side of the column in Figure 7, a set of sub-images Sk1tON, where N is the number of sub-images, are derived from one image from the stream. Each sub-image is Fourier transformed FT(Sk). The Fourier transformed sub images are correlated with the OT-MACH filter, in the frequency domain, via the function below.
conj(FT(h))FT(Sk) Each sub-image is then classified as in-class or out-of-class by comparing the amplitude of the maximum peak in the correlation plane to a detection threshold. The detection threshold is given in the equation below.
Threshold = L CentrePeak(FT(h) * FT(t)) A correlation plot is produced for each in-class sub image. The position of the controller 100 in the x and y direction corresponds to the highest value in the correlation plot.
The OT-MACH filter is applied to every m1 image from the first camera to generate a correlation plot and to determine the position of the controller 100. The parameter m may be modified in the configuration file. The OT-MACH filter may be updated, that is, by a new set of rotated training images obtained and applied to the OT-MACH filter, either in real-time or at a frequency determined by a parameter in the configuration file.
The second method, that is, for calculating the z-axis co-ordinate of the controller 100, will now be described in more detail, with reference to Figure 8. The z-axis co-ordinate is the distance from the first and second camera's centroid to the controller 100.
A half angle of the first camera 0 and second camera 02 is calculated using the following expression, where D is the first or second camera's field stop and f is the first or second camera's focal length.
D
0 =tan' 1,2 1.2 2f12 With reference to Figure 8, the z-axis co-ordinate can be determined from the following expression, where cc 1,2 can be measured using the half angle of view and the x-axis and y-axis position of the controller 100 calculated using the first method.
tan[--ai *tan[_aJ*zx z= tan[-_aiJ+tan[E-_a2J Alternatively, if the first and second camera are calibrated, the intrinsic and extrinsic camera parameters can be found using OpenCV functions The skilled reader will understand that the rotational multiplexing, that is, the rotation of the training image to produce a plurality of rotated training images, is a non essential feature.
Rather, the OT-MACH filter may be constructed from the training image. The skilled reader will understand that constructing the OT-MACH filter from the plurality of rotated training images is preferable, as it provides a degree of tolerance to the OT-MACH filter between filter updates, such that the accuracy of position recognition is increased and the computer is less likely to lose tracking of the controller 100.
The skilled reader will also understand that the updating the OT-MACH filter, that is, producing a new set of rotated training images or training image, is a non-essential feature.
Rather, the OT-MACH filter can be constructed from a first set of training images and not updated. Of course, the skilled reader will understand that updating the OT-MACH filter is highly preferable, as it provides for more accurate position recognition of the controller 100.
Furthermore, it is a non-essential feature for the OT-MACH filter to be updated once every 25 images from the stream of images from the first camera (that is, for a common camera, once every second where the camera captures 25 frames per second). The skilled reader will understand that the frequency of updating the OT-MACH filter may be changed, by modification of the configuration file.
The skilled person will understand that any combination of features is possible without departing from the scope of the present invention, as claimed.

Claims (6)

  1. CLAIMS1. A controller comprising a first portion and second portion, the portions being rotatably connected, a magnetometer, a gyroscope, an accelerometer, and a bending sensor, wherein the bending sensor is configured to measure a relative angle between the first and second portion.
  2. 2. A controller as claimed in Claim 1, wherein the bending sensor is a friction plate.
  3. 3. A controller as claimed in any one of Claims I to 2, further comprising a motor for resisting change in the relative angle between the portions.
  4. 4. A controller as claimed in any one of Claims I to 3, further comprising a pressure sensor.
  5. 5. A controller as claimed in Claim 4, wherein the first or second portion includes a groove, the pressure sensor being positioned in the groove.
  6. 6. A controller substantially as herein described with reference to and as shown in any one of the accompanying drawings.
GB1107050.5A 2010-11-10 2011-04-27 A simulator including a controller Active GB2485428B (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
GB1107050.5A GB2485428B (en) 2011-04-27 2011-04-27 A simulator including a controller
RU2012105332/12A RU2600906C2 (en) 2010-11-10 2011-11-10 Modelling installation including control device
GB1119412.3A GB2486527B (en) 2010-11-10 2011-11-10 A simulator including a controller
CN201180003614.XA CN102652328B (en) 2010-11-10 2011-11-10 Simulator including controller
IN883DEN2012 IN2012DN00883A (en) 2010-11-10 2011-11-10
PCT/GB2011/052188 WO2012063069A1 (en) 2010-11-10 2011-11-10 A simulator including a controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1107050.5A GB2485428B (en) 2011-04-27 2011-04-27 A simulator including a controller

Publications (3)

Publication Number Publication Date
GB201107050D0 GB201107050D0 (en) 2011-06-08
GB2485428A true GB2485428A (en) 2012-05-16
GB2485428B GB2485428B (en) 2013-10-30

Family

ID=44168623

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1107050.5A Active GB2485428B (en) 2010-11-10 2011-04-27 A simulator including a controller

Country Status (1)

Country Link
GB (1) GB2485428B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396266A (en) * 1993-06-08 1995-03-07 Technical Research Associates, Inc. Kinesthetic feedback apparatus and method
WO2009143208A2 (en) * 2008-05-21 2009-11-26 Powergrid Fitness, Inc. Exercise gaming device and method of interacting with gaming or other scenarios based on physical exercise

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396266A (en) * 1993-06-08 1995-03-07 Technical Research Associates, Inc. Kinesthetic feedback apparatus and method
WO2009143208A2 (en) * 2008-05-21 2009-11-26 Powergrid Fitness, Inc. Exercise gaming device and method of interacting with gaming or other scenarios based on physical exercise

Also Published As

Publication number Publication date
GB2485428B (en) 2013-10-30
GB201107050D0 (en) 2011-06-08

Similar Documents

Publication Publication Date Title
CN109446892B (en) Human eye attention positioning method and system based on deep neural network
US9571796B2 (en) Noncontact measuring device
JP2017510307A5 (en)
US20110163950A1 (en) 3d pointing device and method for compensating movement thereof
Kumar et al. Spatial object tracking system based on linear optical sensor arrays
KR101183823B1 (en) Reaction force controlling system and method
WO2013084428A1 (en) Electronic device
Asadzadeh et al. Low-cost interactive device for virtual reality
GB2485428A (en) A Controller for a Plumbing Simulator
Fornasier et al. Vinseval: Evaluation framework for unified testing of consistency and robustness of visual-inertial navigation system algorithms
GB2485359A (en) A Simulator Including A Controller And A Means For 3-Dimensional Position Recognition Using Correlation
Xu et al. A flexible 3D point reconstruction with homologous laser point array and monocular vision
Teodorescu et al. A rule-based assistive control algorithm for safe navigation for a powered wheelchair
CN115294213A (en) Calibration tower, camera calibration method and device, electronic equipment and storage medium
Zhang et al. Universal range data acquisition for educational laboratories using Microsoft Kinect
Bégin et al. Real application for a low-cost low-power self-driving 1/10 scale car
Chen et al. Research on BatSLAM Algorithm for UAV Based on Audio Perceptual Hash Closed-Loop Detection
CN106931879B (en) Binocular error measurement method, device and system
GB2486527A (en) A Controller for a Plumbing Simulator
Yang et al. Perceptual issues of a passive haptics feedback based MR system
Lu et al. Robust and fast magnetic dipole localization with singular value truncated SDM
Liu et al. A virtual simulation and driver evaluation platform for smart wheelchairs
CN102652328B (en) Simulator including controller
Bin et al. Design of intelligent wallpaper installation robot
Peng Construction of 3D Motion Model Based on Simulation Algorithm