Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Excerpt

This document introduces how to integrate SLAMWARE solution into your own Robot system.



Contents

Table of Contents
absoluteUrltrue



R&D Process Introduction

SLAMWARE is a high-performance indoor positioning and navigation solution created by SLAMTEC Co. Ltd. The following is a typical SLAMWARE Core development process of a robot base, which consists of three phases: Evaluation, Verification, Integration.


Panel
borderStyledashed
titleEvaluation

Objective

Functional evaluation, make sure the basic functions matches the requirements.


Hardware

  • SLAMWARE SDP Mini
  • SLAMWARE SDP
  • Zeus

Software

  • SLAMTEC RoboStudio


Introduction

According to the difference of sensor number and working scenario, evaluation could be launched with different products.

  • The SLAMWARE SDP Mini offers the most basic evaluation capability, with lidar, motion system (typically they are motors) and odometer alone, making it the minimal system to implement SLAM solution.
  • SLAMWARE SDP is an evaluation platform for domestic and small-area commercial applications. In addition to the above sensors, SLAMWARE SDP is equipped with ultrasonic sensors, bumpers, cliff sensors, ground detection sensors, stall detection, and infrared beacon that used in auto charging function.
  • The ZEUS robot is an evaluation platform for commercial applications. In addition to the sensors in the SDP, the ZEUS robot is equipped with additional bumpers, depth camera and other optional modules (including emergency stop button, power switch, system switch, etc.) ZEUS is also integrated with high-capacity lithium battery, which can satisfy long time working requirement. (Note: ZEUS robot platform does not provide stall detection and ground detection.)




Panel
borderStyledashed
titleVerification

Objective

Solution verification, verify how to integrate SLAMWARE into an existing robot or a newly developed robot.

Hardware

  • SLAMWARE Breakout
  • SLAMWARE SDP
  • Zeus

Software

  • SLAMTEC Robot Studio
  • SLAMWARE SDK


Introduction

SLAMWARE Breakout is a development board of a minimal system, which integrated a STM32F103VET6 processor as the main MCU of the robot base, and variety of peripheral I/O ports have been introduced for other integrations.

SLAMTEC provides also the corresponding firmware as reference.




Panel
borderStyledashed
titleIntegration

Objective

Integrate SLAMWARE into robot.


Hardware

  • SLAMWARE Core
  • Zeus


Software

  • SLAMTEC Robot Studio
  • SLAMWARE SDK


Introduction

SLAMWARE Core is a navigation and positioning module product that has been widely used in the market. It adopts Mini PCI-E interface and other customized electrical interface. Users can design the base board by themselves with an integration of SLAMWARE Core indoor positioning & navigation solution.

 




Evaluation with SLAMWARE SDP

The SLAMWARE SDP series empowers customers to quickly evaluate the performance of SLAMWARE solutions, in the meanwhile providing a foundation platform to validate customer prototype systems. The SDP series has two different models, both models requires no additional hardware integration, you can evaluate SLAMWARE performance directly by using RoboStudio software.


SLAMWARE SDP Mini

SLAMWARE SDP

Line Drawing

 

 

 

Size(Diameter*Height)

185mm * 100mm

400mm * 230 mm

Weight

About 0.85kg

About 5.1kg

Sensors

  • RPLIDAR 360°Laser Lidar
  • Odometer
  • RPLIDAR 360°Laser Lidar
  • Odometer
  • Sonar
  • Cliff sensor
  • Bumper
  • Ground detection sensor
  • Infrared Beacon
  • Stall detection

Advantages

  • Compact and lightweight
  • Power by dry cells or NiMH rechargeable battery, on-board delivery acceptable.
  • Air transportation Acceptable.
  • Full function set for evaluation and test
  • Better performance
  • With an upper deck, expand function could be applied.

Shortcomings

  • Limited sensor types, some scenario may not work well
  • Inconvenient to carry
  • Lithium battery cannot put to check-in baggage
  • Only land transportation acceptable

Applications

  • Basic function evaluation
  • Software debugging
  • Base development with own IP based on the SDP mini breakout.
  • Full functional test.
  • Software debugging
  • Co-debugging with application layer system

Evaluation with ZEUS Platform

ZEUS is a generic service robot platform from SLAMTEC that integrates SLAMWARE positioning and navigation solutions. It also incorporates a number of features that are required in a commercial environment:

  • Battery management
  • Motion mechanism
  • Automatic recharge
  • Ultrasonic sensors
  • Cliff sensors
  • Depth Camera

The platform greatly simplifies the development of a service robot and reduces the time consumption from R&D to production. For more information, please refer to Zeus Robot Platform product page.


General Introduction of System Structure

Generally, a robot consists of two portions, base system and application system. The base system mainly performs fundamental-level functions such as motion, obstacle avoidance, etc. The application system mainly focuses on high-level functions such as voice recognition, face recognition, etc. which is closely related to the service of the final deployment scenario. Slamware solution is also divided into two parts, Slamware Core and Slamware SDK. Slamware Core is a hardware module with built-in SLAM algorithm,located in the robot base, responsible for the establishment of the map, autonomous navigation, real-time positioning, automatic obstacle avoidance, automatic recharge and other functions; Slamware SDK is a set of software libraries, working in the application system, The interface allows customers to control the base, for example, moving to the specified point, getting the current map, getting the current position and other functions. Currently Slamware SDK supports four mainstream application platforms: Windows, Linux, Android, iOS.

The following is the instructions of how to integrate Slamware solution into base system and the application system.

 


Base System

The robotic base with the SLAMWARE solution consists of three main components: RPLIDARSlamware Core module, other components(including base control MCUs, sensors, motor controllers, etc.). The SLAMWARE Core connects to the base control MCU via the Control Bus, and connects to RPLIDAR via LIDAR Bus. This is a smallest system based on the SLAMWARE solution.

Info
titleTip

Please note that the lidar is connected to the Slamware Core directly, not via the robot base MCU.


Hardware Integration

There are 2 ways of Integration:

  • Integration based on Slamware Breakout
  • Direct integration of Slamware Core。
Info

It’s recommended to integrate Slamware Core directly in mass production. the Slamware solution with breakout is more adapted to prototypes, cause the breakout was originally designed only for evaluation, no proper production-level test and certification was made.

SLAMWARE Breakout Introduction

SLAMWARE Breakout is a development board used for fast evaluation of Slamcore. It integrates an STM32F103VET6 MCU and you can find I/O layout and definition below. By connecting breakout to base system with necessary electric devices (sensors, motor drives etc.), a robot hardware prototype could be realized in a short time. 

Image Modified

Integration Based on Slamware Breakout

The block diagram shows the Slamware breakout- based robot base system. The main integration work is to connect the Breakout board to various peripherals. Users need to decide the integrated peripherals based on their actual requirements.

  • Motor drive circuit
  • Bumper (optional)
  • Cliff sensor (optional)
  • Ultrasonic sensor (optional)
  • Automatic recharge circuit (optional)

Image Modified

Direct SLAMWARE Core Integration

To directly integrate Slamware Core,you need to choose a compatible MCU for base control(for example,STM32F103VET6 of the Slamtec breakout). The MCU communicates with Slamware Core using Control Bus protocol, steering motors, also collecting sensor data. 

Info

MCU and Slamwre Core will keep continuous communication. Once the communication is disconnected, Slamware Core will consider base is working abnormally and then stop working after waiting for a certain period of time.

The following integration are NOT all necessary, users could decide peripherals according to their requirements.

  • Power supply integration
  • RPLidar interface design
  • base MCU and SLAMWARE Core integration
  • Motor drive circuit design
  • Automatic recharge(optional)
  • Ultrasonic sensors(optional)
  • Cliff sensors(optional)
  • Depth Camera(optional)

Mechanical Integration

Users need to make a mechanical design when integrating slamware solution. The size of SLAMWARE Core and breakout could be found in data sheet.

Firmware Integration

Integration Based on SLAMTEC Reference Code

A reference firmware using IAR compiler and STM32F103VET6 is provided by SLAMTEC which allows customers to develop their own robot base firmware. Customers can select some of the peripherals according to the actual status of the robot for integration, integration steps are as follows:

  • Robot configuration
  • Functions regarding power management
  • Functions regarding motion control
  • Functions regarding ultrasonic sensor
  • Functions regarding bumpers
  • Functions regarding automatic recharge
  • Polling Command function realization (Command sent from base to SLAMWARE Core)
  • Event Notification function realization (Event sent from SLAMWARE Core to base)
  • Functions regarding health management
Info

IAR version should be V7.6 or above.

Integration Based on Existing Firmware

Customers who already have their own base firmware systems can also integrate SLAMWARE solutions by implementing Control Bus Protocol:

  • Control Bus protocol integration
  • Functions regarding power management
  • Functions regarding motion control
  • Functions regarding ultrasonic sensor
  • Functions regarding bumpers
  • Functions regarding automatic recharge
  • Polling Command function realization (Command sent from base to SLAMWARE Core)
  • Event Notification function realization (Event sent from SLAMWARE Core to base)
  • Functions regarding health management

Application Layer

Communication between application layer and base

Application layer controls the base via a high-speed interface, which can help achieve a large amount, low latency, high reliability data transmission. SLAMWARE Core uses a 100Mbps Ethernet interface for data transmission, this Ethernet interface is also called High Speed Bus.

In addition to the Ethernet interface, in order to facilitate the development and debugging, Slamware Core also has a Wifi interface, making is accessible for mobile devices.The data transmission is same as Ethernet interface, but less stable than wired connection, which means, if the external wireless network environment is not good enough, or devices are too far away from each other, this wifi connection may be disrupted.

Info

It is recommended to use a wired internet connection between the application layer and base. For Android device, which only allows one network connection at the same time and makes it impossible to connect additional external Internet. To find a solution for this, you can refer to solution here.

base control with Slamware SDK

Windows

For Windows users, we provide a 32bit Windows SDK. Integration Windows platform has the following requirements:

  • 32bit or 64bit Windows
  • Visual Studio 2010 SP1(MUST)
  • 32 bit compiler

SLAMWARE Windows SDK supports 4 different compilation methods:

  • Dynamic connection Debug
  • Static connection Debug
  • Dynamic connection Release
  • Static connection Release

The following steps are recommended for the integration:

  • IDE configuration
  • Connection management and automatic reconnection
  • Local data cache
  • Map display
  • Robot motion control

Linux

For Linux users,we support the following platform and compiler versions:

  • armv7hf (armv7 instruction set)
  • i386(32bit x86 instruction set)
  • x86_64(64bit x86 instruction set)

Compiler version:

  • gcc 4.6
  • gcc 4.8

Integration process:

  • IDE configuration
  • Connection management and automatic reconnection
  • Local data cache
  • Map display
  • Robot motion control

iOS

For IOS users,we provide SDK with Objective-C interface,the following steps are recommended for the integration:

  • IDE configuration
  • Connection management and automatic reconnection
  • Local data cache
  • Map display
  • Robot motion control

Android

For Android users,we provide SDK using Java,the following steps are recommended for the integration:

  • IDE configuration
  • Connection management and automatic reconnection
  • Local data cache
  • Map display
  • Robot motion control

Conclusion

The above is the main work involved for Slamware Solution, if you have problems with any specific process, please refer to the application notes and data sheets on wiki.slamtec.com