oscc  by PolySync

Open source car control for autonomous vehicle tech development

created 8 years ago
993 stars

Top 38.1% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

This project provides an open-source hardware and software framework for enabling computer control of vehicles, specifically targeting autonomous vehicle technology development. It offers a modular interface for sending commands and receiving data from a car's CAN network, with a current focus on Kia Soul models.

How It Works

OSCC utilizes a modular approach with Arduino-based hardware modules interfaced with the vehicle's CAN bus. The system allows direct control of actuators (steering, throttle, brakes) by sending low-level commands, bypassing ADAS features and avoiding CAN message spoofing. This design ensures full-range vehicle control without altering factory safety systems. The separation of API and firmware allows for independent modification and testing.

Quick Start & Requirements

  • Firmware Build: Requires Arduino Core (>=1.8.5) and CMake (>=2.8). Build firmware using cmake .. -DVEHICLE=<vehicle_type> and make.
  • Firmware Upload: Upload via serial ports using make <module>-upload or make all-upload, specifying serial ports if necessary.
  • API Usage: Integrate the C API into applications for vehicle control.
  • Testing: Requires Ruby (for Cucumber) and Rust (for property-based tests). Run tests with cmake .. -DTESTS=ON -DVEHICLE=<vehicle_type> and make run-all-tests.
  • Documentation: Wiki available for detailed information.

Highlighted Details

  • Supports Kia Soul (2014+) petrol and EV, with a structure for adding new vehicles.
  • Provides a C API for application integration, including functions for opening/closing connections, enabling/disabling modules, publishing control commands, and subscribing to reports.
  • Includes example applications like a joystick commander and a ROS node (ROSCCO).
  • Comprehensive testing suite including unit and property-based tests for firmware modules.

Maintenance & Community

  • Developed by PolySync Technologies, Inc.
  • Contact for questions and licensing: help@polysync.io.

Licensing & Compatibility

  • Hardware: CC BY-SA 4.0 (Attribution-ShareAlike).
  • Firmware/Software: MIT License.
  • Compatible with commercial use under MIT license terms.

Limitations & Caveats

The project currently has official support limited to specific Kia Soul models. While designed for extensibility, adding support for other vehicles requires understanding their specific CAN communication protocols and potentially redesigning hardware interfaces. Operator override sensitivity for steering can be tuned, but improper configuration could lead to safety issues.

Health Check
Last commit

5 years ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
16 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.