|
|||
Non Electrical Engineering asking for possible solutions to a problemEdwards Finance > Electrical Engineering Q. I'm writing software to track billiard balls on a pool table. I need an accurate way to track the balls. Each ball would have to be uniquely identified. I've thought about using a video camera, but it would require a high ceiling to be overhead or some complex calculations if it is at an angle, then there is the issue of writing recognition code to find the balls. I suspect it wouldn't be the most accurrate or the fastest solution in the world. Is anyone aware if it is technically possible to implant a tiny non-powered (or battery powered if it lasts a long time) chip into each ball? Then, perhaps through some sort of triangulation method, the location of each ball could be communicated to within an inch or so of their location. If this information could be communicated several times a second too, that would be most ideal. Then, perhaps with the devices that do the triangulation, I could figure out some way to send that data to a pc running software that could provide this information. I'm a software engineer, so my limitation is in trying to imagine the hardware aspects of what I'm trying to do. Is this something that can be done? I'm not entirely sure what billiard balls are made of, but I could find out (if that might impede a signal). I believe they are made of some sort of hard plastic. Any thoughts would be greatly appreciated! A. -Honestly a vision system is a good solution. What more could you ask for: you've got a continuous-color green backdrop to do object detection, all the balls are different colors or have a highly-visible white stripe. No need to try modifying the balls. Other solutions require a highly modified table and ball set; maybe if you had a pressure-sensitive matrix under the padding, you could track the location of each ball in realtime if your system was fast enough. There are a lot of quick motions on a pool table, but you're helped by the fact that no two pressure points can be closer than the diameter of a pool ball. Pool balls are decently weighty too. Radio-triangulating would be exceptionally difficult at that distance and with so many points, also complicated by the fact that the balls will be spinning along and changing the signal strength as the antenna rotates. Some kind of radio-detection grid under the table would be pretty intensive and also difficult to get any good resolution out of. -Vision might be the easiest but there may be a couple of problems to overcome. Consider that if the stripes wind up horizontal, they would look just like the solid colored balls from the top If the balls were striped with two striped that are perpendicular to each other. That may help. Also, you would have to of course use green felt and not blue. -There are numerous solutions: Visual will be the cheapest, Software can compensate for the angle of the camera if it is not dead center above, but looking from aside. The calculatrions are not all that complex, particularly compared to the complexety of the entire task, which is not necessarily that complex. How fast do you need to know all the positions? Real time or analysis after a shot. i.e. that data can be collected real time and analyzed real time or analyzed after the fact. The first is necessary for intercepting things, the later is fine for post mortem analysis. Yes it is possible to implant location devices for tracking, but, you're talking some significant $ for the whole setup. Video should do fine. -Actually, the pool balls stripes are usually pretty wide, and extend down from both poles with the wide colored band in the middle. There is no angle you can view a striped pool ball from, and not be able to tell both that it is striped and what color it is. The video system merely needs to separate the balls from the backdrop, detect the various colored areas correponding to each ball, if a colored area's shape is too odd to be a sphere, add the adjoining white area and attempt to match that shape. The software would need to sort shapes starting with the easily identified circles (as they would be in front relative to the camera), then use those to know where to account for one ball's image being occluded by another. Of course this is less of a problem if the camera is mounted directly above the table. Optimize the processing algorithm enough, and the computer might have time to pick up a cue and get in a few shots as well! -That is one of the problems I had considered too. There are others, like when all the balls are in the rack, it might be hard to tell where one ball ends and another begins. Plus a ball or several balls could be in a pocket, I'd have to code for where the pockets are so I don't look for balls there and think they are on the table. There is also the problem of the shooter and the cue stick being on the table interfering with the recognition system. The camera would have to be solidly mounted and any slight movements might mean a recalibration in the software of where the pool table is (of course, unless I can just scan and find it myself). I'd need to be able to find the edges of the playing surface which can be difficult since the felt rides a couple inches up the rail. I'm hoping this uses a sort of standardized system so that one person can build a database of shots that he makes and his percentage of making them. His next door neighbor can also do the same on his table and the coordinates work out the same. I'd have to adjust for how big the table is in the video and do some calculations to compensate for different zooms if my software knows how big the table is physically. Ultimately, what I want to see/sell is a service to people like ESPN2 (who occasionally show billiards on TV) to make pool more TV friendly. You never watch a baseball game without getting all sorts of percentages. If there was a player shooting a game winning shot, it would be nice if the announcers could say how often he has shot it in the past and how often he made it. Also, something that would make pool more TV friendly is if I could communicate how hard (speed of the cue ball) the shooter hit the break shot with. It's those little things that I think would make pool more TV friendly and entertaining for people to watch. Plus, people at home could setup the same shots and try things themselves and measure their break speed too. The speed things (tracking a cue ball during a shot) is why I needed several iterations per second. Of course, a video camera will easily do between 24 and 30fps. I suspect that would be perfect for my purposes. However, I doubt I will be able to perform the analysis of the data in real-time. There will have to be some delay. That is just a side-effect of me having to look for the balls rather than having a system where the location of the balls are communicated to me.
Other Questions: Is software engineering really "engineering" I happen to believe that the discipline of "software engineering" can be as rigorous as other, more tranditional, engineering. I also believe that nobody deserves to be called an "engineer" unless that person has, at least, a four year degree i... Electrical Engineering schools in Canada and the U.S.I have a choice to study electrical engineering in either Canada or the United States. My high school math and physics marks are in the high-80's and should get me into most schools- I hope. Can any one here suggest where I might find informati... Calculator for electrical engineering studentI'm starting back to school this fall for a degree in EE and I'm wondering what calc the majority of you prefer, used as student, or use in your daily work. I currently have a Ti-85 which has served me well for many years, but after doing a li... Need help with engineering carrer choices?I was wanting to know what does your typical engineer do on the job day to day. Here is what I am interested in. -------------------------------- I. electrical II. mechanical III. chemical (particulary this one) IV. and ot... engineering student needs adviceI'm currently a engineering student trying to decide between mechanical or electrical engineering. I'd like to work in the automotive industry ideally for one of the big three. I'm not sure which degree I should be pursuing. Both electrical and...
|
Ask a Question PFBlog Student Loan Computer Engineering Bankruptcy Refinance Debt Management Personal Budget Electrical Engineering |
||
|
Copyright 2005 Finance Q&A |
|||