ESP32 based omnidirectional robots w/ camera | makermoekoe
TLDRThe video presents the design and construction of an omnidirectional robot equipped with a camera, utilizing omnidirectional wheels that allow movement in any direction without the need to turn. The wheels, available in plastic and rubber with ball bearings, are mounted on a printed circuit board (PCB) with motor drivers, an ESP32-S2 microcontroller, and a 3D antenna for control. The robot also features sensors, battery management, and a USB port for charging and firmware updates. A test simulation in Python illustrates the robot's movement based on wheel velocities. The video details the assembly process, including a self-designed 3D printed camera mount and motor attachments. The robot is controlled via a basic web server that streams the camera feed and allows for adjustments of LED brightness and rotational speed. It also supports remote control through ESPNOW using a Picoclick with an inertial measurement unit. Despite some initial design flaws, the video concludes with an update on the three and four-wheeled robot designs, promising more to come in the next installment.
Takeaways
- 🛠️ Omnidirectional wheels allow movement in any direction due to their small roller surface contact points.
- 💰 There are different price points for these wheels, with more expensive ones featuring rubber rollers and ball bearings.
- 🤖 Omnidirectional robots can drive in any direction without needing to turn, unlike standard robots.
- 📐 The physics behind omnidirectional movement is simple and can be simulated with a bit of math and programming.
- 💻 A test simulation in Python was created to visualize how wheel velocities change with robot speed and orientation.
- 🔩 The robot's base is a printed circuit board designed to hold all electronics, motors, and hardware.
- 📡 The ESP32-S2 is used for controlling the motor drivers and features a 3D antenna for connectivity.
- 📦 A camera can be connected to the robot using the same connector as on ESP32Cam boards.
- 🔍 The software for the robot is basic, offering a web server to stream the camera feed and control the robot's LEDs and speed.
- 🕹️ A hidden joystick on the web interface allows for manual control of the robot's driving direction and speed.
- 📶 The video stream's lag is due to an unoptimized WiFi antenna and the ESP32-S2's limited PSRAM.
- 📡 The robot can be controlled remotely via ESPNOW using a Picoclick equipped with an IMU for movement detection.
Q & A
What are omnidirectional wheels and how do they differ from standard wheels?
-Omnidirectional wheels are designed to move in any direction, unlike standard wheels which primarily move in a single plane. They feature small rollers on their surface contact points, allowing them to roll not only in a forward or backward direction but also sideways.
What are the two types of omnidirectional wheels mentioned in the transcript and how do they differ in terms of construction and cost?
-The two types of omnidirectional wheels are the cheaper plastic ones without ball bearings and the more expensive ones with rubber rollers mounted with ball bearings. The plastic ones are less costly, while the rubber ones with ball bearings are more expensive, with each unit costing around 16 dollars.
How do omnidirectional robots differ from standard robots in terms of movement?
-Omnidirectional robots do not need to turn to move in a different direction like standard robots do. They can move in any direction thanks to the rollers on their wheels, which provide greater flexibility and maneuverability.
What is the basis for the simulation created in Python to visualize the movement of an omnidirectional robot?
-The simulation uses a bit of math and possibly an AI like ChatGPT to demonstrate how the wheel velocities of a three-wheeled omnidirectional robot change according to its speed and orientation.
What components are included on the printed circuit board (PCB) for the omnidirectional robot?
-The PCB includes three motor drivers for controlling the motors' speeds, an ESP32-S2 with a 3D antenna and PWM driver for motor control, sensors and battery management chips, a USB port for charging and MCU flashing, and a connector for a camera.
What is the process for ordering the PCB from PCBWay, as mentioned in the transcript?
-The process involves uploading the board files to PCBWay, which automatically fills in the necessary information. Users can manually set specifications such as board thickness and solder mask color. Stencils can be added during the order process, and PCBWay offers additional services like part printing, milling, and assembly.
What mistakes were made during the design of the four-wheeled omnidirectional robot?
-The mistakes included switching the footprints of the front white LEDs and the camera connector, and using an IO expander chip that could not handle PWM, resulting in the motors only being able to operate at full speed or not at all.
How were the issues from the four-wheeled robot design corrected in the three-wheeled robot?
-The three-wheeled robot corrected the footprints, switched to another PWM driver capable of handling PWM signals, and used a better WiFi antenna.
How is the camera mounted on the omnidirectional robot?
-The camera is mounted using a self-designed 3D printed part and two tiny screws.
What is the current state of the software for the omnidirectional robot?
-The software is in a basic state, with the ESP creating a web server that shows the camera's video stream and provides sliders for adjusting the brightness of the front LEDs and the robot's rotational speed. There is also a hidden joystick for controlling the driving direction and speed.
What are the current limitations of the video stream on the robot's web server?
-The video stream is a bit laggy, mainly due to the WiFi antenna not being impedance matched and the ESP32-S2 having only 2 megabyte of PSRAM, as an external RAM chip was not used.
How can the omnidirectional robot be controlled remotely?
-The robot can be driven via another ESP-based device over ESPNOW using the Picoclick equipped with a six degrees of freedom inertial measurement unit. The robot can be controlled in three different modes, selected with the Picoclick's button and visualized with onboard LEDs.
Outlines
🤖 Introduction to Omnidirectional Robots
This paragraph introduces omnidirectional wheels, which are capable of moving in any direction due to their small roller surface contact points. It distinguishes between cheaper plastic rollers without ball bearings and more expensive rubber rollers with ball bearings. The paragraph also explains the application of these wheels in omnidirectional robots, which can drive in any direction without the need to turn, unlike standard robots. A simple physics principle underlies their operation, and a Python test simulation is mentioned to visualize wheel velocities in relation to the robot's speed and orientation. The paragraph concludes with the process of turning the simulated robot into a real one, starting with a printed circuit board as its base, equipped with motor drivers, an ESP32-S2 microcontroller, sensors, battery management chips, a USB port, and a camera connector.
🛠️ Design and Assembly of Omnidirectional Robots
The second paragraph discusses the design flaws encountered in the four-wheeled robot prototype, such as incorrect footprints for LEDs and a camera connector, and the use of an IO expander chip that does not support PWM, leading to limited motor control. These issues were corrected in the three-wheeled robot design, which also included an improved WiFi antenna. The assembly process is described, including the mounting of wheels and the battery, and the use of a 3D printed part for the camera mount. The software for the robot is in its early stages, with a basic web server that streams video from the camera, allows adjustment of LED brightness and robot speed, and features a hidden joystick for directional control. The video stream's lag is attributed to an unoptimized WiFi antenna and limited PSRAM on the ESP32-S2. The robot can also be controlled via ESPNOW using an ESP-based device equipped with a six degrees of freedom IMU. Different control modes are selectable and indicated by onboard LEDs.
🔧 Upcoming Updates for Omnidirectional Robot Designs
The final paragraph teases that updates have been made to both the three and four-wheeled robot designs, with new PCBs already available. It encourages the audience to stay tuned for the next installment, implying that further details and developments will be shared in subsequent content.
Mindmap
Keywords
Omnidirectional wheels
Robot simulation
Printed Circuit Board (PCB)
ESP32-S2
PWM driver
3D printed part
Webserver
Joystick
ESPNOW
Picoclick
PSRAM
Highlights
Omnidirectional wheels allow movement in any direction due to their small roller surface contact points.
These wheels can roll sideways as well as in standard direction, unlike normal wheels.
Different types of omnidirectional wheels exist, with variations in material and bearing use.
The cost of these wheels ranges from $16 each for higher quality ones with rubber rollers and ball bearings.
Omnidirectional robots eliminate the need to turn to change direction, unlike standard robots.
The physics behind omnidirectional movement is simple, requiring only basic math and computational assistance.
A test simulation in Python was created to visualize the robot's speed and orientation.
The robot's base is a printed circuit board designed to hold all electronics and hardware.
The ESP32-S2 is equipped with a 3D antenna and a PWM driver for motor control.
Sensors and battery management chips are integrated into the robot's design.
A camera can be connected to the robot using the same connector as ESP32Cam boards.
PCBWay facilitated the quick ordering and manufacturing of the robot's circuit board.
Design mistakes in the four-wheeled robot were corrected in the three-wheeled version.
The three-wheeled robot features corrected footprints, a different PWM driver, and an improved WiFi antenna.
The camera is mounted using a 3D printed part and is connected to the robot's circuit board.
The robot's software includes a basic web server for video streaming and control sliders.
A hidden joystick in the web interface allows for directional control of the robot.
The video stream experiences lag due to antenna impedance and limited PSRAM on the ESP32-S2.
The robot can be driven remotely via ESPNOW using an ESP-based device with an IMU.
Three different control modes are available for the robot, selected via a button on the Picoclick device.
Updated designs for both the three and four-wheeled robots have been completed, with PCBs on the way.