Hello,
So this may be a very simple question but I seem to be having a hard time with it. Basically, I want to run three instances of "roslaunch realsense2_camera opensource_tracking.launch", one for each of my Intel D435i camera's with the goal of recording all the data from the three separate cameras. I'm not looking to combine them all together or anything like that at this time, just have them all run independently from each other. I'm still very much a beginner with RTabMap and the few things I have found seem to be tutorials on combining scans that were done in a sequence or combining the scans together in sync. I'm looking to just have them be all separate and independently running at the same time. I'm using 3 D435i cameras on a single NVIDIA Jetson Xavier AGX. I can run one camera at a time with no problems, and I can have it find each of the three cameras independently (using their serial numbers) and each runs just fine. If I try to run them independently at the same time (in different terminals) it will always close it out with the error listed below. Is this even possible, and if so where am I going wrong? I attached a sample launch file that I'm using, the other files are basically the same but with the different serial numbers. Thanks for the help! |
Administrator
|
Hi Peter,
you should launch this launch file in different namespaces (with group tag), otherwise, previous launched nodes will be killed when launching again the launch file (because nodes would have the same name in same namespace). You may have to set also other parameters for nodes publishing TF frames. For example, with rtabmap, there is a parameter called map_frame_id set by default to "map". You would have to modify accordingly to your namespace, like map_frame_id=map_cam1. A side note, instead of using absolute path for included launch files, you can use "$(find realsense2_camera)/launch/rs_camera.launch". cheers, Mathieu |
This post was updated on .
Hello Mathieu,
Thank You for your response. So I tried adding the namespaces to the launch file as you've recommended, but I think I still have a problem with the second part of your problem. This is my edited launch file: When I run the "tf view_frames" everything still looks like what I originally had for one camera. Original open_source tracking: --------------------------------------------------------------- Current Edited launch file: -------------------------------------------------------------------------- However, when I run "rqt_graph" I can see a few issues: Original open_source tracking: ----------------------------------------------------------------- Current Edited launch file: ------------------------------------------------------------ The main differences that I see is that: I don't see any camera/imu being published. I don't see any /tf_static being published. I am not sure but I thought the "/tf"s should also be published as "/Camera3/tf". With regards to the second issue you mentioned about map_frame_id, I am still having a little bit of an issue. Based on some other posts I read on this forum, I added these lines to the launch file: "" <arg name="frame_id" value="Camera3/camera_link" <arg name="map_frame_id" value="Camera3/map"> "" But I don't think they are correct as I lose the map and odom node in the "tf view_frames". Thank You |
Administrator
|
Hi,
With the realsense launch files, I think you can set camera name argument so that instead having TF camera_color_frame, it would be camera3_color_frame. With rtabmap node, you should indeed set map_frame_id for each instance. In your rqT_graph, you are using rgbd_odometry. odom_frame_id should then be also set for that node. I suggest to try without ukf to make a more basic example. cheers, Mathieu |
Free forum by Nabble | Edit this page |