Could you please recommend an affordable SparkFun Qwiic camera and GPS for the XRP robot?

I would like to offer a first person view when remote controlling the XRP robots to our students.

Also, we would like to track our travelling paths and create customizable paths to desired locations using the GPS coordinates.

Any recommendations would be greatly appreciated. Thank you.

Steven

I have not used this GPS, but it is the least expensive QWIIC connected GPS they carry. SparkFun GPS Breakout - XA1110 (Qwiic) - GPS-14414 - SparkFun Electronics

2 Likes

Some great questions here are some suggestions, but partially depends on your goals and students skills.

For a camera, if you are not looking to process the camera data at all, but just have a first person view. There are a number of inexpensive 5.8Ghz FPV cameras and receivers that would give you a great view at a low price. You can power the camera off of one of the servo headers on the XRP board.

GPS is a bit tricky. Normal GPS accuracy is in the meter range, which is pretty big for a robot this size. There is newer technology called RTK, SparkFun has some solutions, which uses a stable GPS station and a moveable one and can get down the CM accuracy. That can work for a small robot like the XRP, but both have to be able to ā€œseeā€ GPS satellites, so it canā€™t be done inside.

FIRST teams have come up with a number of solutions. The one that would be easiest to convert to the XRP are around using odometry wheels. If you Google ā€˜first tech challenge odometryā€™ and you will find a lot of information on how to track your robots location.

Path planning also has a number of challenges to do well. WPILib which is a solution for the FIRST Robotics Competition (FRC) , has a really good section on path planning. Path Planning ā€” FIRST Robotics Competition documentation You can acutally use the WPILib programming solutions with the XRP, but it requires you to load a different set of firmware. That information can be found here. Getting Started with XRP ā€” FIRST Robotics Competition documentation

We will be very interested if you work on any of these solutions. Please post here if you do. Your students will be fully ready to be on a FIRST team if they learn these skills!

3 Likes

Bill and Frank, thank you for your wonderful recommendations.

Currently, we are testing a few 5.8 Ghz and Wifi (P2P) mini spy cameras.

One that appears quite interesting is the following:

Spy Camera, AOBO 4K HD Mini WiFi Wireless Hidden Camera Smallest Security Cameras with App Nanny Cam Night Vision Motion Activated Alerts Secret Surveillance Cameras for Indoor $45.28 CAD

Also, we would like determine if the XRP controller board could support the
Arducam Mini 2MP and 5MP cameras for Arduino UNO Mega2560 Board & Raspberry Pi Pico? If so, how would we connect them?

Also, thank you for the GPS and odometry guidance.

Currently, I am reviewing the FIRST tech challenge odometry and Path Planning documentation.

Have an incredible day.

Steven

Hi there, good topic!

If you just want a first person view from the XRP, Iā€™d really recommend getting some kind of dedicated wireless camera and strapping it onto the robot. This is by far the easiest option.

However iyour goal is to do vision processing with the XRP (eg. OpenCV), youā€™re almost definitely going to need a coprocessor of some kind. The XRP Control Board uses the RP2040 microcontroller, which is really not designed for vision processing. It has 264k of RAM (not enough for even a single 480p grayscale image), and it doesnā€™t have the computing power needed. I looked at one of the demos of the ArduCam with the RP2040, and it was getting about 4fps with a 240p camera stream; looked like it was just passing the video stream through to USB, not doing any processing on the image.

So a coprocessor is really needed to have decent vision processing. Weā€™ve considered using a Raspberry Pi for this - connect a Pi Camera Module (or even a USB webcam), write OpenCV code on there, then send a small amount of data to the XRP Controller, such as through the Qwiic connector. This is not something weā€™ve tackled yet, so if anyone is feeling adventurous and wants to take a crack at it, weā€™d love to see what you come up with!

As for GPS, Iā€™ll defer to the comments above.

Hope this helps!

If you want to stick with open hardware for the camera there are a couple of ā€˜coming soonā€™ products:

Tokay Lite ~$80 I believe

Or ~$109
OpenMV Cam RT1062 | OpenMV

Iā€™m also looking forward to

No price on this yet, but the core chip is a ~$50 component, so has the potential to significantly reduce the cost of RTK

Iā€™m currently working on an ancient RPi Zero W to see if I can get some OpenCV AprilTag recognition going. Iā€™ll keep you posted.

[EDIT/] Pi ZERO W is just too weak. Installing OpenCV is a nightmare.
Moving to a Pi ZERO 2W

1 Like

Thatā€™s super helpful to know, thank you! Please let us know how the Zero 2 W goes!

1 Like

Qwiic question (see what I did there :smirk:).
I want to make the camera/vision system as easily integrated as I can. Thus, I intend to use a QWIIC hat on a Pi Zero 2W to make connection to the XRP as clean as possible.
Are there are QWIIC code examples I can use to see an easy way to export/import target data from Pi to the XRP?

Having the XRP and Pi Zero 2 communicate over Qwiic should be fine. I would suggest keeping the XRP as the I2C bus controller, then configuring the Pi Zero 2 as an I2C peripheral/slave device. Iā€™ve not done this myself, but a qwiic Google seems to indicate thatā€™s possible with the pigpio library (docs). I canā€™t provide any further help with this at the moment unfortunately, but I hope this helps!

OK, this will probably be my last post in this thread as I will be opening a separate thread to follow my journey in adding vision to an XRP. One quick update first.
The bottom line is that neither a RPi Zero W or a Pi Zero 2W are really well suited for any real vision processing. The biggest limitation appears to be caused by the tiny 512K RAM. Increasing the Swapfile size really just slows down the process. Yes, I was able to acquire images, but the performance was painfully slow. So, fortunately I have a Pi 4, a Pi 3, a Orange Pi 4 and an Orange Pi 5 I can use for this project. Their only drawback are their physical size.

2 Likes

Iā€™m quite interested in using Milk-V Duo | Extremely Cost-Effective Ultra-Compact Embedded Linux Development Platforms for basic vision stuff itā€™s 1Ghz/ 256M 1TOPS@INT8

The 256 is out of stock right now, but Iā€™ll get one when they come back in Arace Tech

Itā€™s dirt cheap ~$10 it looks like they have a version of it running a version of OpenCV opencv-mobile | Milk-V

I canā€™t open the Altium file at duo-files/duo-256M/hardware at main Ā· milkv-duo/duo-files Ā· GitHub as I donā€™t have Altium, but presumably Sparkfun do if you were interested in rolling a open hardware version

1 Like