a Pool Player Robot


Saturday, December 14, 2002
It's a long time I haven't updated this page. Having TOEFL exam on Dec 27, I have postponed all activities related to this project and I'm preparing myself for the TOEFL exam. Just a brief of what has happened during these days:
There is a deal, as Dr. Vosoughi offered me to help them designing an interface for their robot in price of having the mechanical part of Hustler designed by their team. well, that suits me fine. I'm free to use any tools and utilities I want but after having advises of Mr.Sanjari in Biomechanic lab of Mechanical faculty, I think the "Labview" software is my final choose. I think it will take about 4-8 weeks having the design complete and I really hope they will finish the design of mechanical part of Hustler by that time.
That's all for now. This page will not be updated at least till January 5th. Hope There will be a quick progress after this delay.



Monday, October 14, 2002

Timing belts: The last hope

Consulting a professor in Mechanical engineering faculty, I've found that timing belts suits me fine. I thought they will be streched after a period of time, but Dr. Vossoughi ensured me that metal timing belts have enough accuracy (0.01 ~ 0.1 mm) to be used in such a design. He had also a good news for me. Tthat is, his ex-students have designed and implemented a gantry robot capable of "Monabbat kaari", a traditional art of iran which is to cut out high resolution patterns on a thick wooden plane. The main idea is the same as mine: it moves on a Cartesian plane, uses the given (x,y) for positioning the cutter arm. Unfortunately I could find neither the in charge students nor the documents searching the library. I have to ask Dr. Vossoughi the exat title of the project.
Searching the net, I have found a manufacturer (Belt Technologies, Inc) which produces different kinds of metal belts. As is written in the web site, it seems that they can saticfy high precision, repeatable applications. I have to send an email explaining my design, and ask for their comment to choose the most suitable kind of belt they have for such a robot. I hope I can get enough capital from university to order the related parts. I think it is much cheaper than long ball screws, or at least I hope so!

Correction: I said that Mr. Richmond and Green have used "worm gears" in RIPPP project but in the last email I had from Mr. Richmond, he mentioned that they have used "ball screws", not "worm gears".




Monday, October 07, 2002
Well, ball screws are too expensive and I can’t use them. They were exactly what I needed. :(
Anyway, studying ball screws, I have got some new ideas to simulate what a ball screw does. I will try to make a tiny sample first, and if the design was successful I will try to use it in the main robot. The first idea is the simple idea of a bolt and nut: a stepper motor rotates a long screw that has passed through a fixed nut, leading the screw to move forward and backward. The second Idea is very similar: in this approach, the stepper motor rotates the nut and the screw is fixed. The linear motion of the nut is what we need.
I think I can get a stepper motor from Sa’di Street. I will go to find one tomorrow, plus I have to call a company who makes billiard tables and I find an advertisement of it in Hamshahri newspaper. I hope I can manage to get a real billiard table, not those God-damn toys for kids. Hamed has also introduced me a weblog, which is describing the concepts of robotic in Farsi. Thanks Hamed for his help.
I will appreciate it, if any visitor browsing this page drop me a note, including comments, introducing related sites, books, and any answer he/she might have.




Wednesday, October 02, 2002
It is obvious that the hardware and mechanical part will put some constrains on the software and control part of the project, so it has been decided the first step to be the design and implementation of robot hardware. This is a gantry robot, and to move through X-axis and Y-axis, we have to somehow transform the rotational movement of the motors to linear movement. So, there are two basic problems here: Choosing the motors, and the way it’s rotation is transformed to linear motion.
The first candidate for the motor is the stepper motor as it is simple to use in a open loop control. No doubt a closed loop control is more satisfying, but of course in cost of more complexity. Servo (DC) motors are candidates for closed loop control but I think I will focus on usage of stepper motors.
The next step is to transform the circular rotation to linear movement. The first think comes to mind is using a belt, but it might not lead to precise movement control because it is not a completely rigid body and the parameters (length for example) will change in time (of course the changes will not be so much but still it affects the precision of locating the actuator arm).
As I read the progress report of RIPPP project (done by Mr. Richmond and Green), I noticed they have planned to use “worm gears� for this purpose. I wonder why they have decided so because worm gears are used basically to reduce the rotational velocity of the gear not for changing the circular to linear motion. A better choice is “Rack and Pinion gears� which are frequently used for this kind of transform, but I still doubt using them because the equation in this transform might not be always linear. The best choice seems to be the “ball screws� which is both precise and linear. The main restriction of ball screw might be the speed of linear motion, which is not at the first stage of importance.
Anyway, there is one serious subject in my work: availability. I hope I can get desired devices without any serious difficulty.




Tuesday, October 01, 2002
Today I got two encouraging emails: First, which was really a good news, was an email from Mr. Josh L. Richmond, who had have a project called "Robotic Image Processing Pool Player (RIPPP)" that I mentioned before. His email was quite encouraging and I think I can get great helps from him. The other email was from Mr. Shing Chyi, Chua , the Malaysian student who is working on a very simillar project and I hope we will learn much from each other. Also two undergrad students told me they are interested in participating this project. One is my friend, Mehdi who has some good experiments in robotics and the other is Mis. Zehtabi. Seems everything is quite good till now. The only thing remains is that we are not sure that they will agree Elmira to be the team-mate for this project because she is student of computer science and their faculty says she have to take a project by her own, not as a teamwork!

My professor, Dr.Bagheri, insists to use a plotter for position control but it will bring some serious limitations on the size of table, actuator arm and so on. I hope I can rapidly built such a gantry robot myself and not to use a plotter. It's enough difficult to find a working plotter between the junks in the university, and to get permission to use it and make the parts apart is another story.



Wednesday, September 18, 2002
As I have searched the net for weeks, it seems there are only two similar projects done before. First, it's "Snooker machine" by Professor Koorosh Khodabandehloo, university of Bristol (UK) at 1988. This is too old to count on, and unfortunetely there is no link to find professor khodabandehloo. I have no idea where he is now, and seems no one knows.
The second, is "Robotic Image Processing Pool Player" (RIPPP) by Josh Richmond and Jim Green, which have been BSc students at Waterloo university, Canada. I have traced Mr. Richmond and Green, but unfortunetly I couldn't have managed to find an email address of them yet. I think this might be a great help if I find one of them and ask to know if there is any document of that project.




Tuesday, September 17, 2002
This weblog dedicates to my MS project. I think this might be a good idea to have some daily notes about it's improvement step by step. The exact title of the project is: "Hustler, a billiard machine". Of course billiard is a general term and to be more specific, this will be a snooker machine because of some technical reasons, mainly the machine vision.
The main goal of the project is to design and implement a gantry robot (a robot which its arm'sposition is determined by moving on two axis, X and Y) with ability to play snooker with an acceptable skill. The main characteristics are:
1- To detect the position of balls on the table (afterward called "pool").
2- To choose the best ball to be the target ball. Probably a fuzzy algorythm has to determine shuch a ball among all the balls in the pool.
3- To move the actuator arm right above the pitock (the white ball), set the angle and the power of the shot, and also the place on the pitock which is desired to be hit by the stick.
4- To detect any fault by the opponent, and calculate the scores.

I'll write more about it, the current ideas I have, the challenges and the problems I will probably face to.