Ezward / Esp32CameraRover2

EzRover is a framework for building and programming inexpensive differential drive robots. The framework includes closed loop speed control, pose estimation and go to goal behavior. Behaviors can be added in JavaScript. The first hardware instantiation uses an ESP32cam, an L9110S DC Motor Driver and a cheap Robot Car chassis.
MIT License
35 stars 7 forks source link

Design integrated PCB that can run the framework #12

Open Ezward opened 3 years ago

Ezward commented 3 years ago

Let's start to collect requirements here

Ezward commented 3 years ago

Expressif has announced the Esp32-S3 dual core LX7 microcontroller. This is a little faster and has some SIMD instructions to speed up machine learning algorithms. It's probably very close in pins to the Esp32-S2, but it had dropped CAN-bus for instance. It also adds USB support directly to the chip (No external programmer needed!). I guess that opens up the question, are you thinking about using an Esp32 module or are you thinking about a board where we plug-in the Esp32Cam directly?

Ezward commented 3 years ago

I'm not using the SD card functionality on the ESP32Cam currently. I'd probably rather have those pins freed up that have the SD card. But you may disagree. What might we do with it? I could see a function where we could tell the rover to record to the SD card when it finds something interesting. For instance, we could use a neural network running on the web application to recognize cats and dogs, then send a command to the rover to take a picture. That would be fun. What do you think?

cgrrty commented 3 years ago

Hi I want to design a bottom board

cgrrty commented 3 years ago

The first version of PCB may be more like a test board. (Will gradually improve) It is mainly used for preliminary verification of the scheme.

cgrrty commented 3 years ago

Pcb is produced very quickly on our side. I'm not used to debugging hardware with hole boards right now, so I want to design a version of PCB. My English is not very good. If I have grammatical or lexical problems, you can point out.

Ezward commented 3 years ago

I understand; you would like to create a PCB that acts as the chassis to the rover as well as the circuitry. That is very cool. I like that idea.

We definitely need a wheel encoder on each wheel of the two wheels; that is necessary for speed control.

You English is infinitely better than my attempts at your language!

Ezward commented 3 years ago

Doing a little 'competitive analysis' I know there are a number of robots build using the microbit board that use a PCB-as-chassis design.

They often use a smaller (and higher quality) N20 gear motor. This one uses N20 motors with hall-effect quadrature encoders: https://www.amazon.com/DFROBOT-Maqueen-Micro-Programming-Educational/dp/B089CS3NXJ/ref=asc_df_B07Y37Q3WK/. That is a very nice configuration that would provide more precise speed control that the cheaper gear motors and optical encoders that I'm currently using. They also cost a bit more. This is kit is about $55USD before shipping.

Here is one that uses yellow gear motors; note it does not have encoders; we would want allow for encoders; https://chicagodist.com/products/kitronik-move-motor-for-the-bbc-micro-bit But this is much cheaper ($30USD) than the above kit. It still look very compact.

The microbit brain is about $15USD, but does not include a camera. I think the Esp32Cam is cheaper, has a true wifi chip and a camera, so it could provide a more capable robot for less money.

Here is a version of the maqueen-plus that includes a camera: https://www.dfrobot.com/product-2030.html. That is $110USD!

cgrrty commented 3 years ago

Hi I found two car chassis.They're all cheap. Their quality may not be very good. I want to choose some good accessories and remake them. Which is more suitable for us, four-wheel drive or two-wheel drive? There is a rotational speed measurement on each wheel. The price is between $2USD and $8USD. Here are the links. I don't know if the links are valid for you? https://item.taobao.com/item.htm?spm=a230r.1.14.14.4e054795bivS8u&id=522578524873&ns=1&abbucket=1#detail https://item.taobao.com/item.htm?spm=a230r.1.14.35.4e054795bivS8u&id=538177034577&ns=1&abbucket=1#detail

cgrrty commented 3 years ago

001 002

Ezward commented 3 years ago

I have been using the two wheel drive chassis that that you have pictured. I have not tried the 4 wheel drive model. We are already running short of pins on the ESP32cam, so we would not have enough pins to read the wheel encoders for the 4 wheel drive version.

Ezward commented 3 years ago

check out the 3d printed camera mount in https://github.com/Ezward/Esp32CameraRover2/blob/master/docs/building_the_rover.md; it will mount on either of the chassis you linked to.

samuk commented 1 year ago

Just dropping this here: It lacks the camera & encoders though: https://github.com/rosmo-robot/CrowBot#crowbot

This one I did for the Microbit has encoders: https://github.com/rosmo-robot/micro-bot/tree/master/Hardware/V3#readme

It might be worth re-working that. I'd be quite interested in doing a variant for the RP2040 Pico footprint.

https://www.arducam.com/product/rp2040-based-arducam-pico4ml-dev-board-for-machine-vision/ might be a nice MCU to develop the bot around.

I might fork the PCB from https://github.com/IDiAL-IMSL/Edurob and update it to use the Pico pinout.