The SirBot Project
|
The SirBot Project provides an easy way to build, program, control, and monitor amateur robots.
Programming a bot is done writing a Python class, thanks to the SirBot API. A protocol declaration syntax is used to define what can be done (primitive/complex actions). Using a Python CLI, the robot can be interactively controlled and dynamically programmed. While the bot is performing several actions, every piece of information is able to produce events, thanks to the event declaration syntax. Events can also be created from other events (cascading events), conditionnaly triggered under specific conditions (pre-condition), and activate user-defined actions (post-conditions) according to a particular event state. The SirBot Module library provides detailed instructions to build electronic boards (PIC-based) and connect them to build a robot.
|
Easy way to build the bot
![]() |
The SirBot Project provides every instructions to build a bot. A main board provides the basic features such as communication capabilities and implementation of a defined protocol. Several module can be plugged into this main board to provide extra feature such as, currently, a servo controller, IR distance ranger. Have a look on the SirBot Module Library to see current available modules/features. Also have a look at the SirBot Labs, where you can find examples of robots built with SirBot.
Easy way to program the bot
![]() |
SirBot is python-based, your robot is just an object Protocol. Thanks to the power of python and its librairies, performing complex actions is (almost) trivial. No C++ here... just a protocol declaration syntax, easy to use.
Easy way to control the bot
![]() |
Because SirBot is python-based, you can access your bot with a python CLI, such as ipython, and interactively control and program your bot. Soon, a graphical interface will allow to visually control your robot.
Easy way to monitor the bot's actions
![]() |
While the bot performs several actions, every piece of information is able to produce events, thanks to the event declaration syntax. Events can also be created from other events (cascading events), conditionnaly triggered under specific conditions (pre-condition), and activate user-defined actions (post-conditions) according to a particular event state.