want to get into machine learning

Thread Starter

Killerbee65

Joined May 15, 2017
256
Hello all!

I have been doing some research on machine learning and want to dedicate this summer to making something out of what I learned. I want to make a robot that can use computer vision and lidar technology to navigate itself and perform tasks via vocal commands. Think of it almost as a house pet of sorts you don't have to feed but can train (ex: show it what a human looks like or different fruit), improve over time (ex: adding hardware and software), and play with(ex: just tinker with). I have looked into SBC like Nvidias JETSON Nano 2GB Developer Kit and a few more but some, if not all seem, to be above my budget. I was wondering if there is a platform with similar capabilities at a cheaper price point, preferably less than $150. My request comes with ignorance of the topic, what I mean is I don't exactly know what to look for or at the least optimize my search for a good platform. Thank you for any reply, I really appreciate it!
 

Thread Starter

Killerbee65

Joined May 15, 2017
256
just looking to be pointed in the right direction and some advice from people with experience. After a bit of further research, I have found that some prices are actually inflated but I would still appreciate some recommendations.
 
Last edited:

MrSalts

Joined Apr 2, 2020
2,767
The Jetson nano is a good start but I have no idea of you skills. Your idea to make a robot seems ok but then you limit yourself to $150 budget - that seems incongruent so I have to guess you are a novice. One range-finder Lidar will cost $100 alone. If you want it to scan a 2D area so you can scan ranges to make a point cloud means you get to increase the price substantially. Then you'll need a computer and one or more cameras, motor drivers, adapter boards, motors, wheels, batteries, chargers, well - we can get into thousands of dollars quickly

You can certainly start with a raspberry pi ($60 with SD card and power supply) and there are some vision based Python libraries available. Honestly, I'm not sure where you stand with training and experience. It is hard to make a recommendation.
 

k1ng 1337

Joined Sep 11, 2020
940
Raspberry Pi offers a nice development environment and there is still much you can make a robot do with older and cheaper technologies. I have been programming mine to control things around the house and takes measurements based on my presence. Lots of fun to program and a good stepping stone to other things.
 

Thread Starter

Killerbee65

Joined May 15, 2017
256
The Jetson nano is a good start but I have no idea of you skills. Your idea to make a robot seems ok but then you limit yourself to $150 budget - that seems incongruent so I have to guess you are a novice. One range-finder Lidar will cost $100 alone. If you want it to scan a 2D area so you can scan ranges to make a point cloud means you get to increase the price substantially. Then you'll need a computer and one or more cameras, motor drivers, adapter boards, motors, wheels, batteries, chargers, well - we can get into thousands of dollars quickly

You can certainly start with a raspberry pi ($60 with SD card and power supply) and there are some vision based Python libraries available. Honestly, I'm not sure where you stand with training and experience. It is hard to make a recommendation.

Ah I see, I have a good amount of experience with Arduino and I also failed to mention I have a good portion of the materials already so from the years of projects with Arduino. As far as skill goes, the best way I can put it is I can maybe write my own code from scratch but most of my coding comes from reverse engineering existing code and techniques. I also have a raspberry pi but one of the connectors broke I'll definitely try it out!
 

Thread Starter

Killerbee65

Joined May 15, 2017
256
Raspberry Pi offers a nice development environment and there is still much you can make a robot do with older and cheaper technologies. I have been programming mine to control things around the house and takes measurements based on my presence. Lots of fun to program and a good stepping stone to other things.

Oh snap really??? That sounds really cool honestly, is there any way you could share how you made that happen? also is it like google home and/ or Alexa type of integration (integrated with existing system to do home stuff) or something strictly unique (something you made from the ground up to directly control things)?
 

Thread Starter

Killerbee65

Joined May 15, 2017
256
You might find TensorFlow Lite, which supports microcontrollers and embedded Linux useful. The MCU route might be sufficient and it is certainly inexpensive with a decent board costing only about $15.00
I ran into that as well, I wanted to ask what are PyTorch and Tensorflow? So I understand the Arduino IDE is a compiler and compilers...well compile code and do its little thing (please excuse my ignorance of the jargon, not much of a stickler for it but I can still understand it) so what exactly is PyTorch and TensorFlow in terms of function for machine learning? I understand this question might be open-ended but anything you can tell me about it in your own words would help!
 

Ya’akov

Joined Jan 27, 2019
9,069
I ran into that as well, I wanted to ask what are PyTorch and Tensorflow? So I understand the Arduino IDE is a compiler and compilers...well compile code and do its little thing (please excuse my ignorance of the jargon, not much of a stickler for it but I can still understand it) so what exactly is PyTorch and TensorFlow in terms of function? I understand this question might be open-ended but anything you can tell me about it in your own words would help!
PyTorch and TF are both ML frameworks. PyTorch is a Python wrapper for the Torch library (so far as I know, I haven't used it). However it is designed to depend on GPU acceleration using CUDA so it is not well suited to your project. I suppose you could use a desktop computer and fast wireless connectivity to offload the work from the robot to a desktop but that doesn't seem to be what you want

TF Lite is designed for mobile and embedded applications. It's "edge AI". It can't do as much as full TF or PyTorch but should sufficient for your application. It is also possible to combine edge AI with desktop or server based AI using the network.

I am just learning TF Lite so it will be a while before I could provide practical assistance with it.
 

Thread Starter

Killerbee65

Joined May 15, 2017
256
PyTorch and TF are both ML frameworks. PyTorch is a Python wrapper for the Torch library (so far as I know, I haven't used it). However it is designed to depend on GPU acceleration using CUDA so it is not well suited to your project. I suppose you could use a desktop computer and fast wireless connectivity to offload the work from the robot to a desktop but that doesn't seem to be what you want

TF Lite is designed for mobile and embedded applications. It's "edge AI". It can't do as much as full TF or PyTorch but should sufficient for your application. It is also possible to combine edge AI with desktop or server based AI using the network.

I am just learning TF Lite so it will be a while before I could provide practical assistance with it.
oh wow, that's a lot I'll be honest but it does help a lot! I really appreciate the explanation and honestly, that's pretty impressive considering you're just learning about it! this was really helpful.
 

k1ng 1337

Joined Sep 11, 2020
940
Oh snap really??? That sounds really cool honestly, is there any way you could share how you made that happen? also is it like google home and/ or Alexa type of integration (integrated with existing system to do home stuff) or something strictly unique (something you made from the ground up to directly control things)?
I started with a stock Pi 4 operating system. I have Apache Web Server set up to execute Python and PHP so I can read and write data to the Pi via a web page in addition to the terminal itself giving wide control over diagnostics and the digital GPIO pins. Since the Pi does not have an Analog to Digital Converter (for reading sensors etc.), I have several Arduinos communicating over the I2C communication protocol which allows up to 128 peripherals to be connected with the same 3 wires. From there it is just a matter of writing code as the hardware inputs and outputs can be extended almost indefinitely with things like shift registers and more Arduinos. Arduino like microcontrollers are available now for cheap with wireless capabilities so you can go that route as well.

I like having the Pi 4 as the brains of the operation because it's an ongoing thing that I can continue to tweak and there is a lot of support from the Pi community. I also have VNCServer installed so I can remotely login and program the Pi (which looks like a normal desktop not just a command line) as mine is "headless" without a keyboard, mouse and monitor.
 
Last edited:

k1ng 1337

Joined Sep 11, 2020
940
I missed the post where you have an Arduino and Pi, why not put those to work? I've been doing some tinkering with line following, pulsed sonar, infrared and lasers all of which are a couple bucks each and can collectively "map" a room with fair precision. Roomba vacuums are an example of a device optimizing itself.

For me, the fun behind AI is the duality that exists in a "lifeless" device (computer) carrying out some function and the collection of lifeless devices (atoms, molecules etc.) that give rise to you and me, to carry out some function.

A mind game I like to ask people: If I were to make device that copies my body exactly in every way, would it be alive as I am?
 

nsaspook

Joined Aug 27, 2009
13,079
I missed the post where you have an Arduino and Pi, why not put those to work? I've been doing some tinkering with line following, pulsed sonar, infrared and lasers all of which are a couple bucks each and can collectively "map" a room with fair precision. Roomba vacuums are an example of a device optimizing itself.

For me, the fun behind AI is the duality that exists in a "lifeless" device (computer) carrying out some function and the collection of lifeless devices (atoms, molecules etc.) that give rise to you and me, to carry out some function.

A mind game I like to ask people: If I were to make device that copies my body exactly in every way, would it be alive as I am?
Exactly can't happen (transporter) but it's pretty easy and fun to make close copies using existing devices. ;)
To even dream of doing that would require not only putting all the particles that make you up back together in the same configuration, but with the same positions and momenta that they had before you were teleported. Think about the difference between a living human and a corpse of a human: there are no particles that are necessarily different; it’s simply the way those particles are positioned and moving in that configuration.

But physics won’t let you do that.
 

FlyingDutch

Joined Mar 16, 2021
83
Hello,

I was learning deep learning from these tutorials:
https://www.youtube.com/watch?v=gZmobeGL0Yg&list=PLZbbT5o_s2xq7LwI2y8_QtvuXZedL6tQU

In my opinion it is very good for start. Look for books about "Tensorflow" and "Keras". About hardware acceleration - don't buy expensive development kits, just make an accout in "Google Colab". With "Google Colab" account you can use very powerful hardware (Nvidia GPU and google TPU) just in cloud. For entry level of "computer vision" "OpenCV" library is very good (often it is used together with Tensorflow or Keras). The cheapest hardware platform for your robot could be RPI3 or RPI4 (you can run "OpenCV" on this hardware). "Tensorflow Lite" (runtime) you can run even on bigger STM32 MCus, and do training ANNs with "Google Colaboration" account. Big computation power is needed in the phase of learning ANNs, trained network can run on less powerfull hardware (just with TensorFlow runtime).

Best Regards
 
Last edited:
Top