|
|
|
Junior Member
      
Group: Forum Members
Last Login: Sunday, October 18, 2009 8:47 AM
Posts: 23,
Visits: 169
|
|
| Wingers, I have spent some time playing with the PID motor control and have had the same issue with the rotation angles. When I try to turn 90 degrees I get approx 60 to 70 degrees. Thats when I started using close loop on the sensors (specifically the compass) and the Differential motor control. Pev
|
|
|
|
|
Forum Guru
      
Group: Forum Members
Last Login: Saturday, August 20, 2011 7:44 PM
Posts: 50,
Visits: 711
|
|
| Thanks Peverel At least I know I am not the only one with this issue - perhaps Jason will respond and give us an idea why it is not doing as it should??!??!?! Can you explain what you mean by using "close loop"?? - does this sort the problem of rotation etc?
|
|
|
|
|
Junior Member
      
Group: Forum Members
Last Login: Sunday, October 18, 2009 8:47 AM
Posts: 23,
Visits: 169
|
|
| Wingers, Will try to explain. I have a CMP03 compass on my Traxster. What I have done with other processors and now with the serializer is start turning at a relatively slow speed and constantly check the compass as it turns - as soon as it has turned 90 degrees (with the serializer that is 64 increments change as its 255 increments to a full rotation) I stop the motors. You do tend to get a fractional overrun but I have found it to be manageable. I am not looking to control my Traxster to a precise set of movements - I am looking more at the way it reacts to its environment. What I really mean by this is that as it drives along it constantly checks its path. When an obstacle is found it checks in 180 degrees (broken into 5 directions) for the clearest path. It then turns to this heading and drives off again. Now this is a very simplistic navigation method but I am working through a book (Introduction to AI Robotics (Intelligent Robotics & Autonomous Agents)) which I am hoping will enlighten my development to a higher level. Its the main reason I got the serializer board as I wanted to use my .Net programming experience in conjunction with a more powerful control platform. Sorry waffling Pev
|
|
|
|
|
Forum Guru
      
Group: Forum Members
Last Login: Saturday, August 20, 2011 7:44 PM
Posts: 50,
Visits: 711
|
|
| excellent explanation - sounds like a good idea and a enjoyable project - I still have a lot to learn but am so enjoying myself, want to try and interface with something like roborealm eventually for object detection/avoidance What do you use for sensing the best path? infrared? Yes I am not interested in precise movements but would be interested if anyone (jason?) could advise on getting the pid rotate to be closer to the actual angle you choose - especially as I have traxster II with standard motors so according to manual the default PID settings should be correct
|
|
|
|
|
Junior Member
      
Group: Forum Members
Last Login: Sunday, October 18, 2009 8:47 AM
Posts: 23,
Visits: 169
|
|
Oh I have heard of Roborealm - that's machine vision processing software I think. I remember looking at it when some of the guys that were playing with the original RoboNova's where looking to interface to it. I am currently working on a bluetooth connected CMUCAM2 module that will do my image capture and processing. I have already got the color tracking bit working just need to pull it all together with the serializer. Am looking forward to Jason's new module for the CMUCAM and .Net. Sorry going way off topic. I just tried the PID example app but unfortunately it doesn't emumerate my bluetooth COM port. I'll need to alter the project and hard code my port or something to get it all working and test the PID stuff. Will look at that tomorrow as I don't have VS2008 on my home machines. Will let you know what I find, although I am a bit different to you as my base is a Traxster I with Traxster II motors so may not behave quite as a normal Traxster II. Pev
|
|
|
|
|
Supreme Being
      
Group: Administrators
Last Login: Monday, October 31, 2011 9:18 PM
Posts: 640,
Visits: 819
|
|
| I have never been able to get the PID rotation to work exactly right for a number of reasons, and this will be obvious when you think about it... 1.) The friction between the tracks/wheels and the surface it's driving on plays a HUGE role in how accurate it rotates. For the same PID configuration and angle, I get pretty varied rotational distances between say carpet, wood, lenoleum, cement, etc. It is especially obvious when you're rotating on a surface that has differing properties, such as carpet/wood transition. 2.) The weight favoring one side, or one end of the robot, will throw it off. 3.) For the Traxster, the differential drive theoretically makes the bot rotate around it's axis, but in reality the rotational axis moves depending on the factors above. For the Stinger, it rotates about a theorectical axis between the two wheels/motors. But that axis moves too, since the wheels are spongy, and there's typically some battery weight on the rear caster wheel, which provides input to the whole rotational dynamics. Whether you're using our robots and controllers, or somebody elses, you will get similar results. You will learn that assuming that you have traveled an exact distance and angle can really throw you off if you don't have some kind of feedback. Just think about a situation where you close your eyes, and spin around 10 times...You probably have a good idea where you will be looking when you open your eyes, but as you typically find out, you've probably rotated more or less than you expected. It takes the feedback of your eyes to allow your brain to correct yourself to where you intended to rotate.  Peveral has the right solution! Your logic will be a lot more robust with multiple sensory feedback. Fusing that data together into something meaningful is part of the fun (and the hard part!). And, that's a really good book, BTW! Best Regards!
Jason Summerour President, Summerour Robotics Corporation www.roboticsconnection.com
|
|
|
|
|
Junior Member
      
Group: Forum Members
Last Login: Sunday, October 18, 2009 8:47 AM
Posts: 23,
Visits: 169
|
|
| Cheers Jason, LMAO at book comment - I figure it I live my 3 score and 10 I have about 25 years left to get through it - think I am gonna need them all too lol And Wingers sorry I didn't answer your question - I use a sonar (SRF08) mounted on a servo to get the distance readings from the 5 points. Pev
|
|
|
|
|
Forum Guru
      
Group: Forum Members
Last Login: Saturday, August 20, 2011 7:44 PM
Posts: 50,
Visits: 711
|
|
| Jason Thanks for explaining that - makes sense, though whatever surface I try it on it is way out - just assumed wrongly that as the example app showed how to drive certain distance and turn certain angles that it would just work out of the box - my mistake, will play about some more with it As usual wonderfully explained - cheers!!  Peverel Thanks to you too for your reply, may I ask what software you use with the cmucam for object detection or is it all something you have written? all beyond me at present, but really want to learn and do clever things like that so any pointer/samples/books to read all greatly appreciated
|
|
|
|
|
Forum Guru
      
Group: Forum Members
Last Login: Saturday, August 20, 2011 7:44 PM
Posts: 50,
Visits: 711
|
|
Any explanation for this too please if possible - or is it simply different depending on whether using DMC or PWM?"If i use say a speed value of 65 with DMC it produces a slower speed than it does if I use that same speed value of 65 with PWM - any reason for that? why are they different?" |
|
|
|
|
|
Junior Member
      
Group: Forum Members
Last Login: Sunday, October 18, 2009 8:47 AM
Posts: 23,
Visits: 169
|
|
wingers (2/17/2009) may I ask what software you use with the cmucam for object detection or is it all something you have written?Hi Wingers, The CMUCAM is a self contained unit that is already loaded with the manufacturers firmware (I gather the V3 cam's let you develop your own but thats a bit beyond me to be honest). That firmware provides a number of commands that can be invoked over a serial connection (RS232 or TTL) and they return a structured data packet over the serial link. Its pretty easy to use and has features like histograms, frame differencing (for motion detection), and color tracking to name but a few. All I have been doing is writing a wrapper to encapsulate the functions I want to use into to a .Net library. Don't think I am quite as far advanced as Jason though  Oh and rather than have wire running everywhere I have set my CMUCAM up with a serial bluetooth unit so its wireless. Pev
|
|
|
|