Skip to content

Open source client SDK for communicating with SlamTec Slamware devices

License

Notifications You must be signed in to change notification settings

hatchbed/opensw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • asio for TCP communication
  • asyncapi_gencpp for json protocol serialization/deserialization code generation from an asyncapi style spec file.
  • eigen for some datatypes
  • gtest for unit testing
  • opencv for some datatypes
  • spdlog for formatted logging

Supported Commands

  • GetImuInRobotCoordinate: Gets IMU sensor data
  • GetKnownArea: Gets the current bounds of a map
  • GetLaserScan: Gets laser scan data
  • GetLocation: Gets the current location estimate
  • GetMapData: Gets raw map data
  • GetPose: Gets the current pose estimate
  • GetRobotHealth: Gets device health status data
  • GetSpdVersion: Gets version information
  • GetSystemResource: 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.

About

Open source client SDK for communicating with SlamTec Slamware devices

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published