Wanting to get involved in "Robotics" any recommendation?

Can anybody recommend some type of a beginning robitics kit? From what I read it seems theat C++ would be the best language to learn if you are going to program advanced programs, it this correct?

Any information will help, thanks.

Hi @damica51

I suppose my first question will be: where would this fit into Node RED?
are you hoping to control servos of some kind with Node RED?

I'm not sure c++ is a topic for Node RED, given the language differences.

of course this is not to say, someone doesn't recommend something, just trying to find out where Node RED fits into it - if it does :smile:

I belong to several different forums, all technical, and I just thought someone from here may be involved in "Robotics" and could give me some advice.

Forgive me if I should have not asked an "Off Topic" question.

1 Like

Nothing to forgive for,

Not sure many here do robotics (I could be wrong of course), it's to gain the right answers.

So was asking if the aim was to include this into something Node RED will be involved in, given most discussions are not robotics, but process automation.

There seem to be lots of really nice - but somewhat expensive - robotics kits out there. Much depends on your budget, what kind of robotics you want to get into and how much you want to DIY.

If you want to have Node-RED to help, you are either going to want MQTT to help with 2-way comms or maybe have a Pi or similar on-board your robot for more advanced intelligence. However, it is strongly recommended that you use a microprocessor platform such as Arduino or ESP to do the actual control interfaces. A Pi could provide the smarts and the MCP the physical interface. That helps you reduce the amount of C++ coding you would need to do.

I bought this kit as a Christmas present for one of my grandsons four of years ago.

A lot of "stuff" on it considering the 'lowish' cost. (e.g. motors, ultrasonic distance sensors, LEDs, line following sensors). At the time the only type of Pico available was the Pico-H (no WiFi) so he couldn't communicate with the Buggy by WiFi only USB. If I was buying it again I would get the Pico-W as this would provide two-way communication to a desktop/laptop and or mobile phone, so it could be controlled remotely and give even more fun.

I believe there is an option to fit servo motors to the platform (although we never tried that).

The detailed booklet, included with the kit, covers a number of interesting and graded programming activities you can do with the Buggy using Micro-Python.

1 Like

I performed some tests of an industrial robot using Node-RED and the fischertechnik building system. See Didacta Advance Pi-F5 interface board.

As a conclusion,

It was very easy to add IIoT features to the project, including remote command and control dashboard and MQTT messaging, both supported natively by Node-RED.

However, keep in mind the Raspberry Pi runs on Linux, and thus could not offer real-time deterministic monitoring or be considered as a PLC.

If you want to stick with Node-RED and use an MCU, you can consider the Moddable option. See Using Node-RED on MCUs.

1 Like

Just putting it out there…

I last done robotics with Meccano in late the 80s/early 90s.

A crane if I remember rightly!

1 Like

Matrix Multimedia design and manufacture a huge range of educational and hobby projects.
https://www.matrixtsl.com/products/

They have a buggy and robotic arm.
https://www.matrixtsl.com/allcode/

1 Like

Still got all my old Meccano from the late 60's to the early 70's :rofl: Gained a bit more after my set was used by my son for a while. Currently hiding it from SWMBO so that I'm not forced to get rid of it in some mistaken frenzy of "clearing out". :frowning: Hopefully will get used again when I've more time after retirement (and yes, I'm fully aware it probably won't happen!). If not, maybe it will get passed on to grandchildren.

Plenty of gears and metal parts that would allow some nice robotic mechanics to be built.

1 Like

I'll hide it for you!
I tried to buy a Meccano set for my grandson and failed.
Settled for Lego, but it's not the same....

2 Likes

Lego robotics here too. I’ll never forget the competitions and how those clunky things would drive around on the table of obstacles while moving all the objects around. The robots that won were the most janky. It was good time nonetheless.

Regarding the OP, robotics come in all sorts of forms. Something as common as a printer or a washing machine qualifies as a robot in my book. I really started building my robotics hardware knowledge from taking stuff apart. Looks like there are some good recommendations on some robotics kits in this thread and that’s definitely an option if that’s your style of learning. Personally, I always felt my learning was accelerated when I actually had to get down and dirty on a real world thing. My recommendation is find the next robotic like appliance in the trash and try to get it going again. That might teach you the hardware real quick if you learn like I do. Just be careful. Don’t get electrocuted, cause a flood, loose a limb, or burn anything down.

When it comes to the software, language specifically, Java and JS take the top spot as the most valuable to know for my career and personal projects. Next would be G code and ladder logic for industrial robotics applications. C has been good enough with minimal basic knowledge. Recognizing python for use here and there hasn’t hurt. As far as learning these, again for me, put a real project in front of me and I’ll go to town figuring it out. I dropped out of my Java class in college but could probably tech it now. People learn in deferent ways.

Just grab whatever kit you think it's fine. Wi-fi enabled arduino boards are great because they can handle I/O and simple logic operations, and you can use whatever you want for the smarts.

At the plant where I work, it's mostly PLCs (Siemens, Omron, Mitsubishi, most of them in ladder or structured text, which is based on Pascal, with slight variations for each manufacturer), FANUC Robots (they use their own languages, either interpreted TP or compiled Karel, which is based in Pascal), and mobile robots (AGV).

The AGV are autonomous robots that have an internal PLC to control the wheels and receive input from the safety LIDAR, and an internal PC running ROS (Robotic OS, a minimalistic ubuntu fork specialised for robots), then a fleet manager running on a PC or VM on top of that. The Fleet manager handles the actual navigation between points, speed limits by area, obstacle avoidance, and a few other things.

The AGV logic (when to go to a specific navpoint for pickup or delivery, when and how to dock in a machine, and all the minor specifics like battery and hardware monitoring, error handling and notification, and so on) can be done in many ways, I actually made this system with Node-Red, using the finite-state-machine node to implement the logic (saves a lot of work, and if you do a good FSM design following the Moore principles, you just need a function node to set the output values according to the state in which the FSM is in (it can also be done in a subflow with independent nodes).

So there's not just one way to do things, but having several levels of automation is probably the smartest move, the same way that the nervous system in the human body handles reflexes for critical stimuli (processing the response in the spine rather than the brain for increased speed), and relies on the brain for higher cogitation. In the same way, you could have an arduino handling I/O and some critical monitoring/response (like the sensing nerves and spine of the system, so to speak), and have a Raspberry Pi running ROS or some other minimal linux system for the higher logic (the brain).

The actual logic could be implemented in C, Python, Node-Red, or whatever language you feel more comfortable with. A few years ago, I worked with a 3-axis robot controller that could be programmed either in G-Code (the assembler-like code that CNC machines use) or in Lua (which I already knew because it was used in some widgets for Ubuntu Desktop back in the day), so there is a lot of wiggle room regarding the languages you want to use.

The increase in speed that you can get between a script in node-red, one in python or a compiled program in C++ will mostly be negligible when we're talking about regular automation, since a critical delay could be 100-150 ms if you're doing home robotics. Even in Node-Red, if your flow is optimized, it shouldn't be a big problem. Javascript or Python running on a normal raspberry pi will usually have cycle times shorter than that. And yes, C++ can be much faster if needed. But the question is: do you need it? Maybe, if you want to program a robot that catches a ball in the air with its pincers using computer vision. For any other task that does not require such a fine feedback, you'll be fine no matter what language you use.

4 Likes

I Think this is exactly what I was looking for. "MATRIXTSL ALLCODE"
I appreciate the response that everybody has given, but I am really looking for a "Industrial Grade" learning robot.

Thanks!

not industrial grade, but I enjoyed adapting this:

I scrapped the python, and re-engineered the software in NodeRed, getting as far as sub 200ms latency WebRTC video, plus remote control of GPIOs etc.

There is some explanations here: GitHub - btsimonh/Adeept-rasptank-mods: Descriptions of my rasptank mods of how to use Nodejs, and hence Node-Red, with Rpi GPIOs etc. in a more 'real time' environment than the normal NR nodes provide.

The robot itself is not designed to last, and is a the Rpi is a little of a tight fit for adaptation, but it was a good learning experience, and worth the money for the 3 months of inspiration I got.

2 Likes

Very good information.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.