GithubHelp home page GithubHelp logo

openptrack / open_ptrack Goto Github PK

View Code? Open in Web Editor NEW
318.0 318.0 109.0 24.34 MB

Original open source people tracking library (now deprecated with the release of OPT v2 "Gnocchi").

Home Page: http://openptrack.org/

License: BSD 3-Clause "New" or "Revised" License

CMake 1.29% C++ 91.52% Python 6.01% Shell 1.18%

open_ptrack's People

Contributors

bassofil avatar jburkeucla avatar lthursdayl avatar marketto89 avatar mmunaro avatar nanodust avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

open_ptrack's Issues

How do I exclude pre-existing packages in catkin workspace directory from building with final "catkin_make"?

I changed your given shell scripts from installing into some "workspace" catkin workspace directory to my already existing "catkin_ws" catkin workspace. open_ptrack installs and runs well, but:
if there are pre-existing other packages in my catkin directory, I cannot re-catkin_make them again on the running production robot. How do I exclude those other packages from "compiling" by final "catkin_make" command of the final script?
I tried "catkin_make --pkg open_ptrack calibration_toolkit freenect_stack"
but it does not compile anything.
I had another idea: to exclude all other packages, but the list is huge.

Kinect v2 Install Error

Hi Matteo,

I am attemping to install the kinect2_install.sh file onto a fresh installation of 14.04. I was able to install OPT without any errors after a few attemps, but when I run the kinect2_install.sh I am getting this error:

[ 98%] Built target swissranger_camera_gencfg
/home/remap/workspace/ros/catkin/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:45:41: fatal error: libfreenect2/libfreenect2.hpp: No such file or directory
#include <libfreenect2/libfreenect2.hpp>
^
compilation terminated.
/home/remap/workspace/ros/catkin/devel/lib/libdepth_registration.so: undefined reference to clReleaseDevice' /home/remap/workspace/ros/catkin/devel/lib/libdepth_registration.so: undefined reference toclRetainDevice'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/remap/workspace/ros/catkin/devel/lib/registration_viewer/viewer] Error 1
make[1]: *** [iai_kinect2/registration_viewer/CMakeFiles/viewer.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [iai_kinect2/kinect2_bridge/CMakeFiles/kinect2_bridge.dir/src/kinect2_bridge.cpp.o] Error 1
make[1]: *** [iai_kinect2/kinect2_bridge/CMakeFiles/kinect2_bridge.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed
remap@remap-4k:~$

I did still try running rosrun kinect2_bridge kinect2_bridge. This was the error I received:

remap@remap-4k:~$ rosrun kinect2_bridge kinect2_bridge
[rosrun] Couldn't find executable named kinect2_bridge below /home/remap/workspace/ros/catkin/src/iai_kinect2/kinect2_bridge
[rosrun] Found the following, but they're either not files,
[rosrun] or not executable:
[rosrun] /home/remap/workspace/ros/catkin/src/iai_kinect2/kinect2_bridge

Also:

remap@remap-4k:$ rosrun registration_viewer viewer -kinect2 -cloud
[rosrun] Couldn't find executable named viewer below /home/remap/workspace/ros/catkin/src/iai_kinect2/registration_viewer
remap@remap-4k:
$

-Randy

UDP Tracks grew by 3 orders of magnitude

The track xyz units have historically been meters, with no more than 3 places left of decimal.

An upstream application (this - http://vimeo.com/109849929) has historically had calibration points (to unify the app and tracking worlds) of (5.26 , 0 , 488)

but today, the same physical coordinate registers as (-6328.56..., 0 , 51951.6333...)

does this change occur from a recent change in codebase ? the network and physical configuration here (at Chipiraki) has not changed at all - all we've done is recalibrate with latest codebase as of 9:30 am PST 10.23.2014. (we always put checkerboard in approx the same place on successive calibrations. and the space is the same size :) so ... what happened?)

alex may do a quick hack to the UDP to divide by 1000 today, just to let them work.

but it would be great to identify the reason for this.

ROS_HOME not set during install - causes issue with ./kinect2_install.sh

note:

I've also worked around this manually - below - leaving full log for proper fix in installation scripts...

details:

from wiki install guide - https://github.com/OpenPTrack/open_ptrack/wiki/Installation-Guide

  1. ok
  2. ok
  3. ok
  4. n/a (not using kinect 1)
  5. n/a (not using PG)
  6. Kinect V2
    6.1 OK
    6.2 roscd open_ptrack/../scripts

this fails.

roscd: No such package/stack 'open_ptrack/../scripts'

obviously some environment variable was not set correctly during installation process. let's see if i can bypass...

cd ~/workspace/ros/catkin/src/openptrack

./kinect2_install.sh

well - fails due to my directory hack, above.

Removing the libfreenect2 folder
./kinect2_install.sh: line 42: cd: ../catkin/src/: No such file or directory
Cloning into 'iai_kinect2'...
remote: Counting objects: 533, done.
remote: Total 533 (delta 0), reused 0 (delta 0), pack-reused 533
Receiving objects: 100% (533/533), 152.92 KiB | 0 bytes/s, done.
Resolving deltas: 100% (317/317), done.
Checking connectivity... done.
Branch development set up to track remote branch development from origin.
Switched to a new branch 'development'
Base path: /home
The specified source space "/home/src" does not exist

let's see if i can resolve...

export ROS_WORKSPACE=/home/worker/workspace/ros/rosbuild

seems OK now..

md5sum fail prevents launch file distribution to new machine

when configuring new machine so that we may add another kinect... we got an md5 match that prevents calibration distribution. how to fix ?

(ntp is fine, etc etc - everything seems fine. just get this new error)

core service [/rosout] found
process[opt-node-11/listener-1]: started with pid [3209]
[WARN] [WallTime: 1409189431.751022] Could not process inbound connection: request from [/calibration_initializer]: md5sums do not match: [3c6eba5b9beef22c5a8bab8e9d2823dc] vs. [f2b90e992cfc1ba69b16354dda577bc6]{'md5sum': '3c6eba5b9beef22c5a8bab8e9d2823dc', 'service': '/opt-node-11/create_sensor_launch', 'callerid': '/calibration_initializer'}
[WARN] [WallTime: 1409189431.789918] Could not process inbound connection: request from [/calibration_initializer]: md5sums do not match: [3c6eba5b9beef22c5a8bab8e9d2823dc] vs. [f2b90e992cfc1ba69b16354dda577bc6]{'md5sum': '3c6eba5b9beef22c5a8bab8e9d2823dc', 'service': '/opt-node-11/create_detector_launch', 'callerid': '/calibration_initializer'}

Can we rename camera_network.yaml in master ?

if we rename camera_network.yaml to camera_network.yaml.example

then when a user updates, they don't have to worry about over-writing what is arguably the single most critical file in a multi-camera installation.... simplifies the updating process for new users.

Build error

I had installed PCL 1.7 compiled from source in ubuntu 12.04 with ROS groovy, however, build error with following message:
CMakeFiles/ground_based_people_detector.dir/apps/ground_based_people_detector_node.cpp.o: In function pcl::people::PersonClassifier<pcl::RGB>::evaluate(float, float, float, boost::shared_ptr<pcl::PointCloud<pcl::RGB> >&)': ground_based_people_detector_node.cpp:(.text._ZN3pcl6people16PersonClassifierINS_3RGBEE8evaluateEfffRN5boost10shared_ptrINS_10PointCloudIS2_EEEE[pcl::people::PersonClassifier<pcl::RGB>::evaluate(float, float, float, boost::shared_ptr<pcl::PointCloud<pcl::RGB> >&)]+0x44c): undefined reference topcl::people::HOG::HOG()'
ground_based_people_detector_node.cpp:(.text._ZN3pcl6people16PersonClassifierINS_3RGBEE8evaluateEfffRN5boost10shared_ptrINS_10PointCloudIS2_EEEE[pcl::people::PersonClassifierpcl::RGB::evaluate(float, float, float, boost::shared_ptrpcl::PointCloud<pcl::RGB >&)]+0x48a): undefined reference to pcl::people::HOG::compute(float*, float*) const' ground_based_people_detector_node.cpp:(.text._ZN3pcl6people16PersonClassifierINS_3RGBEE8evaluateEfffRN5boost10shared_ptrINS_10PointCloudIS2_EEEE[pcl::people::PersonClassifier<pcl::RGB>::evaluate(float, float, float, boost::shared_ptr<pcl::PointCloud<pcl::RGB> >&)]+0x55d): undefined reference topcl::people::HOG::~HOG()'
ground_based_people_detector_node.cpp:(.text._ZN3pcl6people16PersonClassifierINS_3RGBEE8evaluateEfffRN5boost10shared_ptrINS_10PointCloudIS2_EEEE[pcl::people::PersonClassifierpcl::RGB::evaluate(float, float, float, boost::shared_ptrpcl::PointCloud<pcl::RGB >&)]+0x5d0): undefined reference to `pcl::people::HOG::~HOG()'
collect2: ld returned 1 exit status
make[2]: *** [/home/dare/ros_workspace/human_tracker/devel/lib/detection/ground_based_people_detector] Error 1
make[1]: *** [open_ptrack/detection/CMakeFiles/ground_based_people_detector.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Linking CXX executable /home/dare/ros_workspace/human_tracker/devel/lib/tracking/tracker
[ 98%] Built target tracker
make: *** [all] Error 2
Invoking "make" failed

visualisation_msgs/Marker.msg: max range values for pose.position's x, y, and z values?

Not really an "issue", just a question because I cannot find discussion forums for open_ptrack.
What is the maximum range for tracker node's marker message pose.position's x, y, and z values?
It appears to be [0,10]
ROS's own documentation, e.g. visualization_msgs/Marker.msg, does not have range values for them.
But again, your code compiles and runs beautifully on latest Indigo despite seemingly being designed for Hydro. ROS's People tracking package, Perception, does not even exist yet (in re-design stage for Indigo).

Warning in Terminal if Camera is Moved

A warning message in the tracking terminal window that would alert the operator if OpenPTrack detects a sensor is no longer detecting or has been moved would be very helpful. The current operation where the terminal is printing multiple [WARN] message for all sensors not detecting is hard to parse to an understanding if there is actually a problem with a sensor(s). A more explicit warning, or less warnings would be easier to understand.

JSON packet formatting - garbage at end

Incoming tracking packets appear to contain garbage at the end, or perhaps contain additional partial packets.

Context: We are using a Py JSON parser on Windows.

ground_detection...Kinect2.yaml loaded instead of Kinect1.yaml for Kinect v1

Matteo,

small bug noted yesterday in 'development' branch when testing:

the Kinect settings we had in Kinect1.yaml were not loading when Kinect1 loaded... they'd load the preferences/parameters from the Kinect2, regardless of whether sensor was Kinect 1 or Kinect 2.

We fixed it just by putting settings in Kinect 2 :) but obviously we should fix this for future.

thanks !!!

NDN-OPT Publisher Intermittent Crashing

the NDN-OPT publisher is crashing intermittently. Here is the terminal output when the publisher crashes:

[ INFO] [1429288855.950995112]: published track 157 with name /ndn/edu/ucla/remap/opt/node0/1429229219/tracks/157/544 json: {"sec":1429288855,"nsec":942201020,"id":157,"x":1.21061,"y":-0.934918,"z":1.53415}
[ INFO] [1429288855.989881029]: published track 157 with name /ndn/edu/ucla/remap/opt/node0/1429229219/tracks/157/545 json: {"sec":1429288855,"nsec":975663912,"id":157,"x":1.21096,"y":-0.933248,"z":1.53547}
[ERROR] [1429288856.066322969]: got exception: SocketTransport error in recv
[ros2ndn_converter-1] process has finished cleanly
log file: /home/remap/.ros/log/7d2f0cba-dff3-11e4-a008-78d004209f8c/ros2ndn_converter-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done

Method to reconcile world coordinates after each calibration or setup

A similar tracking system has a feature that we suggest could be useful: Once cameras are registered to each other two or more physical camera locations could be entered into a config file, relative to a logical origin. Then one could "Adjust World Coordinates" to reconcile new calibrations against a known space and tracking data would be consistent even after re-calibrations.

SwissRangerConfig.h not found error

  1. "Building CXX object open_ptrack/swissranger_camera/CMakeFiles/swissranger_camera.dir/src/sr.cpp.o
    /home/hal/catkin_ws/src/open_ptrack/swissranger_camera/src/sr.cpp:53:50: fatal error: swissranger_camera/SwissRangerConfig.h: No such file or directory
    #include <swissranger_camera/SwissRangerConfig.h>"

This error is during the very last command, "catkin_make" or "catkin_make --force-cmake", of entire installation procedure.

This error dissapears if I open new terminal window and re-run the script, and then open_ptrack package (program) runs and executes just fine.

  1. Perhaps, this is related to earlier warning message:
    "#### Running command: "cmake /home/hal/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/hal/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/hal/catkin_ws/install" in "/home/hal/catkin_ws/build"

-- Using CATKIN_DEVEL_PREFIX: /home/hal/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /home/hal/catkin_ws/devel;/opt/ros/indigo
-- This workspace overlays: /home/hal/catkin_ws/devel;/opt/ros/indigo
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/hal/catkin_ws/build/test_results
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.6.9
-- BUILD_SHARED_LIBS is on
WARNING: package "swissranger_camera" should not depend on metapackage "ros" but on its packages instead
WARNING: package "swissranger_camera" should not depend on metapackage "image_common" but on its packages instead"

  1. This should not be, I think, related to the fact that I modified the scripts to work with my current catkin workspace directory, ~/catkin_ws. Scripts are below:

===== open_ptrack_install_1.sh begins:==========
for FILE in $(find / -name '.catkin_workspace' 2>/dev/null); do
CAT_WS="${FILE%.[^.]*}"
MY_CATKIN_WS_DIR="${CAT_WS%/}"
done

source /opt/ros/indigo/setup.bash
source $MY_CATKIN_WS_DIR/devel/setup.bash

ROS_PACKAGES="python-rosinstall ros-$ROS_DISTRO-robot-state-publisher ros-$ROS_DISTRO-cmake-modules ros-$ROS_DISTRO-freenect-stack ros-$ROS_DISTRO-openni-launch ros-$ROS_DISTRO-camera-info-manager-py"

sudo apt-get install $ROS_PACKAGES

echo "export KINECT_DRIVER=freenect" >> ~/.bashrc
echo "export LC_ALL=C" >> ~/.bashrc
export KINECT_DRIVER=freenect
export LC_ALL=C

source /opt/ros/indigo/setup.bash
source $MY_CATKIN_WS_DIR/devel/setup.bash

cd $MY_CATKIN_WS_DIR/src
git clone https://github.com/OpenPTrack/open_ptrack.git
cd open_ptrack/scripts
sudo chmod +x *.sh

./ceres_install_trusty.sh

cd $MY_CATKIN_WS_DIR/src
git clone https://github.com/iaslab-unipd/calibration_toolkit
cd calibration_toolkit
git fetch origin --tags
git checkout tags/v0.2

cd ~
mkdir libfreenect
cd libfreenect
git clone https://github.com/OpenKinect/libfreenect.git
cd libfreenect
git checkout tags/v0.4.0

mkdir build
cd build
cmake -L ..
make

sudo mv ~/libfreenect/libfreenect/build/lib/fakenect/* /opt/ros/indigo/lib/fakenect/
sudo mv ~/libfreenect/libfreenect/build/lib/libfreenect* /opt/ros/indigo/lib/
sudo mv ~/libfreenect/libfreenect/build/src/libfreenect.pc /opt/ros/indigo/lib/pkgconfig/
sudo mv ~/libfreenect/libfreenect/include/libfreenect.h /opt/ros/indigo/include/libfreenect/libfreenect.h
sudo mv ~/libfreenect/libfreenect/include/libfreenect_registration.h /opt/ros/indigo/include/libfreenect/libfreenect-registration.h
sudo mv ~/libfreenect/libfreenect/wrappers/cpp/libfreenect.hpp /opt/ros/indigo/include/libfreenect/libfreenect.hpp
sudo mv ~/libfreenect/libfreenect/wrappers/c_sync/libfreenect_sync.h /opt/ros/indigo/include/libfreenect/libfreenect_sync.h
cd $MY_CATKIN_WS_DIR/src
git clone https://github.com/ros-drivers/freenect_stack.git
sudo rm -R ~/libfreenect

if [ -d "~/Downloads" ]
then
echo ""
else
mkdir -p ~/Downloads
fi
cd $MY_CATKIN_WS_DIR/src/open_ptrack/scripts
./mesa_install.sh

source /opt/ros/indigo/setup.bash
source $MY_CATKIN_WS_DIR/devel/setup.bash
cd $MY_CATKIN_WS_DIR
catkin_make --pkg calibration_msgs
catkin_make --pkg opt_msgs
================ open_ptrack_install_1.sh end =============================

================== open_ptrack_install_2.sh begins: =================
for FILE in $(find / -name '.catkin_workspace' 2>/dev/null); do
CAT_WS="${FILE%.[^.]*}"
MY_CATKIN_WS_DIR="${CAT_WS%/}"
done
source /opt/ros/indigo/setup.bash
source $MY_CATKIN_WS_DIR/devel/setup.bash
export KINECT_DRIVER=freenect
export LC_ALL=C
cd $MY_CATKIN_WS_DIR
catkin_make --force-cmake
============== end open_ptrack_install_2.sh ====================================

installation fail on 13.04

I'm updating an old openptrack install - but update procedure itself did not work.

so i tried just re-installing... and get the following.

any suggestions ?

CMake Error at btr-ros-pkg/btr_bfly_camera/CMakeLists.txt:9 (find_package):
By not providing "Findbfly_camera.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"bfly_camera", but CMake did not find one.

Could not find a package configuration file provided by "bfly_camera" with
any of the following names:

bfly_cameraConfig.cmake
bfly_camera-config.cmake

Add the installation prefix of "bfly_camera" to CMAKE_PREFIX_PATH or set
"bfly_camera_DIR" to a directory containing one of the above files. If
"bfly_camera" provides a separate development package or SDK, be sure it
has been installed.

-- Configuring incomplete, errors occurred!
Invoking "cmake" failed

won't build on fresh 14.04 from latest source

following installation guide on clean 14.04 machine

https://github.com/OpenPTrack/open_ptrack/wiki/Installation-Guide

fails on step 1

[ 13%] Building CXX object open_ptrack/opt_utils/CMakeFiles/ros2udp_converter.dir/apps/ros2udp_converter.cpp.o
/home/opt/workspace/ros/catkin/src/open_ptrack/opt_utils/apps/ros2udp_converter.cpp:40:33: fatal error: opt_msgs/TrackArray.h: No such file or directory
#include <opt_msgs/TrackArray.h>

and, indeed, I don't see TrackArray.h in github.

JSON tracking data rate is very high

Background: We have been testing OPT using a Python JSON client to parse incoming messages and drive an interactive room.

We have found that the incoming UDP rate is very high, and believe this is driven by the number of cameras on the network (7 cameras x 30 Hz = 210 packets/sec). Our Py parser or perhaps Windows UDP stack is overflowing with packets, most of which contain empty world messages.

It would be better if OPT sent tracking data at a user-defined fixed rate, regardless of the number of cameras on the OPT network.

Tracking crashes repeatably

As previously reported, tracking silently crashes regularly - there is no apparent pattern, though it is seemingly more often when there are more detections. Revised headers provided for debugging have not yielded any more information. Perhaps instructions on how to build a 'debug' version and run the tracking process from within gdb are the best next steps.

Multi-Calibration Attempts With Same Calibration

We would like a way to run the calibration refinement process multiple times under the same calibration. An example would be having a way to remove the current calibration refinement information so another calibration refinement process can be run.

Kinect v2 Not Detecting

We have noticed that some of the time after starting a Kinect v2 it does not contribute detections. When the Kinect v2 is not detecting there is not indication of an issue in the terminal window running the detection process.

We have also noticed the same issue, but after the Kinect v2 has been detecting properly for some time. It will stop detecting after functioning properly, but give no indication in the terminal window running the detection.

Kinect driver does not appear to load on fresh installation

When following the installation instructions verbatim in the wiki on a clean 14.04 installation

everything appears to install fine.

the first sign of trouble is when testing a single kinect:

roslaunch detection openni.launch

[ INFO] [1414031641.954680151]: No devices connected.... waiting for devices to be connected

the bashrc and env variable KINECT_DRIVER is indeed openni

/opt/ros/indigo/lib indeed contains compiled libopenni_driver.so and libopenni_nodelet

this is a system that was previously working perfectly in 13.04, but we wanted to just reformat and start fresh with 14.04, and it appears the openni does not work as expected.

we did not dig in futher to check udev or etc - it should have 'just worked' as it has before.

did something change upstream w/ ros ? there does not seem to to be the same error requiring the force install... perhaps that is now causing issues?

we just did this on 3 machines, and all of them were previously working in 13.04, and all of them are now experiencing this same issue.

Dynamic Configuration Written to .yamls

We would like the detection and tracking dynamic configuration (rosrun rqt_reconfigure rqt_reconfigure) to write directly to the associated .yaml file, then automatically restart the sensor(s) that the change was made to, thus applying the changes to the sensor.

Swissranger Naming

the Swissrangers have a rather extreme amnesia / they often forget themselves, requiring windows reprogramming of IP (the telnet-only method does not seem to work).

point is, in the field, they open reset themselves to their default 192.168.1.43

as we have one-per-host, it would work just fine to have multiple SR with the same IP. however the naming convention in camera_network.yaml prevents this.

let's consider if there is a straightforward way to make the naming unique, even with same IP. perhaps _ or such. would prevent having to have a windows machine on-site at every installation.

Clarify ntp time sync requirements

It appears that on large multi-node systems (like UCLA Lab School), time sync of systems needs to be <1ms offset as reported by ntpq to get the best performance. More research and specification of timing requirements is needed.

Kinect v1 Tracking

Hi,
I want to perform tracking with a single Kinect and PC, but I am having a problem with the detection_and_tracking.launch program. I used a standalone version of OpenNI in the past, but now when I installed ROS OpenNI stopped working, so I followed your advice and installed Freenect (and it's listed in my .bachrc file too). Freenect.launch works without any problem and I can see output in rviz. I performed an intrinsic calibration and finally tried to test the tracking program. However, it keeps saying that no device is connected and the rviz window is empty. When I abort it and run freenect.launch it finds my camera again. I have a feeling that it has something to do with the driver, the tracking program probably attempts to use OpenNI instead of Freenect... Even though, as I said, I explicitly set the driver to freenect in the .bachrc file. Do you have any ideas how to fix it?

System Requirements missing: CPU, etc

Perhaps, missing is Minimal System requirements e.g. CPU. My 7 year old Gateway laptop, 32 bit, Intel CPU T2400 @ 1.83 Ghz, dual core, 3 Gig RAM, Grafics Gallium 0.4 on ATI RV515, 60 Gb, has been calibrating 120 samples at 100% CPU load on both cores for hour now. I will leave it overnight to run.

Tracking of children is more unreliable than adults

Tracking of children remains more unreliable than adults - an issue for many of our more important applications. We have adjusted the height threshold and compiled with changes to other parameters suggested (Alex, can you comment on which) but are still seeing intermittent detection with children in comparison with adults.

Imager calibration inaccurracy

In our largest multi-node installation, the new detection visualization shows what appears to be significant calibration differences across the multiple imagers, potentially leading to tracking inaccuracy. One hypothesis is that the pairwise calibration of nearby imagers causes error to accumulate between imagers that are not next to each other in the calibration process but observe the same area.

installation seems to require SR header

the question is:

should there be a libmesa dependency in the general installation instructions ?

ie - i'm not planning on installing the mesa imager, but i still had to install the mesa library for OPT to compile.

meanwhile I updated the driver path in installation scripts.... so for now it's working again.

details:

from wiki install guide - https://github.com/OpenPTrack/open_ptrack/wiki/Installation-Guide

  1. ok
  2. ok
  3. ok - nope.

fails.

Per N.B - I try again. (though i've not had to do this in a while). Same error. I try again. same error.

this is on a clean 14.04 install w/ same specs. I've used Kinect One SDK on same machine via dual boot - full framerate, no USB 3.0 problems that have occasionally made building a machine for Kinect One work challenging. Everything works well.

full log is here http://pastebin.com/HgLb36Ym

yet error is:

h:5:23: fatal error: libMesaSR.h: No such file or directory
#include <libMesaSR.h>
^
compilation terminated.

error seems related to swiss ranger - yet, I am not installing a swiss ranger. should the SR be a dependency ?

my goal is new kinect, but i'm not at that step yet :)

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty

$ uname -a
Linux worker 3.16.0-43-generic #58~14.04.1-Ubuntu SMP Mon Jun 22 10:21:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Rviz Crashes During Calibration

Rviz crashes during calibration and cannot be recovered. We would like a way to recover the GUI .

INFO] [1422995489.713022696]: [/FrontLK] checkerboard detected
[ INFO] [1422995493.011323150]: [/FrontRR] checkerboard detected
[ INFO] [1422995493.012086378]: Optimizing...
[ INFO] [1422995497.783380796]: -----------------------------------------------
[rviz-1] process has died [pid 8890, exit code -11, cmd /opt/ros/indigo/lib/rviz/rviz -d /home/remap-dev/workspace/ros/catkin/src/open_ptrack/opt_calibration/conf/opt_calibration.rviz __name:=rviz __log:=/home/remap-dev/.ros/log/6fd65f42-abe0-11e4-87c7-0060e05b0a32/rviz-1.log].
log file: /home/remap-dev/.ros/log/6fd65f42-abe0-11e4-87c7-0060e05b0a32/rviz-1*.log
[ INFO] [1422995500.667932911]: [/RearLMK] checkerboard detected
[ INFO] [1422995501.154173362]: -----------------------------------------------
[ INFO] [1422995503.106417417]: [/RearLK] checkerboard detected
[ INFO] [1422995503.609587894]: [/RearRK] checkerboard detected
[ INFO] [1422995504.112466378]: -----------------------------------------------
[ INFO] [1422995511.501636713]: [/RearRMK] checkerboard detected
[ INFO] [1422995514.425723373]: -----------------------------------------------
[ INFO] [1422995515.681095734]: [/RearRMK] checkerboard detected
[ INFO] [1422995517.782086911]: -----------------------------------------------
[ INFO] [1422995521.477959621]: [/FrontRMK] checkerboard detected
[ INFO] [1422995523.140388522]: [/FrontRR2] checkerboard detected

calibration

This is something I've noticed and worked around, but am noting and asking.

at final stage of calibration process, one launches detection_initializer to distribute the geometries and detection launch files. seems to work (see http://pastebin.com/NNbneAWJ)

yet at the end of stdout - it says Waiting for opt-comhall-4/create_camera_poses service...

which makes me think it doesn't think opt-comhall-4's listener is running.
it is.
all the listeners are running.

so i can either ignore this... or restart the listeners (oddly starting at node 4 rather than node 1)
let me restart listeners to demonstate...
first, note that the listener stdout on opt-comhall 4 shows the output:

process[opt-comhall-4/listener-1]: started with pid [3083]
[INFO] [WallTime: 1414124180.441174] /home/remap/workspace/ros/catkin/src/open_ptrack/opt_calibration/launch/sensor_RearLK.launch created!
[INFO] [WallTime: 1414124180.445629] /home/remap/workspace/ros/catkin/src/open_ptrack/opt_calibration/launch/sensor_RearLR.launch created!
[INFO] [WallTime: 1414124186.870252] /home/remap/workspace/ros/catkin/src/open_ptrack/detection/launch/detection_node_RearLK.launch created!
[INFO] [WallTime: 1414124186.876136] /home/remap/workspace/ros/catkin/src/open_ptrack/detection/launch/detection_node_RearLR.launch created!

so that looks normal. i think i can just ignore. however, if i stop and start the listener, the original detection_intalizer process seems happier:

[INFO] [WallTime: 1414125253.374625] [opt-comhall-4] /home/remap/workspace/ros/catkin/src/open_ptrack/detection/launch/camera_poses.txt created!

so if i go aroudn to all the listeners and restart them...

[INFO] [WallTime: 1414125253.374625] [opt-comhall-4] /home/remap/workspace/ros/catkin/src/open_ptrack/detection/launch/camera_poses.txt created!
[INFO] [WallTime: 1414125253.374979] Waiting for opt-comhall-5/create_camera_poses service...
[INFO] [WallTime: 1414125293.516923] [opt-comhall-5] /home/remap/workspace/ros/catkin/src/open_ptrack/detection/launch/camera_poses.txt created!
[INFO] [WallTime: 1414125293.517200] Waiting for opt-comhall-6/create_camera_poses service...
[INFO] [WallTime: 1414125301.103898] [opt-comhall-6] /home/remap/workspace/ros/catkin/src/open_ptrack/detection/launch/camera_poses.txt created!
[INFO] [WallTime: 1414125301.104222] Waiting for opt-comhall-1/create_camera_poses service...
[INFO] [WallTime: 1414125306.533997] [opt-comhall-1] /home/remap/workspace/ros/catkin/src/open_ptrack/detection/launch/camera_poses.txt created!
[INFO] [WallTime: 1414125306.534208] Waiting for opt-comhall-2/create_camera_poses service...
[INFO] [WallTime: 1414125306.551769] [opt-comhall-2] /home/remap/workspace/ros/catkin/src/open_ptrack/detection/launch/camera_poses.txt created!
[INFO] [WallTime: 1414125306.552015] Waiting for opt-comhall-3/create_camera_poses service...
[INFO] [WallTime: 1414125312.899412] [opt-comhall-3] /home/remap/workspace/ros/catkin/src/open_ptrack/detection/launch/camera_poses.txt created!
[INFO] [WallTime: 1414125312.899667] Initialization completed. Press [ctrl+c] to exit.

which seems more satisying that ignoring the 'waiting for...' message .

however, if all the listeners are running - why is it necessary to restart them ?

Single Camera tracking

Hello,
Can someone please guide me if I want to use just a single Kinect for People Tracking purposes. I read the documentation, it is a little bit confusing.
Like what is the difference between camera_network.yaml and camera_network.yaml.example file.?

My calibrated file is created under the camera_info of opt_calibration folder. What are the next steps I need to follow ?

missing include file

when installing - step 3

  1. ROS Hydro configuration:
    source /opt/ros/hydro/setup.bash
    chmod +x ros_configure.sh
    ./ros_configure.sh

we get an error: for missing ROIS.h and Detection.h:

[ 89%] Building CXX object open_ptrack/detection/CMakeFiles/detection.dir/src/detection.cpp.o
Generating reconfiguration files for SwissRanger in swissranger_camera
In file included from /home/node-test/workspace/ros/catkin/src/open_ptrack/detection/apps/haardispada_nodelet.cpp:40:0:
/home/node-test/workspace/ros/catkin/src/open_ptrack/detection/include/open_ptrack/detection/haardispada.h:46:27: fatal error: opt_msgs/Rois.h: No such file or directory
compilation terminated.
[ 89%] Built target swissranger_camera_gencfg
[ 90%] Built target freenect_node
In file included from /home/node-test/workspace/ros/catkin/src/open_ptrack/detection/src/haardispada.cpp:31:0:
/home/node-test/workspace/ros/catkin/src/open_ptrack/detection/include/open_ptrack/detection/haardispada.h:46:27: fatal error: opt_msgs/Rois.h: No such file or directory
compilation terminated.
In file included from /home/node-test/workspace/ros/catkin/src/open_ptrack/detection/src/detection.cpp:40:0:
/home/node-test/workspace/ros/catkin/src/open_ptrack/detection/include/open_ptrack/detection/detection.h:46:32: fatal error: opt_msgs/Detection.h: No such file or directory

how best to resolve ?

This has been going on for a while... somehow I was always able to get it working - but this time we'd like to figure out how best to fix & document it...

why is the rviz ground plane not aligned w/ kinect 2 ground plane

I have ground plane detection to manual - after picking 3 colinear points, detection (sort of) works, but I can't confirm if the ground plane is correct (and thus affecting detection quality) due to the view.
screenshot from 2015-07-21 18 49 29

this is a single camera system, running via roslaunch tracking detection_and_tracking_kinect2.launch, no camera_network yaml, intrinsic or extrinsic yet performed.

Calibration Refinement Key

Please add to the calibration refinement visualization a key that would map the imager name to the color.

How do I exclude pre-existing packages in catkin workspace directory from building with final "catkin_make"?

I changed your given shell scripts from installing into some "workspace" catking workspace directory to my already existing "catkin_ws" catkin workspace. open_ptrack installs and runs well, but:
if there are pre-existing other packages in my catkin directory, I cannot re-catkin_make them again on the running production robot. How do I exclude those other packages from "compiling" by final "catkin_make" command of the final script?
I tried "catkin_make --pkg open_ptrack calibration_toolkit freenect_stack"
but it does not compile anything.
I had another idea: to exclude all other packages, but the list is huge.

Check time sync on startup

Peer time sync at startup is critical that I wonder if the tracking and/or detection nodes should run 'ntpq -p' and 'ntpq -c as' before starting, parse the output, and emit a fairly dire warning if things are not looking good. This is what we are doing manually now in the field for larger installations.

swissranger inversion

c) occasionally (1 of 5 times or so ) the swissranger depth image in the ‘manual ground plane selection’ is inverted / not displayed as expected. (yet when this happens, we just restart sensor process & it’s fine on next run… furthermore due to the ground-plane-forgetting issue , we don’t run them on manual for long-lived headless installs

SR occasionally 'forgets' ground plane on manual detection

occasionally, the SR will ‘forget’ ground plane - the ‘ground plane’ selection GUI will pop up while its running.

For this reason, on production systems, I set the ground plane detection to automatic, so the sensors can run headlessly. so there is a work-around. but for any complicated ground-plane, manual would be nice to be able to count on headlessly.

background selection disables detection... does bg subtraction work w/ kinect 2 ?

detection works OK (i've seen far better! trying to get it there...) but to eliminate false positives from static objects in the environment, I turn on background subtraction.

however when I run the sensor w/ subtraction on - there are zero detections.

does BG subtraction work with the kinect 2 ?

this is a new clean single camera system, no in/ex/trinsic calibration yet performed, simply demonstrating system via roslaunch tracking detection_and_tracking_kinect2.launch

roslaunch kinect2_bridge kinect2_bridge.launch error: clGetPlatformIDs

I've seen this before; but I forget how to fix.

Everything installed fine per instructions. I was able to see the kinect 2 point cloud in rviz.

i then tried next step/7.2: roslaunch tracking detection_and_tracking_kinect2.launch

however, it did not start - i thought perhaps because the launch command is re-launching the kinect_bridge, which was already open....

to be safe / start all processes from scratch, i rebooted.

to my suprise, i got a CLPlatformError.

i re-tried installing the non-nvidia...

sudo apt-get install ocl-icd-opencl-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
ocl-icd-opencl-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

no luck, still fails:

cat /etc/OpenCL/vendors/nvidia.icd

libnvidia-opencl.so.1

should it be otherwise ?

worker@worker:~$ roslaunch kinect2_bridge kinect2_bridge.launch
... logging to /home/worker/.ros/log/bd77c3ea-2b69-11e5-a39b-80ee73a74cf2/roslaunch-worker-2517.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://worker:45846/

SUMMARY

PARAMETERS

  • /kinect2_head_kinect2_bridge/sensor_id:
  • /kinect2_head_kinect2_bridge/sensor_name: kinect2_head
  • /kinect2_head_points_xyzrgb_highres/queue_size: 2
  • /kinect2_head_points_xyzrgb_lowres/queue_size: 2
  • /rosdistro: indigo
  • /rosversion: 1.11.13

NODES
/
kinect2_head_kinect2_bridge (kinect2_bridge/kinect2_bridge)
kinect2_head_points_xyzrgb_highres (nodelet/nodelet)
kinect2_head_points_xyzrgb_lowres (nodelet/nodelet)

auto-starting new master
process[master]: started with pid [2529]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to bd77c3ea-2b69-11e5-a39b-80ee73a74cf2
process[rosout-1]: started with pid [2542]
started core service [/rosout]
process[kinect2_head_kinect2_bridge-2]: started with pid [2545]
process[kinect2_head_points_xyzrgb_lowres-3]: started with pid [2546]
process[kinect2_head_points_xyzrgb_highres-4]: started with pid [2547]
[DepthRegistration::New] Using OpenCL registration method!
[DepthRegistration::New] Using OpenCL registration method!
[OpenCLDepthPacketProcessor::init] ERROR: clGetPlatformIDs(-1001)
terminate called after throwing an instance of 'cl::Error'
what(): clGetPlatformIDs
[kinect2_head_kinect2_bridge-2] process has died [pid 2545, exit code -6, cmd /home/worker/workspace/ros/catkin/devel/lib/kinect2_bridge/kinect2_bridge __name:=kinect2_head_kinect2_bridge __log:=/home/worker/.ros/log/bd77c3ea-2b69-11e5-a39b-80ee73a74cf2/kinect2_head_kinect2_bridge-2.log].
log file: /home/worker/.ros/log/bd77c3ea-2b69-11e5-a39b-80ee73a74cf2/kinect2_head_kinect2_bridge-2*.log

Kinect 2 does not work / no TF

from wiki install guide - https://github.com/OpenPTrack/open_ptrack/wiki/Installation-Guide

  1. ok
  2. ok
  3. ok
  4. n/a (not using kinect 1)
  5. n/a (not using PG)
  6. Kinect V2
    6.1 OK
    6.2 OK
    6.3 OK
    6.4 OK
    7.1 Fail

Set the Fixed Frame as:
/kinect2_head_rgb_optical_frame

there is no topic for fixed_frame - instead, i have error in rviz:

"No tf data. Actual error: Fixed Frame [map] does not exist"

so, let's at least see if there is a kinect point cloud... adding /kinect2_head/depth_lowres/points

NO

gives me a status error:

For frame [/kinect2_head_rgb_optical_frame]: Fixed Frame [map] does not exist

how about other kinect 2 topics ? adding /kinect2_head/depth_lowres/image
appears fine, full frame rate

~$ rostopic hz /kinect2_head/depth_lowres/points

subscribed to [/kinect2_head/depth_lowres/points]
average rate: 15.041
min: 0.063s max: 0.070s std dev: 0.00180s window: 15
average rate: 15.009
min: 0.063s max: 0.070s std dev: 0.00182s window: 30
...

(In windows 8.1 Kinect SDK on this same machine (dual boot) I get 30 fps in their connection test)

Continuing...

roslaunch tracking detection_and_tracking_kinect2.launch

everything launches - i see the image - however there are no detections.

is the transform error an easy fix (or revealing problem) ?

Everything else seems fine - Kinect 2 almost works...

any ideas ?

not sure where to start debugging this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.