Neural Network Robot With Arduino

preview_player
Показать описание

Running artificial neural networks on Arduino is not a simple task but machine learning is so popular nowadays and can be used for so many cool things that I decided to give it a try! Here you can see my experiments with neural networks and Arduino!

My gear:

Instagram: nikodembartnik
#robot #arduino #neuralnetwork
Рекомендации по теме
Комментарии
Автор

In case you want to extend this project, I have few suggestions:
Use Webots simulator to simulate your robot, that way you can train the neural net and see the output on your computer itself and try out various environment tests, before running it on actual robot itself.
second, if your neural network works differently the next time you train it, use fixed set of initial weights, typically done by using "random seed" or just save the initial weights in a file and load it again the next time you train.

potbot
Автор

And here I am just trying my best to make a blinking led

shaur
Автор

I love to see the fails, it makes me feel better about my issues.

dbsf
Автор

the first test did not work because it was scared first time in the world you know

inferno
Автор

Wanted to say that a couple times already but always forgot in the end. Your Cardboard Explanations are top notch Dude! Very very well made and easy to understand for younger folks especially i think.

realVertiqo
Автор

Hey Nikodem,
since you were speaking about something with more computing power and mentioned the RasPi: There is the Corel Dev Board available. This has a tensor processing unit and this makes it very powerful for neural networks. It runs models about 25 times faster then on a good CPU and costs about 150 Euro.

This might be worth checking out for you, you can even do object detection/classification and other CNN stuff.
Best regards

danimaster
Автор

I've built basically the same thing, the only difference is, is I let the sensor take a reading from left and right then position the sensor forward, which is its default position and determine which direction to move towards where the object is farthest away. When it detects it's getting close, it stops, looks left and right and does the same thing again. Therefore the sensor is always looking forward whilst moving, and only looking left and right when it's stopped which is when it's gotten too close to something.

owenoj
Автор

Really cool and awesome 👍👌💪

1-train the neural network on your computer, then copy its weights to Arduino (train in computer, implement in Arduino)
2-check neurona library, on the developer's website there's a browser based playground

bassomeify
Автор

Just a suggestion for the sensor, I think you should try out a lidar or laser sensor, since at a certain angle, the ultrasonic sensor tends to send back false data.

drakethomas
Автор

I have had trouble with the ultrasonic sensors, I sometimes get bogus short readings from them, due to the wide detection cone and echos from the floor itself. I started experimenting with taking three readings and accepting the highest value I got. This smoothed things out. Also, I suggest you make the robot move a little slower, allowing more time to take the readings.

One challenge I would love to take would be to take the basic car you have there, rip off the ultrasonic sensor, throw in a gyroscope, and make it accept commands like "turn to x degrees" and "forward", and so on. These commands would be coming from a second Arduino that controls all the sensors (SoftwareSerial communications.) Once you have a base driveable vehicle that can drive a straight line and turn to any heading, construct another Arduino or RPi system that senses the surroundings and issues commands to the drive system.

flingmonkey
Автор

5:58 to 6:22
perfect MacBook air advertisement











maybe

parthjoshi
Автор

Ciekawy projekt 👍 siedzi się godzinami i walczy z problemami ale jak w końcu zadziała to jaka radość 😁

maciekm
Автор

Use three ultrasonic sensors because you can get three inputs(distances) at the same time. As an example, if it takes one second to get distance of one side, in your robot it will take three seconds for three sides. but when you use three sensors it will take one second for all three sides. I have ddeveloped one and I used three sensors + back sensor . It is working fine

romeshfernando
Автор

Ok, this is really cool. Never thought something like a neural network is possible on a low power device like an Arduino.

TheTinkerDad
Автор

Test out side of home...you r getting reflection from wall...so robot is rotating in all direction..or set range of detection of sensor

sajidahmed
Автор

I am currently making a Raspberry pi robot and I have a webcam on it. It is convenient because you can use great Python libraries like Tensorflow and Keras to make Neural Networks.

code-grammardude
Автор

Great Job, Loved the experiment! The only reason for it not working with great accuracy could be a small dataset, which is the backbone of a neural network.
Increase the data set by simply providing left, right, center values and which direction the bot should move, in a csv file.
However that seems unnecessary here, as the problem can be solved with simple if else statements .
Nevertheless, nice video. Best of luck !

NachiketaHebbar
Автор

Very good. The working montages added extra quality to the video.

PmcAyeUrDa
Автор

"Could be done with an if statement", " the problem is that the robot is on" hahaha very funny, nice content

Guilherme-uuql
Автор

Here is and idea.
If you make a game that are a virtual representation of the "car". Then you can an random generated "labyrinth" and put a neural network in multiple cars and use an Genetic Algorithm instead.
That makes it faster to lean and you don't have to monitory it. Plus you make the genetic algorithm a powerful computer instead off the arduino. Like a said just an i idea, really liked it video.
Keep it up!

navanda