Nice document.
They only used a second order fit, and then with only 4 decimal digits.
There is also a noticeable digital step effect showing at distances > 0.5m
I can see no mention of compare of multiple units, from different build batches, or temperature.
It looks like Sharp may already have a Digital-fit built into these units, (but not a second order one )
- wonder if they Temp compensate too ?
The Black/White change was also low. Quite nice looking sensors really.
I came across that interesting document several days ago, gave it a fairly good reading, and tried to comprehend what I could. In a couple days, I will have two different models of the Sharp IR distance sensors. When I receive them, I can do some testing, and try different things.
EDIT: And by the way, my target for testing and actual application will be a Kodak grey card.
Commercial use can sometimes specifically mean selling the software as a product or part of a product. As opposed to just using it "in-house".
That would all depend upon the specific terms of the licensing agreement. Basically, commercial use means that it will be utilized to make money, however, some license agreements specifically define commercial use as resale, etc... In this case, the license agreement states:
* You may use this class for non-commerical purposes. If you wish to use this *
* software for a commercial pupose please contact Ascended International at: *
* mark@ascended.com.au *
If this software was being used "in-house" and was beneficial to making a profit, and if there was not a written agreement between the user and the author, I would say that infringement was occuring. By using the software in house, I would say the odds of getting caught would be slim to none, but you could still be found liable, if it was proven that the software assisted in making a profit. However, more specifically in my case, this software will not be resold, but it will not remain in house either. The software mentioned would become part of other software and distributed for use without transferring ownership. In other words, I would own the main software, but allow customers to temporarily use it.
To avoid possible litigation, my best course of action is to contact the license holder as stipulated in the license agreement, to see if we can agree on some type of licensing arrangement.
The best course of action is to find out what the sensor produces as output, create your own polynomial or look up table and create your own measurement code. The whole thing is not so big or complex that you cannot do that for a commercial use. I'm sure you have tackled harder programming tasks. Besides it sounds like an interesting thing to do.
The best course of action is to find out what the sensor produces as output, create your own polynomial or look up table and create your own measurement code. The whole thing is not so big or complex that you cannot do that for a commercial use. I'm sure you have tackled harder programming tasks. Besides it sounds like an interesting thing to do.
Considering that I now have more time than money, I agree completely. However, when I am finished, I will compare the results of my software against the results of his software. If his software is significantly more accurate than my software, then I will have to reevaluate my stance, and take a long hard look at what the author wants for the use of his intellectual property.
Just had a quick look at a data sheet for thhe device. They make no mention of expected accuracy. They do indicate that all sorts of things can detract from it's accuracy, like:
a) Ambient lighting.
b) Differnet colours of target.
c) Patterns of contrasting colour on the target.
d) Dirt and dust.
No doubt temperature may have an effect.
For sure to get maximum accuracy you are goint to need to operate the thing in carefully controlled conditions. And calibrate individual sensors. Question might then be what are you goint to calibrate against and what accuracy will that have.
Given all of this it seems having that software work down to dozen decimal places is just silly.
I just wanted to take a moment and refer back to this post.
I am not sure how much the forementioned factors will affect the output of the sensor, but I do agree that testing and calibration should take these factors into consideration.
Items b) and c) will be eliminated by the use of a grey card for a target background.
Test setup should include sensors for ambient light and temperature readings.
Until it can be established that these factors are inconsequential from sensor to sensor, each sensor should be tested with different factors.
As for the dust and the dirt, I would simply pass this responsibility onto the customer. It will be the customers responsibilty to periodically clean the IR sensor per my instructions. If a service call must be made due to poor operation of the equipment and if it is determined that the poor operation was due to a dirty sensor, then a service fee is surely justifiable.
Refering back to testing and calibration. I think a test chamber with adjustable temperature and lighting would be most helpful in determining the consistency of sensor to sensor accuracy.
Bruce
EDIT: If it is found to be justifiable, then the end product should also include sensors for ambient lighting and temperature.
Both of my sensors arrived sometime last week, but I have been delaying the testing, because I want a setup that easily moves repeated and predetermined distances. I was going to make a 2 foot linear actuator for this purpose, but I gave up before even getting started, because I lost my ambition, when I started thinking about all the work involved. As I awoke this morning, it dawned on me that I already have an approximate 7' linear actuator just sitting around at the moment. The packaging machine that I built a while back, just might do the trick, however, I am unsure of the accuracy, because it utilizes v-belts for the drive instead of timing belts. So later today, I will fire up the ole' packaging machine and check the linear movement accuracy. If it turns out to be fairly accurate, then it should provide a decent test environment, because it has 10" high side walls that would help to block stray light and hold the temperature at a more constant level.
As for the use of Kodak grey cards, I have changed my mind about using these, simply because they are pretty darn expensive and cost prohibitive. I just wish I knew the surface brightness and texture finish, so that I find a good substitute. Perhaps something acid free to prevent discoloration from aging. Any suggestions?
If it were me I might just hot glue the edge of a square cut out of chip board or ply to the end of a regular metal tape measure. Attach the sensor to the top of the wooden square pointing back to the tape spool housing. Now hot glue your card to the housing of the tape spool, perpendicular to the tape of course. Now lay the whole arrangement out on the bench and stretch out the tape as much as you like. Use some heavy objects to hold the sensor on its block and the tape spool steady as you take measurements.
There we have it a cheap and cheefull measurement set up. If my description makes any sense. Accurate to 1mm which is all I would ever expect here.
As for the card, no idea but what's wrong with regular white laser printer paper? If it yellows with age or whatever just replace it.
Even though this is my initial test, it is intended for a commercial project and product, to be reproduced on a regular basis.
While I truly appreciate the value of suggestions, the GP2Y0A21YK0F sensor has a supposed range of 10 to 80 cm and the GP2D120XJ00F sensor has a supposed range of 4 to 30 cm, and if I was to do this manually, seeking 1 mm accuracy, that would amount to 96 times of fumbling with a tape measure, weights, etc.... Providing that the packaging machine is fairly accurate in linear travel, I only need to attach the target to the package advancing mechanism, place the test setup in front of the target, and then move the target away from the test setup programatically, while seriallly sending the values to a PC. Additionally, until accuracy consistency can be proven, I will need to test at least several parts with the same part number. In fact, since this actuator is currently unutilized, it may become part of quality control to test the accuracy of each sensor or to set unique table values for each sensor that may be encountered.
As for the target, it will only be used to calibrate and test each individual sensor. In the field, there will eventually be thousands of identical targets, so a durable and non-yellowing target is of the utmost importance, because of all the time and effort that it would take to replace them.
My boss on that project used to say "If you think you need floating point to solve the problem then you do not understand the problem".
If one were to use 32-bit fixed-point unsigned math, and scaled the problem so that 100 cm equals MAXINT, a value of 1 would be about 2 Angstroms, the length of the hydrogen bond between adjacent water molecules.
As mentioned earlier, it was my intention to use a linear actuator for testing various Sharp IR distance sensors, and so for the last couple of days, that is what I have been thinking about and working on. I came to the conclusion yesterday that it sure would be nice to have another linear actuator to create sort of an X and Y table. Well it just so happened that I had the Spring Remover disassembled from the Spring Bender CNC, so I decided to temporarily adapt that to the linear actuator of the Packaging CNC machine. I am no where near to completing this project, but hopefully by the end of today or tomorrow, I should have the mechanical and electrical work complete, which means that I should have an XY table test rig, and all that will be left is the programming. The programming should not be to difficult, considering that I have all the code available for the various parts of the machinery, but I will still need to create the code for interfacing the sensors and getting the data where I want it.
By using an XY table with belt and stepper driven linear actuators, I should be able to do some very comprehensive experimentation with these sensors, and push them near or exceed their limits.
By using an XY table with belt and stepper driven linear actuators, I should be able to do some very comprehensive experimentation with these sensors, and push them near or exceed their limits.
Sounds good, just one minor comment on the curves seen this far, is the lack of backlash tests - ie plots in both directions.
Some plots showed clear 'digitize' steps, so you should anticipate that, and see if the edges are in the same places ++ & --
The X stage does not have much travel, probably about 12 inches or so, but that should be good enough for my needs. As for the Y stage, there is plenty enough enough travel to test a wide variety of IR or laser distance sensors, providing the actuator is fairly accurate. Running it back and forth several times seems well within reason to me, simply to check consistency, and as an added bonus, to compare test plots in both directions as you suggested.
I am not sure exactly what I am going to do with the data just yet, but I am thinking about importing it into Excel.
Oh and by the way, adding the X stage has created new and unwanted problem for me. It appears as though I may have to create a mini circuit board to enable connection of the sensor to the Propeller BOE. The cable I ordered isn't near long enough to avoid snagging during motion, so I am thinking of a small circuit board with 2 X 3 DIP pins, or something similar, just so I can add an extension cable. It is always something.
It sure would be nice to have two XBee modules at this point.
Comments
Nice document.
They only used a second order fit, and then with only 4 decimal digits.
There is also a noticeable digital step effect showing at distances > 0.5m
I can see no mention of compare of multiple units, from different build batches, or temperature.
It looks like Sharp may already have a Digital-fit built into these units, (but not a second order one )
- wonder if they Temp compensate too ?
The Black/White change was also low. Quite nice looking sensors really.
I came across that interesting document several days ago, gave it a fairly good reading, and tried to comprehend what I could. In a couple days, I will have two different models of the Sharp IR distance sensors. When I receive them, I can do some testing, and try different things.
EDIT: And by the way, my target for testing and actual application will be a Kodak grey card.
That would all depend upon the specific terms of the licensing agreement. Basically, commercial use means that it will be utilized to make money, however, some license agreements specifically define commercial use as resale, etc... In this case, the license agreement states:
To avoid possible litigation, my best course of action is to contact the license holder as stipulated in the license agreement, to see if we can agree on some type of licensing arrangement.
Bruce
Considering that I now have more time than money, I agree completely. However, when I am finished, I will compare the results of my software against the results of his software. If his software is significantly more accurate than my software, then I will have to reevaluate my stance, and take a long hard look at what the author wants for the use of his intellectual property.
Bruce
I just wanted to take a moment and refer back to this post.
I am not sure how much the forementioned factors will affect the output of the sensor, but I do agree that testing and calibration should take these factors into consideration.
- Items b) and c) will be eliminated by the use of a grey card for a target background.
- Test setup should include sensors for ambient light and temperature readings.
- Until it can be established that these factors are inconsequential from sensor to sensor, each sensor should be tested with different factors.
- As for the dust and the dirt, I would simply pass this responsibility onto the customer. It will be the customers responsibilty to periodically clean the IR sensor per my instructions. If a service call must be made due to poor operation of the equipment and if it is determined that the poor operation was due to a dirty sensor, then a service fee is surely justifiable.
Refering back to testing and calibration. I think a test chamber with adjustable temperature and lighting would be most helpful in determining the consistency of sensor to sensor accuracy.Bruce
EDIT: If it is found to be justifiable, then the end product should also include sensors for ambient lighting and temperature.
Both of my sensors arrived sometime last week, but I have been delaying the testing, because I want a setup that easily moves repeated and predetermined distances. I was going to make a 2 foot linear actuator for this purpose, but I gave up before even getting started, because I lost my ambition, when I started thinking about all the work involved. As I awoke this morning, it dawned on me that I already have an approximate 7' linear actuator just sitting around at the moment. The packaging machine that I built a while back, just might do the trick, however, I am unsure of the accuracy, because it utilizes v-belts for the drive instead of timing belts. So later today, I will fire up the ole' packaging machine and check the linear movement accuracy. If it turns out to be fairly accurate, then it should provide a decent test environment, because it has 10" high side walls that would help to block stray light and hold the temperature at a more constant level.
As for the use of Kodak grey cards, I have changed my mind about using these, simply because they are pretty darn expensive and cost prohibitive. I just wish I knew the surface brightness and texture finish, so that I find a good substitute. Perhaps something acid free to prevent discoloration from aging. Any suggestions?
Bruce
There we have it a cheap and cheefull measurement set up. If my description makes any sense. Accurate to 1mm which is all I would ever expect here.
As for the card, no idea but what's wrong with regular white laser printer paper? If it yellows with age or whatever just replace it.
Even though this is my initial test, it is intended for a commercial project and product, to be reproduced on a regular basis.
While I truly appreciate the value of suggestions, the GP2Y0A21YK0F sensor has a supposed range of 10 to 80 cm and the GP2D120XJ00F sensor has a supposed range of 4 to 30 cm, and if I was to do this manually, seeking 1 mm accuracy, that would amount to 96 times of fumbling with a tape measure, weights, etc.... Providing that the packaging machine is fairly accurate in linear travel, I only need to attach the target to the package advancing mechanism, place the test setup in front of the target, and then move the target away from the test setup programatically, while seriallly sending the values to a PC. Additionally, until accuracy consistency can be proven, I will need to test at least several parts with the same part number. In fact, since this actuator is currently unutilized, it may become part of quality control to test the accuracy of each sensor or to set unique table values for each sensor that may be encountered.
As for the target, it will only be used to calibrate and test each individual sensor. In the field, there will eventually be thousands of identical targets, so a durable and non-yellowing target is of the utmost importance, because of all the time and effort that it would take to replace them.
Bruce
As mentioned earlier, it was my intention to use a linear actuator for testing various Sharp IR distance sensors, and so for the last couple of days, that is what I have been thinking about and working on. I came to the conclusion yesterday that it sure would be nice to have another linear actuator to create sort of an X and Y table. Well it just so happened that I had the Spring Remover disassembled from the Spring Bender CNC, so I decided to temporarily adapt that to the linear actuator of the Packaging CNC machine. I am no where near to completing this project, but hopefully by the end of today or tomorrow, I should have the mechanical and electrical work complete, which means that I should have an XY table test rig, and all that will be left is the programming. The programming should not be to difficult, considering that I have all the code available for the various parts of the machinery, but I will still need to create the code for interfacing the sensors and getting the data where I want it.
By using an XY table with belt and stepper driven linear actuators, I should be able to do some very comprehensive experimentation with these sensors, and push them near or exceed their limits.
Bruce
Sounds good, just one minor comment on the curves seen this far, is the lack of backlash tests - ie plots in both directions.
Some plots showed clear 'digitize' steps, so you should anticipate that, and see if the edges are in the same places ++ & --
The X stage does not have much travel, probably about 12 inches or so, but that should be good enough for my needs. As for the Y stage, there is plenty enough enough travel to test a wide variety of IR or laser distance sensors, providing the actuator is fairly accurate. Running it back and forth several times seems well within reason to me, simply to check consistency, and as an added bonus, to compare test plots in both directions as you suggested.
I am not sure exactly what I am going to do with the data just yet, but I am thinking about importing it into Excel.
Bruce
It sure would be nice to have two XBee modules at this point.
Bruce