Coder Social home page Coder Social logo

tollsimy / roboteam-rl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from roboteamtwente/roboteam

1.0 0.0 0.0 19.13 MB

Shell 0.10% JavaScript 41.67% C++ 38.27% Python 8.63% C 7.96% Rust 0.01% TypeScript 0.66% CSS 0.01% Gnuplot 0.01% HTML 0.01% CMake 1.58% Vue 1.00% Dockerfile 0.09%

roboteam-rl's Introduction

RoboTeam

Overview

This repository contains the following projects:

  • RoboTeam World. It is responsible from receiving and combining all sources of information into one coherent world state, which can be used by RoboTeam AI. These sources include data from either a simulator or SSL-Vision, and feedback from our robots (WIP). Note: The executable is called roboteam_observer*.
  • RoboTeam AI. The brain of RoboTeam. It makes decisions on what robots should do based on data received from RoboTeam World.
  • RoboTeam Robothub. Responsible for the communication with a simulator or the basestation (and thus the robots). RoboTeam AI sends its commands here, to be forwarded.
  • RoboTeam Utils. It contains a lot of helper functions, primarily geometrical in nature, such as Lines, Triangles, etc. These are used in other repo's, such as RoboTeam AI and RoboTeam World
  • RoboTeam Networking. This repository contains all our Protobuf messages, and classes for publishing and subscribing to ZMQ channels. It lets RoboTeam World, RoboTeam AI, and RoboTeam Robothub communicate with eachother.

* RoboTeam World its executable is named roboteam_observer, since RoboTeam AI also contains a class named World, which caused confusion.

How to

Refer to docker/README.md for usage of our software.

Libtorch

Note: there are plenty of issues when trying to link libtorch in an Alpine Linux container because of GLIBC version and musl. This is the reason why we switched to and Ubuntu23-based Docker image.

The libtorch version used is libtorch cpu: libtorch-cxx11-abi-shared-with-deps.

Development

IDEs

VSCode

You can install VSCode from the website or via apt or snap. We recommend to install the C/C++ Extension Pack extension, which will provide you with IntelliSense (code completion), debugging, code browsing, and CMake support. Other neat extensions are GitLens, Git Graph, GoogleTest Adapter, and Copilot. If you want to develop from within a container, install Remote Development.

Clion

To install CLion, you need a student license.

Make sure you have the dependencies installed. Within CLion, go to the CMakeLists.txt and click on it. CLion will generate a pop-up saying "project files not loaded" in blue in the top right corner. Clicking it will have CMake load the project. This means it generates instructions on how the files should be compiled in order to produce the executables specified in the CMakeLists.txt file. You can now compile the targets!

Code Style Formatting

To be consistent in the code style, we use clang-format. You can use clang-format to automatically format your code during every commit and you can use clang-format in CLion to format all code files in a given folder. Format the code by running format.sh

See also

Tracy Profiler

Tracy is quite cool(and lightweight) profiler, that can help you analyze the performance of your code.

To enable Tracy

  • Define TRACY_ENABLE macro (e.g. by passing -DTRACY_ENABLE=1 to cmake)
  • Add ZoneScoped/ZoneScopedN etc. to scope you want to evaluate
  • Compile Tracy Server and run
    • Information is in the tracy docs
  • Run AI

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.