cjh-12121 / ROS-ESP32-Mobile-Robotics

Mobile Robotics Focused ROS interface using ESP32

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ESP32 Based ROS Mobile Robot

Introduction

This repository is based on the course on mobile robotics interface with ROS Noetic

Table of Contents
  1. About This Repository
  2. Using this Repository
  3. Features
  4. Pre-Course Requirments
  5. Link to the Course
  6. Instructors
  7. License

About this Repository

We will start with installation of Rosserial Package installation into our system . Which is going to be utilized for ESP32 and ROS Communication

alt text

  • esp_src : Contains scripts for esp32 microcontroller
  • src : contains scripts of nodes basedon ROS1
  • notes : Contains all lecture notes taught during the course

Source Codes and lectures are arranged with the following Order

- **Section 1:** Basic ROS - ESP32 Interfacing
    - Led Toggling
    - Ultrasonic Sensor controlling Turtlesim
- **Section 2:** ROS based Car driving
    - Motor Controlling
    - cmd_vel to Pwm Serial
    - Car Control over Wifi
- **Section 3:** Robot car and ROS services
    - Encoders interfacing
    - ROS Service Nodes
    - Drove robot through Services on Time.
- **Section 4:** Odometery publishing Car Driving
    - Encoders ticks profiling
    - Odom differential Drive Rviz
    - transforms

Using this Repository

  • Clone the repository in you Workspace
mkdir -p ~/catkin_ws/src ## if not already created
cd ~/catkin_ws/src
git clone https://github.com/noshluk2/ROS-ESP32-Mobile-Robotics.git
  • Source your ROS installation
source /opt/ros/noetic/setup.bash
  • Build your workspace
cd ~/catkin_ws
catkin_make
  • Source your Workspace in any terminal you open to Run files from this workspace ( Basic thing of ROS )
source ~/catkin_ws/devel/setup.bash

Features

  • TurtleSim Obstical Avoiding using real World Sensor

    • alt text
  • Encoders Publishing Node from ESP32

    • alt text
  • Robot Driving over WiFi using teleOp package

    • alt text
  • ROS Service for Encoder Ticks Calculation

    • alt text
  • Transforms and Odometery of Robot to Rviz

    • alt text

Pre-Course Requirments

Hardware Requirments

  • ESP32
  • Robotic Car Kit
  • Battery and Charger
  • Ultrasonic Sensor
  • Motor Driver ( L298D)
  • Jumper Wires

Software Based

  • Ubuntu 20.04 (LTS)
  • ROS2 - Foxy Fitzroy
  • Python 3.6
  • Arduino Ide
  • Vscode

Skill Based

  • Basic C++ and Python Programming
  • Basic ROS1 Nodes Communication
  • Launch Files
  • Motivated mind :)

Link to the Course

[Discounted Link]


Instructor

Muhammad Luqman (ROS Simulation and Control Systems) - Profile Link


License

Distributed under the GNU-GPL License. See LICENSE for more information.

About

Mobile Robotics Focused ROS interface using ESP32

License:MIT License


Languages

Language:C++ 55.3%Language:Python 26.8%Language:CMake 18.0%