Astra SDK v0.5.0 release

Today we released Astra SDK v0.5.0.

Pre-built binaries and samples
You can download pre-built binaries and samples for Visual Studio 2013 (x86 and x64), Visual Studio 2015 (x86 and x64), and OSX x64 from Developers - ORBBEC - 3D Vision for a 3D World.

What’s New

  • BREAKING: The library names have been changed: astra (formerly astraul), astra_core (formerly astra), astra_core_api (formerly astra_api).
  • BREAKING: The C++ API has been updated stylistically. This is a breaking change, but should not take long to update existing apps. The changes are all find-and-replace, no semantic changes.
  • BREAKING: The header filenames have been moved and updated to match the API style update. The only include you need to include now is #include <astra/astra.hpp>.
  • SXGA@5fps depth and color now work
  • Add MultiSensorViewer-SFML sample showing how to stream from multiple Astra sensors simultaneously.
  • StreamSet and StreamReader now have better copy semantics.
  • StreamSet is constructed in an “unconnected” state and will only connect to the Astra API (i.e. open the astra_streamsetconnection_t) when StreamSet::create_reader() is first called. This allows StreamSet can be stored directly as a class field without wrapping it in a unique_ptr, and calling astra::initialize() in the class constructor. This should make your lives much easier! :slight_smile:
  • Fixed PointFrame::copy_to() (it was horribly broken before)
  • Removed OpenCV dependency and reimplemented the required CV functionality. (Easier to build and distribute the SDK.)
  • Add VS2015 support
  • Significantly improved the OS X package, including distributing libusb and SFML, setting up the dependency rpaths, and adding a build_samples.sh script. (No more brew requirement.) This allows simpler app deployment by just copying the stand-alone lib directory.
  • HTML docs updated and now included in the OS X download.
  • Add
    console_output = true file_output = true
    settings to astra.toml. You can set either or both to false to disable logging output.

See the README.txt file in the downloads or at github for more details.

Source
You can always get the latest SDK source from https://github.com/orbbec/astra
The master branch always has the latest release. The develop and feature/* branches may contain in-progress updates.

If you previously cloned the SDK, note that we have changed the URLs for some submodules. We recommend running the following commands in your clone:
git checkout master git pull git submodule sync git submodule update --init

Contributions
Thanks to @mattfelsen and nocnokneo for their pull requests.

1 Like

Hi. The download link to your v0.5.0 Linux SDK appears to be broken. I get a 404.

1 Like

Do you know if the available_modes() method is currently working under this release? I’m trying to do: reader.streamastra::DepthStream().available_modes(); under linux and I get an exception with the following back trace:

0  0x00007ffff58edcc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff58f10d8 in __GI_abort () at abort.c:89
#2  0x00007ffff58e6b86 in __assert_fail_base (fmt=0x7ffff5a37830 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7ffff6ef22d3 "parameterBinHandle != nullptr", 
    file=file@entry=0x7ffff6ef21c8 "/home/tom/workspace/orbbec/astra/src/astra_core/astra_stream_connection.cpp", line=line@entry=197, 
    function=function@entry=0x7ffff6ef28c0 <astra::stream_connection::get_parameter(int, unsigned long&, _astra_parameter_bin*&)::__PRETTY_FUNCTION__> "void astra::stream_connection::get_parameter(astra_parameter_id, size_t&, _astra_parameter_bin*&)") at assert.c:92
#3  0x00007ffff58e6c32 in __GI___assert_fail (assertion=0x7ffff6ef22d3 "parameterBinHandle != nullptr", file=0x7ffff6ef21c8 "/home/tom/workspace/orbbec/astra/src/astra_core/astra_stream_connection.cpp", 
    line=197, 
    function=0x7ffff6ef28c0 <astra::stream_connection::get_parameter(int, unsigned long&, _astra_parameter_bin*&)::__PRETTY_FUNCTION__> "void astra::stream_connection::get_parameter(astra_parameter_id, size_t&, _astra_parameter_bin*&)") at assert.c:101
#4  0x00007ffff6edb58c in astra::stream_connection::get_parameter(int, unsigned long&, _astra_parameter_bin*&) () from /home/tom/workspace/iam/perception-blurr/../../orbbec/astra/lib/libastra_core.so
#5  0x00007ffff6e9af7e in astra::context_impl::stream_get_parameter(_astra_streamconnection*, int, unsigned long&, _astra_parameter_bin*&) ()
   from /home/tom/workspace/iam/perception-blurr/../../orbbec/astra/lib/libastra_core.so
#6  0x00007ffff6e7ea34 in astra::context::stream_get_parameter(_astra_streamconnection*, int, unsigned long&, _astra_parameter_bin*&) ()
   from /home/tom/workspace/iam/perception-blurr/../../orbbec/astra/lib/libastra_core.so
#7  0x00007ffff6ebf51b in astra_stream_get_parameter () from /home/tom/workspace/iam/perception-blurr/../../orbbec/astra/lib/libastra_core.so
#8  0x00007ffff715dd1a in astra_status_t astra_generic_stream_request_array<astra_imagestream_mode_t>(_astra_streamconnection*, int, _astra_parameter_bin**, unsigned long*) ()
   from /home/tom/workspace/iam/perception-blurr/../../orbbec/astra/lib/libastra.so
#9  0x00007ffff715da87 in astra_imagestream_request_modes () from /home/tom/workspace/iam/perception-blurr/../../orbbec/astra/lib/libastra.so
#10 0x00000000004c5af8 in astra::ImageStream::available_modes (this=0x7fffffffe470) at /home/tom/workspace/iam/perception-blurr/../../orbbec/astra/include/astra/streams/Image.hpp:166