Code Monkey home page Code Monkey logo

antobrandi / self-driving-and-ros-learn-by-doing-odometry-control Goto Github PK

View Code? Open in Web Editor NEW
14.0 1.0 11.0 6.48 MB

Autonomous Mobile Robot developed and programmed in the online course named "Self-Driving and ROS - Learn By Doing! Odometry & Control"

Home Page: https://www.udemy.com/course/self-driving-and-ros-learn-by-doing-odometry-control/?referralCode=5B857932D7C6FE9D014D

CMake 11.85% C++ 46.41% Python 41.51% Dockerfile 0.24%
3d-printing arduino autonomous-robots control cpp differential-kinematics gazebo kalman-filter odometry probability

self-driving-and-ros-learn-by-doing-odometry-control's Introduction

Self-Driving and ROS - Learn by Doing! Odometry & Control

LinkedIn Udemy


Cover

Table of Contents

About the Course

This repository contains the material used in the course Self Driving and ROS - Learn by Doing! Odometry & Control that is currently available on the following platforms:

If you are passionate about Self-Driving and you want to make a real robot Autonomously Navigate, then this course is for you! Apart from explaining in detail all the functionalities and the logic of ROS, the Robot Operating System, it covers some key concepts of Autonomous Navigation such as

  • Sensor Fusion
  • Kalman Filter
  • Probability Theory
  • Robot Kinematics
  • Odometry
  • Robot Localization
  • Control

Furthermore, all the laboratory classes in which we are going to develop the actual Software of our mobile robot are available both in Pyhton and in C++ to let you the freedom of choosing the programming language you like the most or become proficient in both!

Other Courses

If you find this course interesting and you are passionate about robotics in general (not limited to autonomous mobile robots), then you definitely have to take a look at my outher courses!

Self-Driving and ROS 2 - Learn by Doing! Odometry & Control


Cover Self-Driving 2

Ready to boost your career as Robotics Software Developer and be knowledgeable about the latest technologies in robotics? Do you want to put yourself at the forefront of the demand for **ROS 2** developers? Many companies and universities are already switching to the new, amazing version of ROS. Build your own robot, fully powered by ROS 2!

Excited? Check it out:

Robotics and ROS 2 - Learn by Doing! Manipulators


Cover Manipulators 2

In this course I'll guid you through the creation of a real robotic arm that you can control with your voice using the Amazon Alexa voice assistant. Some of the concepts that are covered in this course are

  • Gazebo Simulation
  • Robot Kinematics
  • ROS 2 Basics
  • MoveIt 2
  • Using Arduino with ROS 2
  • Interface Alexa with ROS 2

Looks funny? Check it out on the following platforms:

Robotics and ROS - Learn by Doing! Manipulators


Cover Manipulators

Do you want to master Robot Manipulators with **ROS** as well? Despite many companies already started switching to ROS 2, most of the software is currently developed in ROS 1 and it will be at the core of their software for many more years!

Knowing both ROS 1 and ROS 2 will position you at the forefront of this demand, making you an attractive candidate for a wide range of roles, for this reason you can create and code your robotic arm both using ROS 1 and ROS 2:

Getting Started

You can decide whether to build the real robot or just have fun with the simulated one. The course can be followed either way, most opf the lessons and most of the code will work the same in the simulation as in the real robot

Prerequisites

You don't need any prior knowledge of ROS nor of Self-Driving, I'll explain all the concepts as they came out and as they are needed to implement new functionalities to our robot. A basic knowledge of programming, either using C++ or Python is required as this is not a Programming course and so I'll nmot dwell too much on basic Programming concepts.

To prepare your PC you need:

  • Install Ubuntu 20.04 on PC or in Virtual Machine Download the ISO Ubuntu 20.04 for your PC
  • Install ROS Noetic on your Ubuntu 20.04
  • Install ROS missing libraries. Some libraries that are used in this project are not in the standard ROS package. Install them with:
sudo apt-get update && sudo apt-get install -y \
     ros-noetic-ros-controllers \
     ros-noetic-gazebo-ros-control \
     ros-noetic-joint-state-publisher-gui \
     ros-noetic-joy \
     ros-noetic-joy-teleop \
     ros-noetic-turtlesim \
     ros-noetic-robot-localization \
     ros-noetic-actionlib-tools

Usage

To Launch the Simulation of the Robot

  1. Clone the repo
git clone https://github.com/AntoBrandi/Self-Driving-and-ROS-Learn-by-Doing-Odometry-Control.git
  1. Build the ROS workspace
cd ~/Self-Driving-and-ROS-Learn-by-Doing-Odometry-Control/Section11_Sensor-Fusion/bumperbot_ws
catkin_make
catkin_make
  1. Source the ROS Workspace
source devel/setup.bash
  1. Launch the Gazebo simulation
roslaunch bumperbot_description gazebo.launch

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

Contact

Antonio Brandi - LinkedIn - [email protected]

My Projects: https://github.com/AntoBrandi

Acknowledgements

self-driving-and-ros-learn-by-doing-odometry-control's People

Contributors

antobrandi avatar

Stargazers

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

Watchers

 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.