opensw package from opensw repo

opensw

Package Summary

Tags No category tags.
Version 0.1.0
License BSD
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/hatchbed/opensw.git
VCS Type git
VCS Version main
Last Updated 2022-10-12
Dev Status DEVELOPED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Open SDK for communicating with SlamTec Slamware devices such as the M2M1 mapper.

Additional Links

No additional links.

Maintainers

  • Marc Alban

Authors

No additional authors.

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.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

Deps Name
1 asyncapi_gencpp
0 opencv

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged opensw at answers.ros.org