Go to Post The ever popular Safety Tip Of The Day: Do Not Lick Wheel While In Motion The other popular one was: Remember Stupid Hurts - Joe J. [more]
Home
Go Back   Chief Delphi > Technical > Technical Discussion
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 15-03-2008, 23:09
bobdahaxor's Avatar
bobdahaxor bobdahaxor is offline
Making the impossibe... possible
AKA: Andrew Lane
FRC #1727 (Dulaney robotics)
Team Role: Leadership
 
Join Date: Jan 2007
Rookie Year: 2006
Location: Baltimore
Posts: 40
bobdahaxor is an unknown quantity at this point
HELP!

So today we completed our first regional at chesapeake. WE have had some issues with our drive train and I was wondering if anyone can provide a diagnosis solution or share if they have a similar problem. Our drive train consists of two banebot transmissions 12:1 reduction which are in the front which are the sources of power. They have traction wheels but we flipped the tread upside down. In the back we have two omni wheels. so 4 wheels front wheel power / drive. We are having issues turning, but none straight! Originally at the play date we had no issues. Then we get to chesapeake (with the traction side down) and it would not turn. We flip the wheels over and it kinda turns now, but the front moves as well as the back plus we slip a lot. When the traction was on the wheels, we could turn while moving. (sounds like not enough torque to me). We have no electrical issues, we replaced the battery and joystick. In addition, we replaced the entire transmissions (easy to take off) and we cannot find a feasible solution except decrease the speed. We are going to do that but I have some doubts that it will work. We can get at 117 (we are at 119.5 now) so what is proposed (if a solution is proposed) needs to be light weight! Any help / knowledge is appreciated! Thanks!

Pic:
http://uploads.dulaneyrobotics.com/2...w/DSC02433.JPG

http://uploads.dulaneyrobotics.com/2...w/DSC00668.JPG
__________________
REX 1727
2008
Chesapeake Regional - Gracious Professionalism Award
Philadelphia Regional - Best Website Award
2007
Chesapeake Regional - Chairman's Award
Chesapeake Regional - Industrial Safety Award
Trenton Regional - Kleiner Perkins Caufield and Byers Entrepenuership Award
2006
Chesapeake Regional - Highest Rookie Seed
Pittsburgh Regional - Rookie All-Star Award
Pittsburgh Regional - Best Website Award
www.dulaneyrobotics.com
  #2   Spotlight this post!  
Unread 15-03-2008, 23:17
BornaE's Avatar
BornaE BornaE is offline
Registered User
FRC #0842 (Formerly 39)
Team Role: Engineer
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Gilbert, Arizona
Posts: 359
BornaE has a brilliant futureBornaE has a brilliant futureBornaE has a brilliant futureBornaE has a brilliant futureBornaE has a brilliant futureBornaE has a brilliant futureBornaE has a brilliant futureBornaE has a brilliant futureBornaE has a brilliant futureBornaE has a brilliant futureBornaE has a brilliant future
Re: HELP!

The problem is that your back wheels are the omni wheels, if somehow you put your traction wheels inthe back (and you motors) it would work.
__________________
-Borna Emami
Team 0x27
  #3   Spotlight this post!  
Unread 15-03-2008, 23:27
Rick TYler Rick TYler is offline
A VEX GUy WIth A STicky SHift KEy
VRC #0010 (Exothermic Robotics)
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2005
Location: Redmond, Washington
Posts: 2,000
Rick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond repute
Re: HELP!

I agree with the last post. Have you ever noticed how much harder it is to steer a car going backwards? It's a lot less directionally stable than when it's driving towards the maneuverable wheels. The farther back you can move your drive wheels, the better off you'll be. Could you move your drive wheels to the center and put casters or even just skids on the front? It looked strange, but I saw a very drivable FRC chassis with traction wheels in the center, and fixed (non-swiveling) hard plastic casters (like from Home Depot) on each end. The casters rolled great in a straight line, but the hard plastic let them easily skid sideways. Simple, light and cheap -- perfect engineering.

A lot of very good chassis have drive wheels in the middle and two omnis at each end. We have two very successful FTC robots -- one has four driving wheels almost touching in the back (picture the dual wheels on a big rig tractor) and unpowered omnis at the front, and the other has driven traction wheels in the middle, driven omnis at back, and a pair of unpowered omnis on the front. The first bot ("Plan B") has the advantage of never being trapped next to a wall -- it can always pivot away. We actually have three successful FTC robots, but the third one is only 2-wheel-drive with unpowered omnis on the front.

Frankly, I don't think I've ever seen a chassis laid out with traction wheels at front and omnis on the back.

EDITED: The FRC bot with the fixed plastic casters had a problem with turning too fast. With the casters, the slew rate slowed enough for the bot to track straight and still turn like a -- well, like a thing that turns really fast.
__________________
Exothermic Robotics Club, Venturing Crew 2036
VRC 10A, 10B, 10D, 10Q, 10V, 10X, 10Z, and 575

Last edited by Rick TYler : 15-03-2008 at 23:36.
  #4   Spotlight this post!  
Unread 15-03-2008, 23:28
Branden Ghena's Avatar
Branden Ghena Branden Ghena is offline
Previously: tawnos23
FRC #0240 (TEMPEST)
Team Role: College Student
 
Join Date: Nov 2005
Rookie Year: 2004
Location: Houghton, Michigan (MTU)
Posts: 303
Branden Ghena has a spectacular aura aboutBranden Ghena has a spectacular aura aboutBranden Ghena has a spectacular aura about
Re: HELP!

You could test this by driving the robot backwards. Instead of changing motors around try using this in your code.

Code:
Left_Wheel = (254-Left_Wheel)
Right_Wheel = (254-Right_Wheel)
Or you could just try driving with your joysticks backwards.

EDIT: It just occurred to me that our robot has drive wheels on the front and omnis on the back. Hope this won't be a problem.
__________________
Branden Ghena - Michigan Tech Student and Team 240 Alumnus
Working Towards: Electrical Engineering and Computer Engineering Double Major

"All we have to decide is what to do with the time that is given to us." - Gandalf

Last edited by Branden Ghena : 15-03-2008 at 23:31. Reason: Read above
  #5   Spotlight this post!  
Unread 15-03-2008, 23:34
Rick TYler Rick TYler is offline
A VEX GUy WIth A STicky SHift KEy
VRC #0010 (Exothermic Robotics)
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2005
Location: Redmond, Washington
Posts: 2,000
Rick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond repute
Re: HELP!

OK, I've thought some more and looked at your pictures. Some random thoughts:

1. Did you ever test on the same kind of carpet used at the tournaments? It might be just enough to either allow the traction wheels to slip, or the omnis to have trouble turning.

2. Is something gumming up your omnis? Are the rollers spinning freely? Did carpet fiber bind up the rollers?

3. Do you have a software problem? Are you maybe not delivering full power?

4. Has your robot gained weight since you last tested it on carpet? Greater weight could make the motors not capable of providing the turning force you need.

5. Is your problem that you can't turn reliably? I want to make sure we are trying to solve the right problem.

6. Any issues with your Victors? I've only known them to work or not work, but I guess they might be sort of not working.

7. It looks like you use bushings to center your omnis on their shafts. Are these binding on the wheels?

Can't think of anything else right now...
__________________
Exothermic Robotics Club, Venturing Crew 2036
VRC 10A, 10B, 10D, 10Q, 10V, 10X, 10Z, and 575
  #6   Spotlight this post!  
Unread 15-03-2008, 23:47
bobdahaxor's Avatar
bobdahaxor bobdahaxor is offline
Making the impossibe... possible
AKA: Andrew Lane
FRC #1727 (Dulaney robotics)
Team Role: Leadership
 
Join Date: Jan 2007
Rookie Year: 2006
Location: Baltimore
Posts: 40
bobdahaxor is an unknown quantity at this point
Re: HELP!

OK, I've thought some more and looked at your pictures. Some random thoughts:

1. Did you ever test on the same kind of carpet used at the tournaments? It might be just enough to either allow the traction wheels to slip, or the omnis to have trouble turning.
We had no issues turning at the play date we attended! And with lots of grip on the traction wheels. Now traction seems to kill it!

2. Is something gumming up your omnis? Are the rollers spinning freely? Did carpet fiber bind up the rollers?
They seem to spin freely enough, I can move them with my hand, but they do do go into a free spin (like when you spin the wheel on a model car)

3. Do you have a software problem? Are you maybe not delivering full power?
We get the proper PWM values and we get about 20 amps under load

4. Has your robot gained weight since you last tested it on carpet? Greater weight could make the motors not capable of providing the turning force you need.
Maybe 3 pounds?

5. Is your problem that you can't turn reliably? I want to make sure we are trying to solve the right problem.
Yes we turn, but it is soooo slow.

6. Any issues with your Victors? I've only known them to work or not work, but I guess they might be sort of not working.
The lights work and everything. PWM cables are good and as far as I know and the programmer gets responses from them

7. It looks like you use bushings to center your omnis on their shafts. Are these binding on the wheels?
They spin pretty freely I think...

I appreciate the help guys. I am a 3 year veteran and me along with my entire team cannot figure out why it stopped working. (we sorta developed a plan to fix it though!)
__________________
REX 1727
2008
Chesapeake Regional - Gracious Professionalism Award
Philadelphia Regional - Best Website Award
2007
Chesapeake Regional - Chairman's Award
Chesapeake Regional - Industrial Safety Award
Trenton Regional - Kleiner Perkins Caufield and Byers Entrepenuership Award
2006
Chesapeake Regional - Highest Rookie Seed
Pittsburgh Regional - Rookie All-Star Award
Pittsburgh Regional - Best Website Award
www.dulaneyrobotics.com
  #7   Spotlight this post!  
Unread 15-03-2008, 23:49
dtengineering's Avatar
dtengineering dtengineering is offline
Teaching Teachers to Teach Tech
AKA: Jason Brett
no team (British Columbia FRC teams)
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2004
Location: Vancouver, BC
Posts: 1,829
dtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond repute
Re: HELP!

I think you may be on to something when you consider that torque may be an issue. Although the 12:1 gearbox works great, you are turning a very large traction wheel. Good for going fast, but not so great for pushing or turning.

You might want to try changing the gearing in your tranny to get the 16:1 reduction for more torque.

Another possible problem would lie in your code... perhaps it is not producing a sufficient differential between the left and right gearboxes in order to force them to turn.

There is absolutely nothing wrong with having traction wheels in the front and omnis in the back. We've got it on our robot and it works fine. Check it out. We have a very similar layout to yours (front wheels are 6" traction wheels driven by two CIMs through the 12:1 kop transmission then geared up a bit with the sprokets for speed) and two 6" omnis freewheeling in the rear. The key difference is that with two CIMs, and the smaller wheels on our robot we have roughly twice the torque reaching each wheel. That makes a HUGE difference.

When designing a two-wheel drive robot it is also important that you put as much weight over the drive wheels as possible so that they do not slip. If your weight is over your undriven wheels you will have a problem. You should also use the conveyor belt as intended, with the sticky side in contact with the carpet to ensure maximum traction from your driven wheels.

So... boost your torque... the best bet if you can do it (it will be a challenge with weight) is the 2 CIM adaptor for your current gearbox. The next best bet is changing your gear ratio, or reducing the diameter of your wheels (can you try 6" traction wheels?). Also check your weight distribution and see if you can move some of it over your drive wheels.

But there is nothing wrong with having your drive wheels in front and omnis on the back.

Good luck,

Jason

Okay, that link shows our robot picking up a ball... but the other videos on that page show us driving in practice and we're also on the Blue Alliance if you want to see it work "for real".
  #8   Spotlight this post!  
Unread 15-03-2008, 23:57
Rick TYler Rick TYler is offline
A VEX GUy WIth A STicky SHift KEy
VRC #0010 (Exothermic Robotics)
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2005
Location: Redmond, Washington
Posts: 2,000
Rick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond reputeRick TYler has a reputation beyond repute
Re: HELP!

Thanks for the confirmation on the drive layout, Jason. At least I was careful enough to say that I didn't remember having seen it before -- at least I didn't say it was impossible...
__________________
Exothermic Robotics Club, Venturing Crew 2036
VRC 10A, 10B, 10D, 10Q, 10V, 10X, 10Z, and 575
  #9   Spotlight this post!  
Unread 15-03-2008, 23:58
bobdahaxor's Avatar
bobdahaxor bobdahaxor is offline
Making the impossibe... possible
AKA: Andrew Lane
FRC #1727 (Dulaney robotics)
Team Role: Leadership
 
Join Date: Jan 2007
Rookie Year: 2006
Location: Baltimore
Posts: 40
bobdahaxor is an unknown quantity at this point
Re: HELP!

the first picture has our drive train. Also, if we move the battery and compressor closer to the front wheels would that help? I think we are gonna try the 16:1 boxes for now and maybe smaller wheels if we can. Appreciate all the help and if anyone has any other suggestions, that'd be great!
__________________
REX 1727
2008
Chesapeake Regional - Gracious Professionalism Award
Philadelphia Regional - Best Website Award
2007
Chesapeake Regional - Chairman's Award
Chesapeake Regional - Industrial Safety Award
Trenton Regional - Kleiner Perkins Caufield and Byers Entrepenuership Award
2006
Chesapeake Regional - Highest Rookie Seed
Pittsburgh Regional - Rookie All-Star Award
Pittsburgh Regional - Best Website Award
www.dulaneyrobotics.com
  #10   Spotlight this post!  
Unread 16-03-2008, 00:09
Vikesrock's Avatar
Vikesrock Vikesrock is online now
Team 2175 Founder
AKA: Kevin O'Connor
no team
Team Role: Engineer
 
Join Date: Mar 2006
Rookie Year: 2007
Location: Manchester, NH
Posts: 3,305
Vikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond repute
Send a message via AIM to Vikesrock Send a message via MSN to Vikesrock Send a message via Yahoo to Vikesrock
Re: HELP!

Quote:
Originally Posted by bobdahaxor View Post
the first picture has our drive train. Also, if we move the battery and compressor closer to the front wheels would that help? I think we are gonna try the 16:1 boxes for now and maybe smaller wheels if we can. Appreciate all the help and if anyone has any other suggestions, that'd be great!
While moving the compressor and battery towards your driven wheels may help, it may also create huge Center of Gravity problems when holding a trackball up in the air. You may be very, very tipsy if you move those two items to the front.

The other two things you mentioned should both help turning with the only real tradeoff being speed.
__________________


2007 Wisconsin Regional Highest Rookie Seed & Regional Finalists (Thanks 930 & 2039)
2008 MN Regional Semifinalists (Thanks 2472 & 1756)
2009 Northstar Regional Semifinalists (Thanks 171 & 525)
  #11   Spotlight this post!  
Unread 16-03-2008, 13:22
DonRotolo's Avatar
DonRotolo DonRotolo is offline
Back to humble
FRC #0832
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2005
Location: Atlanta GA
Posts: 6,995
DonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond repute
Re: HELP!

Moving some weight towards the driven wheels will help. The force needed to turn the bot is increased when the weight is close to the omni wheels. Try this to see what I mean: Swing a sledgehammer in a circle, first with the head away from you and then with the head in your hands. Do you need more force to swing it when the head is in your hands, or less? That force comes from your wheels, and a single CIM is reaching the upper limits of the torque it can provide.
__________________

I am N2IRZ - What's your callsign?
  #12   Spotlight this post!  
Unread 17-03-2008, 16:36
ll4m4ra0r ll4m4ra0r is offline
Registered User
AKA: Patrick
FRC #1727 (Rex)
Team Role: Engineer
 
Join Date: Jan 2008
Rookie Year: 2007
Location: Phoenix, MD
Posts: 12
ll4m4ra0r is an unknown quantity at this point
Re: HELP!

Is it possible that the reason it was not turning is that the transmissions were dry on the inside? The drive worked fine at playdate, on carpet, and since then, the drive has not turned well. We opened the used transmissions up on thursday of competition and they were dry on the inside (not well greased), when they were librally greased on the inside when they were new. It could have been binding, and that could be our problem. Who knows what Fed-Ex does to those crates to dry that lube up....
  #13   Spotlight this post!  
Unread 17-03-2008, 16:54
Vikesrock's Avatar
Vikesrock Vikesrock is online now
Team 2175 Founder
AKA: Kevin O'Connor
no team
Team Role: Engineer
 
Join Date: Mar 2006
Rookie Year: 2007
Location: Manchester, NH
Posts: 3,305
Vikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond repute
Send a message via AIM to Vikesrock Send a message via MSN to Vikesrock Send a message via Yahoo to Vikesrock
Re: HELP!

Quote:
Originally Posted by ll4m4ra0r View Post
Is it possible that the reason it was not turning is that the transmissions were dry on the inside? The drive worked fine at playdate, on carpet, and since then, the drive has not turned well. We opened the used transmissions up on thursday of competition and they were dry on the inside (not well greased), when they were librally greased on the inside when they were new. It could have been binding, and that could be our problem. Who knows what Fed-Ex does to those crates to dry that lube up....
This could definitely be your issue. Transmission binding due to too little grease will sap the efficiency of the transmission. This will lower your available output torque, potentially enough to make turning difficult.
__________________


2007 Wisconsin Regional Highest Rookie Seed & Regional Finalists (Thanks 930 & 2039)
2008 MN Regional Semifinalists (Thanks 2472 & 1756)
2009 Northstar Regional Semifinalists (Thanks 171 & 525)
  #14   Spotlight this post!  
Unread 17-03-2008, 16:56
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al WFFA 2005
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,770
Al Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond repute
Re: HELP!

I believe your tranmission reduction choice is not low enough. Looking at your 8" wheels being fed directly by the output of the 12:1 tranny makes me think impossible. Could someone check my math while I go do an errand, I backed into a calculation that this design is too low a torque to actually pull much weight. I am guessing that the motors are running very hot after a match and are likely tripping the breakers.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
Storming the Tower since 1996.
  #15   Spotlight this post!  
Unread 17-03-2008, 17:06
JHSmentor's Avatar
JHSmentor JHSmentor is offline
Registered User
AKA: Bryan Molloseau
FRC #3210 (Falcons)
Team Role: Mentor
 
Join Date: Jan 2008
Rookie Year: 2008
Location: Oregon
Posts: 84
JHSmentor is a name known to allJHSmentor is a name known to allJHSmentor is a name known to allJHSmentor is a name known to allJHSmentor is a name known to allJHSmentor is a name known to all
Re: HELP!

I have some clarification questions and then an answer based on my assumptions (questions).

1. Can you turn the robot well when you are already moving?
2. Does the problem only happen when you are sitting still and you want to turn without moving forward first?
3. do you have the wheels on one side go in reverse when turning or are you trying to turn with just one drive wheel? (see our experience below for why I ask this question).

While I think that everyone's suggestions with weight distribution and everything is valid, it may be somewhat difficult to change now that your robot is basically built. But, it may be your only choice for now.

Our robot is a six wheel drive with omni's in the front and back and KOP wheels in the middle. One problem we had initially with turning (or stearing that matter) is that the wheels on the side the robot was turning to would get thrown into reverse - even when the robot was moving forward. this caused the it to turn very quickly (and make some aweful noises). Sitting still, however, it could easily spin on a dime (6 wheel does that for you). Our fix was to program the joystick to only throw the wheels in reverse on one side when the joystick was nearly pushed all the way to the side. This allowed both sides to drive forward while steering as well as to allow us to spin while sitting still.

So, if you are not already doing something similar, you may consider a program change to reverse one motor while going forward with the other but only allow this when the robot is sitting still or when the joystick is pushed all the way sideways. Control the speed of the spin or turn with programming.

Anyway - hope this is useful. otherwise, good luck.
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Grab Frame - Help Help Help... nmihailidis Programming 2 04-03-2007 14:44
section 'InterruptVectorLow' type is non-overlay (was: HELP HELP HELP!!!!!) naor52 Programming 14 24-02-2007 01:19
Help: How do we get a teacher to help? (was: Help) ChaosAlchimey General Forum 13 21-01-2007 11:57


All times are GMT -5. The time now is 14:21.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi