Hacker News new | ask | show | jobs
by Raphmedia 4243 days ago
Building a drone, or robots is one of my dreams. I mean, as I programmer, I build things all the time. How awesome it would be to code something that ends up moving in the physical realm? Even better if it had some limited form of AI.

But I know nothing about hardware, and very very little about programming a UAV.

7 comments

You can make a surprising amount of progress in simulation, before being committing to hardware. For example, check out the tutorials on this page for bringing up the Hector quadrotor in Gazebo:

http://wiki.ros.org/hector_quadrotor

If you're interested in planar SLAM, exploration etc, there are loads of simulated and real platforms to experiment with, and lots of ready-to-go scenarios which you can bring up, observe, play with, etc. For example:

http://wiki.ros.org/frontier_exploration#Functionality

I'm a programmer who'd never tried electronics till an year ago but have now managed to build a few things - that even involve homemade PCBs and SMD soldering.

1) I started by buying an arduino, a starter kit and some simple sensors and actuators - ultrasonic, gyro, servos, motor driver - on ebay.

2) read Pratt's "Make Electronics" and Wiley's "Electronics for Dummies"

3) started making. Understood theoretical concepts by doing.

4) I regularly watch DIY youtube channels and follow RSS feeds of sites like Instructables and Hackaday.io

5) I'm not yet capable of building a UAV, but I've already built a couple of robots.

It's not really tough, and it's a fantastic side hobby. It's also turned me into a more careful software programmer, constantly double and triple checking everything, because electronic circuits are not as forgiving of mistakes as software.

So I'd say get started right away. It's gonna be fun!

I didn't see your reply until today.

Thanks! I'll take a look at those books.

Any good links you could throw my way while we are at it?

For purchasing, just search "arduino starter kits" in ebay, adafruit or sparkfun.

For learning, check out :

[1] https://learn.adafruit.com/category/learn-arduino

[2] https://learn.sparkfun.com/start_a_project

Can you share which components you bought to start with, i.e which starter kit, which sensors / motors, etc? Thanks!
There's no dearth of starter kits. Just search for arduino starter kit on Ebay or Sparkfun. They come with an assortment of components like resistors, capacitors, diodes, transistors, 9V battery connector and a few sensors.

Additionally, I bought a couple of the widely available HC-SR04 ultrasonic sensors, a couple of turnigy small servos, an L293 motor driver, couple of L-shaped BO DC motors, and robot chassis. Just search for those terms on ebay.

[1]: https://www.sparkfun.com/products/9065

Sensors/Awareness of environment is where the dream dies. Not just in that sensors give very limited input, but that limited input is far more than you can practically use effectively without a team of PhDs and a few years. You end up making very greedy decisions about behavior based on sensor readings, which work great in a narrow context of places and behaviors, but generalize poorly to human spaces. UAVs are a little better because their "specific context" is a bit more broad than most (in the air, minimal turbulence, and nothing to hit). If you want a similar interesting problem where you could feel efficacy look at robotic blimps or boats, you can get kits!
Robots in human spaces can be done and, more to the point, the company I'm working for is doing it[1]. And there's the Google car too. It does require spending more on sensors than a hobbyist will want to spend and in our case it requires the occasional remote intervention when, for instance, someone leaves a box in the robot's parking spot.

[1]http://www.vecna.com/on-demand-delivery

I'm definitely approaching this from a hobbyist's point of view. My experience is limited to FIRST and a thrust vectoring bi-copter that was deemed too likely to maim or kill to be used in public spaces.
I started to work on last year's offering of this embedded systems MOOC, but couldn't commit the time required to finish it: https://www.edx.org/course/utaustinx/utaustinx-ut-6-02x-embe...

It seems like a great introduction to embedded systems for programmers without any hardware/electronics experience. The course is being run again in January.

If you're looking for something with AI then ros.org is a great resource. You can do a lot with a Kinect and an old laptop.
You might want to take a look at AnkiDrive and track their progress on their API and such. That would be a very fun platform to start working with limited AI that would be readily visible in the real world.