Hello everyone
In Isaac Sim 5.0.0 (Ubuntu 22.04), I’m trying to create TF tree and odometry in order to use ROS2 (humble) for navigation.
I saw the TF Tree tutorial ( ROS2 Transform Trees and Odometry — Isaac Sim Documentation ) and checked the ROS2 carter navigation sample but I’m not able to create TF Tree and odometry properly in my stage.
Because I have no knowledge in Isaac Sim and ROS2 I’m having a hard time for more than a week trying to fix my issue using AI.
My model is a forklift which contains 5 RTX Lidar Rotary 2d sensor (4 sensors for collision and 1 for navigation)
My model hierarchy is as follow:
Forklift (articulation Root)
–body
—-base_link
——–lidar_{left,right,front,rear,nav}
————-Example_Rotary_2d
–arm
–front_left_wheel
–front_right_wheel
–back_left_wheel
–back_right_wheel
–back_left_wheel_swivel
–back_right_wheel_swivel
body,arm, front_{left,right}_wheel,back_{left,right}_wheel and back_{left,right}_wheel_swivel have joint for moving the forklift.
I’ve created an action graph for each sensor that contain Isaac Create Render Product node, ROS2 RTX Lidar Helper node and ROS2 Publish Transform Tree (parentPrim set to base_link and targetPrims set to lidar_{front,left,right,rear,nav})
I’ve created another Action Graph for the odometry based on the tutorial I’ve linked above.
my current issue is that when I run the ros2 run tf2_tools view_frames command, I do see odom→base_link→lidar_{side}
but when I try to run the ROS2 launch file based on the carter navigation sample, I got a TF error about base_link→odom not being found (I’m not at the office right now so I won’t be able to paste the exact error message)
When running ros2 topic echo /tf I only have base_link→lidar_right Transform but not the other.
Because of my lack of knowledge, I don’t understand what I’m doing wrong.
Can someone please help me and explain to me how I can set TF tree and odometry properly?
I’m really confuse with Transform Tree, Raw Transform Tree and Odometry node.
I don’t know if I have to set QoS Profile (durability volatile?transient_local?)
For the Isaac Compute Odometry Node, I’m pretty sure chassisPrim, should be set with the prim containing the Articulation Root component. For the rest I’m not sure what I should do.
Hoping someone can help me.
I thank you in advance for your help