Open muella91 opened 4 years ago
For Kinect, one PC only can transfer 1 Kinect data, because the usb bandwidth is not enough. If you want to connect more than 2 Kinect device, please visit the github libfreenect2 website to find answer.
And if you connect each Kinect for each PC, you need to ensure the Kinects can open by libfreenect bin. And if it's no problem, you maybe try to find the camera name about every launch file you run, make sure all Kinects have own unique camera name in launch file.
Thank you for your answer.
I am using one PC per Kinect.
I guess there is not problem with the libfreenect2 bin, because it works fine with a two-camera network, indepentend which cameras I use. Also single-camera tracking works without any problems.
Every camera has a different, unique name. I am not so familiar with XML, but I checked the detection_node_<sensor_name>.launch
files. I have not seen any problem there, sensor_name is always the unique name I specified.
<?xml version="1.0"?>
<!-- SESSION ID: 1586417290 -->
<launch>
<arg name="enable_people_tracking" default="true" />
<arg name="enable_pose" default="true" />
<arg name="enable_object" default="true" />
<arg name="sensor_name" default="morpheus" />
<!-- true = Munaro Based OPT Detection -->
<!-- false = YOLO Based Detection (Must Have YOLO installed to use)-->
<arg name="munaro_detection_enabled" default="true" />
<!-- Launch the sensor -->
<include file="$(find kinect2_bridge)/launch/kinect2_bridge_ir.launch">
<arg name="sensor_name" value="$(arg sensor_name)" />
<arg name="publish_frame" value="true" />
</include>
<!-- Detection node -->
<group if="$(arg enable_people_tracking)" >
<group if="$(arg munaro_detection_enabled)">
<include file="$(find detection)/launch/detector_kinect2.launch">
<arg name="rgb_camera_info_url" value="file://$(find opt_calibration)/camera_info/rgb_$(arg sensor_name).yaml" />
<arg name="sensor_name" value="$(arg sensor_name)" />
<arg name="ground_from_calibration" value="true" />
</include>
</group>
<group unless="$(arg munaro_detection_enabled)" >
<include file="$(find yolo_detector)/launch/detector_yolo_kinect.launch">
<arg name="sensor_name" value="$(arg sensor_name)" />
<arg name="standalone" value="false" />
</include>
</group>
</group>
<!-- Skeleton Detection node -->
<group if="$(arg enable_pose)">
<include file="$(find detection)/launch/skeleton_detector.launch">
<arg name="sensor_name" value="$(arg sensor_name)" />
<arg name="ground_from_calibration" value="true" />
</include>
</group>
<!-- Object Detection node -->
<group if="$(arg enable_object)">
<include file="$(find yolo_detector)/launch/detect_yolo_object_kinect_network.launch">
<arg name="sensor_name" value="$(arg sensor_name)" />
</include>
</group>
</launch>
I appreciate you help and I am open for any others suggestions.
Ok, then you need to find the problem step by step.
Firstly, you chang you launch file and turn off enable_people_tracking
, enable_pose
, enable_object
. And launch it again, then you should get the original ros Kinect message. And you run the cmd rostopic list
on your terminal which will show you all ros topics published. Find your Kinect topic and run rostopic echo <kinect_topic_name>
to check it available.
Secondly, if your all kinect devices can echo the topic message no problem, you can turn on tracking, pose, object
one by one. Check which step will break your program. Then I will try to solve your problem.
Have a good luck.
Hello,
When I try to do multi-camera pose tracking, my third camera always dies. At first I thought it was because the camera is broken (loose contact or something similar). But now this also happens with another camera which is also connected to another computer system.
Thats the error on the sensor node computer:
If I tried to read the log file, but if I open the log folder /root/.ros/log/fad351ba-799c-11ea-a4dc-4ccc6ade50f6/ , there is no rtpose_neo-10*.log** file. Neither in the other folders.
When the camera dies, also RVIZ viewer on the master dies. Thats the error on the master:
There is only a rviz-13-stdout.log file, which contains only default logs (like complied against QT, ... etc)
Of course I started the system several times. But it always dies when it comes to tracking with 3 cameras. By the way, multi-camera calibrations works so far with three cameras.
I have already done several times multi-camera pose tracking with two cameras, never had a problem there.
Do you had this problem before?
Thank you!