Goal

Rook aims to make programming robots easy and fun. A simple front-end makes it easy to get started, and a powerful backend means you won't outgrow it.

Architecture

Rook's powerful service-based architecture can be leveraged to create flexible applications that can support a variety of hardware. Services communicate using serialized messages, which allows inter-process, cross-language, and networked communication between them.

Hardware

The project aims to support a variety of hardware. Currently Raspberry Pi, GrovePi, and GoPiGo are supported. Support for more hardware is coming soon. Want to see your favorite hardware platform supported? Open a ticket on our GitHub Page and we'll see what we can do!

Getting Started

Rook's optional front-end makes it easy for a beginner to get started. Just install Rook on your robot, then visit it in your Web Browser to get started. You'll be able to control the environment, write scripts, experiment with Bottom-Up AI, and more!

Advanced Users

Don't want to use a front-end? No problem! Rook was designed around a powerful backend. Just write a Service and plug it in! Need to talk to hardware? Just use an IOProxy to communicate with any supported device!

Languages

Rook is currently written in Java. Support for Python, C++, and JavaScript is planned to be available in the future. Rook's architecture will allow services written in any these languages to work together seamlessly.