Posts

Showing posts from April, 2019

Weekly Update (Week 3)

Image
Week 3 This week we continued to make progress in the software department. The Program is able to identify the magnet as it moves through the dish. We now just have to add the logic so that it will move the dish when it senses the ball's location is under the radius line. We also made a graphical user interface for the program to make it easy to learn how to use. GUI Upon launch Example of the test button function Run Program button example The test button shows the binary image that the program will run the blob detection on. If the ball is not visible you can change the Gaussian Blur. The camera number changes which camera the system will use. If you are using the primary camera the camera number is 1, an external camera number is 2 etc. The Blob detection min area slider changes that minimum pixel area that a blob must be in order for the program to detect it. The processes per second slider changes how many times the program broadcasts the coordinates of the ...

Weekly Update (Week 2)

Image
Week 2 We are making a decision to not draw a circle on the bottom of the dish. We feel like the circle could be much more easily added in software so that it would not add an extra step of image processing. This allows us to apply a harsh binary filter to the image so we only get the magnet itself. It also removes the distraction of the dark circle so that the blob detection will work more efficiently. We also were given an added challenge of stopping the ball's motion after the path has been traced. This will require us to move the magnet after we detect a full circle has been traced. We came up with two solutions to this issue: Move the magnet away from the dish with a linear extension device and a DC motor. Turn the dish quickly away from the magnet to the furthest point. The second solution would be ideal as it would keep our costs down, but it may be hard to implement. We would need to perfectly place the external magnet to the point where when the ball is at the top...

Weekly Update (Week 1)

Image
Week 1 This week we were introduced to our challenge. We came up with an initial list of problems we think we may face and assigned roles to each group member. In lab, we learned the basics of controlling a motor with an Arduino board. In addition we also designed a part to be 3D-printed which will be fit into the teeth of the motor. It is shown in figure 1 Figure 1 If the part fits well, we will design a base for the dish to rotate on. We still need measurements on the dish and camera to print the rest of the structure. We hope to get more information on this next week in lab. We also have formed a good basis for our image analysis code. Using pictures given in the lecture slides of a possible setup, we have created a python program using the opencv module. We use this to detect the circle drawn at the bottom of the dish and the magnetic ball to be controlled. As shown in the pictures the program draws a gray circle around the track drawn under the dish and a whi...