ESP32 based omnidirectional robots w/ camera | makermoekoe
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
🛠️ 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.
🔍 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.
📡 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
Keywords
💡Omnidirectional wheels
💡Rollers
💡Motor drivers
💡ESP32-S2
💡PWM driver
💡PCBWay
💡3D printed part
💡Webserver
💡PSRAM
💡ESPNOW
💡Picoclick
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.