Page 4 of 6 FirstFirst 123456 LastLast
Results 31 to 40 of 59

Thread: Using of AVM plugin in RoboRealm

  1. #31

    Re: Using of AVM plugin in RoboRealm

    Quote Originally Posted by Ben
    To use that VBscript you wrote for real, what would need to be modified?
    I think that this VBScript program is complete and it not needs in any changes.
    You can use variables TURRET_V_CONTROL and TURRET_H_CONTROL (range from -128 to 127 )
    or variables TURRET_H_128 and TURRET_V_128 (range from 0 to 255 with 128 being neutral)
    for servos pan-tilt control. Also you can use Scale_Variable module for scaling into any convenient range:
    http://www.roborealm.com/help/Scale_Variable.php

    And you can use serial module for transmitting of variables value to your robot/turret:
    http://www.roborealm.com/help/Serial.php

    or any other module like these:
    http://www.roborealm.com/help/Lego_NXT.php
    http://www.roborealm.com/help/Endurance_Servo.php

  2. #32

    Re: Using of AVM plugin in RoboRealm

    Quote Originally Posted by Ben
    What’s the range for AVM Navigator?
    The AVM Navigator is an additional module that is distributed along with RoboRealm
    and VBScript program use variables NV_OBJECTS_TOTAL, NV_ARR_OBJ_RECT_X,
    NV_ARR_OBJ_RECT_Y, NV_ARR_OBJ_RECT_W, NV_ARR_OBJ_RECT_H
    that was produced by AVM Navigator as the source data for object pointing:

    NV_OBJECTS_TOTAL - total number of recognized objects
    NV_ARR_OBJ_RECT_X - left-top corner X coordinate of recognized object
    NV_ARR_OBJ_RECT_Y - left-top corner Y coordinate of recognized object
    NV_ARR_OBJ_RECT_W - width of recognized object
    NV_ARR_OBJ_RECT_H - height of recognized object

  3. #33

    Re: Using of AVM plugin in RoboRealm

    Quote Originally Posted by Ben
    Ok so for scale variable, my motor does not have a range (it is the motor used in electronic scooters/wheel chairs). So how do I use that?
    However let's try another variant of VBScript program:

    Code:
    ' Set the turret control variables 
    turret_h = 0 
    turret_v = 0 
    turret_f = 0 
    
    nvObjectsTotal = GetVariable("NV_OBJECTS_TOTAL") 
    
    if nvObjectsTotal>0 then   ' If any object was found 
        ' Get image size 
        img_w = GetVariable("IMAGE_WIDTH") 
        img_h = GetVariable("IMAGE_HEIGHT") 
         
        ' Get array variables of recognized objects 
        nvArrObjRectX = GetArrayVariable("NV_ARR_OBJ_RECT_X") 
        nvArrObjRectY = GetArrayVariable("NV_ARR_OBJ_RECT_Y") 
        nvArrObjRectW = GetArrayVariable("NV_ARR_OBJ_RECT_W") 
        nvArrObjRectH = GetArrayVariable("NV_ARR_OBJ_RECT_H") 
    
        ' Get center coordinates of first object from array 
        obj_x = nvArrObjRectX(0) + nvArrObjRectW(0)/2 
        obj_y = nvArrObjRectY(0) - nvArrObjRectH(0)/2 
         
        ' Get difference between object and screen centers 
        dX = img_w/2 - obj_x 
        dY = img_h/2 - obj_y 
         
        threshold = 40 
         
        if dX > threshold then 
            ' The object is at left side 
            turret_h = - 1 
        end if 
    
        if dX < -threshold then 
            ' The object is at right side 
            turret_h = 1 
        end if 
         
        if dY > threshold then 
            ' The object is at the bottom 
            turret_v = - 1 
        end if 
         
        if dY < -threshold then 
            ' The object is at the top 
            turret_v = 1 
        end if 
    
        ' Is the target locked? 
        if dX < threshold and dX > -threshold and 
           dY < threshold and dY > -threshold then 
            turret_f = 1 
        end if 
    end if 
    
    ' Set turret control variables 
    SetVariable "TURRET_V_CONTROL", turret_v 
    SetVariable "TURRET_H_CONTROL", turret_h 
    SetVariable "TURRET_FIRE", turret_f
    =================================
    TURRET_H_CONTROL - horizontal turret control (0 - motor off, 1 - right turn, -1 - left turn)

    TURRET_V_CONTROL - vertical turret control (0 - motor off, 1 - turn it upward, -1 - turn it downward)

    TURRET_FIRE - fire signal

    See attached program.
    Last edited by EDV; 08-16-2011 at 02:49 PM.

  4. #34

    Re: Using of AVM plugin in RoboRealm

    Quote Originally Posted by Ben
    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.

    See VBScript module guide for more details.

    Further download the VBScript program.

    Start RoboRealm and load "program.robo" file (click "Open" button in main dialog window).

  5. #35
    Join Date
    Jun 2010
    Location
    Australia
    Posts
    161
    Rep Power
    43

    Re: Using of AVM plugin in RoboRealm

    Hi EDV. Sorry if I am asking a silly question, but how do I load the Navigator plugin in Roborealm?
    I now have Roborealm (Thanks Trossen!) which has the plugin on the CD, but if I open the RR program, & look in "Contents" on the left hand side of the screen, then open the "Plugins" folder, there are only two plugins - "Sample_Config" & "SwapColor". The "DVR_Server" & "Navigator" plugins don't appear at all.
    If I use the search button & type "nav" then nothing comes up.
    If I type "Plugin" into the search button, it first finds "Photoshop_Host", then when I press enter, it opens a box for importing plugins, but it only wants plugins for photoshop, so when I find & select the Navigator DLL in the RR program folder, it won't accept it. I can't find anything in the RR website on how to load your plugin, so it can't be that hard.
    What am I doing wrong?

  6. #36

    Re: Using of AVM plugin in RoboRealm

    I forwarded your question to Steven and received reply:

    Yes, the copy they have from Trossen will NOT include the AVM plugin as
    it is a commercial copy and NOT a trial version. They need to register
    their licensed copy from which they installed via the received CD (by
    accessing Options Dialog->Download button) and then purchase the AVM
    plugin after registration is complete. They should use the same email to
    register that they would use in paypal in order to make the purchase
    process easy.

    If they have any problems with this process they can contact us directly
    using the site's contact form and we'll help them sort things out.

    They would still need to purchase the AVM plugin though as this is not
    included in the RoboRealm CD.

    STeven.

  7. #37
    Join Date
    Jun 2010
    Location
    Australia
    Posts
    161
    Rep Power
    43

    Re: Using of AVM plugin in RoboRealm

    OK, thanks. I have already registered, so I just need to purchase the AVM plugin. I have had issues before with Windows 7, & had a horrible feeling that it might be yet another compatability problem. The main reason I went to Roborealm was because I had seen your videos of what was possible! I'll contact them soon-ish.

  8. #38

    Re: Using of AVM plugin in RoboRealm

    Quote Originally Posted by Ben
    Thanks, I'll play around with it. So AVM Navigator is loaded when you load the vbscript right?
    Yes, of course the AVM Navigator will be placed to video-processing pipeline when you will load "program.robo" file.

    Quote Originally Posted by Ben
    Have you ever tried mapping with a kinect?
    The main idea of AVM Navigator project is the using only visual images from one video camera as input sensory information
    for robot navigation (it does not stipulate for using of any other sensors like kinect, laser, infrared or acoustic detectors and etc).

    Quote Originally Posted by Ben
    So does AVM navigator "warn" itself before bumping into anything?
    You can use emulator program (based on Quake 3 mod) for acquaintance with "Marker mode" and "Navigation by map" modes.

    See "AVM Quake 3 mod" manual for more details.


    You can download it from: www.roborealm.com/Setup_avm_q3mod.exe

    How "Navigation by Map" works.

    Obstacle avoidance

    The robot processes the motion history of input images for the previous second. If any commands were given
    (i.e. the "forward" command) but no changes where seen in the input image (nothing happened) then the robot
    is assumed to be stuck (i.e. the robot is pushing against a wall). When stuck the module will set the movement
    variables to move backwards. The stuck situation is indicated by a red rectangle with a circle in the center.

    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.

    The set of marks inside the AVM gives a map of locations (robot see the marks and recognize its location).

  9. #39

    Re: Using of AVM plugin in RoboRealm

    Quote Originally Posted by Ben
    Is their anyway to map out entire rooms? (Or houses?) So you could click to go to this corner of a room etc. So instead of paths, rooms?
    You just set up visual marks that will be associated with map location coordinates in "Marker mode" (but it not create any path to somewhere)
    and then robot in "Navigation by map" mode will plan the path from the current location to the target position (maze solving) that you point to.

    Thus if you could show every inch of your rooms to robot (in "Marker mode")
    then it would allow to move robot to any random position in your house:


  10. #40

    Re: Using of AVM plugin in RoboRealm

    Scorpio presented his great project of the robot "Vanessa" that also used AVM Navigator for space orientation:




    Originally Posted by Scorpio:

    "Vanessa" is an interactive mobile robot designed for debugging algorithm orientation in closed rooms
    with a flat floor. As well as realize experiments in the area of communication between people and robot.
    The main difference between this robot and other ones consist in the employment of a tablet computer.
    It´s light, has a recognizable possibility of continuous operation without recharging the battery, which,
    in combination with high capacity makes the tablet a very convenient object for building robots.

    Another feature of the tablet, its vertical screen - is used in this project, where the tablet - it's not only
    the "main brain", but also the "face" of the robot. The ability of a robot to talk and express emotions
    makes it more esthetically attractive.

    The robot was built by one person at home. Therefore the wheelbase was bought. In addition to this,
    the dual motor driver was installed, as well as AVR microcontroller and some sensors of different functions.
    The robot has a growth of 130 cm and weighs about 10 kilograms. The maximum speed can reach 3 km per
    hour and the maximum duration of the battery is about 2 hours.

    To detect obstacles, Vanessa has 3 bumpers, 4 Infrared Sensor Switchs, and an ultrasonic sonar.
    In addition to this, during the movement the current of each of the motors is controlled. If the robot gets stuck,
    the movement will be stopped.

    The robot is able to distinguish between people and furniture or walls. For this purposes Vanessa uses a directional
    infrared thermometer and a motion detector. The main task of the robot is to freely orientate in the room and always
    know the position. To determine the distance traveled, the robot uses a pulse encoder, and to determine
    direction - a digital compass. Just underneath the robot, the scanner of floor labels is located, which allows precise
    positioning at the point marked with a special sign.

    But, the using of computer vision gives better results. For realizing this task, an extra high-resolution camera
    is functioning with the possibility of rotation in two planes. Thanks to it, and using image processing software
    "Robo Realm" it became possible, for example, to use separator lines on the tiled floor as a grid map when moving.
    Also, the use of the Navigator module is a high-perspective process, which gives you a possibility to recognize
    and store routes which depend on visible landmarks.

    The possibilities of computer vision are not limited only to navigation functions. This robot also can memorize
    faces of people and images of objects.

    Of course, as any autonomous robot, Vanessa has a charging base for recharging the batteries. The charging
    base is arranged simply, and the robot has two separate contact groups, on for each battery. The states
    of the main 12-volt battery and tablet battery are continuously monitored during the operations. When the battery
    charge is insufficient, the robot itself finds the charging base, fully charges the battery, and then continues
    with the previously programmed task.

    The main mode of the robot is basically the autonomous working. The robot performs certain tasks in accordance
    with a given schedule. For the works performed in dim-light places a lamp and a laser pointer are provided.
    Also, the robot can control home appliances using an infrared emitter.

    At any time, you can switch to control the robot via the Internet. For these purposes, Skype messenger is used.
    Skype API allows you not only to communicate with the robot by text messaging, but also to switch the video
    from one camera to another, which provides additional comfort for the operator. Through the Internet you can
    manage all of the functions, send him phrases for speak, order the reproduction of emotions and others.

    Tuning and testing the robot can be performed using a touch screen of the tablet, or using an infrared remote control.
    Also, the robot understands some voice commands.

    These types of robots can be used, for example, for the house security, excursions, as a home assistant,
    or just for having some fun.

    Hardware:

    Tablet PC THD PX1 (Atom N450 CPU, 160GB HD, 1GB RAM, 1024 x 600 10″ multitouch)
    Battery: 12V, 7 AH
    Wheelbase: HCR (Diameter of wheels 140 mm)
    Dual motor driver: MD25 (modified )
    Microcontroller: AVR-CRUMB168-USB
    ets...

    Software and technology:

    HP InfoTech S.R.L. CodeVisionAVR
    Microsoft Windows XP
    Microsoft Visual Basic
    Microsoft Agent
    Microsoft Text-To-Speech Engine
    Microsoft Speech Recognition Engine
    Acapela group computer voices
    Guile 3D Studio Vanessa MSAgent character
    Skype SDK
    Robo Realm
    AVM Navigator module for Robo Realm

    Credits:

    Scorpio wishes to thank
    to resource Roboforum.ru for support
    and to Dmitriy Yeremeyev for the given AVM Navigator module

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Roborealm vision software for Roboard
    By altwolf in forum Robot Computers
    Replies: 2
    Last Post: 05-28-2010, 08:04 AM
  2. Question(s) RoboRealm and Axon serial communication issues
    By Resilient in forum Software and Programming
    Replies: 2
    Last Post: 05-15-2009, 04:06 AM
  3. Servo Center 3.1 problems with roborealm.
    By Droid Works in forum Software and Programming
    Replies: 9
    Last Post: 08-12-2008, 03:46 PM
  4. Thinking about DefConBots with roborealm
    By Adrenalynn in forum Sensors
    Replies: 24
    Last Post: 07-10-2008, 04:32 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •