HARDSHIP MAKES YOUR TASK PERFECT
Hardware projects are not that much easy to implement. Lots of issues arise and make the task really difficult. Every time we see the outcome of the task, we can never guess the workload behind it.
1. THE DIP ISSUE
Initially, we decided that we would sort the coins by capturing images and processing the images so that we could identify the inscripted coin value. We had faced various problems while we were working with digital image processing.
a) At first, we tried 'Template matching'. The idea of 'Template Matching' was to find the template image in a whole image. It always could match if the template image was derived from the image we were going to examine. But if these two are different images it could not match. For example if a template of 5 taka coin was taken from the image of a 5 taka coin then that coin image can be detected with 100% match. But any different image of a different coin with the same 5 taka value would give a match of only 20-30%.
b) We thought if we could make the image noiseless and sharpened it might match with the template image. That's why we used thresholding and various filter for image enhancement. We used laplace transformation and sobel filter to make the edge more visible. but no transformation worked out.
c) 'Template Machine' has no support in scale and rotation issue. IF we had any image with different angle or size than the template then it was not possible to find any kind of match.
d) We also used hough transformation so that we could isolate shapes and than adding it with original image but nothing worked out. All the transformation we performed went in vain as the desired portion and neighbourhood of it are all the same. There was not any distiguishable property to detect the "coin value image". Moreover, illumination of the image had a huge effect on distorting the actual image.
e) Edge detection of coins was not possible at all. All the printed images on the coins has same color. So there was no color differece that could be corporated with edge detection.
f) The illumination of the images and background play a huge role in case of any kind of image analysis. We didnt had any way to ensure the same background color and illumination every time.
For all these reasons, we decided to give up the idea of processing images and move on to Weight Measurement.
2. FAILURE IN APPLYING MACHINE LEARNING
One of our course teachers suggested us to use some kind of machine learning for the detection purpose. We started to have a view on SVM i.e. support vector machine library. But the time boundary was not that much big and as a result we could not got enough time to learn all of it apply it. Also for learning purpose we had to use almost thousands of samples of the same valued coin. But that was not practically possible for us.
3. SUDDEN CHANGE IN COMPUTATIONAL PLATFORM
As we first thought that we had to go through "Digital Image Processing" we needed heavyweight processing tasks. So, we bought 'Raspberry Pi' as our computational unit. But when we moved on to 'Weight Measurement', we realized that there was not any suitable library for interfacing 'Load Cell' with 'Raspberry Pi' but 'Arduino' has. So , We had to switch computational platform from Raspberry Pi to Arduino.
4. EXTRA MONEY
As we had to buy 'Raspberry Pi' at first go, it costed us a good amount of money. However we had to change the platform. Also one of our main component 'Load Cell' started malfunctioning and we had to buy another one. So the these expenditures were in vain and we had to pay the penalty of extra changes.
5. LOAD CELL ISSUE
We used 500 gm load cell but the load cell we got was not up to the level. The wires connected to the load cell were too delicate, one got out of order in the middle of working before half submission date. We had to buy another immediately. Besides, we did not always get the same initial value. Then we detected that it was because of not getting the actual pressure every time. We fixed this by floating the load cell as far as we could.
6. POWER ISSUE
We had 3 servo motors and also a load cell amplifier. And we had to power up all of them at the same time. Servo motors are typically power sensitive. They start abrupt rotation in case of power crisis. At first we decided to use an external power source to power up all the devices. But the power crisis issue arised and all the motor started to show random movements. After that we used the 5v VCC pin of the arduino. Then after some initial unwanted results they started working correctly. However, the problem still persists. Every time all three servo motors starts showing random movements at the time of bootup. And they become stable after a few times.
7. PRECISION ISSUE
We wanted to make the full system automated. We wanted to create a coin queue and a coin taker will take exactly one coin at a time. It was a big challenge. We needed card board as thin as a coin might be. Eventually, we managed to do so perfectly by using trial and error process. Moreover, we had to measure and make pieces of the structure as accurate as we could. When three motors rotate, the coin taker,brush and the sliders - all the three shake the whole system. In order to make it stable, we had to work with balancing isssues.