All the software published to control Myzharbot is Open Source and it is released under LGPLv3 license.
The control software of MyzharBot can be subdivided into two main branches: high-level (HLU) and low-level software (LLU).
Old version of high-level software was fully cross-platform and it was based on the Qt framework (Windows, Linux, Android and iOS).
After spending a lot of time writing TCP / UDP to manage the communication between the various modules of MyzharBot, I realized to be reinventing the wheel and that something very similar to what I was creating it already existed: ROS.
In October 2014, began the porting to ROS of all the software that runs on the HLU.
The low-level software is written in C and composes the set of the firmwares that run on the various control boards.
The high level software makes a heavy use of the OpenCV library for the part that concerns the Computer Vision and PCL (Point Clouds Library) for the part that concern the elaboration of RGB-D point clounds from Asus Xtion Pro Live sensor and Stereo Cameras.
Everyone can contribute to the software forking the project from Github and making its own pull request:
All the software is referred to the RoboController board, as starting point for each robotic project based on it. RoboController board will be soon available for everyone on Katodo website.
All the software is referred to the µNav motor control board, as starting point for each robotic project based on it. µNav board is available for everyone on Katodo website.
Since December 2014, all the software is written in collaboration with Officine Robotiche, you can read more on the post about this news.
The “old” RoboController board has been replaced by the µNav board; the two boards have few differences, but the code is automatically adapted choosing the right configuration option in MplabX before compiling and deploying the firmware on the board.
LLU: µNav Firmware
This is the firmware that must be compiled and deployed on the µNav motor control board using MplabX.
HLU: ROS Software
Old versions of the softwares
HLU: ROS software – first version
This is the first version of the ROS software written to control MyzharBot using the old firmware of the RoboController board based on Modbus communication protocol. You can find the tutorial about the installation of RoboController-ROS here.
LLU: Old RoboController Firmware
This is the latest version of the old RoboController Firmware based on Modbus communication protocol.
HLU: Old RoboController-SDK
This is the old SDK written before the migration to ROS. Please feel free to fork it and use parts of it. There are good examples about TCP/UDP communications based on Qt5 framework.