ESP32 based omnidirectional robots w/ camera | makermoekoe

maker.moekoe
2 May 202313:41

TLDRThis video showcases the creation of an omnidirectional robot with ESP32-S2, featuring omnidirectional wheels that allow movement in any direction without the need to turn. The wheels, costing $16 each, can be made of plastic or rubber with ball bearings for better performance. A simulation in Python visualizes the robot's movement based on wheel velocities. The robot's base is a printed circuit board with motor drivers, an ESP32-S2 for control, sensors, and a battery management system. A camera can be connected using the same connector as ESP32Cam boards. Despite initial design mistakes with the four-wheeled robot, such as incorrect LED and camera connector footprints and an incompatible IO expander chip, the three-wheeled robot corrects these issues with improved components. The robot's software includes a basic web server for live video streaming, LED brightness control, and joystick-based movement. The video stream's lag is attributed to an unoptimized antenna and limited PSRAM. The robot can also be controlled via ESPNOW using a Picoclick with an IMU, offering different control modes. The video concludes with an update on the design of both robots, with new PCBs on the way.

Takeaways

  • 🔄 **Omnidirectionality**: The robots use omnidirectional wheels that allow movement in any direction without the need to turn.
  • 💰 **Cost**: The omnidirectional wheels are priced at $16 each, with variations in materials and bearings affecting the price.
  • 🛠️ **Construction**: The robot base is a printed circuit board designed to hold all electronics, motors, and hardware.
  • 🚀 **Motor Control**: Three motor drivers are used to power the motors at different speeds, controlled by an ESP32-S2 microcontroller.
  • 📡 **Communication**: The ESP32-S2 features a 3D antenna and PWM driver for motor control and potential WiFi capabilities.
  • 🔋 **Power & Charging**: Battery management chips and a USB port are included for charging and firmware updates.
  • 📸 **Camera Integration**: A connector for a camera is present, compatible with the ESP32Cam board.
  • 🏗️ **PCBWay Sponsorship**: The board design files were sent to PCBWay for manufacturing, highlighting their Quick Order function.
  • 🤖 **Design Iteration**: A mistake with the IO expander chip in the four-wheeled robot was corrected in the three-wheeled version.
  • 🛴 **Movement Control**: The robot can be controlled via a web interface with a joystick for direction and speed control.
  • 📶 **Connectivity Issues**: The video stream lag is attributed to an unoptimized WiFi antenna and limited PSRAM on the ESP32-S2.
  • 🔄 **Alternative Control**: The robot can be driven remotely using ESPNOW and a Picoclick device with an IMU for movement control.

Q & A

  • What are omnidirectional wheels and how do they enable movement in any direction?

    -Omnidirectional wheels are special wheels with surface contact points made of small rollers. These rollers allow the wheel to move not only in the standard forward or backward direction but also sideways, providing the robot with the ability to move in any direction without the need to turn.

  • What are the differences between cheaper and more expensive omnidirectional wheels?

    -Cheaper omnidirectional wheels have rollers made of plastic and are mounted without ball bearings, while the more expensive ones have rollers made of rubber and are mounted with ball bearings, providing better performance and durability.

  • How much do the omnidirectional wheels mentioned in the script cost?

    -The omnidirectional wheels mentioned in the script cost sixteen dollars each.

  • What is the advantage of omnidirectional robots over standard robots in terms of movement?

    -Omnidirectional robots have the advantage of being able to drive in any direction due to the rollers on their wheels, eliminating the need to turn to change direction, which is a constraint for standard robots.

  • How does the physics behind the movement of omnidirectional robots work?

    -The physics behind omnidirectional robot movement is simple and requires a bit of math. The robot's speed and orientation can be controlled by adjusting the velocities of the individual wheels, which is demonstrated in the test simulation written in Python.

  • What is the role of the ESP32-S2 in the robot's design?

    -The ESP32-S2 is a key component in the robot's design. It is equipped with a 3-dimensional antenna and a PWM driver, which controls the three motor drivers that power the motors with different speeds.

  • How does the robot's software create a web interface for control and viewing?

    -The ESP32 creates a small web server that displays the camera's video stream. It also provides sliders for adjusting the brightness of the front LEDs and the rotational speed of the robot. Additionally, there is a hidden joystick on the web interface that controls the driving direction and speed when a finger is placed on it.

  • What are the current limitations of the robot's video stream?

    -The video stream is currently laggy, mainly due to the WiFi antenna not being impedance matched and the ESP32-S2 having only 2 megabytes of PSRAM, as an external RAM chip was not used.

  • How can the robot be controlled remotely using another ESP-based device?

    -The robot can be controlled remotely via ESPNOW using another ESP-based device, such as the newest Picoclick, which is equipped with a six degrees of freedom inertial measurement unit. This allows the robot to be driven and rotated based on the movements of the Picoclick.

  • What are the different modes of control available for the robot using the Picoclick?

    -There are three different modes of control available with the Picoclick: a standard configuration that allows both driving and rotating, a configuration that only enables driving, and a mode where the Picoclick controls only the robot's direction. These modes can be selected using the Picoclick's button and are indicated by the onboard LEDs.

  • What improvements were made to the three-wheeled robot compared to the four-wheeled one?

    -The three-wheeled robot corrected the footprints of the front white LEDs and the camera connector, switched to another PWM driver capable of handling PWM signals, and also upgraded to a better WiFi antenna.

  • How was the assembly process for the four-wheeled robot different from the three-wheeled one?

    -The assembly process for the four-wheeled robot involved fixing mistakes from the initial design, such as incorrect footprints and the use of an IO expander chip that couldn't handle PWM. The three-wheeled robot, on the other hand, had a more streamlined assembly process after these issues were resolved.

Outlines

00:00

🛠️ Omnidirectional Wheel Mechanics and Robot Design

The first paragraph introduces omnidirectional wheels, which are equipped with small rollers allowing movement in any direction. It discusses the two types of these wheels: cheaper plastic ones without ball bearings and more expensive rubber ones with ball bearings, priced at $16 each. The paragraph also explains the utility of omnidirectional wheels in robots, which can move in any direction without the need to turn, unlike standard robots. A simple physics principle underlies their functionality, and a Python test simulation is mentioned, which visualizes a three-wheeled omnidirectional robot with its speed and orientation. The paragraph concludes with the description of building a real robot, starting with a printed circuit board (PCB) as the base, including motor drivers, an ESP32-S2 microcontroller with a 3D antenna, and a PWM driver. Sensors, battery management chips, a USB port for charging and MCU flashing, and a camera connector are also part of the design. The design files are sent to PCBWay for manufacturing, and the user specifies the board's thickness and solder mask color. The paragraph ends with a teaser for the assembly process of a four-wheeled omnidirectional robot.

06:11

🔍 Assembly and Testing of Omnidirectional Robots

The second paragraph details the process of designing and assembling omnidirectional robots, highlighting the mistakes made during the design of the four-wheeled robot, such as incorrect footprints for LEDs and a camera connector, and the use of an IO expander chip that doesn't handle PWM. These issues resulted in the robot being limited to full-speed operation. The three-wheeled robot corrects these mistakes with improved components, including a better WiFi antenna and a corrected PWM driver. After mounting the wheels and connecting the battery, the robot undergoes its first test. The camera is attached using a custom 3D-printed part and screws, and a mount for the motors is also 3D printed. The robot's software is in an early stage, with a basic web server that streams the camera feed and provides controls for LED brightness and robot speed. A hidden joystick appears for directional control. The video stream is noted to be laggy due to an unoptimized WiFi antenna and limited PSRAM on the ESP32-S2. The robot can also be controlled via ESPNOW using a Picoclick device, which offers different control modes selected by a button and indicated by onboard LEDs. The paragraph ends with a note that both the three and four-wheeled robot designs have been updated, with new PCBs on the way.

13:26

📡 Upcoming Developments for Omnidirectional Robots

The third paragraph is a brief teaser indicating that the designs for both the three and four-wheeled omnidirectional robots have been updated. It suggests that new PCBs are ready and hints at a follow-up video where more details will be shared.

Mindmap

Movement in any direction facilitated by small rollers
Standard wheel movement with additional sideways capability
Definition
Cheaper plastic rollers without ball bearings
More expensive rubber rollers with ball bearings
Cost: $16 each
Types and Costs
Introduction to Omnidirectional Wheels
No need to turn like standard robots
Ability to drive in any direction due to wheel design
Unconstrained Directional Movement
Steering into different directions while maintaining omnidirectional movement
Steering Capability
Advantages of Omnidirectional Robots
Visualization of robot speed, orientation, and wheel velocities
Python Test Simulation
Printed Circuit Board (PCB) as base
Three motor drivers for speed control
ESP32-S2 microcontroller with 3D antenna and PWM driver
Sensors, battery management, and USB port for charging and MCU flashing
Camera connector compatible with ESP32Cam boards
Hardware Components
Quick Order function for automated information filling
Customizable user specifications
Options for stencils, part printing, milling, and assembly
PCBWay Sponsorship and Order Process
Technical Simulation and Design
Initial design errors with LEDs and camera connector
Use of an IO expander chip unsuitable for PWM
Corrections in the three-wheeled robot design
Mistakes and Corrections
Mounting of wheels and battery
3D printed camera mount and motor attachments
Basic software functionality with a web server
Control features for LED brightness and robot speed
Hidden joystick for directional control
Components and Features
Laggy video stream due to antenna and PSRAM limitations
ESPNOW capability for remote driving with an ESP-based device
Picoclick IMU for movement control in different configurations
Performance and Connectivity
Assembly and Testing
Updated Design of Robots
Anticipated Arrival of New PCBs
Promise of a Follow-up Demonstration
Future Improvements and Updates
Omnidirectional Robots with Camera
Alert

Keywords

💡Omnidirectional wheels

Omnidirectional wheels are a type of wheel that allows movement in any direction, not just forward and backward. They are equipped with small rollers, which enable lateral movement in addition to the standard rolling motion. In the video, these wheels are crucial for the robot's ability to move without the need to turn, which is a significant advantage over standard robots that are constrained by their directional movement.

💡Rollers

Rollers are the small cylindrical components on the surface of omnidirectional wheels that facilitate movement in multiple directions. They can be made from different materials like plastic or rubber and may or may not include ball bearings. In the context of the video, the choice between plastic and rubber rollers with or without ball bearings affects the wheel's performance and cost.

💡Motor drivers

Motor drivers are electronic components that control the speed and direction of motors. In the video, three motor drivers are integrated into the robot's circuit board to power the omnidirectional wheels with different speeds, allowing for precise control over the robot's movement.

💡ESP32-S2

The ESP32-S2 is a microcontroller unit (MCU) with integrated Wi-Fi and Bluetooth capabilities. It is used in the robot as the central processing unit to control the motor drivers and manage the communication with the sensors and the camera. Its presence enables the robot to create a web server for streaming the camera's video feed and to receive control inputs.

💡PWM driver

A PWM (Pulse Width Modulation) driver is a component that allows for the control of the power supplied to the motors, enabling variable speed control. In the video, the PWM driver is essential for the robot's ability to adjust the speed of the wheels, which is a significant improvement over the initial design that used an IO expander chip incapable of handling PWM.

💡PCBWay

PCBWay is a company that specializes in manufacturing printed circuit boards (PCBs). In the video, the designer uses PCBWay's Quick Order function to easily upload board files and get the necessary information filled in automatically. This service is highlighted as a convenient way to get custom PCBs made for the robot.

💡3D printed part

A 3D printed part is a physical object created using a 3D printer. In the context of the video, a custom 3D printed part is used to mount the camera onto the robot. This showcases the use of 3D printing technology to create bespoke components for the robot's assembly.

💡Webserver

A webserver is a software application that enables a device to host websites or web applications. In the video, the ESP32-S2 creates a webserver that streams the camera's video feed and provides user interfaces for controlling the robot's LEDs and rotational speed. This feature allows the robot to be controlled and monitored remotely through a web interface.

💡PSRAM

PSRAM, or pseudo-static random-access memory, is a type of high-speed memory used in electronic devices. The ESP32-S2 in the video has only 2 megabyte of PSRAM, which is a limitation that contributes to the lag in the video stream. An external RAM chip could potentially be used to increase the PSRAM capacity and improve performance.

💡ESPNOW

ESPNOW is a communication protocol developed by Espressif Systems that allows for direct, low-latency communication between devices, particularly useful for IoT applications. In the video, the robot can be controlled via ESPNOW using another ESP-based device, showcasing the protocol's ability to facilitate device-to-device communication.

💡Picoclick

The Picoclick is a compact device equipped with an inertial measurement unit (IMU) that can sense six degrees of freedom. In the video, it is used to control the robot's movement and rotation based on the user's physical gestures, demonstrating the potential for intuitive gesture-based control in robotics.

Highlights

Omnidirectional wheels allow movement in any direction due to their small roller surface contact points.

Different wheel types are available, with variations in material and bearing, affecting cost and performance.

Omnidirectional robots can drive in any direction without the need to turn, unlike standard robots.

The physics behind omnidirectional movement is straightforward and can be simulated with a bit of math and programming.

A test simulation in Python was created to visualize the wheel velocities and robot orientation.

The robot's base is a printed circuit board designed to hold all electronics, motors, and hardware.

The ESP32-S2 microcontroller is used for controlling the robot, with a 3D antenna for connectivity.

Sensors and battery management chips are integrated into the robot's design for functionality and power management.

A camera can be connected to the robot using the same connector as ESP32Cam boards.

PCBWay sponsored the video and provided a Quick Order function for easy PCB design and manufacturing.

Design mistakes in the four-wheeled robot were corrected in the three-wheeled version, improving functionality.

The three-wheeled robot features corrected footprints, a new PWM driver, and an improved WiFi antenna.

The camera is mounted using a custom 3D printed part and is connected to the robot for real-time video streaming.

The robot's software includes a basic web server for video streaming, LED control, and robot speed adjustment.

A hidden joystick in the web interface allows for direct control of the robot's driving direction and speed.

The video stream currently experiences lag due to antenna impedance and limited PSRAM on the ESP32-S2.

The robot can be controlled via ESPNOW using an ESP-based device equipped with an inertial measurement unit.

Three different control modes for the robot are available and can be selected using the Picoclick's button.

Updated designs for both three and four-wheeled robots have been completed, with PCBs ready for the next phase.