Page 3 of 6 FirstFirst 123456 LastLast
Results 21 to 30 of 59

Thread: Using of AVM plugin in RoboRealm

  1. #21
    Join Date
    Apr 2010
    Location
    AZ and CA.
    Posts
    383
    Rep Power
    31

    Re: Using of AVM plugin in RoboRealm

    I don't know if it's because I'm unfamiliar with RoboRealm, but I find this thread to be quite impressive. Thank you for your posts EDV!

    Regards

  2. #22

    Re: Using of AVM plugin in RoboRealm

    I believe that the machines finally will be able to see real world in the near future and this faith help me in my developing.

    You're welcome and thank you for your support!

  3. #23

    Re: Using of AVM plugin in RoboRealm

    Next modification of AVM Navigator v0.7.2 is released.

    Changes:
    The "Navigation map" was placed into main Navigator dialog window.
    Also was added map scrolling and resizing abilities.


  4. #24

    Re: Using of AVM plugin in RoboRealm

    Some user video of face tracking by AVM:


  5. #25

    Re: Using of AVM plugin in RoboRealm

    Next modification of AVM Navigator v0.7.2.1 is released.

    Changes:
    Visual odometry algorithm was updated:



  6. #26

    Re: Using of AVM plugin in RoboRealm

    Quote Originally Posted by Mel
    What exactly are the steps that you go through to do the "follow me"? I see the video, but don't see the robo file.

    Thanks,

    Mel
    1. Connect your robot to AVM Navigator.

    Just use the variables that described below for connection of your robot to AVM Navigator:

    Use variable NV_TURRET_BALANCE for camera turning:
    NV_TURRET_BALANCE - indicates the turn degree amount.
    This value range from -100 to 100 with forward being zero.

    Use for motor control NV_L_MOTOR and NV_R_MOTOR variables
    that have range from -100 to 100 for motion control
    ("-100 " - full power backwards, "100" - full power forwards, "0" - motor off).

    You also can used alternative control variables
    (motors range from 0 to 255 with 128 being neutral):

    NV_L_MOTOR_128, NV_R_MOTOR_128 - motors control
    NV_TURRET_128 - control of camera turning
    NV_TURRET_INV_128 - inversed control of camera turning


    2. Further you should train AVM to some object in "Object recognition" mode
    and then switch to "Navigate mode" for activation of control variables (NV_L_MOTOR,
    NV_R_MOTOR, NV_TURRET_BALANCE and others). The "follow me" algorithm will be activated
    (Navigate mode) when you show object which was learned earlier in front of your robot.


  7. #27

    Re: Using of AVM plugin in RoboRealm

    Quote Originally Posted by Kamlesh Thakur
    Hi,

    I am using the AVM_Navigator plugin for human eye tracking in my academic project.
    Upon eye object recognition and tracking, it has been observed that the Navigator also displays
    a trajectory of tracking within an object image. This becomes a hurdle as I am interested to take
    a snapshot of the tracked eye object. Is there any setting in AVM_Navigator window to avoid
    the tracking trajectory when a particular object is being tracked. I am attaching a sample image
    with trajectory highlighted in sky-blue color?



    Secondly, how can I reduce the window size (use to learn an object
    in recognition mode) of recognition module?
    Navigator package is updated now and you can download next modification of AVM Navigator v0.7.2.2
    from your account link.

    And now you can disable object trajectory in Navigator dialog window by checkbox "Show the object trajectory"
    in “Object recognition” mode.

    For reducing of object windows size:
    Click "Set key image size (New)" in Navigator dialog window (object recognition mode) and then
    answer "No" on question "Do you want to set 80x80 recommended key size?".

    Further choose 40x40 key image size (click the left mouse button) and answer "Yes" in next dialog window.

    Now you can train AVM on objects with resolution 40x40 pixels.

  8. #28

    Re: Using of AVM plugin in RoboRealm

    I have done new plugin for RoboRealm:



    Digital Video Recording system (DVR)

    You can use the "DVR Client-server" package as a Video Surveillance System in which parametric data
    (such as VR_VIDEO_ACTIVITY) from different video cameras will help you search for a video fragment
    that you are looking for.

    You can use the "DVR Client-server" package as a powerful instrument for debugging your video processing
    and control algorithms that provides access to the values of your algorithm variables that were archived
    during recording.


    Technical Details

    - ring video/parametric archive with duration of 1 - 12 months;

    - configurable database record (for parametric data) with maximal length of 190 bytes;

    - writing of parameters to database with discretization 250 ms;

    - the DVR Client can work simultaneously with four databases that can be located at remote computers.



  9. #29

    Re: Using of AVM plugin in RoboRealm

    Quote Originally Posted by Ben
    Is it possible to have the missile launcher track an object, and when centered on the object fire a shot?

    Ben
    I think you could use AVM Navigator with VBScript program like this:

    Code:
    ' Get turret control variables
    turret_v = GetVariable("TURRET_V_CONTROL")
    turret_h = GetVariable("TURRET_H_CONTROL")
    turret_f = GetVariable("TURRET_FIRE")
    
    
    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 and turret_h > -128 then
            ' The object is at left side
            turret_h = turret_h - 1
        end if
    
        if dX < -threshold and turret_h < 127 then
            ' The object is at right side
            turret_h = turret_h + 1
        end if
        
        if dY > threshold and turret_v > -128 then
            ' The object is at the bottom
            turret_v = turret_v - 1
        end if
        
        if dY < -threshold and turret_v < 127 then
            ' The object is at the top
            turret_v = 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
        else
            turret_f = 0
        end if
    else
        ' Back to the center if object is lost
        if turret_h > 0 then turret_h = turret_h - 1
        if turret_h < 0 then turret_h = turret_h + 1
        if turret_v > 0 then turret_v = turret_v - 1
        if turret_v < 0 then turret_v = turret_v + 1
        
        turret_f = 0
    end if
    
    turret_v128 = turret_v + 128
    turret_h128 = turret_h + 128
    
    ' Set turret control variables
    SetVariable "TURRET_V_CONTROL", turret_v
    SetVariable "TURRET_H_CONTROL", turret_h
    SetVariable "TURRET_FIRE", turret_f
    
    SetVariable "TURRET_V_128", turret_v128
    SetVariable "TURRET_H_128", turret_h128
    =============================
    TURRET_H_128 - horizontal turret control
    TURRET_V_128 - vertical turret control
    TURRET_FIRE - fire signal

    See attached program.


    I tested it on the prototype of "Twinky rover" and it works fine as you can visibly understand




    It is a testing of the enhanced tracking algorithm that takes into consideration variable servo speed:



    See VBScript program and diagram below for more details:

    Name:  24293_thumb_1.jpg
Views: 781
Size:  1.9 KB
    Last edited by EDV; 04-21-2012 at 12:25 PM.

  10. #30

    Re: Using of AVM plugin in RoboRealm

    Quote Originally Posted by Ben
    I never learned VB Script, but I think I semi understand it. To help out a newbie, where does the motor control come in?

    Thanks!!!

    Ben
    The source data for turret control is deviation of the object center from center of screen (variables dX, dY).
    Further it influence on status of intermediate control variables "turret_h" and "turret_v" that has range from -128 to 127.

    Code:
        if dX > threshold and turret_h > -128 then 
            ' The object is at left side 
            turret_h = turret_h - 1 
        end if 
    
        if dX < -threshold and turret_h < 127 then 
            ' The object is at right side 
            turret_h = turret_h + 1 
        end if 
         
        if dY > threshold and turret_v > -128 then 
            ' The object is at the bottom 
            turret_v = turret_v - 1 
        end if 
         
        if dY < -threshold and turret_v < 127 then 
            ' The object is at the top 
            turret_v = turret_v + 1 
        end if
    The variable "threshold" is working like hysteresis that prevents self-oscillation of turret.

    Code:
        if dX < threshold and dX > -threshold and 
           dY < threshold and dY > -threshold then 
            turret_f = 1 
        else 
            turret_f = 0 
        end if
    When object is found in center of screen then it activate fire signal (variable turret_f).

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
  •