Difference between revisions of "Smartsoft"

From RobotinoWiki
(SmartSoft through Robotino Webinterface)
(27 intermediate revisions by 2 users not shown)
Line 17: Line 17:
  
 
[http://svn.openrobotino.org/smartsoft/ SmartSoft - Robotino components] - The SmartSoft robotino repository with the robotino specific functions.
 
[http://svn.openrobotino.org/smartsoft/ SmartSoft - Robotino components] - The SmartSoft robotino repository with the robotino specific functions.
 +
 +
[[smartsoft_changelog|Robotino Smartsoft packages changes]]
 
|}
 
|}
  
Line 24: Line 26:
 
|- style="vertical-align:top"
 
|- style="vertical-align:top"
 
! style="text-align:left; width:20em; background-color:#dddddd"|
 
! style="text-align:left; width:20em; background-color:#dddddd"|
=== SmartSoft through Robotino Webinterface ===  
+
=== SmartSoft through Robotino Factory ===  
 
* ready to use (on robotino startup!)
 
* ready to use (on robotino startup!)
 
* navigation, mapping, localization
 
* navigation, mapping, localization
*[[Robotino_Web_Interface| read more...]]
+
*[[robfactory|Robotino Factory]]
 
<br>
 
<br>
[[Image:Robotino-webinterface.png|250px|center|link=Robotino_Web_Interface]]
+
[[Image:Robotino-factory.png|250px|center|link=http://robfactory.rec.de]]
 
! style="text-align:left; width:20em; background-color:#dddddd"|
 
! style="text-align:left; width:20em; background-color:#dddddd"|
  
Line 35: Line 37:
 
* ready to use "high-level" building blocks available in Robotino View
 
* ready to use "high-level" building blocks available in Robotino View
 
* navigation, mapping, localization
 
* navigation, mapping, localization
* [http://servicerobotik-ulm.de/drupal/?q=node/20 read more..]
+
* [http://www.festo-didactic.com/int-en/services/robotino/programming/robotino-view/ read more...]
 
<br>
 
<br>
[[Image:Robotinoview_1.png|250px|center]]
+
[[Image:Robotinoview_1.png|250px|center|link=http://www.festo-didactic.com/int-en/services/robotino/programming/robotino-view/]]
 
! style="text-align:left; width:20em; background-color:#dddddd"|
 
! style="text-align:left; width:20em; background-color:#dddddd"|
  
Line 44: Line 46:
 
* usable with SmartMDSD toolchain
 
* usable with SmartMDSD toolchain
 
* offers full SmartSoft Ecosystem functionally
 
* offers full SmartSoft Ecosystem functionally
* [http://servicerobotik-ulm.de/drupal/?q=node/20 read more..]
+
* [[SmartSoft on Robotino for Robot Developers| read more...]]
 
<br>
 
<br>
[[Image:SmartMDSD-Toolchain_Deployment.png|300px|center]]
+
[[Image:SmartMDSD-Toolchain_Deployment.png|300px|center|link=SmartSoft on Robotino for Robot Developers]]
 
|}
 
|}
  
==SmartSoft -- Robotino API/Webinterface Integration==
+
==SmartSoft -- Robotino API/Webinterface/Factory Integration==
This section describes the integration or interaction of SmartSoft with the robotino services (API/webinterface).
+
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 web-interface, some robotino specific components have been developed (see section below).<br>
+
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).<br>
  
The combination of those components enables an easy to use interface (e.g. robotino webinterface) to powerful functionally such as collision free navigation, SLAM, localization, management of locations and maps and tasks.  
+
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.  
  
 
[[Image:SmartSoft Robotino integration.png]]
 
[[Image:SmartSoft Robotino integration.png]]
  
==Robotino specific SmartSoft components==
+
==Core Robotino SmartSoft components==
 
<!-- [[Image:FM-SS-Structure.PNG]] -->
 
<!-- [[Image:FM-SS-Structure.PNG]] -->
 
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).<br>
 
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).<br>
This section describes those SmartSoft components that are specifically developed for the use with the robotino platform.
+
This section describes those SmartSoft components that are specifically developed for the use with the robotino platform.<br>
All 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. .
+
The components are available opensource via subversion [http://svn.rec.de/listing.php?repname=openrobotino&path=%2Fsmartsoft%2Ftrunk%2F&#aa2c5ba44896c89feb6250dbc233b96ad repo]:
 +
<pre>
 +
svn co svn://svn.rec.de/openrobotino/smartsoft/trunk/components
 +
</pre>
 +
 
 +
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. .
  
 
{| class="wikitable"  
 
{| class="wikitable"  
Line 69: Line 76:
 
|-
 
|-
 
|SmartRobotinoBaseServer
 
|SmartRobotinoBaseServer
|The SmartRobotinoBaseServer makes robotino platforms available. 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.
+
|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.
 
|[[File:SmartRobotinoBaseServer.JPG|thumb|center]]
 
|[[File:SmartRobotinoBaseServer.JPG|thumb|center]]
 
|-
 
|-
 
|SmartRobotinoLaserServer
 
|SmartRobotinoLaserServer
|The SmartRobotinoLaserServer makes laser scans from the robotino SIM simulator available. Scans can be requested by push newest or query communication.
+
|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.
 
|[[File:SmartRobotinoLaserServer.JPG|thumb|center]]
 
|[[File:SmartRobotinoLaserServer.JPG|thumb|center]]
 
|-
 
|-
 
|SmartRobotinoIRServer
 
|SmartRobotinoIRServer
|The SmartRobotinoIRServer makes ir scans from the robotino platforms (and simulator) available.
+
|The SmartRobotinoIRServer ir scans from the robotino platforms (and simulator).
 
|[[File:SmartRobotinoIRServer.JPG|thumb|center]]
 
|[[File:SmartRobotinoIRServer.JPG|thumb|center]]
 
|-
 
|-
Line 83: Line 90:
 
|The SmartRobotinoRPCBridge component 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.  
 
|The SmartRobotinoRPCBridge component 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.  
 
|[[File:SmartRobotinoRPCBridge.JPG|thumb|center]]
 
|[[File:SmartRobotinoRPCBridge.JPG|thumb|center]]
 +
|-
 +
|SmartRobotinoImageServer
 +
|The SmartRobotinoImageServer provides images captured by a robotino daemon or the simulator.
 +
|[[File:SmartRobotinoImageServer.JPG|thumb|center]]
 
|}
 
|}
  
 +
==Robotino - Industry 4.0 SmartSoft Components (FESTO MPS) ==
  
==FESTO MPS - Industry 4.0 SmartSoft Components==
+
[[Robotino Fleets - Architecture]]
  
 
{| class="wikitable"  
 
{| class="wikitable"  
Line 92: Line 104:
 
!Description
 
!Description
 
!Component Hull
 
!Component Hull
|-
 
|[[SmartRobotinoConveyerBeltServer]]
 
|The SmartRobotinoConveyerBeltServer makes the robotino conveyer belt available.
 
|[[File:SmartRobotinoConveyerBeltServer.JPG|thumb|center]]
 
 
|-
 
|-
 
|[[SmartFestoFleetCom]]
 
|[[SmartFestoFleetCom]]
 
|The SmartFestoFleetCom is the interface component to the FESTO Fleet-Manager (MPS).
 
|The SmartFestoFleetCom is the interface component to the FESTO Fleet-Manager (MPS).
 
|[[File:SmartFestoFleetCom.JPG|thumb|center]]
 
|[[File:SmartFestoFleetCom.JPG|thumb|center]]
 +
|-
 +
|[[SmartFestoGripperServer]]
 +
|The SmartFestoGripperServer provides access to the FESTO gripper for Robotino3.
 +
|[[File:SmartFestoGripperServer.JPG|thumb|center]]
 
|-
 
|-
 
|[[SmartFestoMPSDocking]]
 
|[[SmartFestoMPSDocking]]
|The SmartFestoMPSDocking performs the docking of a robotino3 equipped with a conveyer belt to a FESTO MPS station.
+
|The SmartFestoMPSDocking performs the docking/undocking of a Robotino3, equipped with a conveyer belt, to a FESTO MPS station.
 
|[[File:SmartFestoMPSDocking.JPG|thumb|center]]
 
|[[File:SmartFestoMPSDocking.JPG|thumb|center]]
 
|-
 
|-
|SmartMultiRobotPathNavigation
+
|[[SmartMarkerTracker]]
|The SmartMultiRobotPathNavigation is the "path dispatcher" component for path based navigation using multiple robots, avoiding conflicts.
+
|The SmartMarkerTracker is capable of detecting visual markers and docking to MPS stations equipped with visual markers.
|[[File:SmartMultiRobotPathNavigation.JPG|thumb|center]]
+
|[[File:SmartMarkerTracker.JPG|thumb|center]]
 +
|-
 +
|[[SmartNavigationPlanner]]
 +
|The SmartNavigationPlanner uses [https://ompl.kavrakilab.org/ ompl] to perform planning for navigation. The component is used in the context of corridor based fleet navigation.
 +
|[[File:SmartNavigationPlanner.JPG|thumb|center]]
 
|-
 
|-
|SmartPathNavigation
+
|[[SmartPurePursuitNavigation]]
|The SmartPathNavigation enables path based navigation.
+
|The SmartPurePursuitNavigation realizes a pure-pursuit navigation, calculating velocities to follow a trajectory.
|[[File:SmartPathNavigation.JPG|thumb|center]]
+
|[[File:SmartPurePursuitNavigation.JPG|thumb|center]]
 +
|-
 +
|[[SmartRobotinoBatteryChargerDocking]]
 +
|The SmartRobotinoBatteryChargerDocking performs the docking/undocking of a Robotino3 to a battery charger station.
 +
|[[File:SmartRobotinoBatteryChargerDocking.JPG|thumb|center]]
 +
|-
 +
|[[SmartRobotinoConveyerBeltServer]]
 +
|The SmartRobotinoConveyerBeltServer provides access the robotino3 conveyer belt, used to transport KLTs (small load carrier).
 +
|[[File:SmartRobotinoConveyerBeltServer.JPG|thumb|center]]
 +
|-
 +
|[[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.
 +
|[[File:SmartRobotinoMasterRPCBridge.JPG|thumb|center]]
 +
|-
 +
|SmartPathNavigationServer
 +
|The SmartPathNavigationServer is the coordinating component for corridor based local coordinated navigation with multiple robots in a fleet.
 +
|[[File:SmartPathNavigationServer.JPG|thumb|center]]
 +
|-
 +
|[[SmartPathNavigationClient]]
 +
|The SmartPathNavigationClient is client component for corridor based fleet navigation.
 +
|[[File:SmartPathNavigationClient.JPG|thumb|center]]
 +
|-
 +
 
 
|}
 
|}
  
Line 119: Line 157:
 
*[[WUT_RS422_Config|Configure WUT PCIe interface card for usage with Sick Laserscanner]]
 
*[[WUT_RS422_Config|Configure WUT PCIe interface card for usage with Sick Laserscanner]]
 
*[[Jumper Connections|Jumper connection for Motor off DIN1 low]]
 
*[[Jumper Connections|Jumper connection for Motor off DIN1 low]]
*[[Factory4_autocopy_map|Enable slave Robotino's to copy navigation map from master]]
+
*[[InformationForApp|Information needed by the new App]]

Revision as of 08:24, 20 June 2018

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.
The components are available opensource via subversion repo:

svn co svn://svn.rec.de/openrobotino/smartsoft/trunk/components

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 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.
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
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
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