Follow instructions below to get up to speed:

  1. Read this useful "core concepts" article. (If you have not installed ROS yet, skip over that part of the medium article and follow the official wiki instructions in the tutorial below in part 1):
    1. https://medium.com/black-coffee-robotics/ros-why-what-and-how-97ec60b2905f
    2. https://medium.com/black-coffee-robotics/ros-core-concepts-24972a2743cf
  2. Install ROS:
    1. Get a pc that has ubuntu installed ( future improvement: add link here on how to install ubuntu on a vbox)
    2. Follow the official ROS installation tutorial for Noetic: http://wiki.ros.org/noetic/Installation/Ubuntu
  3. Official ROS wiki tutorials page: http://wiki.ros.org/ROS/Tutorials
    1. Do beginner level 1-8, 12, 13, 15, 16
  4. Useful list of ROS definitions to refer to if you get stuck on the official tutorials: https://trojrobert.medium.com/hands-on-introdution-to-robot-operating-system-ros-4914386e4a45
  5. Quick video on writing a publisher & subscriber node. Make sure to do this for yourself:
    1. https://www.youtube.com/watch?v=uip2BbaazjU&ab_channel=TizianoFiorenzani
    2. https://www.youtube.com/watch?v=i4l03Idb-rQ&ab_channel=TizianoFiorenzani

Useful resources:

python-based ros package structure (thorough treatment): Link

ROS high level overview from andrew

ROS workshop

Getting started lecture that goes through the above slides:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/48f5c152-d0a2-4628-a07d-ffbbacb12828/ROS-Workgroup_25_July_2020.mp4

Andrews templates for writing basic ROS nodes:

https://github.com/agillies8/node_templates