Rosanswers logo

Hi there!

I'm trying to use one Kinect for two tasks: navigation and user tracking. At first firing navigation simultaneously with user_tracking doesn't work, and I couldn't find any information if anyone tried that?

Navigation and tracking work if I run them separately.

Any help would be appreciated!


Originally posted by da-na on ROS Answers with karma: 306 on 2013-05-16

Post score: 1

Original comments

Comment by David Lu on 2013-05-16:
Please be more specific as to "doesn't work". Also, what user_tracking package are you using?

Comment by sealguy77 on 2014-12-04:
I am working on the same type of project. What packages are you using?

I am using openni_camerafor the Kinect, openni_tracker for skeleton tracking, and p2os-vanderbilt for Pioneer3DX.

Comment by sealguy77 on 2014-12-04:
I have not yet started on the navigation piece yet, but I figure I would start with this package. I figure the 'goal location' could subscribe to the tf topic of the skeleton with an offset. I'll keep you posted with updates and you will see my questions soon.


2 Answers 2


Rosanswers logo

ROS nodes are a publisher/subscriber system - the publishing nodes (should) operate normally no matter how many subscribers are consuming the data downstream. Are you pushing the limits of your hardware's processing capability?

Check top output to see the CPU load. An easy way to reduce processing load with Kinect or other RGBD cameras is to reduce the resolution using dynamic_reconfigure.

How are you using the Kinect output in navigation? Instead of using the pointcloud as a datasource, try feeding it through pointcloud_to_laserscan or use the depth image via depthimage_to_laserscan, both options will reduce the CPU load significantly.

Please add launch files and debug output to your question.

Originally posted by paulbovbel with karma: 4518 on 2014-11-07

This answer was ACCEPTED on the original site

Post score: 1


Rosanswers logo

I have gotten my robot to be able to navigate and user track. I am utilizing ROS Hydro on two Ubuntu 12.04 computers. One is the base computer. The other is on my Pioneer3-DX with the Microsoft Kinect. In order to do navigation and user-tracking, I run a launch file to start the following nodes: p2os_driver, p2os_enableMotors, p2os_urdf, openni_launch, openni_tracker, and depthimage_to_laserscan.

I then worked through the Navigation Tutorials and gmapping, to learn to set up the appropriate navigation parameter files and how to use gmapping. I then used the following move_base.launch file to start navigation and this RViz Navigation Tutorial to control the robot.

The robot is able to navigate while tracking users.

It is possible to do both skeleton tracking and navigation using one Kinect. I am not sure what problems you are having. As mentioned before, please post your launch files and any errors you have. I will try to help you if I can.



  <!-- Start gmapping -->
    <node  pkg="gmapping" name="slam_gmapping" type="slam_gmapping" output="screen" />

  <!-- Start navigation -->
    <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
        <rosparam command="load" file="$(find follow_me_2dnav)/launch/costmap_common_params_p3dx.yaml" ns="global_costmap"/>
        <rosparam command="load" file="$(find follow_me_2dnav)/launch/costmap_common_params_p3dx.yaml" ns="local_costmap"/>
        <rosparam command="load" file="$(find follow_me_2dnav)/launch/local_costmap_params.yaml"/>
        <rosparam command="load" file="$(find follow_me_2dnav)/launch/global_costmap_params.yaml"/>
        <rosparam command="load" file="$(find follow_me_2dnav)/launch/base_local_planner_params.yaml"/>

Originally posted by sealguy77 with karma: 323 on 2015-03-23

This answer was NOT ACCEPTED on the original site

Post score: 1


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.