Kinect v2 for ROS while using Kinect Windows API
The application has following two parts, both need to be installed for using it-
This application grabs data from Kinect v2 sensor using Kinect Windows API. Hence this must be run on Windows PC
This is a ROS Package which gets the data from Windows application. The Linux PC is required to be connected to Windows PC using LAN.
- Windows: The dependencies are provided along with the pre-built binary. However, if you are planning to install from source, you need to have ZeroMQ v4.1.0.26 which can be setup using nuget inside Visual Studio
- Linux: Please install ZeroMQ using the following command
sudo apt-get install libzmq3-dev
- Windows
- Using pre-built binary: The easiest way to run this windows application is to download the pre-built binary from release page. The URL of current version i.e., v3 is here.
- Compile source code: In case if the above doesn't work, please compile the source code. You need to have Visual Studio Community 2017, which can be downloaded from here.
- Linux
- Compile source code: The Linux application is a ROS package. Hence you need to have ROS installed with a valid ROS workspace. Download the linux application and place it inside ROS workspace source folder i.e.,
src
. Now, invoke catkin tool inside ros workspace i.e.,catkin_make
- Compile source code: The Linux application is a ROS package. Hence you need to have ROS installed with a valid ROS workspace. Download the linux application and place it inside ROS workspace source folder i.e.,
- Windows: Simply double click on
Kinect Anywhere.exe
.
-
Linux: Invoke
kinect_anywhere.launch
with necessary parameters.kinect_anywhere.launch
have following parameters:color
: Boolean variable to enable color databody
: Boolean variable to enable body tracking datapointcloud
: Boolean variable to enable point cloud datakinect_frame
: String variable to set frame id to above datahost
: String variable to set IP address of the Windows PC
Below is an example of using
kinect_anywhere.launch
file:roslaunch kinect_anywhere kinect_anywhere.launch color:=true body:=true pointcloud:=true kinect_frame:=base host:=192.168.abc.xyz
In order to save the value of host
parameter parmanently, edit kinect_anywhere.launch file
- The Windows application is tested on 64Bit Windows 10, 8GB RAM, Intel Core i5-6200U 2.30GHz 2.40GHz CPU.
- The Linux application is tested on ROS Indigo in 64Bit Ubuntu 14.04.5 LTS, 8GB RAM, Intel Core i7-2600 3.40GHz x 8 CPU with kernel 4.4.0-59-generic and gcc 4.8.4.
- The body tracking data can be visualized inside Rviz by using rviz_skeleton_visualization package.
- One of the major concerns while developing this tool was to receive the high quality of point cloud data in real-time. Hence, here in the development environment, Ethernet wire (CAT 6) in 1 Gbps LAN connection was used. The average data transfer speed (Color, Point Cloud, and Body Data are selected) was 800 Mbps approximately.
Please check here and create issues accordingly.