The following relates generally to calibrating equipment.
Calibrating equipment, such as lighting devices for example, can be difficult and time consuming. For example, a light fixture is positioned in a physical space, such as in a room, and it can be moved to point at different locations. Calibrating a light fixture can involve determining where the light fixture is located and how the light fixture is operated. This can be done manually. When lights or other equipment are not calibrated, the response of the lights or equipment may be undesirable and unexpected. For example, a light fixture that is not calibrated may not point at the desired location as commanded.
Example embodiments will now be described by way of example only with reference to the appended drawings wherein:
It will be appreciated that for simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the example embodiments described herein. However, it will be understood by those of ordinary skill in the art that the example embodiments described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the example embodiments described herein. Also, the description is not to be considered as limiting the scope of the example embodiments described herein.
It will be appreciated that the examples described herein refer to calibrating light fixtures. However, the example embodiments can also be used to calibrate other equipment. Non-limiting examples of other equipment include lasers, light projectors showing media content, audio speaker, microphones, cameras, and projectile equipment (e.g. guns, cannons, water cannons, etc.).
Turning to
The point Ra represents the coordinates of a specified target.
Turning to
A tracking system 8 is in communication with the computing device 10. The tracking system can track the location of a beacon 6. In an example embodiment, the tracking system includes infrared cameras and a transceiver that is able to communicate with the beacon 6. The beacon includes an infrared light which can be visually tracked by the infrared cameras, and inertial sensors (e.g. accelerometer and gyroscope). The data from the inertial sensors is transmitted to the transceiver in the tracking system 8. In this way, the beacon's position and angular orientation is able to be tracked. A non-limiting example of a tracking system that includes a beacon, and that can be used with the example embodiments described herein, is described in United States Patent Application Publication No. 2012/0050535, published on Mar. 1, 2012, the entire contents of which are incorporated by reference. Other tracking systems (e.g. SONAR, RFID, image tracking) can also be used with the example embodiments described herein.
The beacon 6 can be used to mark the location of a specified target Ra, for example, in three-dimensional (3D) space. In other words, in an example embodiment, the location of the beacon 6, which is tracked using the tracking system 8, is the specified target Ra.
An example data model of a calibrated system, for example, a calibrated light fixture, is described in
Turning to
The model 22 can be considered a mathematical representation of the light fixture. The parameters of the light fixture is broadly represented by X. More generally, X is associated with the kinematic model of a fixture. The variable X includes parameters for the location of the fixture (e.g. x,y,z coordinates), the rotation of the fixture (e.g. rx, ry, yz angles) and a transformation values used to transform or convert desired values into corresponding control signals. For example, the light fixture 2 is commanded to pan 20 degrees. However, the light fixture 2, or its controller 14, requires a different control signal to achieve the movement of panning 20 degrees. The control signal can, for example, be an integer and be limited to a range of numbers.
As shown in box 24, a function is applied to a desired pan angle (e.g. pan) and the pan transformation (e.g. pan_trans) to compute the corresponding pan_control value. Similarly, by applying a function to the tilt angle and the tilt_trans value, and to the focus parameter and the focus_trans value, the corresponding tilt_control and focus_control values can be computed, respectively.
Given a control signal U, the model 22 will compute or output the coordinates of the spotlight Y as expected, or desired for a calibrated system.
In a system that is not calibrated, given a control signal to point a spot light at a desired location, the light fixture 2 may point the spot light at a different location other than the desired location. This may be because the control signal U is no accurate, or the model 22 of the light fixture having the variable X is incorrect, or both.
The parameters defining X can be adjusted to more accurately represent the physical features of the light fixture 2.
Turning to
The output U from the inverse kinematic model 26 can be used as the input control signal U for the forward kinematic model 22. The output of the forward kinematic model 22 is Y.
If the parameters of both models, which can be represented by X, are accurate, then the location of the light beam Y should equal the desired location of the light beam R. This type of operation would occur in a calibrated system. However, if the parameters of X are incorrect, or do not accurately represent the light fixture (e.g. not calibrated), then Y will not equal R.
The example embodiments described herein provide systems and methods for determining values of X, with the goal of making the value of Y as close as possible to the value of R. This in turn calibrates the light fixture 2. The estimated values of X are represented herein as {tilde over (X)}.
Turning to
In the initial calibration phase 28, values for R and U are collected (block 34). These are considered test points, which can be used to compute the parameters of {tilde over (X)} (block 36). For example, a Kalman operation can be used to compute {tilde over (X)}. The parameters of {tilde over (X)} represent the parameters of the model for an initially calibrated system.
The performance of the calibration is verified in phase 30. At block 38, the computing device 10 receives a new target location R. It then computes the new output Y using the recently computed {tilde over (X)} (block 40). The computing device 10 compares the new target location R and the new output Y to determine the accuracy. If they are close enough to each other (e.g. accurate enough), then the process is stopped (blocks 44 and 46). If the values are not accurate enough as per block 44, then an updated calibrated phase 32 is performed. It can be appreciated that “close enough” is a parameter that can be defined by a user. The threshold for determining whether the calibration is accurate enough may, for example, depend on the circumstances.
At block 48, the new R and the new U values are used to compute a new {tilde over (X)}. The new R and the new U values act as additional test points that can be used to better determine the values of {tilde over (X)}. Additional R and U values can also be added when computing the new {tilde over (X)}.
Turning to
In an example embodiment, it is recommended to use six pairs of R,U values or more. In another example embodiment, it is recommended that nine pairs of R, U values are obtained. In yet another example embodiment, more than nine pairs are recommended. In an example embodiment, using more R,U pairs provides more data to better determine the parameters of X. Different numbers of R,U pairs can be used with the example embodiments described herein.
At block 52, a Kalman filter operation is performed on the collected R,U pairs. For example, an initial estimate of {tilde over (X)}, represented generically as {tilde over (X)}i, and the R,U pairs are inputted into the Kalman filter to output a new estimate {tilde over (X)}i+1.
A Kalman filter is a mathematical method whose purpose is to use a series of measurements observed over time, containing noise (random variations) and other inaccuracies, and produce estimates that tend to be closer to the true unknown values than those that would be based on a single measurement alone. In an iterative process, an initial belief of a state, for example prior knowledge, is used to generate a prediction. The prediction or predictions are updated using measurements (e.g. the obtained R, U pairs), to output an estimate of the calibrated kinematic parameters of {tilde over (X)}i+1.
An example embodiment of a Kalman filter process is provided in
Referring to
At block 56, the corresponding error values are computed. For example, Y1,0−R1=e1,0 is used to compute the first error. Similarly, other error values are computed (e.g. en,0=Yn,0−Rn).
At block 58, a covariance matrix of {tilde over (X)} and the errors {e1,0, . . . , en,0} are used to compute {tilde over (X)}1. At block 60, U1 and {tilde over (X)}1 are used to compute Y1,1. This can be done using the forward kinematic model 22. The process is repeated for the other U values (e.g. Un and {tilde over (X)}1 are used to compute Yn,1).
At block 62, the newly calculated Y values are compared with the R values to determine if the error is acceptable or not. For example, the error value e1,1 is computed by Y1,1-R1. If the error values {e1,1, . . . , en,1} are determined to be acceptable (block 64) the process stops (block 66).
If the error values are not acceptable, then another iteration is computed using the above process. For example, a new {tilde over (X)} is computed; this new {tilde over (X)} is used to compute a new Y; and the new Y is used to compute a new set of errors. The obtained R,U pairs are used through these iterations. The iterations stop when the error is determined to be acceptable. In an example embodiment, a predetermined threshold is used to determine whether or not the error is acceptable. This generates an estimate {tilde over (X)}, which is calibrated.
However, the accuracy of the calibration can be verified according to the operations in
Referring to
Turning
At block 88, the new R,U pair or pairs are used with the Kalman filter to generate an updated estimate of {tilde over (X)}. This can be done using the examples described with respect to
Turning to
The location of the beacon 6 can be used to define a target location Ra (block 94). The tracking system 8 tracks the beacon 6 and outputs the coordinates for Ra. The system then attempts to move the light fixture 2 to point the spotlight 4 onto Ra (block 96). The computing device 10 uses the values of {tilde over (X)} and the inverse kinematic model 26 to calculate the control values Ua (block 98). However, control values Ua are then inputted to the controller 14. The light fixture 2, as a result of the controller 14, moves in a certain direction. However, the resulting location Y of the spotlight may not coincide with Ra. Therefore, at block 100, the computing device 10 receives new pan, tilt and focus control values Ub such that the spotlight location Y now coincides with Ra. The new Ub values can be determined, for example, based on inputs provided by a user interacting with the lighting console 12. A user can be adjusting the pan, tilt and control.
The values Ra and Ub are considered a corresponding R,U pair that can be used to define the behaviour of the lighting system.
Turning to
The sensors 106 can be arranged in a grid, or in a random fashion. The location (e.g. x,y,z coordinates) of each sensor 106 is known by the computing device 10. Each location of a sensor 106 can be considered a target point R. The array 104 is in communication with the computing device 10. More generally, the sensor is a feedback device with a known location. The feedback device provides feedback about whether the light, or other projectile media (e.g. water, fluid, bullet, line of sight of a camera, etc.) is being directed onto the sensor. Depending on the application (e.g. may not be related to light), the feedback device would have a different construction than a photosensor. For example, the feedback device may be a pressure sensor.
Referring to
In another example approach, which uses the system shown in
Turning to
At block 144, the system uses Ubi+1 in a forward kinematic model with a Kalman filter algorithm to generate a better belief (e.g. estimate) of the light fixture's location and orientation, {tilde over (X)}i+1.
At block 146, it is determined if i should be incremented. If not, the process stops (block 150). If so, i is incremented by one (block 148) and the process iterates with block 134.
Turning to
Turning to
In
The calibration process described above can also be used to account for the changing position of the light fixture.
Turning to
Turning to
It will be appreciated that any module or component exemplified herein that executes instructions or operations may include or otherwise have access to computer readable media such as storage media, computer storage media, or data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data, except transitory propagating signals per se. Examples of computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by an application, module, or both. Any such computer storage media may be part of the computing device 10, tracking system 8, lighting console 12, controller 14 or accessible or connectable thereto. Any application or module herein described may be implemented using computer readable/executable instructions or operations that may be stored or otherwise held by such computer readable media.
It can be appreciated that the above examples allow equipment to be quickly and accurately calibrated.
Applications of the above examples can be applied to lighting, audio, and entertainment marketplaces, military, security, medical applications, scientific research, child care supervision, sports, etc.
In a general embodiment, a method is provided for calibrating a fixture configured to at least one of rotate and translate. The method includes: obtaining a kinematic model of the fixture; obtaining one or more test points; and using the one or more test points to update the kinematic model of the fixture.
In an aspect, the one or more test points include a desired location R at which the fixture is to point, and a corresponding control signal U for controlling the fixture. In another aspect, a beacon and a tracking system for tracking the position of the beacon is used to measure the desired location R. In another aspect, a sensor having a known location is used to measure the desired location R, the sensor configured to detect whether media projected from the fixture is directed onto the sensor. In another aspect, at least six R, U pairs are obtained as test points. In another aspect, the kinematic model of the fixture is associated with parameters of the fixture, represented by X, the parameters including position and orientation of the fixture, and a transformation used to convert a desired movement of the fixture to a control signal. In another aspect, the one or more test points are used to compute updated parameters of X, represented by {tilde over (X)}, to update the kinematic model. In another aspect, a Kalman operation is used to compute {tilde over (X)}. In another aspect, the method further includes verifying whether the updated kinematic model is calibrated. In another aspect, verifying whether the updated kinematic model is calibrated includes: obtaining a new target location; computing new control signals based on an inverse kinematic model of the fixture to move the fixture at the new target location; using the new control signals to move the fixture; measuring an actual location at which the moved fixture is pointed; and comparing the actual location with the desired location to verifying whether the updated kinematic model is calibrated. In another aspect, if the updated kinematic model is not calibrated, the method further comprises computing another updated calibrated kinematic model using one or more new test points. In another aspect, the fixture is a light fixture and the kinematic model of the light fixture is associated with parameters of the light fixture, represented by X, the parameters including position and orientation of the light fixture, a transformation used to convert a desired movement of the fixture to a movement control signal, and another transformation used to convert a desired focus setting of the light fixture to a focus control signal. In another aspect, the fixture is at least one of a camera, a projector, a microphone, an audio speaker, a projectile device, and a fluid cannon.
The schematics and block diagrams used herein are just for example. Different configurations and names of components can be used. For instance, components and modules can be added, deleted, modified, or arranged with differing connections without departing from the spirit of the invention or inventions.
The steps or operations in the flow charts and diagrams described herein are just for example. There may be many variations to these steps or operations without departing from the spirit of the invention or inventions. For instance, the steps may be performed in a differing order, or steps may be added, deleted, or modified.
It will be appreciated that the particular embodiments shown in the figures and described above are for illustrative purposes only and many other variations can be used according to the principles described. Although the above has been described with reference to certain specific embodiments, various modifications thereof will be apparent to those skilled in the art as outlined in the appended claims.
This application claims priority to U.S. Provisional Application No. 61/583,593, filed on Jan. 5, 2012, the entire contents of which are incorporated herein by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CA2013/050003 | 1/4/2013 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2013/102273 | 7/11/2013 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6044308 | Huissoon | Mar 2000 | A |
6423923 | Siniaguine | Jul 2002 | B1 |
7272524 | Brogardh | Sep 2007 | B2 |
7352446 | Bridges | Apr 2008 | B2 |
8300219 | Gordin | Oct 2012 | B1 |
8854594 | Densham | Oct 2014 | B2 |
20020176603 | Bauer | Nov 2002 | A1 |
20120050535 | Densham | Mar 2012 | A1 |
Number | Date | Country |
---|---|---|
0814344 | Dec 1997 | EP |
Entry |
---|
Volpe, R. and McAffee, D.; A Robotic Lighting System for Solar Illumination Simulation; IEEE International Conference on Robotics and Automation, 1994. vol. 4, pp. 3474-3479. |
Moreau, Jacinthe; International Search Report from corresponding PCT Application No. PCT/CA2013/050003; search completed on Mar. 7, 2013. |
Number | Date | Country | |
---|---|---|---|
20150003084 A1 | Jan 2015 | US |
Number | Date | Country | |
---|---|---|---|
61583593 | Jan 2012 | US |