/opencaret

An open-source/open-data L3 highway autopilot system for modern cars. Initially being perfected on the Kia Soul EV

Primary LanguageJupyter NotebookMIT LicenseMIT

Intro

An opensource / opendata Level-3 Highway autopilot system for all modern cars. Think Tesla Autopilot but for your civic, corolla, kia. The idea is to initially perfect this on the Kia Soul EV (since Polysync graciously gives us a opensource/openhardware drive by wire kit) and then build open hardware drive by wire kits for other cars.

Getting started

Hardware requirements

Everything has been tested on real hardware. I know its possible to setup fake interfaces (like a vcan0) device but none of that has been tested.

Can to USB covertor

You need a CAN to USB convertor. I currently use the one from canable.io which is excellent if you flash the candlelight firmware onto it. The default SLCAN implementation wasn't usable for me. Once thats done you can start up the CAN interface on your system using:

sudo ip link set can0 up type can bitrate 500000

Toyota 2016-2017 Radar from Denso

You can pick these up on ebay. We will eventually support many radars but this one is easily available and known to work well!

Software Requirements

Opencaret is being developed and tested on:

  • ROS2 (master)
  • Ubuntu 16.04/18.04

Opencaret is built around ROS2. You need to get ROS2 from master since ardent has a bug with the launch system thats being worked on.

ROS2: https://github.com/ros2/ros2/wiki/Linux-Development-Setup

You also need to get all submodules after you pull:

git submodule update --init --recursive

to build:

ament build --simlink-install

then source the ros setup file:

. ./install/setup.sh

The rest assumes that you have can0 up and running. The CAN setup is designed to start listening on all canX interfaces on your linux system.

launch the entire system. This currently means:

  • Working CAN bus controller
  • Working Radar controller

launch src/launch/all_launch.launch

you can observe radar topics with: ros2 topic echo /radar_tracks