First Project - Learning robot

Hello All,

I’ve been doing a lot of reading and internet research for a couple months now and have finally worked up enough confidence to start my first project. My primary inspiration for pursuing a robotics project is to build and program a robot that is able to learn by introducing varying levels of randomness into it’s processes and behavior. I think the best descriptive term here is stochastic learning.

I’m very new to this and lack a background in engineering, electronics, or programming - so I will be starting simple, with a 2wd differential drive and only one distance sensor.

First problem: the chasis I bought came with two motors, but they look pretty heavy duty and are rated at 6 volts. One question I have is whether I can just run and power them straight from the Uno, or if I need to purchase a motor shield. If I need a shield.

Second problem: the chasis didn’t come with encoders and I am unable to find anything online that will work. Do I need encoders for a first-time project? Or is it best for me to just keep it simple, since I’m not really that concerned with orientation and positional accuracy anyway.

Final issue: is the Arduino Uno capable of running a program that is going to require a substantial amount of data storage and retrieval? I’m not sure exactly how much memory will be required because I haven’t started on the sketch yet, but I don’t want to get half way into it only to come up against the Uno’s inherent limitations.

For now I will continue with putting together some of the components I have and give regular updates here with progress.

I’m excited to be doing this and look forward to eventually becoming a more productive member of this community.


This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/first-project-learning-robot

external storage card

you’ll likely want to store any data on an sd card since the memory is not persisted after restart.  you can get a data logging shield as an easy and inexpensive way you can add data storage.  

another issue you’ll want to work out early is the method of determing the robot’s location if you’re attempting mapping.  this is a very tricky problem lots of people have worked on.  not a great task to try to handle on your first build.  but if you do, there are lots of ways to handle it.   you can use encoders to determine the robot’s movement from a fixed point, but any variation like a skipped encoder value can throw everything off.  gps is another solution, but only reliably accurate to about 6 feet or so.  you can do some kind of triangulation with external points, some kind of optical system with a camera tracking the movement, or something like that.  if you’re looking at maze mapping it might be better to use encoders and track obstacles and turns/rotations of your wheels, but open spaces like a living room is a huge task.  another option is using some kind of 3d sensor system like a kinect or lidar etc.  but it gets expensive.  

good luck with your project.

Thanks for the help here,

Thanks for the help here, the support is very encouraging. I just ordered the motor driver. After I have that component, I’m just going to focus on getting something operational and then build from there as I learn more.