Skip to content

Software behind our fully autonomous FIRST robots

License

Notifications You must be signed in to change notification settings

uwreact/uwreact_robot

Repository files navigation

uwreact_robot

Build Status License

The software behind our fully autonomous FIRST robots

Setup and Installation

First, clone this repo into your catkin workspace. We then use rosinstall and rosdep to install non-indexed and indexed packages respectively.

# Ensure rosinstall and rosdep are installed and up to date
sudo apt install python-rosinstall python-rosdep
sudo rosdep init
rosdep update

# Clone the repo
cd <workspace>/src
git clone https://github.com/uwreact/uwreact_robot.git

# Install all dependencies
rosinstall --catkin . uwreact_robot/uwreact_robot.rosinstall
rosdep install --from-paths . --ignore-src -r -y

In order to build anything zed related, you'll also need to install CUDA 10 and the ZED SDK

CUDA 10

Download CUDA 10 and follow install instructions according to which installation method you prefer

ZED SDK

Download the appropriate ZED SDK, then to install:

chmod +x ZED_SDK_{YOUR VERSION}.run
./ZED_SDK_{YOUR VERSION}.run

Code Style

We largely follow the ROS coding guidelines, with a few noteable exceptions. To make development easy, we provide configuration files for standard linting and static analysis tools such as clang-format, clang-tidy and yapf.

To install the linters:

sudo apt install clang-format-7 clang-tidy-7
pip install yapf pylint --user

# If ~/.local/bin is not on your path:
echo "PATH=\"$PATH:$HOME/.local/bin\"" >> ~/.bashrc

To run the formatters:

find . -name "*.h" -o -name "*.cpp" | xargs clang-format-7 -i -style=file
yapf -ir .

To run the linters:

./run_clang_tidy.py uwreact_robot
find . -iname "*.py" -o -iregex ".*/scripts/.*" | xargs pylint

Contributing

We facilitate a completely open source environment for all of our projects, and are always welcoming contributors.

Contributing Guide

Before opening your editor, read this project's contributing guide to learn about its development and contribution process.

License

The uwreact_robot project is BSD 3-Clause licensed.