element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Arduino Forum Thinking bots
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 19 replies
  • Subscribers 405 subscribers
  • Views 1372 views
  • Users 0 members are here
Related

Thinking bots

Former Member
Former Member over 13 years ago

Hi! If your reading this then you should probably keep your mind open and just roll with what i am telling you. My team attends North East Magnet High School in Wichita KS. I have an interest in Control systems and electronics engineering. My teammate Austin Slater has always been adept at mechanical engineering and physical design. What we intend to do and in fact what we have already had some success with is designing, building, programming, and TEACHING. a humanoid robot. We are using neural network concepts to encode a Long-Short term memory neural network. This allows the robot to have thought and even memories in the form of "Physical" Connections between the "Neurons" and the signals being bounced around the "Brain". The bot has treads for mobility and is humanoid from the waist up. The bot has already learned to avoid sharp drops or "Cliffs" such as a table's edge. It has learned to make a punching motion and lean back to avoid being hit. (HINT. we built two bots to simulate a fight with each other). We still have farther to go but we are on a steady way. any help, advice, things you would like to see, or just cool comments, post them here. thank you

  • Sign in to reply
  • Cancel

Top Replies

  • Former Member
    Former Member over 13 years ago +1
    The device that won the competition was A neuro vending machine. you put your head against the panel and based on what your brain was craving, the vending machine would dish out the perfect thing for you…
  • DAB
    DAB over 13 years ago

    Hi Andrew,

     

    You definately have an ambitious project.

    I would recommend that you take a look at the Adaptive Algorithm approach used by Dr. Peter Raeth.  He and I looked at a lot of control and data analysis implementations.  I think they might help you get more control over the moving parts for repetitive actions.  The algorithm lets the system adapt to other influences as well as the control signals to compensate for vibration, hysterysis and other external sources of variance.

     

    I hope you keep us appraised of your progress, it should be very informative.

     

    Thanks

    DAB

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 13 years ago in reply to DAB

    to DAB. thank you very much for pointing me towards that concept. I found that many of the things inside my design accomplished most of the main points of the Adaptive algorythm approach in a round about way. however, the use of such methods are with purpose. i sacrifice the cut-slimness of my code in order to give it a huge adaptive and "Creative" awarness. an example of this concept happened just today. our bot is allowed to watch students in between class periods while they are in the halls in order to gain as much data for use as possible. we now know that our bot has something resembling a "Shadow Function". we asked him to walk to the other end of the room, he proceded to walk half the distance then began to SKIP! he was hopping from one foot to the other while staying in a reasonably strait line. We took five minutes to even get over the shock of what we had seen. he is developing options to every action on his own. I am proud to say that he is a good student. I can honestly say that i may no longer be an active developer but merely an observer to what he comes up with.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • 1tguy
    1tguy over 13 years ago

    I would certainly be interested to see pictures and/or video of this project.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • dirtdiver
    dirtdiver over 13 years ago in reply to Former Member

    Verry interesting! Do you have any videos or pictures you can show? And are you using an arduino for this project?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • dirtdiver
    dirtdiver over 13 years ago

    you got me fired up dude, can you explane what kind of code you use, couse i really want to understand how it works

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 13 years ago

    Ok. no I do not have video at the moment. I have been keeping this project off the radar of my local community in hopes of winning a contest at a local university. I can however give insight into how I made this work as some of you have requested. Yes I use an arduino for this project, actually i use two. I use the arduino uno for the main controller and then I have the arduino Ethernet shield that I use for SD cards. I also have a small chip known as a "Decade Counter" which takes a clock signal and an input signal to cycle through ten outputs and assigning outputs for each. I use the decade counter to control 10 servos with 2 arduino output pins. The controlling software is based around a "Long-Short term memory Neural Network" If you look through google you will find many tutorials, explanations etc. be prepared for a little frustration, Neural networks are not the easiest subject to learn. I have been researching them for over 2 years. The benefits to a long-short term memory neural network is that it is non-linear and so can solve non-linear function and it can form memories to call upon in future scenarios. Anything else you would like to know?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • dirtdiver
    dirtdiver over 13 years ago in reply to Former Member

    Ok from what I learned so far When you see/hear/smell... something its being processed in the short term memory, the longer it stays there the more it gets in the long term memory.Ones in the long term memory this image/sound/whatever..  can be accessed  by using a reminder.

    Where do you store the information from the robot and how is it  able to find the important pieces and save them only .  Because if you save all the information gotten from the robot you're going to need a big drive.Is  your robot  using motion trucking software to recognize the movement and understanding it 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 13 years ago

    Ok. this is were you get into the murky field between robotics and psychology. The brain does store what we would coin "Useless" information. the same way you might remember going up stairs earlier this week. that memory has no purpose but it is there anyway. another thing that is unique about neural networks is "Compression" the deeper a neuron is from the "inputs" the more specific that neuron is. A study showed that one man had a neuron that fired every time that man saw the president. the neurons close to inputs represent simple things like lines, vowels, pressure on fingertips while the deeper neurons respond to more and more specific situations. the way my neural network decides what to store is the same as how your brain decides what to store. "Attention" and "Repetition" every time a neuron is used it gets a little stronger. So the more a action or stimuli is repeated, the more important that neuron becomes. eventually a long term memory of that stimuli is created via that neurons growth. the greater attention we give something, the longer it stays in our short term memory as signals that are bouncing around. that in turn also strengthens certain key neurons, increasing the chances of memory development. another key factor in neural networks is that memories are general. the same way many "simple" neurons work together to fire that "specific" neuron, a "specific" neurons triggers many "simple" neurons, which fill in the gaps of your memories. that "president" neurons triggers many simpler neurons, which fill in a face, a voice, a character. the exact interactions between neurons is a murky subject. the physical aspect of it is fully studied , but the way neurons interact over vast networks is a daunting subject at best. i hope i could shed a little light on the subject. let me know if you have anymore questions.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • dirtdiver
    dirtdiver over 13 years ago in reply to Former Member

    Ok I got how the brains stores info, but how do you do it.I mean Is your robot "editing" its code everytime it stores info.If yes where do you store that code, couse it would be big.And if i had to do it the first thing that i would do is make a ""base" code-one to be like an instict to that robot- which motor is his leg and stuff like that, and another part of that code to be the memory part, where the robot stores info and uses it later.Im I even close? image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 13 years ago in reply to dirtdiver

    Ok. you should read up on Neural networks. The neural network works by running many smaller class files called "Neurons". these classes mimic the function of actual neurons. one thing these classes hold is an array of "weights" or a value that is multiplied by the output of a neuron coming into this neuron. the array holds 1 weight for every neuron that outputs to this neuron. these weights are how the value is stored. you are correct in saying that all this data is large. I am currently running an Arduino uno with an Ethernet shield and using an SD card to store every single weight before shutting down. I am also using 4 I/O pins to connect to external Microcontroller RAM so I can store this data while running. I am looking for a better controller outside of the Arduino family due to it's lack of power. it is a great "MicroBoard" wanted to clear that up. the arduino is a microcontroller with a lot of add-ons. so I am looking at a 32 bit 144 pin 6.4 MHz microcontroller that will be more suited to my needs as this project is not a small one. my little arduino unit is sitting in my room at the moment. I won second place in a "Young Robotics" competition thanks to him. Now I will move into more powerful electronics that will allow Tron's (Tiny Robot On Neurology) big brother to run more smoothly. I will add tilt sensors, two colour camera's and more in order to give him greater versatility. not to mention how many control points he can have with 144 pins. thank you for your interest.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube