Excerpt |
---|
This document introduces how to integrate SLAMWARE solution into your own Robot system. |
Contents
Table of Contents | ||
---|---|---|
|
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 | ||||
---|---|---|---|---|
| ||||
Objective Functional evaluation, make sure the basic functions matches the requirements. Hardware
Software
Introduction According to the difference of sensor number and working scenario, evaluation could be launched with different products.
|
Panel | ||||
---|---|---|---|---|
| ||||
Objective Solution verification, verify how to integrate SLAMWARE into an existing robot or a newly developed robot. Hardware
Software
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 | ||||
---|---|---|---|---|
| ||||
Objective Integrate SLAMWARE into robot. Hardware
Software
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 |
|
|
Advantages |
|
|
Shortcomings |
|
|
Applications |
|
|
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: RPLIDAR, Slamware 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 | ||
---|---|---|
| ||
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.
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)
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