README
opensw
Open source client SDK for communicating with SlamTec Slamware devices such as the M2M1 mapper over ethernet.
An official SDK is available, but appears to be closed source.
Note: For the standalone SlamTec lidar devices, an existing open source driver is already available: rplidar_ros, but this uses a different protocol than the mapper devices.
Currently, the interface is only partially implemented to expose the lidar scan and IMU data as well as some of the mapping data. More of the interface provided by the official SDK can be easily added, as needed, since the protocol is straightforward JSON over TCP. These additional interfaces appear to support their robotic platforms, which use the same protocol.
Build Dependencies
Supported Commands
GetImuInRobotCoordinate
: Gets IMU sensor dataGetKnownArea
: Gets the current bounds of a mapGetLaserScan
: Gets laser scan dataGetLocation
: Gets the current location estimateGetMapData
: Gets raw map dataGetPose
: Gets the current pose estimateGetRobotHealth
: Gets device health status dataGetSpdVersion
: Gets version informationGetSystemResource
: Gets system information
Example Usage:
#include <opensw/client.h>
int main(int argc, char **argv) {
opensw::Client client;
if (client.connect("192.168.11.11", 1445, 500)) {
auto scan = client.getLaserScan();
}
}
ROS Support
This library is agnostic to ROS, but is packaged to work in a ROS1 or ROS2 workspace.
See opensw_ros for a simple ROS laser scan and IMU driver built by wrapping this SDK.