Announcing Structure SDK 0.7.3 (Cross-Platform) with ROS Driver

Structure SDK 0.7.3 (Cross-Platform) with ROS Driver Release Notes

Release type: Windows, Linux, macOS, Android
Architectures: x86_64 (Windows/Linux/macOS), arm64 (Linux/Android)
Firmware: Version 0.9.7 required

This release requires Structure Core firmware version 0.9.7. If your sensor has firmware version 0.9.2~0.9.6, you can use the included CoreFirmwareUpdater tool to upgrade. If your firmware version is older than 0.9.2 (i.e. 0.8.6), please contact developers@occipital.com for support in upgrading your sensor.

 

Stream with Core Playground (for all platforms)

This package contains the official cross-platform release of Core Playground , a tool that enables testing and tweaking of streaming functionality on Structure Core. You can enable streams for every sensor on the device and adjust their settings.

This version of Core Playground replaces the previous macOS-only preview release. Source code is included. Also, pre-built cross-platform Core Playground binaries have been added under Samples/PreBuilt now.

 

ROS1 Driver and ROS2 Driver Beta (for Linux only)

This package also contains ROS1 Driver and ROS2 Driver beta, which allows users working on Robotics OS to integrate the Core SDK seamlessly. ROS2 Driver Beta is still under development and we are looking forward to all of your feedback here on the community forums or via email developers@occipital.com

 

Develop with Structure SDK

This package contains Structure SDK for Windows, Linux, macOS, and Android as well as ROS Driver for Linux. You can find the full release notes for Structure SDK 0.7.3 (Cross-Platform) ROS Driver below.

 

SDK

  • Added convertDepthToUShortInMillimeters function for DepthFrame to return the depth values as unsigned short integers in millimeters.
  • Added temperature variable in CaptureSessionSensorInfo to hold the die temperature of the sensor.
  • Added projectorPowerEnabled variable in CaptureSessionSettings to enable/disable the laser projector when streaming starts.
  • Added getCameraType function for CaptureSession to return the camera type (color or mono one) of the Structure Core sensor.
  • Fixed a bug in DepthFrame::operator() . Elements were not being accessed correctly.
  • Fixed a bug with the CameraFrames::getImuFromVisibleExtrinsics function. The returned extrinsics value was not correct.
  • Fixed a bug that prevented users from running CaptureSession in a Windows service application.
  • Improved depth correction performance.
  • Removed 800Hz as an option in StructureCoreIMUUpdateRate . The new values are 100Hz, 200Hz, 400Hz, and 1000Hz to better reflect what the Structure Core sensor supports.

 

Structure ROS Driver (x86_64 and arm64 Linux only)

ROS 1 changes

  • Added Depth to Point Cloud conversion node, including the option to publish without NAN values.
  • Added support for multiple Structure Core connections using the Structure Core serial number.
  • Added option for setting the IR Publish framerate different from Core streaming capture rate.
  • Added IMU Node - Frame ID.
  • Added example sample for using PCL.
  • Added example sample for using OpenCV.
  • Added example sample for using ROS depth_image_proc package in order to construct RGB-D point cloud.
  • Added parameter rviz_frame in order to toggle pointcloud orientation in rvid application.
  • Changed IMU Coordinate System to Right-Hand.
  • Changed Point Cloud to Optical Frame Coordinates.
  • Increased IR BothCameras publisher speed.
  • Increased Depth publisher speed.
  • Fixed rtabmap initialization error in rta
  • Fixed ROS Frame timestamp to match Core Exposure timestamp.
    bmap integration.
  • Fixed SC namespace so that it can operate in nodelet.
  • Fixed pointcloud node names and namespaces so they can work with multiple cameras at the same time.
  • Fixed sensor serial number type.
  • Fixed an issue where setting the initial auto-exp sometimes failed on ARM boards.

 

Known issues

  • CaptureSessionUSBVersion will always return USB1 if the USB port in use is not USB3.
  • When streaming on multiple sensors over a USB2 port with FrameSync enabled, some frames may not be delivered. (Such as VGA Depth + Infrared, both 30FPS)
  • The CPU consumption is still high while running ROS Driver or other sample applications on Linux.
1 Like

How can I download this SDK

You can access it through the developer portal.

Thank you very much. I’ve installed it. But here’s the problem:
[FATAL] [1580891720.308354283]: Failed to load nodelet ‘/sc_nodeletof typestructure_core/Driverto managersc_node’

Do you have any Suggestions

I’m sorry, I don’t have any helpful suggestions since I’m not familiar with the cross-platform sdk. But try starting a new post in the forums describing your issues.