- https://www.trybash.com
- https://try.github.io
- https://www.codecademy.com/learn/learn-git
- https://www.codecademy.com/learn/learn-the-command-line
Ubuntu 18.04 is the recommend flavour which will be used to build/complie projects.
Some software that we run requries a Linux kernel. Running this sofware can be done on VirtualBox or WSL2(Windows only) if you are not comfertable dual booting Linux on your computer.
Git is a version control software that is very commonly used in industry.
Python is a easy language to us for protyping. C/C++ should be used only when required to write drivers or tasks that require effective computations.
Arduino uses the C++ programming language and builds on top of it with its own libraries. Make sure to familiarize yourself with C++ to a basic level before starting with Arduino.
For the microprocessors on the boards we use STM32 Chips. These have better preformance than the arduino boards and give us more flexiblity in which lanuage we want to use. We develop these boards in C, but some parts have been programed in C++.
ROS (Robot Operating System) isn't really an operating system, but rather a framework for building and communicating with Robots. The core is written is C++, but many modules are also available in Python 2.
Also note, ROS Melodic is currently only supported on Ubuntu 18.04 (last checked: 2021-11-14).
ROS2 is the sucessor to ROS(1) which has a better design for both deterministic systems and consistancy. The main Python version is Python 3.
We are going to be using ROS humble, which is supported on Ubuntu 22.04. There is also support on Windows, but our end product will be running on Ubuntu.
- Python
- https://cscircles.cemc.uwaterloo.ca/
- https://www.codecademy.com/learn/learn-python (requires account)
- https://www.theconstructsim.com/robotigniteacademy_learnros/ros-courses-library/python-robotics/ (requires account: leads well into ROS)
- Linux and Bash
- https://www.theconstructsim.com/robotigniteacademy_learnros/ros-courses-library/linux-for-robotics/ (requires account: leads well into ROS)
- ROS 2 Tutorial
- Docker & Docker Compose