Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/itzderock/scioly-robottour-2024-cpp
Science Olympiad Robot Tour (Div C - 2024) - C++ version (attempt 3)
https://github.com/itzderock/scioly-robottour-2024-cpp
robot-tour rp2040 science-olympiad
Last synced: 2 days ago
JSON representation
Science Olympiad Robot Tour (Div C - 2024) - C++ version (attempt 3)
- Host: GitHub
- URL: https://github.com/itzderock/scioly-robottour-2024-cpp
- Owner: ItzDerock
- Created: 2024-03-08T02:53:37.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-09-10T02:48:14.000Z (2 months ago)
- Last Synced: 2024-10-13T02:49:09.082Z (about 1 month ago)
- Topics: robot-tour, rp2040, science-olympiad
- Language: C
- Homepage:
- Size: 147 KB
- Stars: 0
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Science Olympiad - Robot Tour
C++ code for the Science Olympiad Robot Tour Divison C event. Targeted at the RP2040 microcontroller using the pico-sdk library.
## Read the [blog post](https://derock.blog/post/science-olympiad-robot-tour?ref=github) to learn more about the hardware and software. Or check out this [demo video](https://youtu.be/HW2_rhXF9W8)
---
The plan is the following:
- User inputs a general path to follow
- Robot interpolates missing points to create a pure-pursuit path
- On button click, robot resets odometry position and follows pure-pursuit path.
- During run, robot will constantly recalculate the required target velocity to match the requested time goal.# Archetecture
The RP2040 has 2 cores and 2 PIOs. For simplicity, this program will not use an RTOS system since it should be easy to incorperate the required parallel tasks using the two cores of the RP2040.## PIOs
The PIOs are responsible for tracking the encoder counts of each left/right wheel to reduce the amount of interrupts and context switches the main core needs to do.## Main Core
Responsible for following the pure-pursuit path.## Second Core
Will handle the odometry tracking.