|
AVM Map dont work UlliS from Germany [42 posts] |
13 year
|
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 |
13 year
|
|
|
EDV [328 posts] |
13 year
|
|
|
EDV [328 posts] |
13 year
|
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] |
13 year
|
|
|
UlliS from Germany [42 posts] |
13 year
|
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] |
13 year
|
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] |
13 year
|
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] |
13 year
|
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] |
13 year
|
It´s great! I test this next days!
Many thanks.
--- Ulli
|
|
|
UlliS from Germany [42 posts] |
13 year
|
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] |
13 year
|
Thank you for good idea!
I will think over your proposal with named waypoints.
|
|
|
UlliS from Germany [42 posts] |
13 year
|
Another idea would be *. dat files via the API to load.
--- Ulli
|
|
|
EDV [328 posts] |
13 year
|
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] |
13 year
|
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] |
13 year
|
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] |
13 year
|
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] |
13 year
|
The next AVM Navigator update is in progress.
I inform you when it will be done.
|
|
|
EDV [328 posts] |
13 year
|
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] |
13 year
|
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] |
13 year
|
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] |
13 year
|
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] |
13 year
|
I had in mind to check status before AVM Navigator in pipeline because after AVM module this value was changed:
|
|
|
EDV [328 posts] |
13 year
|
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] |
13 year
|
Now I've started without RoboRealm AVM-Navigator and the variable is -1.
Don´t work...
|
|
|
UlliS from Germany [42 posts] |
13 year
|
before is -1, after 1...
|
|
|
UlliS from Germany [42 posts] |
13 year
|
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] |
13 year
|
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] |
13 year
|
>> 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] |
13 year
|
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] |
13 year
|
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] |
13 year
|
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] |
13 year
|
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] |
13 year
|
|
|
UlliS from Germany [42 posts] |
13 year
|
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] |
13 year
|
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] |
13 year
|
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] |
13 year
|
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.
|
|