This document introduces how to integrate SLAMWARE solution into your own Robot system.
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.
Functional evaluation, make sure the basic functions matches the requirements.
According to the difference of sensor number and working scenario, evaluation could be launched with different products.
Solution verification, verify how to integrate SLAMWARE into an existing robot or a newly developed robot.
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.
Integrate SLAMWARE into robot.
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.
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
185mm * 100mm
400mm * 230 mm
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:
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.
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.
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.
Please note that the lidar is connected to the Slamware Core directly, not via the robot base MCU.
There are 2 ways of Integration：
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 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.
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.
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.
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.
Users need to make a mechanical design when integrating slamware solution. The size of SLAMWARE Core and breakout could be found in data sheet.
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:
IAR version should be V7.6 or above.
Customers who already have their own base firmware systems can also integrate SLAMWARE solutions by implementing Control Bus Protocol:
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.
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.
For Windows users, we provide a 32bit Windows SDK. Integration Windows platform has the following requirements:
SLAMWARE Windows SDK supports 4 different compilation methods:
The following steps are recommended for the integration:
For Linux users，we support the following platform and compiler versions:
For IOS users，we provide SDK with Objective-C interface，the following steps are recommended for the integration:
For Android users，we provide SDK using Java，the following steps are recommended for the integration: