Zorg

Zorg is a Python framework for robotics, physical computing projects and the Internet of Things. It makes it easy to configure and command your creations. It can run on the Intel Edison and Raspberry Pi. There is support for a variety of analog and digital sensors built in, and it is extensible so that anyone can add support for new platforms and devices. Zorg implements the specification established by the node.js framework Cylon.js, and shares compatible interfaces with it.

What's cool about it

Zorg is written in Python, which makes it easy to integrate with other exisiting libraries, like SciPy, NumPy or scikit-learn. There are currently no other modern robotics python librares available, making Zorg the first of it's kind. It's also easy to get up and running. There are several built-in drivers for interfacing with hardware such as LEDs, servo motors and microphone sensors. Zorg is highly extensible, allowing future developers to build and contribute their own drivers.

Zorg also comes with a web-based api that allows for access to the sensors from any language, making it easy to build web applications that pair with Zorg.

What inspired us

While expirimenting with the Johnny-Five JS library on the Intel Edison we discoverd another similar library called Cylon. Cylon is a robotics framework written in node. The creators of Cylon have also published versions of their codebase written in other languages such as Ruby and Go. However, we really like python as a language and so we decided to implement their spec in a Python library. Although Cylon.js and Johnny-Five are powerful platform for robotics, we felt we needed to implement a library to bring robotics to Python.

How we did it

Having been inspired by Cylon.js and disappointed by the only existing Python robots library, Pyro, we set off on a course to implement a full robotics library in Python.

Created by

I worked on our robotics framework, adding drivers for the PWM, analog and digital IO capabilities. I also worked on the design for the home page using an implementation of Google's Material Design specifications.

I worked on the front end of out project. It was actually my first time working with both JQuery and BootStrap so I had to get well acquainted with it before I started to code anything. I worked on creating widgets implemented in the web app that would be utilized by the Intel Edison to perform operation