Ask HN: Best programmable robot for a child with SDK?
62 points| itroot | 5 years ago
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
matthberg|5 years ago
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
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
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
miskin|5 years ago
tmaly|5 years ago
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
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.
jacknews|5 years ago
gberger|5 years ago
nwsm|5 years ago
petargyurov|5 years ago
gumby|5 years ago
Jaruzel|5 years ago
itroot|5 years ago
huhtenberg|5 years ago
geophile|5 years ago
joubert|5 years ago
ssheth|5 years ago
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
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 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
blacksmith_tb|5 years ago
1: https://meetedison.com/
pkpcmu|5 years ago
tommilukkarinen|5 years ago
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
http://artoo.io/documentation/platforms/sphero/
claudiulodro|5 years ago
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 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
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
unknown|5 years ago
[deleted]
unknown|5 years ago
[deleted]
unknown|5 years ago
[deleted]
goatcode|5 years ago
idealstingray|5 years ago
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
itroot|5 years ago
pkpcmu|5 years ago
curiousgal|5 years ago
Subsentient|5 years ago
disown|5 years ago
> 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
Having something touchable that moves according to what you told it to is very captivating for some people.