This repository is based on the course on mobile robotics interface with ROS Noetic
Table of Contents
We will start with installation of Rosserial Package installation into our system . Which is going to be utilized for ESP32 and ROS Communication
- 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
- 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
-
TurtleSim Obstical Avoiding using real World Sensor
-
Encoders Publishing Node from ESP32
-
Robot Driving over WiFi using teleOp package
-
ROS Service for Encoder Ticks Calculation
-
Transforms and Odometery of Robot to Rviz
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 :)
Muhammad Luqman (ROS Simulation and Control Systems) - Profile Link
Distributed under the GNU-GPL License. See LICENSE
for more information.