Hi all, this is my first post here and my first serious foray into hobby robotics (I’ve built a kit from Amazon and found it limiting!) so I want to be sure I do this right!
To that end, I’d appreciate any advice and guidance to get me on the right road, please.
I want to build a small (about 300mm long) tracked crawler with, eventually, LIDAR for collision avoidance and a camera that streams back via WiFi or Bluetooth. Once I’m comfortable with this base I’ll start adding things like arms etc.
I stumbled across ROS earlier today and have been doing a lot of reading but have not found a clear answer to a very basic question: What operating system and version of ROS should I start with on a Raspberry Pi4 8GB?
I’m leaning towards Ubuntu 20.4 64-bit with ROS Melodic Morenia - is that a sensible combination?
Also, I’d appreciate pointers or links to any recommended:
The folks at Ubiquity Robotics have done a great job creating Ubuntu+ROS images for the Pi. You can find them here. They are currently only for Ubuntu xenial + ROS kinetic on a Pi 3. There is an ongoing thread you can check on supporting the Pi4.
Apart from that, most ROS distributions have only one Ubuntu LTS release they are fully supported on. For Ubuntu 20.04 it is Noetic (Melodic goes with 18.04, bionic).
I’ve used ROS2 Foxy on Ubuntu 20.04 on a RPI4 before with a lot of success. Would highly recommend starting there, also since there will be no more releases for ROS1 moving forward.
ROS is moving from ROS1 to ROS2 and ROS1 already has an end of life date set. You should start a new project with ROS2. This means “foxy” and Ubuntu 20.
You can use a Pi4 for this but I find that for development work I want a MUCH more powerful system with good graphics. A quad core Intel based PC running Linxworks best. A good notebook PC is OK. Later as you get stuff to work you can move it down to the Pi4
You will find you need to also work with micro controllers
As for mechanical design, tractor treads are very specialized and hard to build. They use a lot of battery power and only turn well on soft dirt… What you might do is start with a very low-cost base. A deferential drive with a caster wheel is the universal first platform. Use this as a development platform. Later upgrade the chassis.
I have a tracked chassis from one of Amazon kits so was considering using that but I understand the ‘start simple’ approach and will explore my options there.
I have some experience of Arduino, ESP8266 and ESP32 programming and use so I ‘should’ be OK when I get to that point. What I did not understand at first but am now starting to understand is that you need a powerful development platform and then can run the code / programme on different robot hardware once ready. I’ll probably dedicate a VM on my big Windows machine to ROS. That way I can learn incrementally and make snapshots to help recover from my inevitable errors!
Again, thank you for all responses - it all helps the bits click together in my brain!