loading
 
AVM Map dont work
UlliS from Germany  [42 posts]
6 years
Hello,

I've tried just the avm navigator. I realized that the rotary movement is detected correctly, but not the drive to the front or rear. There will be time only the rotation, but no card is drawn (marker mode). I have tested it with different speed, but without success. What am I doing wrong?

--- Ulli


   
Anonymous 6 years
try here:

http://www.youtube.com/watch?v=qVz9iBazqug

EDV  [328 posts] 6 years
Ulli,

Can you provide some video of your experiments with AVM Navigator?

This video would help me with analysis of your situation.

You also can find out more details about tuning of "Navigation by map" mode in this topic:
http://www.roborealm.com/forum/index.php?thread_id=4246#
EDV  [328 posts] 6 years
You should use arrow keys for robot control in "Marker mode" (it is important for route recording) but it seems (from your images) that you did not use it.
EDV  [328 posts] 6 years
What if you try to train with "AVM Quake 3 mod" for acquaintance with "Marker mode" and "Navigation by map" modes?
http://www.roborealm.com/help/AVM_Navigator/Setup_avm_q3mod.exe

It would be nice for understanding how works with these modes and how use it on your real robot.

Follow this manual and feel free to ask me if emerge questions:
http://www.roborealm.com/help/AVM_Navigator/avm_q3mod_help.html
UlliS from Germany  [42 posts] 6 years
Hello EDV,

i just do not use the buttons in my Software but my own. Hm, I'll then try again tonight. there is the possibility of an external software coordinates to be approached to pretend? I now use the RR API to communicate with my VB.NET program.
EDV  [328 posts] 6 years
Unfortunately but now there is no way for notification of AVM Navigator about motion control from external application. I will keep in mind this problem when I will make a next AVM Navigator update.
UlliS from Germany  [42 posts] 6 years
Hello,

how can I change the options of AVM Navigator on my program (.NET)? I look in the help that I can only read the listed variable but can not set values​​, such as navigation mode for example, target coordinates x, y learning objects, etc. This checkpoint would be set for an autonomous robot is working the very important since it these matters than myself or to perform speech recognition. is there a way to realize this? Example: The robot gets the command go forward, but he will automatically learn the way through AVM (switch to marker Mode). Avoid the obstacles of it is done automatically via ultrasound and infrared. with a voice command such as object recognition, I must object to evaluate AVM detection switch and variable. If I tell him he should go into the kitchen (the x, y coordinates are known to me), he must navigate through the AVM in the kitchen, i set via my .Net Programm the coordinates at AVM).

--- Ulli
EDV  [328 posts] 6 years
Some variables of AVM Navigator module is used for input (with prefix _IN):

NV_IN_SET_MODE - the current setting of module's mode:
                    0 - Object recognition
                    1 - Navigate mode
                    2 - Nova gate mode
                    3 - Marker mode
                    4 - Navigate by map

NV_IN_TRG_POS_X - target position X coordinate of the navigation map
NV_IN_TRG_POS_Y - target position Y coordinate of the navigation map

NV_IN_SUBMIT_POS - submitting of target position (value should be set 0 -> 1 for action).

You can check it with this example:
http://www.roborealm.com/download_robo.php?robofile=/help/AVM_Control_Variables

So, if your .NET program can change value of these variables then your program also will be able to control AVM Navigator module.
UlliS from Germany  [42 posts] 6 years
It´s great! I test this next days!

Many thanks.


--- Ulli
UlliS from Germany  [42 posts] 6 years
Hello,

I've just tested the mapping, it worked great, even in poor lighting conditions! It would be nice if you could assign waypoints in the map with names, one could also name the coordinates in the AVM module map. In any case this module is a great performance and is exactly what I've always wanted!

--- Ulli
EDV  [328 posts] 6 years
Thank you for good idea!
I will think over your proposal with named waypoints.
UlliS from Germany  [42 posts] 6 years
Another idea would be *. dat files via the API to load.

--- Ulli
EDV  [328 posts] 6 years
Thank you again!
I appreciated your creativity :)

Do you plan to share video from your robot with AVM Navigator experience?

It would be interest to see such video.
UlliS from Germany  [42 posts] 6 years
so later, I must rebuild the software yet as it is currently too complicated. it will still take a few weeks :-(

-- Ulli
UlliS from Germany  [42 posts] 6 years
I'm now doing to the arrow with simmulieren sendKey when I push my buttons, unfortunately without success. how can I solve the problem in VB.NET 2010?

--- Ulli
UlliS from Germany  [42 posts] 6 years
I've tried using SendKeys but something does not work. Unfortunately I'm not so on. hir is my code, the function sendKey I have also called in a timer does not work either.

I need a version of the AVM Navigator, where I run a command to send the recording of the card.



        ' Get a handle to the Calculator application. The window class
        ' and window name were obtained using the Spy++ tool.
        Dim AVMHandle As IntPtr = FindWindow(vbNullString, "AVM Navigator v0.7.2.2")

        ' Verify that Calculator is a running process.
        If AVMHandle = IntPtr.Zero Then
            MsgBox("AVM Navigator is not running.")
            Return
        End If


        SendKeys.SendWait(Keys.Up)



--- Ulli

EDV  [328 posts] 6 years
The next AVM Navigator update is in progress.
I inform you when it will be done.
EDV  [328 posts] 6 years
Navigator package is updated now and you can download next modification of AVM Navigator v0.7.2.3 from your account link.

And now you can 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.

Now these variables indicate control status (if use it after AVM Navigator in pipeline) as in previous versions but also it has secondary function as input of control signals from external application. You should set value of these variables to -1 (before AVM Navigator in pipeline) for activation of control action.

See example file below:
program.robo
UlliS from Germany  [42 posts] 6 years
Hello EDV,

somehow can not set the variable...


    Public Sub AVM_DriveForward()

        FormMain.rr.setVariable("NV_FORWARD", "1")

    End Sub

    Public Sub AVM_DriveStop()

        FormMain.rr.setVariable("NV_FORWARD", "-1")

    End Sub


what am I doing wrong?


---Ulli
EDV  [328 posts] 6 years
Can you insert "Contents\Variable\Watch_Variable" module before AVM Navigator module and check value of NV_FORWARD variable when you set it in your program?

Was there really "-1" value has been set before AVM module?

It is strange enough because in example file all works properly:
http://www.roborealm.com/forum/program.php?post_id=23342
UlliS from Germany  [42 posts] 6 years
no matter if I file or not open my program, the variable is always 1 "NV_FORWARD" show picture If I set the variable with "rr.setVariable" want to change does nothing in the variable window.



  
EDV  [328 posts] 6 years
I had in mind to check status before AVM Navigator in pipeline because after AVM module this value was changed:

 
EDV  [328 posts] 6 years
You should just remove Set_Variables module from pipeline and then set NV_FORWARD variable from your external program and further check: was there really "-1" value has been set before AVM module?
UlliS from Germany  [42 posts] 6 years
Now I've started without RoboRealm AVM-Navigator and the variable is -1.
Don´t work...


 
UlliS from Germany  [42 posts] 6 years
before is -1, after 1...



 
UlliS from Germany  [42 posts] 6 years
I do not see that the variable is overwritten NV_FORWARD. I just send my command and look in the variable, NV_FORWARD jumps from 0 to 1 and back again. with the activated AVM Navigator variable remains fixed on the 1.
EDV  [328 posts] 6 years
All you needed to control AVM Navigator is transmission of "-1" value to variables NV_FIRE, NV_LEFT, NV_RIGHT, NV_FORWARD, NV_BACKWARDS, NV_TURRET_LEFT, NV_TURRET_RIGHT from your application to RoboRealm environment with using API:
http://www.roborealm.com/help/API.php

And I try to understand: Is there "-1" value before (in front of) AVM module that was transmitted from your application?

When I set (by manually with helping of Set_Variable module) value of variables NV_FORWARD, NV_RIGHT, NV_TURRET_LEFT to "-1" then I see that AVM module respond on this signals (it is indicated by violet filled rectangles in left bottom screen corner).

But I need for analysis of this situation next information: What status of control variable _before_ AVM Navigator module? Are there «-1» values of control variables in front of it?

Please, look into this picture once again for good understanding:
http://www.roborealm.com/uploads/23348_1.png

Don’t forget to remove Set_Variable module from RoboRealm pipeline before testing of connection between your application and AVM Navigator by means of control variables through API.
EDV  [328 posts] 6 years
>> I just send my command and look in the variable, NV_FORWARD jumps from 0 to 1 and back again. With the activated AVM Navigator variable remains fixed on the 1.

So, your application can't set values of control variable to "-1" before AVM Navigator module with API.

It is correct?
UlliS from Germany  [42 posts] 6 years
And I try to understand: Is there "-1" value before (in front of) AVM module that was transmitted from your application?
--> yes is -1, after is 1 fixed

So, your application can't set values of control variable to "-1" before AVM Navigator module with API.
--> yes i send with  Mousedown (Button function) FormMain.rr.setVariable("NV_FORWARD", "1")  or  FormMain.rr.setVariable("NV_FORWARD", 1) to roborealm (only variable watch) the variable set to 1. i send with Mouseup FormMain.rr.setVariable("NV_FORWARD", "0") or  FormMain.rr.setVariable("NV_FORWARD", 0) the variable is 0.

Hm...

UlliS from Germany  [42 posts] 6 years
there are news, if I think of the variable NV_FIRE, NV_LEFT, NV_RIGHT, NV_FORWARD, NV_BACKWARDS, NV_TURRET_LEFT, NV_TURRET_RIGHT from my software send out a "-1", the regtangles short  flashing. Only short flash... It seems if they are overwritten once again.
UlliS from Germany  [42 posts] 6 years
okay, now I have the command rr.setVariable ("NV_FORWARD", "-1") placed in a 100ms timer and it seems to work. is that from you so thought and correct? a keyboard also sends the character-by interval...
EDV  [328 posts] 6 years
I think you should use "control translater" implemented in VBScript program instead 100ms timer procedure in your external program:

' Get control variables
nv_FIRE = GetVariable("EX_FIRE")
nv_LEFT = GetVariable("EX_LEFT")
nv_RIGHT = GetVariable("EX_RIGHT")
nv_FORWARD = GetVariable("EX_FORWARD")
nv_BACKWARDS = GetVariable("EX_BACKWARDS")
nv_TURRET_LEFT = GetVariable("EX_TURRET_LEFT")
nv_TURRET_RIGHT = GetVariable("EX_TURRET_RIGHT")

' Set control variables
SetVariable "NV_FIRE", nv_FIRE
SetVariable "NV_LEFT", nv_LEFT
SetVariable "NV_RIGHT", nv_RIGHT
SetVariable "NV_FORWARD", nv_FORWARD
SetVariable "NV_BACKWARDS", nv_BACKWARDS
SetVariable "NV_TURRET_LEFT", nv_TURRET_LEFT
SetVariable "NV_TURRET_RIGHT", nv_TURRET_RIGHT

=====================================

You should place this script before AVM Navigator module in RoboRealm pipeline and then use as control variables with “EX_” prefix: EX_FIRE, EX_LEFT, EX_RIGHT, EX_FORWARD, EX_BACKWARDS, EX_TURRET_LEFT, EX_TURRET_RIGHT.

See example file below:
program.robo
EDV  [328 posts] 6 years
>> I'll load it up and try it. Which reminds me, where exactly do I load VBscript?

First you should download The Microsoft® Windows® Script Control...
http://forums.trossenrobotics.com/showthread.php?4764-Using-of-AVM-plugin-in-RoboRealm&p=48871#post48871
UlliS from Germany  [42 posts] 6 years
Now it works! on the deflection of a vb script program I have been thinking. But the robo file must be different, it may not set the variable to be fixed to -1.

Private Sub ButtonDriveFwd_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ButtonDriveFwd.MouseDown

        rr.setVariable("EX_FORWARD", "-1")

End Sub

Private Sub ButtonDriveFwd_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ButtonDriveFwd.MouseUp

        rr.setVariable("EX_FORWARD", "0")

End Sub

Many thanks for your great help! you will integrate this in any instance in the AVM Navigator?


program.robo
EDV  [328 posts] 6 years
The double purpose of control variables (in/out functions) is already implemented since as AVM Navigator v0.7.2.3 was released. And now variables (NV_FIRE, NV_LEFT, NV_RIGHT, NV_FORWARD, NV_BACKWARDS, NV_TURRET_LEFT, NV_TURRET_RIGHT) indicate control status (if use it after AVM Navigator in pipeline) as in previous versions but also it has secondary function as input of control signals from external application.

Now users will be able to set value of these variables to “-1” (before AVM Navigator in pipeline) for activation of control action from scripts or other modules or external application (through API and "control translator" script). Thus I think that this work is already finished ;-)

And now we could start the next stage of tuning with "Navigation by map".
So, do you plan to share video from your robot with AVM Navigator experience?

It would be useful for analysis of current situation of tuning with "Navigation by map" on your robot.
UlliS from Germany  [42 posts] 6 years
some new ideas for the map navigator: path names and a list (array) for saved routes eg Kitchen, living room, bathroom, etc. This can then be accessed directly or via a idex over the name.

I'll soon be getting some video and set it in youtube and post here.

--- Ulli
EDV  [328 posts] 6 years
First you should just try to review my simple video tutorial "Route training and navigation by map" on your robot: http://www.youtube.com/watch?v=qVz9iBazqug

Don't forget that you should use servo for camera turning and use variable NV_TURRET_BALANCE in this case. It is important for initial localization of "Marker mode" and "Navigation by map" modes.

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