locked
Robotic Studio with PIC micro controllers and I2C question RRS feed

  • Question

  • Hello all,

    I have been building a mobile robotic platform for a while, and recently decided to use the Microsoft Robotic Studio for the higher order processing.

    What I have is a large three wheel robot with a range of sensors that a locally dealt with by PIC16f87 chips going onto a I2C bus which connects to an EEPC running the Robotic Studio software via USB interface.  There is also two web cams and a few other bits that use USB.

    As this is a work in progress I have not fixed all processes, but what I would like to do is use simple tokens to the PIC's and back to the PC for interpreting the filtered data and making decisions.

    The questions I have are these,

    1. does any there have experience with connecting (software) the PC 2 I2C
    controller that could help me.  This PC 2 I2C unit is seen by Windows as a Com port (in my case COM:4.
     
    2. As the project is more about AI than getting it to do a specific task, creating an AI "Core" that will with training be able to do something practical with the filtered data.

    Big ask I know, but it is a big project for me

    Thanks in advance
    Saturday, March 14, 2009 10:48 PM

Answers

  • Unfortunatly, i doubt you will be able to find some off-the-shelf "AI" that will do what you want.  The state of robotics today is that everything is custom.  Hardware, software, and even "AI".  There are no standards yet.  So even if you found some AI controller that does something close to what you want, there are no guarantees that you will be able to hook it up to your sensors, motors, processor, etc.  For example, I know of a few university pojects that did research on robots that learned how many legs they had and how to walk best, and i am sure their code was for linux. 

    The upside is that RDS is trying to standardize.  There are generic contracts for a number of robotic modules.  And if hardware vendors implement these contracts faithfully, it should be possible to write some generic AI controller that will work on a variety of different robots if they have the right hardware.

    I am not trying to discourage you.  I am just saying you are going to have to do more of the work yourself.  Which in my opinion, is the fun part. :)
    www.coroware.com
    Sunday, March 29, 2009 12:13 AM

All replies

  • 1. In my opinion, RS232 COM ports are the easiest and most straightforward way to interface a PC with a microcontroller.  But if you have some RS232 to I2C device then that's fine, but i don't think anyone here will be able to help you with that hardware.  The datasheets for your PIC should help with the microcontroller side.  But on the PC side, sending and receiving data over a COM port is very easy.  There are many examples in the MRDS sample code. 

    2.  I am not really sure what you are asking here.  But if you want to know about AI, you should buy some books on the subject or take a class on it.


    www.coroware.com
    Monday, March 23, 2009 2:33 AM
  • Thanks for the reply,

    what I would like to do is use the MS Robotics software as the A I (So I need to learn or find a way to use this software to create this AI functionality, which brings me to the first part of the question, can MS Robotic Studio be used for A I effectively?)and the PICs as the lower level (sensory and mechanical) functions. 

    I have seen programs like "A I Mind" for forth, that create a routine that looks like it is responding to stimulus, but it is very limited in the connecting of sensors and controllers.   It is the process of getting the platform to learn about itself (a bit like what a baby does) that is interest to me.  I would want the information processed to be saved to disk as it goes through processes for long term memory and recovery purposes.

    The result of all this is a unit that will run without the A I side of things if required in a "Limp home mode" 
    (this I will do with the PICs) and I would like to think, is, that the unit will learn to do specific (Non prompted) tasks within its own right based on information presented to it from the I2C Bus or devices off the USB Bus and network.

    The final outcome is a mobile robotic platform that has no specific task other than to learn where it is in time and space and be able to react to stimulus within preset limits. 


    If this is not the best forum for this type of use of M S Robotics studio, what would be?


     

    Monday, March 23, 2009 10:37 AM
  • It appears that your question is more about AI than about RDS. You can certainly use RDS for AI, but you will have to write the AI code yourself (unless somebody else in the community has code to share). I don't think there is a more appropriate forum.

    Trevor
    Saturday, March 28, 2009 3:36 AM
  • Unfortunatly, i doubt you will be able to find some off-the-shelf "AI" that will do what you want.  The state of robotics today is that everything is custom.  Hardware, software, and even "AI".  There are no standards yet.  So even if you found some AI controller that does something close to what you want, there are no guarantees that you will be able to hook it up to your sensors, motors, processor, etc.  For example, I know of a few university pojects that did research on robots that learned how many legs they had and how to walk best, and i am sure their code was for linux. 

    The upside is that RDS is trying to standardize.  There are generic contracts for a number of robotic modules.  And if hardware vendors implement these contracts faithfully, it should be possible to write some generic AI controller that will work on a variety of different robots if they have the right hardware.

    I am not trying to discourage you.  I am just saying you are going to have to do more of the work yourself.  Which in my opinion, is the fun part. :)
    www.coroware.com
    Sunday, March 29, 2009 12:13 AM
  • Thank you all for your help.

    Yes it looks as though I will need to do most if not all the AI design myself, which, given I am not an experienced programmer will be interesting to say the least.

    What I will do if pose questions as they arise regarding aspects of the use of RDS in AI
    Sunday, March 29, 2009 6:03 AM