THE SCOPE OF OUR WORK

A Robot can be seen as a mechanical structure that is actuated using motors, and it can sense the environment using sensors.  The robotics software development covers a great spectrum from the low-level layer that exists in the microcontrollers using control function implemented in a real-time operating system (RTOS) up to the high-level layer where more sophisticated behaviours can be developed.

In the upper level, we use the Robot Operating System (ROS) as middleware, which is the most popular robotics software library that is used in research and products development.

ROS is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behaviours.  Few of the advantages of using ROS are the following:

  • Peer to peer – Individual programs communicate over defined API (ROS messages, services, etc.).
  • Distributed – Programs can be run on multiple computers and talk over the network.
  • Multi-lingual – ROS modules can be written in any language for which a client library exists (C++, Python, MATLAB, Java, etc.).
  • Lightweight – Standalone libraries are wrapped around with a thin ROS layer.
  • Free and open-source – Most ROS software is open-source and free to use.

ROS FUNCTIONAL COMPONENTS

PLUMBING

  • Process managment
  • Inter-process communication
  • Device drivers

TOOLS

  • Simulation
  • Visualization
  • Graphical user interface
  • Data logging

CAPABILITIES

  • Control
  • Planning
  • Perception
  • Mapping
  • Manipulation

ECOSYSTEM

  • Package organization
  • Software distribution
  • Documentation
  • Tutorials

SPEAK TO AN EXPERT!