Page 1 of 6 12345 ... LastLast
Results 1 to 10 of 59

Thread: Using of AVM plugin in RoboRealm

  1. #1

    Using of AVM plugin in RoboRealm

    Since October 2007 I developed new object recognition algorithm "Associative Video Memory" (AVM).


    Algorithm AVM uses a principle of multilevel decomposition of recognition matrices,
    it is steady against noise of the camera and well scaled, simply and quickly for training.

    And now I want to introduce my experiment with robot navigation based on visual landmark beacons:
    "Follow me" and "Walking by gates".

    I embodied both algorithms to Navigator plugin for using within RoboRealm software.


    The Navigator module has two base algorithms:

    -= Follow me =-


    The navigation algorithm do attempts to align position of a tower and the body of robot
    on the center of the first recognized object in the list of tracking and if the object is far
    will come nearer and if it is too close it will be rolled away back.


    -= Walking by gates =-


    The gate data contains weights for the seven routes that indicate importance of this gateway
    for each route. At the bottom of the screen was 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.

    * The procedure of training on route
    For training of the route you have to indicate actual route (button "Walking by way") in "Nova gate"
    mode and then you must drive the robot manually by route (the gates will be installed automatically).
    In the end of the route you must click on the button "Set checkpoint" and then robot will turn several
    times on one spot and mark his current location as a checkpoint.


    life before and after Kinect



    Dr. Bruce shared his successful experience with AVM Navigator plugin:

    Leaf can look for a fiducial. Then he can calculate angle and distance using x-rotation and size.
    Next, because he knows where in the room the fiducial is located, he can apply some trigonometry
    to calculate his exact pose in the room (X Y Orientation). He then goes to a specific place
    in the room about 3 feet in front of the door. Next, switching to AVM, he can navigate through
    the doorway successfully!

    In fact, this was so successful, I then decided to have him try the hallway. He goes down the hallway
    stopping when his sonar sensors detect the wall. I then have him programmed to turn clockwise 90 degrees.
    And he then finishes by going down a short narrow irregular hallway (previously a difficult challenge).

    Here are links to 2 videos:





    I have more to do - but this is a great start...


    Some user video about testing of AVM plugin in RoboRealm to build a set of objects:




  2. #2

    Re: Using of AVM plugin in RoboRealm


  3. #3
    Join Date
    Mar 2010
    Location
    Ontario, Canada
    Posts
    105
    Rep Power
    26

    Re: Using of AVM plugin in RoboRealm

    wow, this is amazing. what operating system is used in that tank? ROS?
    What type of CPU? I am planning a robot project too. want the single board computer can do object recognition / learning too.
    CAD Tools: Solidworks 2011. Altium Designer 10
    Micro Controller: ARM7/9, AVR 8bit/16bit, PIC, Nordic nRF, HOLTEK, 51s, NEC
    RF: 2.4G, 433M
    IDE: KEIL MDK3.5, AVR Studio 4, MP LAB, HOLTEK HT-IDE3000, Elipse
    High End: VC, VB, Unix/Linux C/C++, J2ME (For cell phone game), SQL
    Education: EE Master.
    Hobby: RC Helicopter.

  4. #4

    Re: Using of AVM plugin in RoboRealm

    I used in my experiments:

    Software: Windows 7, RoboRealm\AVM_Navigator

    Hardware:
    - tracks platform;
    - motor/servo controller (OR-AVR-M128-DS + OR-USB-UART);
    - HXT12k (servo for camera rotation);
    - Logitech HD Webcam C270;
    - 3Q NetTop Qoo (Intel Atom 230 1600Mhz).

    Last edited by EDV; 03-30-2011 at 02:51 AM.

  5. #5
    Join Date
    Mar 2010
    Location
    Ontario, Canada
    Posts
    105
    Rep Power
    26

    Re: Using of AVM plugin in RoboRealm

    Thank you. I am planning to use fitpc2 1g ram 1.6g CPU. Do you think it will be fast enough to do what you are doing here?
    CAD Tools: Solidworks 2011. Altium Designer 10
    Micro Controller: ARM7/9, AVR 8bit/16bit, PIC, Nordic nRF, HOLTEK, 51s, NEC
    RF: 2.4G, 433M
    IDE: KEIL MDK3.5, AVR Studio 4, MP LAB, HOLTEK HT-IDE3000, Elipse
    High End: VC, VB, Unix/Linux C/C++, J2ME (For cell phone game), SQL
    Education: EE Master.
    Hobby: RC Helicopter.

  6. #6

    Re: Using of AVM plugin in RoboRealm

    This platform (Fit-PC2) has the same CPU as in my NetTop and also has as much memory. So, I think that AVM will work there as well as in my platform.

  7. #7
    Join Date
    Mar 2010
    Location
    Ontario, Canada
    Posts
    105
    Rep Power
    26

    Re: Using of AVM plugin in RoboRealm

    Thanks EDV. I just ordered the Fit-PC2. Good to hear that it will be able to do the minimum.
    CAD Tools: Solidworks 2011. Altium Designer 10
    Micro Controller: ARM7/9, AVR 8bit/16bit, PIC, Nordic nRF, HOLTEK, 51s, NEC
    RF: 2.4G, 433M
    IDE: KEIL MDK3.5, AVR Studio 4, MP LAB, HOLTEK HT-IDE3000, Elipse
    High End: VC, VB, Unix/Linux C/C++, J2ME (For cell phone game), SQL
    Education: EE Master.
    Hobby: RC Helicopter.

  8. #8

    Re: Using of AVM plugin in RoboRealm

    This materials was shared by user aka Scorpio (original article in Russian)

    First let’s try to make some sketch of navigation to the charging dock station with using only “Object recognition” mode. It is clear that the image in the face of robot when he is located into the dock station will not be recognized from far distance. Therefore we will train module on several pictures that is located on the different distances. In our case we will use approximately four pictures (Base0...Base3). The training was in the following order: the robot was set exactly against dock station and interest area for learning was centered in horizontal plain and also was pointed at "smile" image in vertical plain. It is clear that the module can see simultaneously several objects. We specially did it with covering that the robot could not lose sight of landmark.

    Also I made some script for robot control. There is global variable NV_COURS that indicates difference between landmark and center of screen in this program. For landmark we will choose recognized object with the biggest value of similarity rate.

    Code:
    nvObjectsTotal = GetVariable("NV_OBJECTS_TOTAL") 
    if nvObjectsTotal>0 then     ‘ If any object was found   
        nvArrObjRectX = GetArrayVariable("NV_ARR_OBJ_RECT_X")    
        nvArrObjRectW = GetArrayVariable("NV_ARR_OBJ_RECT_W")    
        nvArrObjSim = GetArrayVariable("NV_ARR_OBJ_SIM")    
        'nvArrObjIdx = GetArrayVariable("NV_ARR_OBJ_IDX")    
        imageWidth = GetVariable("IMAGE_WIDTH")
        SimMax=0:ObjIndex=0
        for i=0 to nvObjectsTotal-1   ‘ take object with biggest similarity
           if nvArrObjSim(i)>SimMax then
              SimMax=nvArrObjSim(i)
              ObjIndex=i
           end if
        next
        ObjCentre=nvArrObjRectX(ObjIndex)+nvArrObjRectW(ObjIndex)/2
        ObjCourse=CInt(ObjCentre- imageWidth/2)
        SetVariable "NV_COURS", ObjCourse 
    else    
        SetVariable "NV_COURS", 999    ‘ If object was not found      
    end if
    Video of the parking test:



    Finally we see that the robot confidently is come to the dock station.

  9. #9

    Re: Using of AVM plugin in RoboRealm

    Quote Originally Posted by Ben Graham
    I was wondering if there is anymore information on the Route Recorder module? It is in RoboRealm but there is no explanation or anything about how to use the module on the documentation page.

    Thank you very much,

    -Ben
    I hope you speak about AVM Navigator plugin:
    http://www.roborealm.com/help/AVM_Navigator.php

    I plan to share some emulator program (based on Quke 3 mod) for acquaintance with "Marker mode" and "Navigation by map" modes.



    But unfortunately this emulator is not ready for publishing yet.

    So, let’s try to use this modes directly on real robot (step by step).

    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).

    If you use Lego NXT platform then you should just adjust variables NV_L_MOTOR and NV_R_MOTOR to the range of NXT parameters (motors range from 0 to 255 with 128 being neutral) by VBScript:
    http://www.roborealm.com/forum/index...hread_id=4086#

    2. Call the dialog window of AVM Navigator (click on it at video processing pipeline) and then switch to “Nova gate mode”. Now you can control your robot by arrow keys and also you can turn robot camera by "Delete" and "Page Down" keys ("End" key will set the camera in front position).

    3. Move your robot to the start position. In this position will be placed origin of navigation map.

    4. Reset markers data information by click at "Clear/mark data" (if it needed).

    5. Switch to "Marker mode" and then you should manually lead the robot along a route.

    6. In the end of route you should switch to "Nova gate mode" and then save route data (click "Save") to the file that will has different name with default "avm.dat".

    7. Return to the start position and switch to "Navigation by map" mode then you should point robot to the target position at the navigation map (click the left mouse button on the map) and robot automatically will navigate to this point.

    You should repeat items 2-6 several times for good detailing of navigation map.

  10. #10

    Re: Using of AVM plugin in RoboRealm

    In new version of AVM Navigator v0.7 is added two modes: "Marker mode" and "Navigate by map".

    Marker mode



    Marker mode provides a forming of navigation map that will be made automatically by space marking. You just should manually lead the robot along some path and repeat it several times for good map detailing.

    Navigation by map



    In this mode you should point the target position at the navigation map and further the robot plans the path (maze solving) from current location to the target position (big green circle) and then robot begins automatically walking to the target position.




    For external control of "Navigate by map" mode is added new module variables:

    NV_LOCATION_X - current location X coordinate;
    NV_LOCATION_Y - current location Y coordinate;
    NV_LOCATION_ANGLE - horizontal angle of robot in current location (in radians);


    Target position at the navigation map
    NV_IN_TRG_POS_X - target position X coordinate;
    NV_IN_TRG_POS_Y - target position Y coordinate;

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

    Examples




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, 09: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, 05: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, 04:46 PM
  4. Thinking about DefConBots with roborealm
    By Adrenalynn in forum Sensors
    Replies: 24
    Last Post: 07-10-2008, 05: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
  •