The ARC Lab at WPI is releasing the Datalink Toolkit ROS package, designed to for remote operation of a robot over a high-latency and low-bandwidth datalink. The package was developed and extensively tested as part of the DARPA robotics challenge, though it is not specific to a type of robot. The package allows the user to easily set up relays and compression methods for a single-master system. These relays avoid duplicating data sent over the datalink while compressing common datatypes (i.e. point-clouds and images) to minimize bandwidth usage. The toolkit includes both message-based and service-based relays so that data can be sent on-demand or at a specified frequency. The service-based relays are more robust in low-bandwidth conditions, guaranteeing the synchronization of camera images and camera info messages, and allow more reconfiguration while running. The key features of the package are: - Generic relays with integrated rate throttling for all message types - Dedicated relays with rate throttling for images and pointclouds - Generic service-based relays with integrated rate throttling for all message types - Dedicated service-based relays with integrated rate throttling for images and pointclouds - Image resizing and compression using methods from OpenCV and image_transport - Pointcloud voxel filtering and compression using methods from PCL, Zlib, and other algorithms. (Note: pointcloud compression is provided in a separate library that can be easily integrated with other projects) - Launch files for easy use of the datalink software with RGBD cameras - Works with ROS Hydro Overall performance: - Reliable data transfer for a wide range of bandwidths and latencies (e.g. at DRC Trials: 1Mb/s - 100 Kb/s bandwidth, 100ms - 1000ms latency) - Pointcloud compression >8x depending on compression algorithm (without voxel filtering) - Pointcloud compression >20x depending on compression algorithm (with voxel filtering) - Image compression equivalent to image_transport (without image resizing) or better (with resizing) Performance comparison with ROS for image transfer: - 1.5x more images/second at 1Mb/s (grayscale image size 320x240) - 2x more images/second at 100Kb/s (grayscale image size 320x240) - 3x more images/second at 50Kb/s (grayscale image size 320x240) For more information, please see the wiki here: https://github.com/WPI-ARC/datalink_toolkit/wiki Get the package from our git repository here: https://github.com/WPI-ARC/datalink_toolkit Dmitry Berenson Assistant Professor Robotics Engineering Program Computer Science Department Worcester Polytechnic Institute http://users.wpi.edu/~dberenson/