loading
 
x and y coordinates
Gito from Indonesia  [2 posts]
5 years
Hi there,
1. Why the total number of path on navigate mode is limited to 7 ?
2. Can  file save or load button in recognition and Navigation group be set    programmatically in script
3. How avm navigator  for marker mode gets x and y coordinates in its algorithm in general. It It has significantly accumulated errors in x and y coordinates and angle of robot variables while the robot walk from base point,right ?
4. Why  x and y coordinates  variables don't  work in navigate mode(path created by nova gate mode), I see that  x and y location and angle of robot variables work only for marker mode and  nav map mode.

5. On marker mode, the doc tells that for best results we should repeat the path several times in order to create appropriate map details. Should we delete "mark data" each time we repeat the process or just add and overlay new path to last path.

Best Regards,
EDV  [328 posts] 5 years
>> 1. Why the total number of path on navigate mode is limited to 7?

Historically first was developed "Navigate mode" and "Nova gate mode" that provided walking of robot from gate to gate. The gate is an image (from robot camera) that associates with specific data inside AVM tree. The gate data contains weights for the seven routes that indicate importance of this gateway for each route. At the bottom of the screen is added indicator "horizon" which shows direction for adjust the robot's motion for further movement on the route. Field of gates is painted blue if the gates do not participate in this route (weight rate 0), and warmer colors (ending in yellow) show a gradation of "importance" of the gate in the current route.

So, why are there only 7 routes?

Size of gate data inside of association (associative base) is 24 bytes:

// Gate data structure that is kept in AVM
#define cRouteTotal 7
struct TGateData192U {
    ushort Weight[cRouteTotal]; // Weights of routes
    byte   Hit[cRouteTotal];    // Counter of hitting to routes in gate
    byte   Reserved1;           // Not used field
    byte   CheckpointNum;       // Number of check point
    byte   Reserved2;           // Not used field
};

And thus number of routes is limited by size of this structure.

I left these old modes within AVM Navigator just for compatibility with previous versions:
http://www.youtube.com/watch?v=xbCpthKrL0o

You should use more advanced navigation solution such as "Navigation by map" with "Marker mode" for route recording.


>> 2. Can file save or load button in recognition and Navigation group be set programmatically in script?

What sense in this action? Can you provide examples that explain this idea?

All current data connected to learned objects, gates and marks is placed in file "avm.dat". This file is located in user folder (for example: "C:\Documents and Settings\user\AVM\avm.dat").


>> 3. How AVM Navigator for marker mode gets x and y coordinates in its algorithm in general. It has significantly accumulated errors in x and y coordinates and angle of robot variables while the robot walk from base point, right?

*Odometry / localization

The robot sets the marks (it writes central part of the screen image with associated data to AVM tree). Marker data (inside AVM) contain horizon angle (azimuth), path length from start and X, Y location position (relative to the start position). Information for the marker data is based on marks tracking (horizontal shift for azimuth and change of mark scaling for path length measurement). Generalization of all recognized data of marks in input image gives actual value of azimuth and path length. If we have information about motion direction and value of path length from previous position and x, y coordinates of previous position then we can calculate the next coordinates of the current position. This information will be written to the new mark (inside AVM) when it is created and so forth.

>> It has significantly accumulated errors in x and y coordinates and angle of robot variables while the robot walk from base point, right?

Yes, it is right. Do you know any other visual odometry algorithm that can works without relative error accumulation? Any other visual odometry algorithm accumulates errors but "Navigation by map" based on image recognition and it provides possibility to get the same coordinates in the same waypoints of route (the robot sees images/markers that correspond to specified location).

>> 4. Why x and y coordinates variables don't work in navigate mode (path created by nova gate mode), I see that x and y location and angle of robot variables work only for marker mode and  nav map mode.

This variables (NV_LOCATION_X, NV_LOCATION_Y) are the part of “Navigation by map” mode and can work only in this mode.

>> 5. On marker mode, the doc tells that for best results we should repeat the path several times in order to create appropriate map details. Should we delete "mark data" each time we repeat the process or just add and overlay new path to last path.

In manual is noted: Reset markers data information by click at "Clear/mark data" (if it needed).

So, if you decide to repeat route training procedure then it is clear that you should keep mark data in this case without clearing.


It would be nice if you could provide video that show your experience with AVM Navigator (it could help me with further developing) like this:
http://www.youtube.com/watch?v=214MwcHMsTQ
http://www.youtube.com/watch?v=G7SB_jKAcyE
Gito from Indonesia  [2 posts] 5 years
Thank you for your quick reply.

Throughout the experiment I have tried to learn how the algorithm works for marker mode. I used camera connected to the  RR AVM Navigator, and moved it by hand, without motorized robot. I saw that x, y locations didn't change its value. but when I pushed direction button, it will change value,depending on the direction. So I am thinking , the increment/decrement of locations executed after a motor is energized. Do the speed of increment or decrement  of locations changing also depend on current motor speed value directly ?, or just  horizontal shift for azimuth and change of mark scaling for path length measurement only that you said above.

After completing, I hope that  I am able to  share my experience of AVM Navigator to all.

Best Regards
EDV  [328 posts] 5 years
Arrow keys is important for route recording in "Marker mode" because it is signals for start of writing to AVM and also for odometry processing when robot move forwards or backwards.

So, you should press arrow key "Up" when you move by hand your Netbook with integrated camera forwards for imitation of robot action in "Marker mode" or you should set value of variable "NV_FORWARD" to "-1".

Note that you can also control your robot through AVM Navigator from external application with helping of control variables:
NV_FIRE, NV_LEFT, NV_RIGHT, NV_FORWARD, NV_BACKWARDS, NV_TURRET_LEFT, NV_TURRET_RIGHT.

There is an example of control AVM Navigator from external module like joystick:
http://www.roborealm.com/forum/program.php?post_id=23624

Also here is static control signal example:
http://www.roborealm.com/forum/program.php?post_id=23342

>> Does the speed of increment or decrement of locations changing also depends on current motor speed value directly?

Yes, it does. The increment and decrement of locations changing depends on changing of input images from camera and also from motor speed that can be adjusted by "Move speed" parameter in AVM Navigator dialog window.

This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index