Skip to content

An open source software stack for Real-Time Strategy research on mobile robots

License

Unknown, Unknown licenses found

Licenses found

Unknown
license.txt
Unknown
COPYING
Notifications You must be signed in to change notification settings

MaxChanger/RoboRTS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RoboRTS

Build Status Gitter

RoboRTS is an open source software stack for Real-Time Strategy research on mobile robots, developed by RoboMaster. The Real-Time Strategy research that we focus on is multi-agent deep reinforcement learning based decision making.

The motivation for this project is RoboMaster AI Challenge. In this robot challenge, multiple robots should fight with each other on a game field automatically. It would be very convenient to have a unified framework for them to integrate hardware components and implement algorithms.

A modern mobile robot usually contains a simple low-level computing platform runs RT OS (Real Time Operation System) with restricted computing power but real-time output, and a strong high-level computing platform runs non-RT OS (such as Linux and Windows) which dedicates to computational intensive algorithm execution. In our system, the low-level computing platform is MCU (micro-controller), and the high-level computing platform is called the on-board computer.

The framework of RoboRTS consists two parts: autonomous mobile robot layer and intelligent decision-making layer.

The autonomous mobile robot layer alone can let a robot to demonstrate a certain level of intelligence. On its on-board computer runs perception, planning, decision modules, each of which contains some conventional algorithms like A* search and Lidar mapping. On its MCU, an RT low-level robot controller is implemented to govern the robot driving system. This README mainly explains the structure and functionality of this layer.

TODO: Intelligent decision-making layer includes a multi-agent decision-making framework and a game simulator, it will be released in the future.

Get started

You can build a mobile robot described in hardware_setup document and setup embedded system mentioned in RoboRTS-Firmware repository.

Software Requirements

  • ROS kinetic (Ubuntu 16.04)
  • OpenCV 3.0.0 or higher
  • CUDA(Optional)
  • PCL
  • G2O
  • SuiteSparse
  • Google Protocol Buffers 2.6
  • Google Glog
  • CMake 3.1

Install dependencies for Ubuntu 16.04 kinetic

Install ROS

Please follow the installing and configuring ROS environment tutorial on ROS Wiki.

Thirdparty Library

sudo apt-get install ros-kinetic-opencv3 ros-kinetic-cv-bridge ros-kinetic-image-transport ros-kinetic-stage-ros ros-kinetic-map-server ros-kinetic-laser-geometry ros-kinetic-interactive-markers ros-kinetic-tf ros-kinetic-pcl-* ros-kinetic-libg2o protobuf-compiler libprotobuf-dev libsuitesparse-dev libgoogle-glog-dev ros-kinetic-rviz

Build and Install

git clone https://github.com/RoboMaster/RoboRTS.git
cd RoboRTS/
mkdir build
cd build
cmake ..
make messages_generate_messages
make

Setting the RoboRTS environment variable

cd path/to/RoboRTS
echo "export ROBORTS_PATH=${PWD}" >> ~/.bashrc
source ~/.bashrc

Run Examples

./tools/script/run.sh -s 

Documents

  • Hardware setup: Instruction to build a RoboMaster infantry robot.
  • Software architecture: The software architecture of RoboRTS framework.
  • Protocol: The protocol between the on-board computer and the MCU.
  • Tutorial: Additional tutorials will be released in the future.

Copyright and License

RoboRTS is provided under the GPL-v3.

About

An open source software stack for Real-Time Strategy research on mobile robots

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
license.txt
Unknown
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 47.5%
  • C 45.8%
  • Cuda 4.0%
  • CMake 2.4%
  • Shell 0.3%