LOGI2 Mission Control

This is a design to use the RCX as a real drawing machine.

Download the LOGI2.zip file. If you run the LOGI2.exe, you may set up your own navigation control. Type your commands in the text area.
Allowed commands: 

FORWARD xx 

LEFT xx 

RIGHT xx 

MISSION xx 

DIRECTION xx 

REPEAT xx [ 

] 

* 

Always finish your 

program with a sole *

You may place comments: 

/ Hello, this is comment 

 

Example: 

REPEAT 6 
    [ 

FORWARD 20 

RIGHT 60

     ] 

DIRECTION 270 

FORWARD 30 

MISSION ALPHA   /unless you define a mission nothing happens 

* 
 

  Define your mission in an own subroutine 3 through LeRobot. 
You should get something like: 

beginofsub(3) 
  if(var,0,eq,con,0) /this means alpha=0,beta=1 a.s.o. 
     /do something 
  endif() 
endofsub()

Some advice for the use of LOGI2:

1) With the aid of LOGI2 you may navigate the mobile robots ROBY1 and
ROBY2 with the following instruction-set:

   FORWARD x
   LEFT y
   RIGHT y
   DIRECTION z
   MISSION v
   REPEAT w [ Instructions ]
   *

whereas:

   x - integer number between -32768 and 32767 (cm); negative numbers
makes the robots move back.

   y - angle between -180 and 180 degrees; angles out of this range
will automatically be adjusted to this interval. Notice: LEFT -60
makes the robot turn to the right!

   z - absolute angle between 0 and 360 degrees clockwise. You may
enter the compass-directions; for example DIRECTION NW will cause the
robot turn 45 degrees from the 0-position.

   v - ALPHA, BETA, GAMMA, DELTA, EPSILON; using the instruction
MISSION v you may execute 5 different missions.

   w - positive number between 0 und 255. REPEAT 0 [ Instruktions ] causes an continuous loop.

   Do not forget the brakets!

   Your program should end with a sole *

2) Choose INSTALL / MAINPROGRAM ROBY1 or ROBY2 to transmit the main
navigate program to the RCX at slot1. You may choose another slot by
clicking INSTALL / SLOTS. You may test your robot with the initial
program. Simply press run on the RCX. You may change some parameters
by clicking INSTALL / PARAMETERS.

3) The initial program should execute the following instructions:

      REPEAT 4
         [
           FORWARD 40
           LEFT 90
         ]
      REPEAT 4
         [
           FORWARD 40
           RIGHT 90
         ]
      *
 

4) Save and load your navigate-programs just as you use to do in other Windows-applications. If you want to print them, use a simple text-editor.

5) You may place one line comments. They are intrduced by a / .

6) Test your navigation program by clicking TEST. Using VIEW
you may change some zoom settings.

7) Download your program to the RCX by clicking the DOWNLOAD-button.

Version R1/R2_engl-17/10/00
Autor Claude Baumann
 

=====================================================================
Appendix

A) You may write your own routines with LeROBOT for example. Put
attention to the following conditions:

    1. LOGI addresses the subroutines:

            FORWARD        --> 0
            LEFT           --> 1
            RIGHT          --> 2
            MISSION        --> 3
            DIRECTION      --> 4

    2. Respect the variable 0

            argument    = variable 0
 
    3. The main procedure for navigation should be task 1.
       example:
 
              REPEAT 5
                  [
                    LEFT 72
                    FORWARD 20
                    MISSION ALPHA
                  ]
               *

       will be transmitted as:

              BeginOfTask(1)
               Loop(2,5)
                 SetVar(0,2,72)
                 Gosub(1)
                 SetVar(0,2,20)
                 Gosub(0)
                 SetVar(0,2,0)
                 Gosub(3)
               EndLoop()
              EndOfTask()

       Variable 0 transports the navigation-argument.
 
The instruction-set is the instruction-set from SDK from
www.legomindstorms.com

    4. The main programtask should look like

              BeginOfTask(0)
                /Initialisation of the variables
                /Output-power
                /Sensorsettings
                /Start of some tasks
                /in any case:
               Starttask(1)
              EndOfTask()

    5. A perfect task-sharing is the use of a second RCX:

             BeginOfSub(3)
               SendMessage(0,0) /Sends as message the contents of variable 0.
             EndOfSub(0)


RetourMain Page