ROS, as one of the most widely used infrastructures in the robotics industry, is the preferred framework for many users developing robot applications. If you want to integrate SLAMWARE’s robot chassis or SLAMKit mapping and localization solutions into a system developed based on ROS, what is the most convenient method? ROS SDK is designed for this purpose. This article will introduce you to the basic architecture, deployment methods, and application examples of ROS SDK.
ROS SDK connects the robot or SLAMKit software through an internal SDK and operates as an independent ROS node. ROS SDK can publish standard messages such as laser scans, localization, maps, sensor data, etc., while subscribing to control commands such as setting robot poses, starting/pausing mapping, relocating, moving, etc. The overall architecture is shown in the figure below:
![](https://www.slamtec.ai/wp-content/uploads/2024/03/image-9.png)
In this Slamware ROS SDK introductory tutorial, you will:
– Learn how to download and install the corresponding version of the ROS SDK package.
– Understand how to deploy and develop with SLAMWARE ROS SDK.
– Understand the relevant topic functionalities list.
Development Environment Requirements:
– Operating system: Ubuntu 16.04 with ROS packages installed.
Hardware Requirements:
To use ROS SDK, you need a mobile robot based on Slamware, with the appropriate IP address configured and enabled. Once the slamware_ros_sdk_server_node is started, it will attempt to connect to this robot.
Downloading and Installing the SDK:
Due to the strong coupling between ROS and the Ubuntu system, and compatibility issues between different versions, we recommend users to install the corresponding version according to the table below:
![](https://www.slamtec.ai/wp-content/uploads/2024/03/image-10.png)
The ROS SDK we provide supports both ROS1 and ROS2, across two platforms: aarch64 and x86_64. Additionally, it is compatible with different versions of GCC, as listed below:
![](https://www.slamtec.ai/wp-content/uploads/2024/03/image-11.png)
* Relevant versions can be obtained from the Slamtec official website.
The Slamware ROS SDK includes resources and code that you may need during the development process, organized in the following directory structure:
![](https://www.slamtec.ai/wp-content/uploads/2024/03/image-12.png)
Deployment and Examples
Taking the example of an x86_64 platform running Ubuntu 20.04, the directory structure after extracting the downloaded slamware_ros_sdk_linux-x86_64-gcc9.tar.gz file is as follows:
![](https://www.slamtec.ai/wp-content/uploads/2024/03/image-13.png)
1. Compilation
Navigate to the directory slamware_ros_sdk_linux_x86_64_gcc9 and execute catkin_make (for ROS1) or colcon build (for ROS2) to compile the SDK.
2. Configure Workspace System Environment
![](https://www.slamtec.ai/wp-content/uploads/2024/03/image-14.png)
3. Start Nodes
If the mobile robot is in AP mode, connect to the robot’s WiFi and start the nodes.
![](https://www.slamtec.ai/wp-content/uploads/2024/03/image-15.png)
View robot pose, map, and laser observations using rviz.
![](https://www.slamtec.ai/wp-content/uploads/2024/03/image-16.png)
![](https://www.slamtec.ai/wp-content/uploads/2024/03/image-17.png)
Node Explanation
Feature List
The relevant topic list is as follows:
![](https://www.slamtec.ai/wp-content/uploads/2024/03/image-18-650x1024.png)
Troubleshooting for Example Applications
If you encounter any issues while trying to run the example applications according to the tutorial, please send an email to support@slamtec.com to contact Slamtec technical support. We will address your concerns promptly and provide assistance to ensure smooth operation.