<div dir="ltr"><div>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.</div>

<div><br></div><div>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.<br>

</div><div>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.</div>

<div><br></div><div>The key features of the package are:<br></div><div>- Generic relays with integrated rate throttling for all message types<br></div><div>- Dedicated relays with rate throttling for images and pointclouds</div>

<div>- Generic service-based relays with integrated rate throttling for all message types</div><div>- Dedicated service-based relays with integrated rate throttling for images and pointclouds</div><div>- Image resizing and compression using methods from OpenCV and image_transport</div>

<div>- 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)</div>

<div>- Launch files for easy use of the datalink software with RGBD cameras</div><div>- Works with ROS Hydro</div><div><br></div><div>Overall performance:</div><div>- 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)<br>

</div><div>- Pointcloud compression >8x depending on compression algorithm (without voxel filtering)</div><div>- Pointcloud compression >20x depending on compression algorithm (with voxel filtering)</div><div>- Image compression equivalent to image_transport (without image resizing) or better (with resizing)</div>

<div><br></div><div>Performance comparison with ROS for image transfer:</div><div>- 1.5x more images/second at 1Mb/s (grayscale image size 320x240)<br></div><div>- 2x more images/second at 100Kb/s (grayscale image size 320x240)</div>

<div>- 3x more images/second at 50Kb/s (grayscale image size 320x240)</div><div><br></div><div><br></div><div><div>For more information, please see the wiki here:</div><div><a href="https://github.com/WPI-ARC/datalink_toolkit/wiki">https://github.com/WPI-ARC/datalink_toolkit/wiki</a></div>

<div><br></div><div>Get the package from our git repository here:</div><div><a href="https://github.com/WPI-ARC/datalink_toolkit">https://github.com/WPI-ARC/datalink_toolkit</a></div></div><div><br></div><div><br></div><div>

<br></div><div>Dmitry Berenson</div><div>Assistant Professor</div><div><div>Robotics Engineering Program<br></div><div>Computer Science Department</div><div>Worcester Polytechnic Institute</div></div><div><a href="http://users.wpi.edu/~dberenson/">http://users.wpi.edu/~dberenson/</a></div>

</div>