To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 1183
1182  |  1184
Subject: 
Re: Precise moves with cybermaster
Newsgroups: 
lugnet.robotics
Date: 
Mon, 7 Dec 1998 11:04:08 GMT
Original-From: 
Laurentino Martins <lmartins@marktest.ptSPAMCAKE>
Viewed: 
1141 times
  
I'm going to start working on this in a couple of days, but there are a few things you might want to look at:

1. Don't Float the motors. Float is very imprecise. Make them Stop in the spot!
2. If you are maneuvering, slow down the motors. Don't do it a full speed or you might overshot the spot you want to stop.
3. 1/4 in the tacho counter in very little. I'd call it precise enough.

This weekend I've made a program that detects impacts *without* sensors!
And it's flexible enough to work the whole range of speeds.
It detects when the motors are not responding to the speed I told them to be and stop them as soon as the speed slows down with an error.

It's pretty amazing the things one can do with the Tachometers!!! :-)


Laurentino Martins

[lau@mail.telepac.pt]
[http://www.terravista.pt/Enseada/2808/]

--//--

At 00:40 07-12-1998 Monday , you wrote:
Anyone got a really good accurate move algorithm for a cybermaster. I'm
currently using the following mechanism...

BeginOfSub(0);
   ClearTachoCounter("01");
    On("01");
    While(BOT_TACHO, 0, LT, BOT_VAR, BOT_COUNT);
       SetVar(BOT_TEMP, BOT_TACHO, 1);
       SetVar(BOT_TEMP2, BOT_TACHO, 0);
       SubVar(BOT_TEMP, BOT_VAR, BOT_TEMP2);
       If(BOT_VAR, BOT_TEMP, EQ, BOT_CONST, 0);
          On("01");
       Else();
          If(BOT_VAR, BOT_TEMP, LT, BOT_CONST, 0);
             Float("0");
             On("1");
          Else();
             Float("1");
             On("0");
          EndIf();
       EndIf();
    EndWhile();
    Off("01");
EndOfSub();

The above works reasonably well most of the time but I see a couple of
problems...

1. I often but not always get a small over-shoot.
2. Often at the end of a move tacho0 and tacho1 have slightly different
values (off by 1-4).

I use the above code for both forwards/backwards and turns. Anyone else got
anything better?

Also what type of bot chasis are people using with the cybermaster. I've
tried various types but
keep returning to the standard tracked version. I find that this loses some
accuracy on turns but
seems to deal with carpets better than other designs. However I would really
like to get a slower
moving bot with a greater resolution. Any suggestions?

Andy

PS Any good bumber designs yet :-)



Message is in Reply To:
  Precise moves with cybermaster
 
Anyone got a really good accurate move algorithm for a cybermaster. I'm currently using the following mechanism... BeginOfSub(0); ClearTachoCounter("01"); On("01"); While(BOT_TACHO, 0, LT, BOT_VAR, BOT_COUNT); SetVar(BOT_TEMP, BOT_TACHO, 1); (...) (26 years ago, 7-Dec-98, to lugnet.robotics)

2 Messages in This Thread:

Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR