{"id":27976398,"url":"https://github.com/brucesdad13/autonomous-picar-x","last_synced_at":"2026-05-07T09:32:14.019Z","repository":{"id":291839049,"uuid":"977200354","full_name":"brucesdad13/autonomous-picar-x","owner":"brucesdad13","description":"Autonomous Driving with PiCar-X Using OpenCV","archived":false,"fork":false,"pushed_at":"2025-05-06T19:00:26.000Z","size":32258,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-01T23:05:45.085Z","etag":null,"topics":["computer-vision","opencv","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brucesdad13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-03T16:46:08.000Z","updated_at":"2025-05-06T23:21:17.000Z","dependencies_parsed_at":"2025-05-06T20:19:23.654Z","dependency_job_id":"1cd841a0-e497-493e-bb72-5eba148a43fb","html_url":"https://github.com/brucesdad13/autonomous-picar-x","commit_stats":null,"previous_names":["brucesdad13/autonomous-picar-x"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/brucesdad13/autonomous-picar-x","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brucesdad13%2Fautonomous-picar-x","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brucesdad13%2Fautonomous-picar-x/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brucesdad13%2Fautonomous-picar-x/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brucesdad13%2Fautonomous-picar-x/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brucesdad13","download_url":"https://codeload.github.com/brucesdad13/autonomous-picar-x/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brucesdad13%2Fautonomous-picar-x/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32731269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","opencv","raspberry-pi"],"created_at":"2025-05-08T01:26:18.141Z","updated_at":"2026-05-07T09:32:13.993Z","avatar_url":"https://github.com/brucesdad13.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Autonomous PiCar-X: Autonomous Driving with HSV-Based Lane Detection\n\nThis repository contains all configuration and notebook resources needed to reproduce my PiCar-X v2 autonomous driving project on the Raspberry Pi 5.\n\n---\n\n## Contents\n\n- **config/** — Raspberry Pi 5 boot configuration (`config.txt`)  \n- **notebooks/** — Jupyter analysis notebook (`main.ipynb`)  \n- **requirements.txt** — Python dependencies  \n- **.gitignore** — ignore rules for venv, outputs, caches  \n- **README.md** — this file  \n\n---\n\n## Hardware \u0026 OS\n\n1. **SunFounder PiCar-X v2** assembled per vendor instructions  \n2. **Raspberry Pi 5** running Raspberry Pi OS (64-bit)  \n3. **IMX708** camera upgrade on CSI-1 ribbon cable  (see note below)\n4. **Network** via Wi-Fi, with SSH access\n\n\u003e **Hardware Note:**  \n\u003e - **Camera Vendor \u0026 Model:** Arducam B0312 (12 MP IMX708 Autofocus Camera Module 3 with HDR \u0026 PDAF)  \n\u003e - **Interface:** 22-pin, 0.5 mm-pitch MIPI-CSI connector on both Pi 5 and camera board  \n\u003e - **Cable Used:** Straight-through 22-way 0.5 mm-pitch FFC (e.g. 300 mm B-to-B)  \n\n---\n\n## Boot Configuration\n\n1. Copy `config/config.txt` into the Pi’s boot folder (`/boot/firmware/config.txt` on 64-bit OS or `/boot/config.txt` on 32-bit).  \n2. Ensure it defines your overlays:\n   ```ini\n   dtoverlay=vc4-kms-v3d\n   max_framebuffers=2\n   dtoverlay=imx708,cam1\n   dtoverlay=bcm2835-v4l2\n   ```\n3. Reboot:\n   ```bash\n   sudo reboot\n   ```\n\n---\n\n## Python Environment\n\n1. Clone this repo:\n   ```bash\n   git clone git@github.com:brucesdad13/autonomous-picar-x.git\n   cd autonomous-picar-x\n   ```\n2. Install system packages:\n   ```bash\n   sudo apt update\n   sudo apt install -y python3-picamera2 libcap-dev v4l-utils\n   ```\n3. Create \u0026 activate the virtual environment:\n   ```bash\n   python3 -m venv --system-site-packages .venv\n   source .venv/bin/activate\n   ```\n4. Install Python dependencies:\n   ```bash\n   pip install --upgrade pip\n   pip install -r requirements.txt\n   # (in your activated venv)\n   ```\n5. Register the Jupyter kernel:\n   ```bash\n   python3 -m ipykernel install --user \\\n     --name picar-env \\\n     --display-name \"PiCar .venv (Python 3.x)\"\n   ```\n\n---\n\n## Jupyter Notebook\n\n1. In VS Code, connect via Remote-SSH to the Pi\n2. Open `notebooks/main.ipynb`  \n3. Select **PiCar .venv (Python 3.x)** as the kernel  \n4. Run through the cells to capture frames, preprocess, and explore computer-vision methods.\n\u003e **Notebook Note:**  \n\u003e We use `ipywidgets` sliders in `notebooks/main.ipynb` to interactively tune HSV thresholds.\n\n---\n\n## Reproducibility\n\n1. Flash Raspberry Pi OS and assemble PiCar-X  \n2. SSH into Pi, clone this repo  \n3. Copy `config/config.txt`, install system packages  \n4. Create venv \u0026 install Python deps  \n5. Open the notebook and run cells\n\nAll necessary configuration and code are included here—ready to run on any fresh PiCar-X setup.\n\n---\n\n## 🔊 Sound Files\n\nThe robot uses SunFounder's car engine and horn sounds during startup and lost mode. These sounds are licensed under GPLv2 and are **not included in this repository** to maintain MIT license compatibility.\n\nTo download them manually:\n\n```bash\ncd sounds\nsh get_sounds.sh\n```\n\n---\n\n## References\n\n1. **Sunfounder.** 2023. *PiCar-X User Manual*. Available at: https://docs.sunfounder.com/projects/picar-x/en/latest/\n\n2. **Raspberry Pi Ltd.** 2024. *Picamera2 Library Manual*. Available at: https://datasheets.raspberrypi.com/camera/picamera2-manual.pdf\n\n3. **Greg V. Klimov, Samuel L. Kwok, Cole R. Manning, Mason V. Powell, Sam P. Rowe, and Adam Yang.** 2023. *Remote-Controlled Mixed Reality Driving Experience*. Major Qualifying Project Report, Worcester Polytechnic Institute. Available at: https://digital.wpi.edu/concern/student_works/70795c11v\n\n4. **OpenCV Developers.** 2019. *Changing Colorspaces*. Available at: https://docs.opencv.org/3.4/df/d9d/tutorial_py_colorspaces.html\n\n5. **Mueller, John Paul.** 2021. *Python All-in-One For Dummies (2nd Edition)*. Wiley. ISBN: 9781119787600. Includes chapters on OpenCV and robotics with HSV color tracking.\n\n6. **Daniel Hernandez-Vitela.** 2019. *Path Planning and Tracking for Autonomous Cars.* Available at: http://eureka-csep.cnsi.ucsb.edu/scholars/hernandez-vitela\n\n---\n\n## License\n\nThis project is released under the MIT License. See `LICENSE` for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrucesdad13%2Fautonomous-picar-x","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrucesdad13%2Fautonomous-picar-x","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrucesdad13%2Fautonomous-picar-x/lists"}