Settings

Theme

Ask HN: Best programmable robot for a child with SDK?

62 points by itroot 5 years ago · 52 comments · 1 min read


I want to show my kids what you can achieve with software development, and I think dealing with some physical thing that is controlled by your code is incredible fun - you are getting feedback instantly.

I see that there some projects like Sphero, etc.. that already got an API - I think it's great.

Can you advice some other things that are falls into that category? (I'm actually afraid of doing hardware part of it... so I think arduino-based things are too complex -- correct me if I'm wrong)

nwsm 5 years ago

LEGO Mindstorms is a really good line imo. Maybe higher level on the software side, but is great for what you're describing- getting beginners interested in coding through robotics.

  • matthberg 5 years ago

    I would also highly recommend looking into local FIRST Lego League [0] teams, which are part of the FIRST robotics competition series yet targeted for younger kids. I got into FLL in late elementary school, though the age range accepts kids from pre-K through middle school [1].

    FLL uses LEGO Mindstorms robots, while later FIRST Tech Challenge (FTC)and FIRST Robotics Competition (FRC) use metal/plastic parts. In FRC we used milling machines and CAD, big steps up from playing with LEGOs.

    The FIRST programs are amazingly educational and fun engineering/programming experiences. I cannot recommend them enough. Going through FLL and FRC was life changing for me, getting me into programming and building teamworking and countless other skills.

    [0]: https://www.firstinspires.org/robotics/fll

    [1]: https://www.firstinspires.org/robotics/fll/what-is-first-leg...

  • valbaca 5 years ago

    I got started on LEGO Mindstorms in high school (circa 2005).

    At the time the fun thing to do was to have them navigate a maze. First an incredibly small and simple one; one that could be done by manually programming LEFT-RIGHT-FORWARD-etc. Then a more complicated one with walls (using the bump sensor) to show the left-hand algorithm, then one where the "walls" were tape on the ground (using the optical sensor).

    All in all it shows that yes, you can program to do a specific task OR with some abstraction and algorithms you can solve every instance of a problem. All while teaching the basics of if-else-then, loops, etc.

  • hansvm 5 years ago

    That was easily some of the best bang-for-their-buck my parents ever got. LEGO Mindstorms would keep me quiet and out of trouble for days at a time.

    I'm not certain how much that influenced my interest in software engineering though, or even if it made learning traditional programming easier. I later had a few c++ courses in high school, and as I recall most of my struggles were with syntax errors (not discounting those in the slightest because I made a _ton_ of them) and whatnot rather than some kind of broken control flow, and I remember that not being the case for all but two of my classmates, so it does seem plausible that some of the Mindstorm lessons stuck around or shaped how I think about such things.

  • formercoder 5 years ago

    Back on the original yellow brick you could hack it and write something like C++ for it IIRC. Not sure about the current generation.

  • miskin 5 years ago

    For smaller kids, Lego Boost is quite nice, too.

tmaly 5 years ago

I would highly recommend the microbit driven cutebot.

You can use block based programming which I find is much easier to get kids started on.

There is even a Scratch interface for microbit, if you want to start a little slower. A new version of the microbit is coming out in November. You can do quite a lot with the new version see

https://news.ycombinator.com/item?id=24763120

  • nickloewen 5 years ago

    I also recommend the cutebot. It's available from adafruit: https://www.adafruit.com/product/4575

    The micro:bit itself is the ideal "physical thing that is controlled by your code" and it is indeed very fun. The cutebot is a great place to start but you might want to consider getting some other bits and pieces too. There are all kinds of breakout boards that will provide servo control, relays, etc, and any of those would multiply the fun you can have. Maybe browse some of the prebuilt kits to get some ideas.

    The micro:bit also has a built-in radio. It can do Bluetooth Low Energy, but it can also do a micro:bit specific protocol that's easier to use and less memory hungry. So getting two micro:bits opens up a whole bunch more opportunities, too. Last weekend, for example, we turned the cutebot into a remote control car by using the accelerometer in the second microbit to create a wireless steering wheel.

    • tmaly 5 years ago

      I never thought about the blue tooth aspect. I could picture some interesting projects now.

      I am also looking forward to the microphone on version 2. Voice control will be fun for kids.

  • jacknews 5 years ago

    Also the very similar Micro:Macqueen: https://www.dfrobot.com/product-1783.html

gberger 5 years ago

Your child came with an SDK? :)

geophile 5 years ago

Is the child programming the robot, or the robot programming the child?

ssheth 5 years ago

Dash Robot is a fairly popular robot used in schools for kids.

They have flow-chart style programming but also support various SDK's..

They have support for Python and Swift: https://www.makewonder.com/blog/dash-dot-and-cue-arent-just-...

https://www.makewonder.com/apps/

whatrocks 5 years ago

I've had some fun with Cozmo by Anki, with the caveats that the company recently went under and the required local wifi setup with your phone and the robot is incredibly clunky.

But I did manage to train a computer vision model using photos taken by the robot: https://www.charlieharrington.com/teaching-my-robot-with-ten...

anfractuosity 5 years ago

I got this one - https://www.makeblock.com/mbot/ which is programmed using a Scratch fork. It was a little bit tricky to get connect at first in Linux, but seemed to work pretty well once I sorted that. It has got an ultrasound distance sensor and line following sensor.

I saw this recently - https://www.kickstarter.com/projects/petoi/bittle which I thought looked awesome, but a bit pricey for me at the moment. It seems to also have a graphical coding environment.

rihegher 5 years ago

Thymio is a good starting point especially if your kids like to build things with Lego blocks since you can attached some on it. https://thymio.org

pkpcmu 5 years ago

BBC's microbit is an awesome start - my daughter loves it!

tommilukkarinen 5 years ago

We had this:

https://sphero.com/collections/all/products/sphero-sprk-plus

Good about this: 1. easy to get started 2. kid can really do programming by herself 3. fun so you are likely to get it out more than once 4. programming happens with the phone, so your kid might already have the computer needed 5. feels high quality

WillPostForFood 5 years ago

You mentioned Sphero, and it us a good choice. The hardware is solid, well documented, and there are a ton of language options. Ruby (via Artoo) is a really easy way to introduce text based programming.

http://artoo.io/documentation/platforms/sphero/

claudiulodro 5 years ago

If you're looking for the "professional" quality ones, I believe Lego Mindstorm is probably the way to go. That's what schools use.

If you're just looking for something simple and fun to expose your child to concepts, something like a Code-a-Pillar, programmable R2D2 toy, or any of the dozens of similar products would work fine.

xs83 5 years ago

I started with LOGO and a turtle on the floor that drew stuff on paper. That was 30 odd years ago now (That makes me feel old....).

I have tried scratch and a few others but nothing really gave me that "aha" moment that I had with Logo from a very young age.

saluki 5 years ago

Another vote for Lego Mindstorms.

A new set just came out so you might be able to pick up the previous one at a discount.

Another vote for First Lego League, they have a few age tiers, if you can't find a team to get on consider making your own team, we had a blast.

codegeek 5 years ago

My 7 year old got "Botley the coding robot" for her birthday and it was fun programming it. Wasn't real coding as in typing code but it taught how to program with logic.

goatcode 5 years ago

Children with SDKs? Science has definitely gone too far.

idealstingray 5 years ago

A few other comments have mentioned the LEGO Mindstorms system, which is a great choice if you don't want to deal with hardware. If you go that route, I would strongly recommend using ev3dev [1] in order to avoid the LabVIEW-based programming language LEGO provides. You can get pretty far in the Mindstorms system, especially if you avoid LabVIEW; my biggest Mindstorms project was a 1v0 tabletop soccer robot using a subsumption controller. I will also note that if you're planning to teach controls at all (PID controllers are easy to implement, and are often used for controlling motor speed), Mindstorms can't really achieve a tight enough control loop; go with an Arduino-based system instead.

If you want something a little simpler than Mindstorms to get started with, you can also get a robot that holds a pen and is programmed in Logo [2]. Logo was designed as a language to teach programming to children, so it's very easy for kids to get started, and drawing on big sheets of paper with a pen immediately gives them the feeling of "doing something".

I would encourage you not to be scared of hardware :) You can build a lot of fun robot projects with cheap motors (you don't necessarily need servos), bump switches, and a cardboard-and-hot-glue chassis, using pretty simple circuits. The two classic beginner projects are wall-following and back-and-turn. At its simplest, a wall-following robot can use a switch touching the wall to control which of two motors turns on. A back-and-turn robot is a robot that backs up and turns in a different direction when it encounters an obstacle (and, if you leave it running long enough, will tend to escape whatever room you put it in). To avoid soldering, you could get started with a solderless breadboard (although make sure the wires don't get jostled out of place by robot collisions or falls).

It sounds like this is probably more advanced than your kids are ready for, but you could also get a Neato robot vacuum cleaner and control it with a Raspberry Pi running ROS [3] [4]. ROS (Robot Operating System) [5] is a very popular framework used by both professional robotics engineers and hobbyists; it's not the most beginner-friendly, but is useful for more advanced robotics software projects, and there's a large ecosystem of ROS packages for things like teleoperation and path planning. Neato vacuum cleaners specifically are great for this because they include a LiDAR, which lets you try out the SLAM and path planning packages provided by ROS.

[1]: https://www.ev3dev.org/

[2]: https://www.terrapinlogo.com/robots/probot.html

[3]: https://www.servomagazine.com/magazine/article/neato-ros-rob...

[4]: https://github.com/SV-ROS/intro_to_ros

[5]: https://www.ros.org/

grillvogel 5 years ago

is it weird that i don't really want to push my kids into tech?

  • itrootOP 5 years ago

    I also do not want to push... I just want to play with that robot by myself, and see if kid will be interested to join. It's just fun thing to do!

  • pkpcmu 5 years ago

    not at all .. I want to get into trades part-time and would not want my kids to get stuck in this rut!

curiousgal 5 years ago

Must be tough raising a child that suffers from SDK.

disown 5 years ago

The skeptic in me wonders if this is just an advertisement campaign for "programmable robots".

> I want to show my kids what you can achieve with software development

Have you tried a simple "hello world!" program? That did wonders for me.

> and I think dealing with some physical thing that is controlled by your code is incredible fun

Something physical that is controlled by code? You mean something like a computer maybe? Have you tried setting them up with a linux desktop? Just messing around with the terminal was fascinating enough for me. You type something and this machine responds. Woah!

It seems like you want a toy for your kid? A child will turn anything you give them into a toy. I can't think of a better toy than a desktop computer.

  • xondono 5 years ago

    To a lot of people, what happens in a screen is just “stuff”. They can see “stuff” happening when they play videogames too.

    Having something touchable that moves according to what you told it to is very captivating for some people.

    • disown 5 years ago

      > Having something touchable that moves according to what you told it to is very captivating for some people.

      To most people, it's "stuff" too.

      Also my response was in reference to children learning software. Not mindlessly clicking guis. Writing, compiling and running "Hello World!" isn't "just stuff".

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection