Giter Site home page Giter Site logo

cmu_riss_ros_workshop's Introduction

CMU_RISS_ROS_Workshop

A set of interactive tutorials for learning ROS (Robot Operating System). This tutorial was initially designed to be used as a workshop for Carnegie Mellon's 2020 RISS program, but can be used by anyone who is interested in learning core ROS concepts in a few hours. This tutorial assumes no prior knowledge of ROS.

These tutorials will cover concepts using ROS Melodic.

Requirements

Host Machine With Unix-Based OS

The Docker image provided in this tutorial relies on the X Window System to show graphical displays. Most (if not all) Unix-based OS's should have this installed by default, so it is recommended to go through these tutorials on a Unix-based OS like Ubuntu to guarantee that you can view GUIs through Docker.

If you don't already have a Unix-based OS like Ubuntu on your machine, please take a moment to install one now (Mac users should not have to worry about this). Windows users can either download an OS like Ubuntu as a virtual machine through something like Virtualbox or dual-boot Ubuntu alongside Windows.

Docker

We will be using Docker so that you do not have to download ROS on your machine directly. You do not need to have prior knowledge about Docker to use it for these tutorials, but you will need to install Docker on your machine. Please visit the tutorial's docker page and follow the instructions there to get ROS set up on your computer via Docker.

C++

We will be writing ROS programs in c++, so a basic knowledge of c++ is required. If you need to brush up on your c++ skills, you can take a look at this tutorial.

CMake knowledge is helpful, but not required.

Command Line

You should be familiar with basic command line usage, along with things like shell environments. If you do not have much experience using the Unix command line, take a look at this tutorial.

Tutorials

  1. What is ROS?

  2. ROS at a Conceptual Level

    • Publisher/Subscriber Model
      • Nodes
      • Topics
      • Messages
    • Services
    • Parameters
    • Master
    • Packages
    • Workspaces
    • Catkin
      • Build System vs Build Tool
  3. Commandline Tools

    • roscore
    • rosrun
    • rqt_graph
    • rosnode
    • rostopic
    • rosmsg
    • rosservice
    • rossrv
    • rosparam
    • roscd & rosls
  4. Creating Our Own Package

    • catkin_create_pkg
      • CMakeLists.txt vs package.xml
  5. Writing Our Own Publisher and Subscriber

  6. Using Custom Message Types

  7. Roslaunch

Additional Resources

More ROS tutorials:

ROS Community:

Other ROS Resources:

Simulation:

Docker:

Here's a set of tutorials that show how to get involved with the DARPA SubT challenge. This is a great way to sharpen your ROS skills through a real robotics project: https://github.com/osrf/subt_hello_world

cmu_riss_ros_workshop's People

Contributors

adlarkin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.