Skip to content

wuhongjian139/kinect_anywhere

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kinect_anywhere

Kinect v2 for ROS while using Kinect Windows API

The application has following two parts, both need to be installed for using it-

  1. Windows
  2. Linux

Windows

This application grabs data from Kinect v2 sensor using Kinect Windows API. Hence this must be run on Windows PC

Linux

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.

Dependencies

  1. 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
  2. Linux: Please install ZeroMQ using the following command sudo apt-get install libzmq3-dev

Installation

  1. Windows
    1. 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.
    2. 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.
  2. Linux
    1. 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

Steps to run

  1. Windows: Simply double click on Kinect Anywhere.exe.

Kinect Anywhere Windows

  1. Linux: Invoke kinect_anywhere.launch with necessary parameters. kinect_anywhere.launch have following parameters:

    1. color: Boolean variable to enable color data
    2. body: Boolean variable to enable body tracking data
    3. pointcloud: Boolean variable to enable point cloud data
    4. kinect_frame: String variable to set frame id to above data
    5. host: 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

Note

  1. The Windows application is tested on 64Bit Windows 10, 8GB RAM, Intel Core i5-6200U 2.30GHz 2.40GHz CPU.
  2. 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.
  3. The body tracking data can be visualized inside Rviz by using rviz_skeleton_visualization package.
  4. 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. Resource Consumption

Issues (or Error Reporting)

Please check here and create issues accordingly.

About

Kinect v2 for ROS while using Kinect Windows API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 51.8%
  • C++ 35.6%
  • CMake 12.6%