|
x and y coordinates Gito from Indonesia [2 posts] |
13 year
|
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] |
13 year
|
>> 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] |
13 year
|
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] |
13 year
|
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.
|
|