Azure-kinect-sensor-sdk: Publish SDK 1.4.0

Created on 26 Feb 2020  ·  56Comments  ·  Source: microsoft/Azure-Kinect-Sensor-SDK

1.4.0 version is here!

MSI Link: [here]
Nuget Link: [[1.4.0](https://www.nuget.org/packages/Microsoft.Azure.Kinect.Sensor/1.4.0)] [[1.4.0-beta.0](https://www.nuget.org/packages/Microsoft.Azure.Kinect.Sensor/1.4.0-beta.0)] [1.4.0-alpha.4] This Nuget contains binaries for Windows [AMD64] & Ubunutu [AMD64 & ARM64]
Deb package link: [[AMD64](http://packages.microsoft.com/ubuntu/18.04/prod/pool/main/libk/)] [[ARM64](http://packages.microsoft.com/ubuntu/18.04/multiarch/prod/pool/main/libk/)]
Firmware: [1.6.108079014]
Summary of changes are here

Updates - 3/5/2020:

  • 1.4.0-alpha.4 Nuget Package is available. It contains new alpha firmware 1.6.108079014 see #530 for the latest on firmware.
  • Linking issue https://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/1118 Neon instructions needed (3/9/2020).

Updates - 3/3/2020:

  • 1.4.0-alpha.3 Nuget package is available and it contains ARM64 binaries for Ubuntu 18.04 and has been tested on Jetson Nano.
  • Alpha Firmware 1.6.107078014 is provided in this package, however it is not recommended for Linux platforms #1098.

Most helpful comment

@UnaNancyOwen we run into few technical issues, that we are working through and will release as soon as possible.

All 56 comments

Where can we find the depth library for ARM?

@tkircher all the information is coming in the next few days. I know everyone is very excited about this release :)

Definitely excited. Got a Jetson Nano specifically for this.

Following for arm information

Where would I find a Windows Installer for this release?

This issue is still a TODO, title updated to reflect that.

Updated description and added Nuget Link for alpha package

How is ARM64 support on Azure Kinect Body Tracking SDK going?

@UnaNancyOwen , ARM support for Body Tracking SDK is in progress and coming soon. I will update with more details.

Incidentally, confirmed that k4aviewer works on the Jetson Nano (arm64).

Description updated, 1.4.0-alpha.3 replaced with 1.4.0-alpha.4

Please consider merge these pull requests (#822, #1097) before to release v1.4.0.
It provide all SDK APIs in C# wrapper by adding missing functions.

Where can we find the depth library for ARM?

same question

The ARM depth library is in the NuGet package, under linux/lib/native/arm64/

The link is here:

https://www.nuget.org/api/v2/package/Microsoft.Azure.Kinect.Sensor/1.4.0-alpha.4

and the file is actually just a zip file. So rename it from .nuget to .zip and unzip it.

The ARM depth library is in the NuGet package, under linux/lib/native/arm64/

The link is here:

https://www.nuget.org/api/v2/package/Microsoft.Azure.Kinect.Sensor/1.4.0-alpha.4

and the file is actually just a zip file. So rename it from .nuget to .zip and unzip it.

Thanks, I know where to find the libdepthengine.so.2.0 file now, but still don't know where to place it under arm64 architecture to run k4aviewer sucessfully.

I tried to copy it to /usr/lib/aarch64-linux-gnu /usr/lib/ /usr/local/lib/aarch64-linux-gnu . None of those pathes works.

You almost certainly want to put it in /lib/aarch64-linux-gnu/

How did you get 1.4.0-alpha.4 to install on jetson nano.
I have nuget installed put it doesn't want to pull the package?
Any ETA on the .deb package

nano@nano-desktop:~$ nuget
NuGet Version: 2.8.7.0

You almost certainly want to put it in /lib/aarch64-linux-gnu/

THANKS! My jetson nano works well!

got it had to do this:
alias nuget="mono /usr/local/bin/nuget.exe"

Got the Kinect for Azure running on the Jetson Nano. :)
Anybody have any ideas on making the Kinect for Azure run with Gstreamer.
I want to use the Kinect for Azure with Deepstream.

I have already done this with the Kinect V2
https://youtu.be/MiVizFsyMRU

I know the Kinect V2 & the Kinect for Azure are different but it shouldnt be impossible.

If anybody is interested here is a video of the Kinect for Azure running on the Jetson Nano
https://youtu.be/NpavmEy9zJU

@valdivj what is the (full) command line argument did you use. I'm new to nuget as well. the syntax isn't intuitive. also did you have to update the firmware on the K4A?

Had to install mono first
Then ran this:$ alias nuget="mono /usr/local/bin/nuget.exe"
Then this:$ nuget install Microsoft.Azure.Kinect.Sensor -Version 1.4.0-alpha.4
You might want to try this :https://github.com/microsoft/Azure-Kinect-Sensor-SDK
They just added arm support 3 days ago.

The k4aviewer is running from this location:
nano@nano-desktop:~/Azure-Kinect-Sensor-SDK/build$ ./bin/k4aviewer
no firmware update

Is it possible to use it on RaspberryPi 4? Any tips on how can I perform the installation?

Is it possible to use it on RaspberryPi 4? Any tips on how can I perform the installation?

The short answer is no.

Beta Released today

@UnaNancyOwen we will include #1097 but not #822 since we need more time to review.

@tesych Thanks! Why is #822 stagnant? It seems that reviews have been paused for several months.

@UnaNancyOwen we run into few technical issues, that we are working through and will release as soon as possible.

@tesych I see. I'm looking forward to provide it in v1.4.x (or v1.5.0). Thanks, :)

Here is a link to github repo with instructions to get Azure for Kinect to run on Jetson Nano
https://github.com/valdivj/Azure-for-Kinect-Jetson-nano

Just want to say thanks to the Azure for Kinect team for making dreams come true

As @valdivj mentions, this is the biggest event since the release of the camera. many thanks!

Good news, But I just have Nvidia Xavier, Could the SDK with ARM support can be applicable to Nvidia Xavier? if not, could you give the Nvidia Xavier arm support?

Good news, But I just have Nvidia Xavier, Could the SDK with ARM support can be applicable to Nvidia Xavier? if not, could you give the Nvidia Xavier arm support?

Sorry @nonlinear, we don't have any Xavier's to test against. I am thinking it should work though.

@UnaNancyOwen , ARM support for Body Tracking SDK is in progress and coming soon. I will update with more details.

@tesych Any updates on this? We'd like to test on an NVidia Jetson TX2.

@nonlinear1 it absolutely works on the jetson nano, so you really shouldn't any issue on the xavier

This a little off topic but if you are going to use the Jetson Nano and the Kinect for Azure here is a link to a video that shows you how you can easily make a portable Battery power supply to run the pair.
https://youtu.be/WuC0PN5PuYA

Does someone build this new SDK and successfully complie AZURE_ROS_PKG on arm64(jetson nano). Wondering some instructions using this ARM64 SDK on AZURE_ROS_PKG. Seems the manully compling file structure cannot fit the AZURE_ROS_PKG required provided by microsoft. Or it will have some updates on AZURE_ROS_PKG ?

Just now, I try to compile the Azure Kinect SDK for ARM in Xavier. My OS is ubuntu 18.04. But I failed. I first download 1.4.0-alpha.4 from https://www.nuget.org/api/v2/package/Microsoft.Azure.Kinect.Sensor/1.4.0-alpha.4. Then I copy the /linux/lib/native/arm64/release/libdepthengine.so.2.0 from 1.4.0-alpha.4 to "usr/lib" in Xavier. After that, I download the Azure Kinect SDK from https://github.com/microsoft/Azure-Kinect-Sensor-SDK. Is something wrong? Could someone know? Thanks a lot. the following is a snapshot of error.
1680809713

@nonlinear1, you are close. This docker file script manages the dependencies that ARM64 builds need. You should be able to use this to get your dependencies installed. This script is for cross compiling ARM64 on AMD64, so don't run the script directly on ARM64 or you will end up with AMD64 binaries.

Thank you webs-b. I have succeeded in compiling the Azure Kinect SDK in Xavier. OS: ubuntu 18.04. This is the snap shot:
1702722019

I tried to compling the SDK in Xavier too, but I failed.Is there are something wrong?

FAILED: tests/Transformation/CMakeFiles/transformation_ut.dir/transformation.cpp.o
/usr/bin/c++ -I../extern/azure_c_shared/src/inc -I../extern/azure_c_shared/src/pal/linux -isystem ../extern/googletest/src/googletest/include -isystem ../extern/googletest/src/googletest -I../src/../include -Isrc/sdk/include -I../extern/spdlog/src/include -I../tests/UnitTests/utcommon/inc -isystem ../extern/googletest/src/googlemock/include -isystem ../extern/googletest/src/googlemock -I../include -O2 -g -DNDEBUG -fPIE -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -Wno-missing-field-initializers -Werror -pthread -std=gnu++11 -MD -MT tests/Transformation/CMakeFiles/transformation_ut.dir/transformation.cpp.o -MF tests/Transformation/CMakeFiles/transformation_ut.dir/transformation.cpp.o.d -o tests/Transformation/CMakeFiles/transformation_ut.dir/transformation.cpp.o -c ../tests/Transformation/transformation.cpp
../tests/Transformation/transformation.cpp: In member function ‘virtual void transformation_ut_transformation_depth_image_to_point_cloud_Test::TestBody()’:
../tests/Transformation/transformation.cpp:403:43: error: call of overloaded ‘abs(double)’ is ambiguous
if (std::abs(check_sum - reference_val) > 0.001)
^
In file included from /usr/include/c++/5/cstdlib:72:0,
from /usr/include/c++/5/ext/string_conversions.h:41,
from /usr/include/c++/5/bits/basic_string.h:5352,
from /usr/include/c++/5/string:52,
from /usr/include/c++/5/bits/locale_classes.h:40,
from /usr/include/c++/5/bits/ios_base.h:41,
from /usr/include/c++/5/ios:42,
from /usr/include/c++/5/ostream:38,
from ../extern/googletest/src/googletest/include/gtest/gtest.h:56,
from ../tests/UnitTests/utcommon/inc/utcommon.h:7,
from ../tests/Transformation/transformation.cpp:4:
/usr/include/stdlib.h:837:12: note: candidate: int abs(int)
extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
^
In file included from /usr/include/c++/5/ext/string_conversions.h:41:0,
from /usr/include/c++/5/bits/basic_string.h:5352,
from /usr/include/c++/5/string:52,
from /usr/include/c++/5/bits/locale_classes.h:40,
from /usr/include/c++/5/bits/ios_base.h:41,
from /usr/include/c++/5/ios:42,
from /usr/include/c++/5/ostream:38,
from ../extern/googletest/src/googletest/include/gtest/gtest.h:56,
from ../tests/UnitTests/utcommon/inc/utcommon.h:7,
from ../tests/Transformation/transformation.cpp:4:
/usr/include/c++/5/cstdlib:166:3: note: candidate: long int std::abs(long int)
abs(long __i) { return __builtin_labs(__i); }
^
/usr/include/c++/5/cstdlib:174:3: note: candidate: long long int std::abs(long long int)
abs(long long __x) { return __builtin_llabs (__x); }
^
/usr/include/c++/5/cstdlib:179:3: note: candidate: __int128 std::abs(__int128)
abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; }
^

Azure Kinect worked on Jetson Nano! 👍
@tesych I'm look forward to more optimization DepthEngine and SDK in the future.
Screenshot from 2020-03-24 22-17-32

Has the Azure Kinect Body Tracking SDK with ARM64 supported been released?
Do we still have to wait a while for that? Thanks,

I have another error now!
FAILED: tools/k4aviewer/CMakeFiles/k4aviewer.dir/k4apointcloudwindow.cpp.o
/usr/bin/g++ -I../tools/k4aviewer -Isrc/sdk/include -I../include -Isrc/record/sdk/include -I../extern/imgui/src -I../extern/imgui/src/examples -I../extern/imgui/src/examples/libs/gl3w -I../extern/imgui/src/examples/libs/glfw/include -I../extern/libjpeg-turbo/src -I../extern/libusb/src/libusb -I../extern/libyuv/src -I../extern/libyuv/src/include -I../extern/glfw/src/include -O2 -g -DNDEBUG -fPIE -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -Wno-missing-field-initializers -Werror -idirafter/usr/include/soundio -std=gnu++11 -MD -MT tools/k4aviewer/CMakeFiles/k4aviewer.dir/k4apointcloudwindow.cpp.o -MF tools/k4aviewer/CMakeFiles/k4aviewer.dir/k4apointcloudwindow.cpp.o.d -o tools/k4aviewer/CMakeFiles/k4aviewer.dir/k4apointcloudwindow.cpp.o -c ../tools/k4aviewer/k4apointcloudwindow.cpp
../tools/k4aviewer/k4apointcloudwindow.cpp: In member function ‘virtual void k4aviewer::K4APointCloudWindow::Show(k4aviewer::K4AWindowPlacementInfo)’:
../tools/k4aviewer/k4apointcloudwindow.cpp:95:12: error: ‘SeparatorEx’ is not a member of ‘ImGui’
ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
^~~
../tools/k4aviewer/k4apointcloudwindow.cpp:95:12: note: suggested alternative: ‘Separator’
ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
^~~
Separator
[13/21] Building CXX object tools/k4aviewer/CMakeFiles/k4aviewer.dir/k4awindowset.cpp.o

I have another error now!
FAILED: tools/k4aviewer/CMakeFiles/k4aviewer.dir/k4apointcloudwindow.cpp.o
/usr/bin/g++ -I../tools/k4aviewer -Isrc/sdk/include -I../include -Isrc/record/sdk/include -I../extern/imgui/src -I../extern/imgui/src/examples -I../extern/imgui/src/examples/libs/gl3w -I../extern/imgui/src/examples/libs/glfw/include -I../extern/libjpeg-turbo/src -I../extern/libusb/src/libusb -I../extern/libyuv/src -I../extern/libyuv/src/include -I../extern/glfw/src/include -O2 -g -DNDEBUG -fPIE -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -Wno-missing-field-initializers -Werror -idirafter/usr/include/soundio -std=gnu++11 -MD -MT tools/k4aviewer/CMakeFiles/k4aviewer.dir/k4apointcloudwindow.cpp.o -MF tools/k4aviewer/CMakeFiles/k4aviewer.dir/k4apointcloudwindow.cpp.o.d -o tools/k4aviewer/CMakeFiles/k4aviewer.dir/k4apointcloudwindow.cpp.o -c ../tools/k4aviewer/k4apointcloudwindow.cpp
../tools/k4aviewer/k4apointcloudwindow.cpp: In member function ‘virtual void k4aviewer::K4APointCloudWindow::Show(k4aviewer::K4AWindowPlacementInfo)’:
../tools/k4aviewer/k4apointcloudwindow.cpp:95:12: error: ‘SeparatorEx’ is not a member of ‘ImGui’
ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
^~~
../tools/k4aviewer/k4apointcloudwindow.cpp:95:12: note: suggested alternative: ‘Separator’
ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
^~~
Separator
[13/21] Building CXX object tools/k4aviewer/CMakeFiles/k4aviewer.dir/k4awindowset.cpp.o

Please open a new bug and share steps to reproduce how you got to this build error. My guess is that you are working from the ZIP file download, which we do not support. You need to clode the repo so that submodules get populated and built.

@tesych @wes-b Please update download link in Microsoft Docs. It's still v1.3.0.
https://docs.microsoft.com/en-us/azure/Kinect-dk/sensor-sdk-download#windows-download-link

@tesych @wes-b Please update download link in Microsoft Docs. It's still v1.3.0.
https://docs.microsoft.com/en-us/azure/Kinect-dk/sensor-sdk-download#windows-download-link

Thank you! I have submitted a PR.

If anybody is interested here is a video of the Kinect for Azure running Nvida Deepstream using the Jetson Nano.
https://youtu.be/Pew5plgRKps

@valdivj using the drill body and battery is a great idea. This is mine:

side_view
front_view

@tkircher Looks Clean!
All it needs is a label with your Brand on it. : )

This version (1.4.0) does not support body tracking sdk on Ubuntu 18.04.
Is there any way to deal with this?

This version (1.4.0) does not support body tracking sdk on Ubuntu 18.04.
Is there any way to deal with this?

Body Tracking team is also adding ARM support. A new version of BT is coming that will work with 1.4.0.

Thank you webs-b. I have succeeded in compiling the Azure Kinect SDK in Xavier. OS: ubuntu 18.04. This is the snap shot:
1702722019

Hello, can you send some link to some instruction where I can install this successfully for Nvidia Xavier!! It would be really helpfully :) Thank you.

Hello, can you send some link to some instruction where I can install this successfully for Nvidia Xavier!! It would be really helpfully :) Thank you.

https://github.com/microsoft/Azure-Kinect-Sensor-SDK/blob/develop/docs/usage.md#debian-package

Locking thread to encourage the creation of new issues

Was this page helpful?
0 / 5 - 0 ratings