EP1 - Five Things You Need Before Starting With ROS
Video: https://youtu.be/2lIV3dRvHmQ
#Robotics #Hardware #ROS #LinuxRead more here
Table of Contents:
Introduction: Getting Started with ROS
Do you want to build your own robots using ROS? Today, I’m going to show you five essential things you need before you get started.
If you're watching this, you’ve probably heard of ROS
and want to learn how to use it to make your own robots. If you're not familiar, ROS is a collection of open-source tools, libraries, and frameworks designed to make robot development easier.
The Power of ROS: Sharing and Collaboration
By sharing common code, developers can focus on creating new ideas and technologies.
These new designs are ROS-compatible, allowing the entire robotics industry to solve problems faster and more efficiently.
Although there are many types of robots, this video will kick off a short series that focuses on core knowledge you need to build any kind of robot.
Five Things You Need Before You Get Started
Before we dive into installing ROS, let’s go over five things you’ll need to start:
- The right skills
- The right computing hardware
- The right operating system
- Some useful software
- Handy tools
1. The Right Skills for ROS Development
Building robots with ROS requires a specific skill set. These include:
- Computer Administration: Installing operating systems, configuring networks, and managing files.
- Linux Familiarity: Installing programs, creating files, and organizing folders.
- Version Control Knowledge: Familiarity with Git or another version control system.
- Basic Programming: While we won’t write much code ourselves, we will compile code from others.
- Basic Electronics: Experience with breadboards, soldering, and programming Arduinos.
If you don’t have all these skills, don’t worry! The internet is full of resources that can teach you everything you need to know. So give it a go, and if you get stuck, search online for help.
2. Choosing the Right Computing Hardware
Choosing the right computer for robotics can be tricky. You need something:
- Powerful enough to run algorithms
- Small and efficient enough to fit on a battery-powered robot
- Affordable, especially during the development phase.
My recommended solution is to split the workload between two computers:
-
Robot: A small single-board computer like a Raspberry Pi.
-
Base Station: A typical mid-range laptop or desktop to handle development and calculations.
Using ROS, the Pi will handle raw sensor data, transmitting it to the base station for calculations. The base station will send the results back to the Pi, which controls the robot’s motors and other actions.
Also, the Off-Board computer will assist us with:
- Visualization
- Joystick/Controller input
- develop code and run algorithms
You could tweak this setup by using a Jetson,
or separate development and base station machines,
but for simplicity, I’ll use this two-computer setup in these tutorials.
Now although we'll eventually be running the Pi without a screen, because it will be inside a robot, during the setup procedure I'll be assuring that both machines have access to keyboard, mouse, monitor, power, and internet.
Common Questions
Now I know some of you out there are going to have some questions, so before you start asking them in the comments,
-
do I need a super high-end gaming rig in order to start developing robots with ROS?
- No! Although if you're using an older machine, you might find that you need to tweak the parameters of some of the algorithms, and the simulation environment might run a bit slowly. I'd recommend any kind of mid-range machine, something with an i5 from the last few years would be fine.
-
Can I use a virtual machine or a docker container instead of doing a full installation?
- Yes...ish. If you know what you're doing, virtual machines and docker containers can be a really useful tool for ROS development. However, they can be pretty fiddly to set up. If that's something that you're comfortable doing, then go for it, but just be prepared to deal with any hiccups that might come up along the way. Personally, I'd recommend that you do a full installation.
-
I don't have a Raspberry Pi or other robot hardware, can I still learn how to make robots with ROS?
- Definitely! Wherever possible, it's best to first develop your robot inside a simulation environment anyway, so there's nothing stopping you from going ahead, doing these tutorials, learning ROS inside the simulation environment, and then down the track you can go out and purchase whatever hardware you need to build an actual.
3. Setting Up the Right Operating System
Once you have the hardware, it’s time to install the right operating system.
Each version of ROS is compatible with a specific version of Ubuntu.
For these tutorials, we’ll use ROS 2 Foxy Fitzroy, compatible with Ubuntu 20.04 Focal Fossa.
Install this OS on both the base station and the Pi.
I’ll be using the Ubuntu Mate installation,
which is available for both x86-64 and ARM64 architectures. Make sure you get the 64-bit versions of both.
Ubuntu MATE Download Link: https://ubuntu-mate.org/download/
4. Useful Software for Robot Development
There are three main pieces of software you’ll need for development:
- Git: A popular version control tool for syncing code between machines.
- VS Code: An advanced code editor for writing and editing code.
- Arduino IDE: For programming and interfacing with Arduino boards.
Install Git on both the Pi and the base station using:
Copy Code:
sudo apt install git
Install VS Code on the development machine using:
Copy Code:
sudo snap install --classic code
Optionally, install the VS Code Remote Development extension, which makes it easier to code on the Pi remotely (since we won't have a screen attached).
The Arduino IDE can be installed on either machine, but I recommend installing it on both to avoid the hassle of unplugging and replugging USB cables.
Arduino IDE Linux Install Guide: https://www.arduino.cc/en/guide/linux
5. Other Useful Tools
Here’s a list of additional tools that might come in handy:
- 12V bench power supply
- Battery charger
- Multimeter
- Soldering iron and solder
- Crimp tools and connectors
- Screwdrivers, pliers, and wire strippers
- Rotary tool and 3D printer
- Portable keyboard, mouse, or screen
- Various fasteners, such as cable ties, screws, bolts, and tape.
While you don’t need all of these tools, they can be useful as you progress with your robot-building journey.
Bonus: The Right Attitude
One last thing you need is the right mindset. Robotics can be challenging, and it’s tempting to give up. However, pushing through obstacles will be worth it when you create something that works exactly how you want. You’ll also pick up valuable skills along the way. If you get stuck, look for help online and keep going!
Conclusion: Wrapping Up
So, those are the five-ish things you’ll need to start building robots with ROS. If you have any other ideas, let us know in the comments. If you found this video helpful, like and subscribe for more content on robotics. In the next video, we’ll set up the network and install ROS. See you then!
Z) 🗃️ Glossary
File | Definition |
---|
Uncreated files | Origin Note |
---|