Skip to content

aiformula-support/aiformula

Repository files navigation

AI Formula

I Formula is a technical challenge in which robot cars drive autonomously on a race course given a mission. Through competing for speed and intelligence in a real-world environment, AI Formula will provide an opportunity for rising engineers to acquire the skills and technology necessary for next-generation mobility research. This repository is the foundation of the AIFormula system.

AIFormula_run

Functions to be provided in this package:

  • common (Util libraries for c++ and python)
  • control (Control motor)
  • launchers (Manage launch and shell files for each package)
  • sensing (Camera, Imu)
  • vehicle (Include intrinsic and extrinsic params)
  • simulator
  • docker
  • perception (coming soon)
  • planning (coming soon)

Dependencies

Getting Started

Installation

  • Local Environment:
    Clone this repository and build:
    Note: This package contains submodules. If the build of a submodule fails, please refer to the original packages (linked above).

    mkdir -p ~/workspace/ros2_ws/src/ # create your workspace if it does not exist
    cd ~/workspace/ros2_ws/src/ #use your current ros2 workspace folder
    git clone --recursive https://github.com/aiformula-support/aiformula.git
    sed -i 's/tf2_geometry_msgs\.hpp/tf2_geometry_msgs.h/g' ~/workspace/ros2_ws/src/aiformula/sensing/vectornav/vectornav/src/vn_sensor_msgs.cc
    git clone https://github.com/autowarefoundation/ros2_socketcan.git
    cd ..
    colcon build --symlink-install  # build the workspace
    source ~/workspace/ros2_ws/install/local_setup.bash
  • Docker Environment:
    To start docker:

    git clone https://github.com/aiformula-support/aiformula.git
    cd ./aiformula/docker
    ./docker_build_aiformula_foxy_amd.sh
    ./docker_run_aiformula_foxy_amd.sh

Vehicle setup

To connect can, and device

cd ~/ros2_ws/src/aiformula/launchers/shellscript/
./init_sensors.sh

Running the Example

To start all nodes of aiformula:
Note: This command launches the following nodes: camera data, imu data, can data, motor controller, tf, joy.

ros2 launch launchers all_nodes.launch.py