Monday, February 8, 2010

Feb.9 IN_ANY / minor Lego tests

Std Pallet chg: IN_ANY had XML problems

   some with REQ need both IND and CNF
Lego Tests: Blink works in Mindstorms
Line Follower:
 straight line tests - result motor power is not same. Always turns right.
 Need to test with different motors





Feb.8 Gleaning 61499 details from X2Y2 Tutorial

Started a clean 4DIAC system to help my understanding of what is exactly happening: 
(which it has) 

IEC6144 devices can execute 1499 so FBDK and FORTE are virtual devices.
On a pc they simulate the behavior of a control device.

On a real control device like lego they are performing the task of a device.

IEC61499 resources  are created in a device
Service Interfaces to "devices" that can't run 61499 use Service Interface blocks to send/receive messages. SIFBs are also used for accessing stuff outside of a 61499 device like sensors, motors, and even things like databases.


The 4DIAC-IDE FORTE preference should point to where the forte application is that is updated by Eclipse. That could be some bin\pc\src\FORTE_ver#.exe
  • in 4DIAC directories:  (ex:...runtime\bin\pc\src\FORTE_0.3.6.exe)    
  • default currently C:\Training\forte_mc\bin\pc\src\forte.exe -  (doesn't exist by default)
  • location of FORTE version used: (ex: .....\FORTE_0.3.7\bin\pc\src\forte.exe)
  • If Project copied into Eclipse workspace, then its of course the Eclipse workspace:            (ex: .....\workspaceX2Y2\FORTE_0.3.7\bin\pc\src\forte.exe)
4DIAC-IDE workspace contains the XML files for each project and its applications, the system configuration, and the device mappings.


4DIAC User Interface annoyances / funnies :
  • When add a fb type doesn't show up right away in list, but its there. 
  • Drag/ Drop for Composite Function Blocks: 
    • didn't allow dropping except on left bottom 
    • plus connectors didn't connect if instances moved before connecting
    • after connecting drag/drop was allowed anywhere
Standard connections: Connect all:
  • INITOs to next logical INIT and first INIT connected to cold START (in System Config)
  • QOs to the next logical QI and first QI initialized to 1
  • for X2Y2 tutorial: associated CNFs or INDs to next logical REQ
    Standard Pallet events: Usually REQ goes with CNF in the same device and IND if REQ is from another device.

    Saturday, February 6, 2010

    *LEGO NXT Robot construction links

    The following are links with examples of good or standard (or both) NXT Robot constructions.
     *+ means tried it and good   ** will try soon  *- tried it, but has drawbacks

    Basic Models /Linefollowers
    http://pille.iwr.uni-heidelberg.de/~mindstorms/data/CastorBot.pdf


    CMU National Engineering Center: Robotics Academy : Building Instructions
    3 good and standard robot examples + a general construction guide

    **Taskbot improves on Tri-bot with 2 motors by stablizing the sensor at 90 degrees.
    http://www.education.rec.ri.cmu.edu/content/lego/building/build_shows/taskbot.pdf

    Line Follower with light and ultrasound sensors; Good pictures so construction can be repeated.
    Earlier Blog entries has links to other construction websites

    Tagbot - flashlight tag- names the Lego parts

    5 Minute bot
    NXT Linefollower

    Philo's Fast NXT 2.0 Ball Sorter (Dec.27, 2009) Stone Hedge (PNP) easy enough for a 10 year old



    Friday, February 5, 2010

    Feb. 6 Surfing for examples Lego, simulators, 61499

    Found a hodge podge of Lego and 61499 links.
    The most useful Lego models will be moved a general post:
    LEGO NXT Robot construction links 


    * = now reference in another Blog entry.


    LEGO 
    comparison of Lego SW like mindstorms, LeJos etc

    http://www.teamhassenplug.org/NXT/NXTSoftware.html

    http://www.education.rec.ri.cmu.edu/products/robolab_vid_trainer/light1/light1quiz.html
    http://www.education.rec.ri.cmu.edu/products/robolab_vid_trainer/light1/index.htm#

    Taskbot improves on Tri-bot with 2 motors by stablizing the sensor at 90 degrees.
    *http://www.education.rec.ri.cmu.edu/content/lego/building/build_shows/taskbot.pdf

    LEGO Mindstorms simluators  
    so 4DIAC 61499  LEGO tutorial users to learn 61499 can use it or try it out before/without buying LEGO  (1 time usage training online by firms and 1 time usage - not schools)
    LMS http://ddi.uni-paderborn.de/en/software/lego-mindstorms-simulator.html
    licensed for educational usage only by schools and universities
    Note: Seems to change Java installation backwards, which caused me 4DIAC/FORTE problems, since a reinstall of Java seemed to fix the problem.


    More recent:
    LEGO NXT Mindstorms and the MS Robotics Developer Studio, it is a package which contains a 3D simulation of the TRIBOT. 




    IEEE article - download at TU
    Realistic simulation of a Lego Mindstorms NXT based robot
    http://www.google.com/url?sa=t&source=web&ct=res&cd=2&ved=0CAsQFjAB&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F5268173%2F5280693%2F05280986.pdf%3Farnumber%3D5280986&ei=F2ttS9vaLonL_Qa19J2sBQ&usg=AFQjCNG8nyPw_mArNcOnQB1GZcOoKLihAA&sig2=pn0cQovSmDe9FDAi9dXv_Q

    4DIAC
    Finish Tutorial CFB and SFB

    LDD = Lego Digital Designer (build model online)
    Mindstorms NXT simulator?


    Can LDD=Lego Digital Designer be installed on VT1?

    In Tool_library I updated IN_OUT and anything else in HMI palette that had REQ with IND to CNF.
    IN_ANY consistently gets an Java NULL pointer exeception - so its not up dated.
    See http://robots61499eduprojectnotes.blogspot.com/2010/02/feb4-change-hmi-to-match-standard.html

    Standard FB is not mentioned in 61499?
    SI FB:When is COMPOSITE NETWORK needed / used?


    What is Switch Workspace in 4DIAC?
    How do you see what your workspace is in 4DIAC?

    Tutorial:
    Use Video. Example of stepping through Tutorial steps:
    Connect / Construct / Contemplate / Continue
    Each step ends with a summary review with a couple for understanding questions.

    http://www.education.rec.ri.cmu.edu/previews/nxt_products/nxt_video_trainer/partial_product/behaviors/repeatingbehaviors/repeatingbehaviors.html
     interative design preview video is especially good 


    Links
    There are many interesting and possibly useful links here that need to categorized!
    Carnegie Mellon Robotics Academy / Nactional Robotics Center/ Robotics academy
    http://www.education.rec.ri.cmu.edu/ General reference - covers many topics
    *http://www.education.rec.ri.cmu.edu/content/lego/building/index.htm - Construction
    Lego CMU Research



    Labview Event Programming


    Lego and Math
    http://www.education.rec.ri.cmu.edu/content/educators/research/robot_algebra/index.htm

    http://nxtbuildingmodels.blogspot.com/

    Mindstorms book from 1980 - Turtle graphics

    http://en.wikipedia.org/wiki/Mindstorms:_Children,_Computers,_and_Powerful_Ideas
    http://www.thecb.state.tx.us/index.cfm?objectid=CA77487B-CC8D-51AA-B13A5C010E1A99E9
    http://www.education.rec.ri.cmu.edu/content/lego/competitions/index.htm


    NXT BlueWii (9/08)  http://nxtasy.org/category/projects/  search on Wii

    LMSimulator http://ddi.uni-paderborn.de/en/software/lego-mindstorms-simulator.html
    LeJos example with non-Lego parts http://www.juanantonio.info/jab_cms.php?id=228

    German too http://www.matthias-paul-scholz.homepage.t-online.de/lego/nxt/index.html

    Even in Austria: http://legoleague.schule.at/index.php?PHPSESSIONID=&design=legoleague&url=community&cid=9312&modul=1&folder=83780&

    61499 examples
    http://at.iw.uni-halle.de/forschung/enas_demo/enas_gripper/

    Collection of Typical (Beginner) 4DIAC User errors / Tips

    Path problems
    • space in path
    Hardware mapping
    • Forgot Hardware Mapping.
    • If multiple applications, forgot to unmap previous application.
    • Can't see HW mapping so think its not there!. Scroll down. Hardware mapping shows up in system in the same place in the interface. Since

    Thursday, February 4, 2010

    Feb.4 Change HMI to match standard

    In Tool Library.HMI changed Event  in and out names in Interface to match standard since often the input event REQ (request) is matched with output event IND(indicator) and should be matched with CNF(confirm).

    • How are pallet changes made available to everyone? 
    Feb.9 update: REQ should have both IND and CNF like comment says
      For in events REQ changed out event from IND to CNF:
      IN_CHOICE
      DIAG_LOG
      FB_SLIDER
      FB_TABLE
      IN_ANY (save_all failure - NULL Java pointer)
      IN_COLOR
      IN_ENUM


      FB type has output event  IND, but no matching input event. Should it be changed?
      CHOICE_TABLE
      IN_BOOL
      IN_EVENT
      IN_MATRIX
      RADIO_BOOL

      Wednesday, February 3, 2010

      Feb.3 No Output solved and Line Followers


      No Output solved 
      Basic Function Block Tutorial - 4DIAC /FORTE3.7
      FORTE(VIS_IN) to FBDK(EMB_RES) to FORTE(VIS_OUT)
      Problem was input shown, output send, but not recieved.

      First changed from FORTE 3.6 to 3.7 - fixed not being able to close input window.
      Then found several small problems: 
      Send / Recieve ip addresses were different (Fooled since ports were the same)
      Was using Forte 3.6 in 4DIAC (changed, but didn't save the change and never checked again until today)
      QI was changed to 1 instead of through data flow,but should have no affect.
      Also had + for * - easy to see when have output.

      Hint: To see in console:
      in x2y2_BFB:: alg_REQ(void)
      fprintf("x: %d, y:%d, OUT: %d\n",x.operator short int( ), y.operator short int( ), OUT.operator short int( ));


      Line Followers
      Building instruction links:
      http://www.active-robots.com/products/mindstorms4schools/building-instructions.shtml

      Modify the tribot so just uses light sensor and no motor in middle.
      Using Kinder Uni lego NXT 1 set.


      Mindstorms Linefollower - - same as last year very inexact. Line sensor has hard time seeing black. Worse when flood light is on. Will try with direct light.
      The Mindstorms software gets errors.- Insane object. Seems to come from draggin objects around on the screen - when testing what values are needed.


      Next Lejos - last year line follower was much easier/exacter in Java.