Excerpt |
---|
This document introduces how to integrate SLAMWARE solution into your own Robot system. |
Contents
Table of Contents | ||
---|---|---|
|
R&D Process Introduction
SLAMWARE is SLAMTEC's high-performance indoor positioning and navigation solution based on the RPLIDAR 360 ° Lidar. The following is a typical SLAMWARE Core development process of a robot chassis, the process 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 chassis, and variety of peripheral I/O ports have been introduced for other integrations. SLAMTEC provide 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 can be ordered in batches. It adopts Mini PCI-E physical interface and other customized electrical interface. Users can design the chassis 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 speaking, a robot consists of 2 systems, chassis system and application system. The chassis mainly performs functions such as motion, and obstacle avoidance, which is more general. The application system mainly focusses on logic such as voice recognition, face recognition, 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 SLAM algorithm,located in the robot chassis, 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 layer, The interface allows customers to control the chassis, for example, to move to the specified point, access to the built map, access to current position and other functions. Currently Slamware SDK supports four mainstream application platforms: Windows, Linux, Android, iOS.
Next is the instructions of how to integrate Slamware solution into chassis system and the application system.
Chassis System
The robotic chassis based on the SLAMWARE solution consists of three main components: RPLIDAR, Slamware Core module, Chassis (including chassis control MCUs, sensors, motor controllers, etc.). The SLAMWARE Core connects to the chassis 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 chassis 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 chassis 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 chassis 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 chassis 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 chassis 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
- Chassis MCU and SLAMWARE Core integration
- Motor drive circuit design
- Automatic recharge(optional)
- Ultrasonic sensors(optional)
- Cliff sensors(optional)
- Depth Camera(optional)
Structure 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 chassis 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 chassis to SLAMWARE Core)
- Event Notification function realization (Event sent from SLAMWARE Core to chassis)
- Functions regarding health management
Info |
---|
IAR version should be V7.6 above. |
Integration Based on Existing Firmware
Customers who already have their own chassis 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 chassis to SLAMWARE Core)
- Event Notification function realization (Event sent from SLAMWARE Core to chassis)
- Functions regarding health management
Application layer
Communication between application layer and chassis
Application layer controls the chassis via a high-speed interface, which can help achieve a large, small delay, 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 chassis. For Android device, there is only one allowed network connection which makes it impossible to connect additional external Internet. To find a solution for this, you can refer to solution here. |
Chassis 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