Smartsoft

From RobotinoWiki

Introduction

Robotino smartsoft icon 64.png PoweredBySmartSoft-single small.png SmartSoft is a component approach for robotics software based on communication patterns as core of a robotics component model.
This page describes how one can use SmartSoft together with Robotino.

What does SmartSoft and SmartMDSD for you?

  • A structured approach (separation of roles) to manage software efforts and system complexity in building your real world robotic applications. (The SmartSoft Approach)
  • An integrated toolchain (model driven software development) that realizes this approach and supports your system development. (The SmartMDSD Toolchain)
  • A set of reusable software components for localisation, navigation, mobile manipulation, task coordination, human robot interaction, object recognition and many more for immediate reuse in your applications. (Components)

See SmartSoft, the SmartMDSD Toolchain and components in action: Video Tutorials.

Links

SmartMDSD toolchain - All information about the toolchain, installation, tutorials, videos, downloads.

SmartSoft - The SmartSoft main repository with the core functions and most of the components.

SmartSoft - Robotino components - The SmartSoft robotino repository with the robotino specific functions.

Robotino Smartsoft packages changes

SmartSoft -- How To Use

SmartSoft through Robotino Factory

  • ready to use (on robotino startup!)
  • navigation, mapping, localization
  • Robotino Factory


Robotino-factory.png

SmartSoft through Robotino View

  • ready to use "high-level" building blocks available in Robotino View
  • navigation, mapping, localization
  • read more...


Robotinoview 1.png

SmartSoft on Robotino for
Robot Developers

  • ready to use SmartSoft Robotino components
  • usable with SmartMDSD toolchain
  • offers full SmartSoft Ecosystem functionally
  • read more...


SmartMDSD-Toolchain Deployment.png

SmartSoft -- Robotino API/Webinterface/Factory Integration

This section describes the integration or interaction of SmartSoft with the robotino services and tools (API/webinterface/factory). To enable the usage of SmartSoft "standard components" (e.g. navigation, localization and mapping) with the robotino services e.g the robotino factory, some robotino specific components have been developed (see section below).

The combination of those components enables an easy to use interface (e.g. robotino factory) to powerful functionally such as collision free navigation, SLAM, localization, management of locations and maps and tasks.

SmartSoft Robotino integration.png

Core Robotino SmartSoft components

A robot system consist typically of a set of components that makes use of specific hardware (base, laser, etc.) delivering the "basic services" and platform (specific hardware) independent components (e.g. navigation, localization).
This section describes those SmartSoft components that are specifically developed for the use with the robotino platform.

Other SmartSoft components can and are used in combination with those components as well, e.g. Sick-Laser components, all the navigation, localization and mapping components, etc. .

Name Description Component Hull
SmartRobotinoBaseServer The SmartRobotinoBaseServer provides access to the robotino robot. It handles the communication with the hardware or the simulator. It offers several services for controlling the robot, such as sending navigation commands to the base and providing access to the robot's odometry. Position updates can be sent to the component to overcome odometry failures.
SmartRobotinoBaseServer.JPG
SmartRobotinoLaserServer The SmartRobotinoLaserServer provides laser scans from the robotino SIM simulator or other scanners operated by robotino deamons. Scans can be requested by push newest or query communication.
SmartRobotinoLaserServer.JPG
SmartRobotinoIRServer The SmartRobotinoIRServer ir scans from the robotino platforms (and simulator).
SmartRobotinoIRServer.JPG
SmartRobotinoRPCBridge The SmartRobotinoRPCBridge component is the interface component between the robotino rpcd and the SmartSoftSlave components. It is used to transfer data between the two system parts, e.g. the map as it is recorded by the SLAM component.
SmartRobotinoRPCBridge.JPG
SmartRobotinoMasterRPCBridge The SmartRobotinoMasterRPCBridge component is the interface component between the the robotino rpcd and the SmartSoftMaster components. It is used to transfer data between the two system parts, e.g. the path network which is handled by the SmartPathNavigationServer.
SmartRobotinoRPCBridge.JPG
SmartRobotinoImageServer The SmartRobotinoImageServer provides images captured by a robotino daemon or the simulator.
SmartRobotinoImageServer.JPG

Robotino - Industry 4.0 SmartSoft Components (FESTO MPS)

Robotino Fleets - Architecture

Name Description Component Hull
SmartJobCenter The SmartJobCenter provides a REST API to push and manage jobs and to read job status information.
SmartFestoFleetCom The SmartFestoFleetCom is the interface component to the FESTO Fleet-Manager (MPS).
SmartFestoFleetCom.JPG
SmartFestoGripperServer The SmartFestoGripperServer provides access to the FESTO gripper for Robotino3.
SmartFestoGripperServer.JPG
SmartFestoMPSDocking The SmartFestoMPSDocking performs the docking/undocking of a Robotino3, equipped with a conveyer belt, to a FESTO MPS station.
SmartFestoMPSDocking.JPG
SmartMarkerTracker The SmartMarkerTracker is capable of detecting visual markers and docking to MPS stations equipped with visual markers.
SmartMarkerTracker.JPG
SmartNavigationPlanner The SmartNavigationPlanner uses ompl to perform planning for navigation. The component is used in the context of corridor based fleet navigation.
SmartNavigationPlanner.JPG
SmartPurePursuitNavigation The SmartPurePursuitNavigation realizes a pure-pursuit navigation, calculating velocities to follow a trajectory.
SmartPurePursuitNavigation.JPG
SmartRobotinoBatteryChargerDocking The SmartRobotinoBatteryChargerDocking performs the docking/undocking of a Robotino3 to a battery charger station.
SmartRobotinoBatteryChargerDocking.JPG
SmartRobotinoBatteryChargerDocking4 The SmartRobotinoBatteryChargerDocking4 performs the docking/undocking of a Robotino4 to a battery charger station.
SmartRobotinoBatteryChargerDocking.JPG
SmartRobotinoConveyerBeltServer The SmartRobotinoConveyerBeltServer provides access the robotino3 conveyer belt, used to transport KLTs (small load carrier).
SmartRobotinoConveyerBeltServer.JPG
SmartRobotinoMasterRPCBridge The SmartRobotinoMasterRPCBridge is the interface component between the the robotino rpcd and the SmartSoft components. It is used to transfer data between the two system parts, e.g. the map as it is recorded by the SLAM component. This component is among the set of fleet coordination components.
SmartRobotinoMasterRPCBridge.JPG
SmartPathNavigationServer The SmartPathNavigationServer is the coordinating component for corridor based local coordinated navigation with multiple robots in a fleet.
SmartPathNavigationServer.JPG
SmartPathNavigationClient The SmartPathNavigationClient is client component for corridor based fleet navigation.
SmartPathNavigationClient.JPG

Documentation