Closed yuan-0816 closed 5 months ago
I suggest to do rostopic hz
instead of rostopic list
to acutally know that the topics are published.
rostopic hz /camera/infra1/image_rect_raw
rostopic hz /camera/depth/image_rect_raw
rostopic hz /camera/infra1/camera_info
I see you are also using approx_sync
set to false (exact sync), are the image topics published with same stamp?
I used ros2 topic hz
, and all three topics are being published.
yuan@airlab-ubuntu:~$ ros2 topic hz /camera/infra1/image_rect_raw
average rate: 26.126
min: 0.032s max: 0.047s std dev: 0.00314s window: 28
average rate: 26.148
min: 0.032s max: 0.050s std dev: 0.00367s window: 55
average rate: 26.629
min: 0.032s max: 0.050s std dev: 0.00329s window: 83
average rate: 26.471
min: 0.032s max: 0.050s std dev: 0.00355s window: 109
average rate: 26.757
min: 0.031s max: 0.050s std dev: 0.00340s window: 137
average rate: 26.751
min: 0.031s max: 0.054s std dev: 0.00365s window: 164
average rate: 26.904
min: 0.031s max: 0.054s std dev: 0.00349s window: 192
average rate: 26.845
min: 0.031s max: 0.054s std dev: 0.00359s window: 219
^Cyuan@airlab-ubuntu:~$ ros2 topic hz /camera/depth/image_rect_raw
average rate: 20.165
min: 0.033s max: 0.112s std dev: 0.02065s window: 22
average rate: 19.930
min: 0.033s max: 0.144s std dev: 0.02396s window: 42
average rate: 19.556
min: 0.033s max: 0.144s std dev: 0.02437s window: 61
average rate: 18.718
min: 0.033s max: 0.181s std dev: 0.02850s window: 78
average rate: 18.535
min: 0.033s max: 0.181s std dev: 0.02846s window: 96
average rate: 18.546
min: 0.033s max: 0.181s std dev: 0.02738s window: 116
^Cyuan@airlab-ubuntu:~$ ros2 topic hz camera/infra1/camera_info
average rate: 28.262
min: 0.031s max: 0.040s std dev: 0.00247s window: 30
average rate: 27.359
min: 0.031s max: 0.050s std dev: 0.00369s window: 57
average rate: 27.674
min: 0.031s max: 0.050s std dev: 0.00323s window: 86
average rate: 27.647
min: 0.031s max: 0.053s std dev: 0.00361s window: 115
average rate: 27.510
min: 0.031s max: 0.053s std dev: 0.00351s window: 142
average rate: 27.419
min: 0.031s max: 0.053s std dev: 0.00356s window: 169
I set use sim time
to true, so the camera topic should be published with the same timestamp as the simulation time.
And I also used ros2 run rqt_image_view rqt_image_view
to subscribe to the camera topic, and there is a visual feed.
The topics don't seem to be published at the same time, set approx_sync
to true for all rtabmap nodes. The infra1 and depth images are not the same resolution, make sure they are using same focal length with same resolution from same link in your URDF, so that depth is perfectly aligned with infra1.
It works !!!
But I still want to know, If I set use sim time
to true
in the Gazebo launch file and also in RTAB-Map, why is the depth camera information still not synchronized?
Is use_sim_time
added to all rtabmap nodes? With how the new warning works, it won't use the simulated clock if use_sim_time
is not set, then will complain that the topics are not received from the past 5 seconds. As the simulation time would start at epoch=0, all topics will be always in the past from the point of view of that check. Just tested with turtebot3 example and it seems to do what I just described (no warning when use_sim_time:=true
, warning when use_sim_time:=false
but the nodes are working correctly).
Yes, I set the use_sim_time=True
in all rtabmap nodes
This is my rtabmap launch file
# Requirements:
# A realsense D435i
# Install realsense2 ros2 package (ros-$ROS_DISTRO-realsense2-camera)
#
# RTAB-Map in mapping mode
import os
from launch import LaunchDescription, Substitution, LaunchContext
from launch.actions import DeclareLaunchArgument, SetEnvironmentVariable, LogInfo, OpaqueFunction
from launch.substitutions import LaunchConfiguration, ThisLaunchFileDir, PythonExpression
from launch.conditions import IfCondition, UnlessCondition
from launch_ros.actions import Node
from launch_ros.actions import SetParameter
from typing import Text
from ament_index_python.packages import get_package_share_directory
class ConditionalText(Substitution):
def __init__(self, text_if, text_else, condition):
self.text_if = text_if
self.text_else = text_else
self.condition = condition
def perform(self, context: 'LaunchContext') -> Text:
if self.condition == True or self.condition == 'true' or self.condition == 'True':
return self.text_if
else:
return self.text_else
def launch_setup(context, *args, **kwargs):
use_sim_time = LaunchConfiguration('use_sim_time')
qos = LaunchConfiguration('qos')
localization = LaunchConfiguration('localization')
parameters={
# 'frame_id':'camera_link',
'frame_id':'base_link',
'use_sim_time':use_sim_time,
'subscribe_depth':True,
'subscribe_odom_info':True,
'approx_sync':True,
'qos_image':qos,
'qos_imu':qos,
'wait_imu_to_init':False
}
# use infra camera
# remappings=[
# ('imu', '/imu/data'),
# ('rgb/image', '/camera/infra1/image_rect_raw'),
# ('rgb/camera_info', '/camera/infra1/camera_info'),
# ('depth/image', '/camera/depth/image_rect_raw')]
# use color camera
# remappings=[
# ('imu', '/imu/data'),
# ('rgb/image', '/camera/color/image_raw'),
# ('rgb/camera_info', '/camera/color/camera_info'),
# ('depth/image', '/camera/depth/image_rect_raw')]
# use color camera
remappings=[
('imu', '/imu/data'),
('rgb/image', '/camera/image_raw'),
('rgb/camera_info', '/camera/camera_info'),
('depth/image', '/camera/depth/image_raw')]
return [
DeclareLaunchArgument('args', default_value=LaunchConfiguration('rtabmap_args'),
description='Can be used to pass RTAB-Map\'s parameters or other flags like --udebug and --delete_db_on_start/-d'),
Node(
package='rtabmap_odom', executable='rgbd_odometry', output='screen',
parameters=[parameters],
remappings=remappings),
# TODO: database 路徑
# SLAM mode:
Node(
condition=UnlessCondition(localization),
package='rtabmap_slam', executable='rtabmap', output='screen',
parameters=[parameters],
remappings=remappings,
arguments=['-d']), # This will delete the previous database (~/.ros/rtabmap.db)
# Localization mode:
Node(
condition=IfCondition(localization),
package='rtabmap_slam', executable='rtabmap', output='screen',
parameters=[parameters,
{'Mem/IncrementalMemory':'False',
'Mem/InitWMWithAllNodes':'True'}],
remappings=remappings),
Node(
package='rtabmap_viz', executable='rtabmap_viz', output='screen',
parameters=[parameters],
condition=IfCondition(LaunchConfiguration("rtabmap_viz")),
remappings=remappings),
Node(
package='rviz2', executable='rviz2', output='screen',
condition=IfCondition(LaunchConfiguration("rviz")),
arguments=[["-d"], [LaunchConfiguration("rviz_cfg")]]
),
Node(
package='rtabmap_util', executable='point_cloud_xyzrgb', output='screen',
condition=IfCondition(LaunchConfiguration("rviz")),
parameters=[{
"decimation": 4,
"voxel_size": 0.0,
"approx_sync": LaunchConfiguration('approx_sync'),
"approx_sync_max_interval": LaunchConfiguration('approx_sync_max_interval')
}],
remappings=remappings),
# Compute quaternion of the IMU
Node(
package='imu_filter_madgwick', executable='imu_filter_madgwick_node', output='screen',
parameters=[{'use_mag': False,
'world_frame':'enu',
'publish_tf':False}],
remappings=[('imu/data_raw', '/camera/imu')]),
# The IMU frame is missing in TF tree, add it:
# Node(
# package='tf2_ros', executable='static_transform_publisher', output='screen',
# arguments=['0', '0', '0', '0', '0', '0', 'camera_gyro_optical_frame', 'camera_imu_optical_frame']),
]
def generate_launch_description():
config_rviz = os.path.join(
get_package_share_directory('AirLab_in_gazebo'), 'configs', 'sim.rviz')
return LaunchDescription([
# Declare Launch Argument
DeclareLaunchArgument('approx_sync', default_value='false',
description='If timestamps of the input topics should be synchronized using approximate or exact time policy.'),
DeclareLaunchArgument('approx_sync_max_interval', default_value='0.0',
description='(sec) 0 means infinite interval duration (used with approx_sync=true)'),
DeclareLaunchArgument('database_path', default_value='~/ros2_ws/src/drone_vslam/map_database/rtabmap.db',
description='Where is the map saved/loaded.'),
DeclareLaunchArgument('localization', default_value='false',
description='Launch in localization mode.'),
DeclareLaunchArgument('rtabmap_viz', default_value='true',
description='Launch RTAB-Map UI (optional).'),
DeclareLaunchArgument('rviz', default_value='true',
description='Launch RVIZ (optional).'),
DeclareLaunchArgument('rviz_cfg', default_value=config_rviz,
description='Configuration path of rviz2.'),
DeclareLaunchArgument('initial_pose', default_value='',
description='Set an initial pose (only in localization mode). Format: "x y z roll pitch yaw" or "x y z qx qy qz qw". Default: see "RGBD/StartAtOrigin" doc'),
DeclareLaunchArgument('rtabmap_args', default_value='',
description='Backward compatibility, use "args" instead.'),
DeclareLaunchArgument('use_sim_time', default_value='true',
description='Use simulation (Gazebo) clock if true'),
DeclareLaunchArgument('qos', default_value='2',
description='QoS used for input sensor topics'),
OpaqueFunction(function=launch_setup)
])
Can you doublecheck if the parameter is correctly set?
ros2 param list
ros2 param get rtabmap use_sim_time
Boolean value is: True
Which rtabmap version are you using?
I run ros2 param list
yuan@airlab-ubuntu:~$ ros2 param list
/camera_controller:
camera.depth.image_raw.format
camera.depth.image_raw.jpeg_quality
camera.depth.image_raw.png_level
camera.depth.image_raw.tiff.res_unit
camera.depth.image_raw.tiff.xdpi
camera.depth.image_raw.tiff.ydpi
camera.image_raw.format
camera.image_raw.jpeg_quality
camera.image_raw.png_level
camera.image_raw.tiff.res_unit
camera.image_raw.tiff.xdpi
camera.image_raw.tiff.ydpi
qos_overrides./clock.subscription.depth
qos_overrides./clock.subscription.durability
qos_overrides./clock.subscription.history
qos_overrides./clock.subscription.reliability
qos_overrides./parameter_events.publisher.depth
qos_overrides./parameter_events.publisher.durability
qos_overrides./parameter_events.publisher.history
qos_overrides./parameter_events.publisher.reliability
update_rate
use_sim_time
/diff_drive:
qos_overrides./clock.subscription.depth
qos_overrides./clock.subscription.durability
qos_overrides./clock.subscription.history
qos_overrides./clock.subscription.reliability
qos_overrides./parameter_events.publisher.depth
qos_overrides./parameter_events.publisher.durability
qos_overrides./parameter_events.publisher.history
qos_overrides./parameter_events.publisher.reliability
qos_overrides./tf.publisher.depth
qos_overrides./tf.publisher.durability
qos_overrides./tf.publisher.history
qos_overrides./tf.publisher.reliability
use_sim_time
/gazebo:
enable_performance_metrics
publish_rate
qos_overrides./clock.subscription.depth
qos_overrides./clock.subscription.durability
qos_overrides./clock.subscription.history
qos_overrides./clock.subscription.reliability
qos_overrides./parameter_events.publisher.depth
qos_overrides./parameter_events.publisher.durability
qos_overrides./parameter_events.publisher.history
qos_overrides./parameter_events.publisher.reliability
use_sim_time
/imu_filter_madgwick:
constant_dt
declination
fixed_frame
gain
mag_bias_x
mag_bias_y
mag_bias_z
orientation_stddev
publish_debug_topics
publish_tf
qos_overrides./parameter_events.publisher.depth
qos_overrides./parameter_events.publisher.durability
qos_overrides./parameter_events.publisher.history
qos_overrides./parameter_events.publisher.reliability
qos_overrides./tf.publisher.depth
qos_overrides./tf.publisher.durability
qos_overrides./tf.publisher.history
qos_overrides./tf.publisher.reliability
remove_gravity_vector
reverse_tf
stateless
use_mag
use_sim_time
world_frame
yaw_offset
zeta
/point_cloud_xyzrgb:
StereoBM/BlockSize
StereoBM/Disp12MaxDiff
StereoBM/MinDisparity
StereoBM/NumDisparities
StereoBM/PreFilterCap
StereoBM/PreFilterSize
StereoBM/SpeckleRange
StereoBM/SpeckleWindowSize
StereoBM/TextureThreshold
StereoBM/UniquenessRatio
approx_sync
approx_sync_max_interval
decimation
filter_nans
max_depth
min_depth
noise_filter_min_neighbors
noise_filter_radius
normal_k
normal_radius
qos
qos_camera_info
qos_overrides./parameter_events.publisher.depth
qos_overrides./parameter_events.publisher.durability
qos_overrides./parameter_events.publisher.history
qos_overrides./parameter_events.publisher.reliability
queue_size
roi_ratios
use_sim_time
voxel_size
/rgbd_odometry:
BRIEF/Bytes
BRISK/Octaves
BRISK/PatternScale
BRISK/Thresh
FAST/CV
FAST/Gpu
FAST/GpuKeypointsRatio
FAST/GridCols
FAST/GridRows
FAST/MaxThreshold
FAST/MinThreshold
FAST/NonmaxSuppression
FAST/Threshold
FREAK/NOctaves
FREAK/OrientationNormalized
FREAK/PatternScale
FREAK/ScaleNormalized
GFTT/BlockSize
GFTT/K
GFTT/MinDistance
GFTT/QualityLevel
GFTT/UseHarrisDetector
GMS/ThresholdFactor
GMS/WithRotation
GMS/WithScale
GTSAM/Optimizer
KAZE/Diffusivity
KAZE/Extended
KAZE/NOctaveLayers
KAZE/NOctaves
KAZE/Threshold
KAZE/Upright
Kp/ByteToFloat
ORB/EdgeThreshold
ORB/FirstLevel
ORB/Gpu
ORB/NLevels
ORB/PatchSize
ORB/ScaleFactor
ORB/ScoreType
ORB/WTA_K
Odom/AlignWithGround
Odom/FillInfoData
Odom/FilteringStrategy
Odom/GuessMotion
Odom/GuessSmoothingDelay
Odom/Holonomic
Odom/ImageBufferSize
Odom/ImageDecimation
Odom/KalmanMeasurementNoise
Odom/KalmanProcessNoise
Odom/KeyFrameThr
Odom/ParticleLambdaR
Odom/ParticleLambdaT
Odom/ParticleNoiseR
Odom/ParticleNoiseT
Odom/ParticleSize
Odom/ResetCountdown
Odom/ScanKeyFrameThr
Odom/Strategy
Odom/VisKeyFrameThr
OdomF2M/BundleAdjustment
OdomF2M/BundleAdjustmentMaxFrames
OdomF2M/MaxNewFeatures
OdomF2M/MaxSize
OdomF2M/ScanMaxSize
OdomF2M/ScanRange
OdomF2M/ScanSubtractAngle
OdomF2M/ScanSubtractRadius
OdomF2M/ValidDepthRatio
OdomFovis/BucketHeight
OdomFovis/BucketWidth
OdomFovis/CliqueInlierThreshold
OdomFovis/FastThreshold
OdomFovis/FastThresholdAdaptiveGain
OdomFovis/FeatureSearchWindow
OdomFovis/FeatureWindowSize
OdomFovis/InlierMaxReprojectionError
OdomFovis/MaxKeypointsPerBucket
OdomFovis/MaxMeanReprojectionError
OdomFovis/MaxPyramidLevel
OdomFovis/MinFeaturesForEstimate
OdomFovis/MinPyramidLevel
OdomFovis/StereoMaxDisparity
OdomFovis/StereoMaxDistEpipolarLine
OdomFovis/StereoMaxRefinementDisplacement
OdomFovis/StereoRequireMutualMatch
OdomFovis/TargetPixelsPerFeature
OdomFovis/UpdateTargetFeaturesWithRefined
OdomFovis/UseAdaptiveThreshold
OdomFovis/UseBucketing
OdomFovis/UseHomographyInitialization
OdomFovis/UseImageNormalization
OdomFovis/UseSubpixelRefinement
OdomLOAM/AngVar
OdomLOAM/LinVar
OdomLOAM/LocalMapping
OdomLOAM/Resolution
OdomLOAM/ScanPeriod
OdomLOAM/Sensor
OdomMSCKF/FastThreshold
OdomMSCKF/GridCol
OdomMSCKF/GridMaxFeatureNum
OdomMSCKF/GridMinFeatureNum
OdomMSCKF/GridRow
OdomMSCKF/InitCovAccBias
OdomMSCKF/InitCovExRot
OdomMSCKF/InitCovExTrans
OdomMSCKF/InitCovGyroBias
OdomMSCKF/InitCovVel
OdomMSCKF/MaxCamStateSize
OdomMSCKF/MaxIteration
OdomMSCKF/NoiseAcc
OdomMSCKF/NoiseAccBias
OdomMSCKF/NoiseFeature
OdomMSCKF/NoiseGyro
OdomMSCKF/NoiseGyroBias
OdomMSCKF/OptTranslationThreshold
OdomMSCKF/PatchSize
OdomMSCKF/PositionStdThreshold
OdomMSCKF/PyramidLevels
OdomMSCKF/RansacThreshold
OdomMSCKF/RotationThreshold
OdomMSCKF/StereoThreshold
OdomMSCKF/TrackPrecision
OdomMSCKF/TrackingRateThreshold
OdomMSCKF/TranslationThreshold
OdomMono/InitMinFlow
OdomMono/InitMinTranslation
OdomMono/MaxVariance
OdomMono/MinTranslation
OdomOKVIS/ConfigPath
OdomORBSLAM/Bf
OdomORBSLAM/Fps
OdomORBSLAM/MapSize
OdomORBSLAM/MaxFeatures
OdomORBSLAM/ThDepth
OdomORBSLAM/VocPath
OdomOpen3D/MaxDepth
OdomOpen3D/Method
OdomVINS/ConfigPath
OdomViso2/BucketHeight
OdomViso2/BucketMaxFeatures
OdomViso2/BucketWidth
OdomViso2/InlierThreshold
OdomViso2/MatchBinsize
OdomViso2/MatchDispTolerance
OdomViso2/MatchHalfResolution
OdomViso2/MatchMultiStage
OdomViso2/MatchNmsN
OdomViso2/MatchNmsTau
OdomViso2/MatchOutlierDispTolerance
OdomViso2/MatchOutlierFlowTolerance
OdomViso2/MatchRadius
OdomViso2/MatchRefinement
OdomViso2/RansacIters
OdomViso2/Reweighting
Optimizer/Epsilon
Optimizer/GravitySigma
Optimizer/Iterations
Optimizer/LandmarksIgnored
Optimizer/PriorsIgnored
Optimizer/Robust
Optimizer/Strategy
Optimizer/VarianceIgnored
PyDetector/Cuda
PyDetector/Path
PyMatcher/Cuda
PyMatcher/Iterations
PyMatcher/Model
PyMatcher/Path
PyMatcher/Threshold
Reg/Force3DoF
Reg/RepeatOnce
Reg/Strategy
Rtabmap/ImagesAlreadyRectified
Rtabmap/PublishRAMUsage
SIFT/ContrastThreshold
SIFT/EdgeThreshold
SIFT/NFeatures
SIFT/NOctaveLayers
SIFT/RootSIFT
SIFT/Sigma
SURF/Extended
SURF/GpuKeypointsRatio
SURF/GpuVersion
SURF/HessianThreshold
SURF/OctaveLayers
SURF/Octaves
SURF/Upright
SuperPoint/Cuda
SuperPoint/ModelPath
SuperPoint/NMS
SuperPoint/NMSRadius
SuperPoint/Threshold
Vis/BundleAdjustment
Vis/CorFlowEps
Vis/CorFlowIterations
Vis/CorFlowMaxLevel
Vis/CorFlowWinSize
Vis/CorGuessMatchToProjection
Vis/CorGuessWinSize
Vis/CorNNDR
Vis/CorNNType
Vis/CorType
Vis/DepthAsMask
Vis/EpipolarGeometryVar
Vis/EstimationType
Vis/FeatureType
Vis/ForwardEstOnly
Vis/GridCols
Vis/GridRows
Vis/InlierDistance
Vis/Iterations
Vis/MaxDepth
Vis/MaxFeatures
Vis/MeanInliersDistance
Vis/MinDepth
Vis/MinInliers
Vis/MinInliersDistribution
Vis/PnPFlags
Vis/PnPMaxVariance
Vis/PnPRefineIterations
Vis/PnPReprojError
Vis/RefineIterations
Vis/RoiRatios
Vis/SubPixEps
Vis/SubPixIterations
Vis/SubPixWinSize
approx_sync
approx_sync_max_interval
config_path
expected_update_rate
frame_id
g2o/Baseline
g2o/Optimizer
g2o/PixelVariance
g2o/RobustKernelDelta
g2o/Solver
ground_truth_base_frame_id
ground_truth_frame_id
guess_frame_id
guess_min_rotation
guess_min_time
guess_min_translation
initial_pose
keep_color
log_to_rosout_level
max_update_rate
min_update_rate
odom_frame_id
publish_null_when_lost
publish_tf
qos
qos_camera_info
qos_overrides./clock.subscription.depth
qos_overrides./clock.subscription.durability
qos_overrides./clock.subscription.history
qos_overrides./clock.subscription.reliability
qos_overrides./parameter_events.publisher.depth
qos_overrides./parameter_events.publisher.durability
qos_overrides./parameter_events.publisher.history
qos_overrides./parameter_events.publisher.reliability
qos_overrides./tf.publisher.depth
qos_overrides./tf.publisher.durability
qos_overrides./tf.publisher.history
qos_overrides./tf.publisher.reliability
queue_size
rgbd_cameras
subscribe_rgbd
use_sim_time
wait_for_transform
wait_imu_to_init
/robot_state_publisher:
frame_prefix
ignore_timestamp
publish_frequency
qos_overrides./joint_states.subscription.depth
qos_overrides./joint_states.subscription.history
qos_overrides./joint_states.subscription.reliability
qos_overrides./parameter_events.publisher.depth
qos_overrides./parameter_events.publisher.durability
qos_overrides./parameter_events.publisher.history
qos_overrides./parameter_events.publisher.reliability
qos_overrides./tf.publisher.depth
qos_overrides./tf.publisher.durability
qos_overrides./tf.publisher.history
qos_overrides./tf.publisher.reliability
qos_overrides./tf_static.publisher.depth
qos_overrides./tf_static.publisher.history
qos_overrides./tf_static.publisher.reliability
robot_description
use_sim_time
/rtabmap:
BRIEF/Bytes
BRISK/Octaves
BRISK/PatternScale
BRISK/Thresh
Bayes/FullPredictionUpdate
Bayes/PredictionLC
Bayes/VirtualPlacePriorThr
Db/TargetVersion
DbSqlite3/CacheSize
DbSqlite3/InMemory
DbSqlite3/JournalMode
DbSqlite3/Synchronous
DbSqlite3/TempStore
FAST/CV
FAST/Gpu
FAST/GpuKeypointsRatio
FAST/GridCols
FAST/GridRows
FAST/MaxThreshold
FAST/MinThreshold
FAST/NonmaxSuppression
FAST/Threshold
FREAK/NOctaves
FREAK/OrientationNormalized
FREAK/PatternScale
FREAK/ScaleNormalized
GFTT/BlockSize
GFTT/K
GFTT/MinDistance
GFTT/QualityLevel
GFTT/UseHarrisDetector
GMS/ThresholdFactor
GMS/WithRotation
GMS/WithScale
GTSAM/Optimizer
Grid/3D
Grid/CellSize
Grid/ClusterRadius
Grid/DepthDecimation
Grid/DepthRoiRatios
Grid/FlatObstacleDetected
Grid/FootprintHeight
Grid/FootprintLength
Grid/FootprintWidth
Grid/GroundIsObstacle
Grid/MapFrameProjection
Grid/MaxGroundAngle
Grid/MaxGroundHeight
Grid/MaxObstacleHeight
Grid/MinClusterSize
Grid/MinGroundHeight
Grid/NoiseFilteringMinNeighbors
Grid/NoiseFilteringRadius
Grid/NormalK
Grid/NormalsSegmentation
Grid/PreVoxelFiltering
Grid/RangeMax
Grid/RangeMin
Grid/RayTracing
Grid/Scan2dUnknownSpaceFilled
Grid/ScanDecimation
Grid/Sensor
GridGlobal/AltitudeDelta
GridGlobal/Eroded
GridGlobal/FloodFillDepth
GridGlobal/FootprintRadius
GridGlobal/FullUpdate
GridGlobal/MaxNodes
GridGlobal/MinSize
GridGlobal/OccupancyThr
GridGlobal/ProbClampingMax
GridGlobal/ProbClampingMin
GridGlobal/ProbHit
GridGlobal/ProbMiss
GridGlobal/UpdateError
Icp/CCFilterOutFarthestPoints
Icp/CCMaxFinalRMS
Icp/CCSamplingLimit
Icp/CorrespondenceRatio
Icp/DebugExportFormat
Icp/DownsamplingStep
Icp/Epsilon
Icp/Force4DoF
Icp/Iterations
Icp/MaxCorrespondenceDistance
Icp/MaxRotation
Icp/MaxTranslation
Icp/OutlierRatio
Icp/PMConfig
Icp/PMMatcherEpsilon
Icp/PMMatcherIntensity
Icp/PMMatcherKnn
Icp/PointToPlane
Icp/PointToPlaneGroundNormalsUp
Icp/PointToPlaneK
Icp/PointToPlaneLowComplexityStrategy
Icp/PointToPlaneMinComplexity
Icp/PointToPlaneRadius
Icp/RangeMax
Icp/RangeMin
Icp/ReciprocalCorrespondences
Icp/Strategy
Icp/VoxelSize
ImuFilter/ComplementaryBiasAlpha
ImuFilter/ComplementaryDoAdpativeGain
ImuFilter/ComplementaryDoBiasEstimation
ImuFilter/ComplementaryGainAcc
ImuFilter/MadgwickGain
ImuFilter/MadgwickZeta
KAZE/Diffusivity
KAZE/Extended
KAZE/NOctaveLayers
KAZE/NOctaves
KAZE/Threshold
KAZE/Upright
Kp/BadSignRatio
Kp/ByteToFloat
Kp/DetectorStrategy
Kp/DictionaryPath
Kp/FlannRebalancingFactor
Kp/GridCols
Kp/GridRows
Kp/IncrementalDictionary
Kp/IncrementalFlann
Kp/MaxDepth
Kp/MaxFeatures
Kp/MinDepth
Kp/NNStrategy
Kp/NewWordsComparedTogether
Kp/NndrRatio
Kp/Parallelized
Kp/RoiRatios
Kp/SubPixEps
Kp/SubPixIterations
Kp/SubPixWinSize
Kp/TfIdfLikelihoodUsed
Marker/CornerRefinementMethod
Marker/Dictionary
Marker/Length
Marker/MaxDepthError
Marker/MaxRange
Marker/MinRange
Marker/Priors
Marker/PriorsVarianceAngular
Marker/PriorsVarianceLinear
Marker/VarianceAngular
Marker/VarianceLinear
Mem/BadSignaturesIgnored
Mem/BinDataKept
Mem/CompressionParallelized
Mem/CovOffDiagIgnored
Mem/DepthAsMask
Mem/GenerateIds
Mem/ImageCompressionFormat
Mem/ImageKept
Mem/ImagePostDecimation
Mem/ImagePreDecimation
Mem/IncrementalMemory
Mem/InitWMWithAllNodes
Mem/IntermediateNodeDataKept
Mem/LaserScanDownsampleStepSize
Mem/LaserScanNormalK
Mem/LaserScanNormalRadius
Mem/LaserScanVoxelSize
Mem/LocalizationDataSaved
Mem/MapLabelsAdded
Mem/NotLinkedNodesKept
Mem/RawDescriptorsKept
Mem/RecentWmRatio
Mem/ReduceGraph
Mem/RehearsalIdUpdatedToNewOne
Mem/RehearsalSimilarity
Mem/RehearsalWeightIgnoredWhileMoving
Mem/STMSize
Mem/SaveDepth16Format
Mem/StereoFromMotion
Mem/TransferSortingByWeightId
Mem/UseOdomFeatures
Mem/UseOdomGravity
ORB/EdgeThreshold
ORB/FirstLevel
ORB/Gpu
ORB/NLevels
ORB/PatchSize
ORB/ScaleFactor
ORB/ScoreType
ORB/WTA_K
Optimizer/Epsilon
Optimizer/GravitySigma
Optimizer/Iterations
Optimizer/LandmarksIgnored
Optimizer/PriorsIgnored
Optimizer/Robust
Optimizer/Strategy
Optimizer/VarianceIgnored
PyDetector/Cuda
PyDetector/Path
PyMatcher/Cuda
PyMatcher/Iterations
PyMatcher/Model
PyMatcher/Path
PyMatcher/Threshold
RGBD/AngularSpeedUpdate
RGBD/AngularUpdate
RGBD/CreateOccupancyGrid
RGBD/Enabled
RGBD/GoalReachedRadius
RGBD/GoalsSavedInUserData
RGBD/InvertedReg
RGBD/LinearSpeedUpdate
RGBD/LinearUpdate
RGBD/LocalBundleOnLoopClosure
RGBD/LocalImmunizationRatio
RGBD/LocalRadius
RGBD/LoopClosureIdentityGuess
RGBD/LoopClosureReextractFeatures
RGBD/LoopCovLimited
RGBD/MarkerDetection
RGBD/MaxLocalRetrieved
RGBD/MaxLoopClosureDistance
RGBD/MaxOdomCacheSize
RGBD/NeighborLinkRefining
RGBD/NewMapOdomChangeDistance
RGBD/OptimizeFromGraphEnd
RGBD/OptimizeMaxError
RGBD/PlanAngularVelocity
RGBD/PlanLinearVelocity
RGBD/PlanStuckIterations
RGBD/ProximityAngle
RGBD/ProximityBySpace
RGBD/ProximityByTime
RGBD/ProximityGlobalScanMap
RGBD/ProximityMaxGraphDepth
RGBD/ProximityMaxPaths
RGBD/ProximityMergedScanCovFactor
RGBD/ProximityOdomGuess
RGBD/ProximityPathFilteringRadius
RGBD/ProximityPathMaxNeighbors
RGBD/ProximityPathRawPosesUsed
RGBD/ScanMatchingIdsSavedInLinks
RGBD/StartAtOrigin
Reg/Force3DoF
Reg/RepeatOnce
Reg/Strategy
Rtabmap/ComputeRMSE
Rtabmap/CreateIntermediateNodes
Rtabmap/DetectionRate
Rtabmap/ImageBufferSize
Rtabmap/ImagesAlreadyRectified
Rtabmap/LoopGPS
Rtabmap/LoopRatio
Rtabmap/LoopThr
Rtabmap/MaxRepublished
Rtabmap/MaxRetrieved
Rtabmap/MemoryThr
Rtabmap/PublishLastSignature
Rtabmap/PublishLikelihood
Rtabmap/PublishPdf
Rtabmap/PublishRAMUsage
Rtabmap/PublishStats
Rtabmap/RectifyOnlyFeatures
Rtabmap/SaveWMState
Rtabmap/StartNewMapOnGoodSignature
Rtabmap/StartNewMapOnLoopClosure
Rtabmap/StatisticLogged
Rtabmap/StatisticLoggedHeaders
Rtabmap/StatisticLogsBufferedInRAM
Rtabmap/TimeThr
Rtabmap/WorkingDirectory
SIFT/ContrastThreshold
SIFT/EdgeThreshold
SIFT/NFeatures
SIFT/NOctaveLayers
SIFT/RootSIFT
SIFT/Sigma
SURF/Extended
SURF/GpuKeypointsRatio
SURF/GpuVersion
SURF/HessianThreshold
SURF/OctaveLayers
SURF/Octaves
SURF/Upright
Stereo/DenseStrategy
Stereo/Eps
Stereo/Iterations
Stereo/MaxDisparity
Stereo/MaxLevel
Stereo/MinDisparity
Stereo/OpticalFlow
Stereo/SSD
Stereo/WinHeight
Stereo/WinWidth
StereoBM/BlockSize
StereoBM/Disp12MaxDiff
StereoBM/MinDisparity
StereoBM/NumDisparities
StereoBM/PreFilterCap
StereoBM/PreFilterSize
StereoBM/SpeckleRange
StereoBM/SpeckleWindowSize
StereoBM/TextureThreshold
StereoBM/UniquenessRatio
StereoSGBM/BlockSize
StereoSGBM/Disp12MaxDiff
StereoSGBM/MinDisparity
StereoSGBM/Mode
StereoSGBM/NumDisparities
StereoSGBM/P1
StereoSGBM/P2
StereoSGBM/PreFilterCap
StereoSGBM/SpeckleRange
StereoSGBM/SpeckleWindowSize
StereoSGBM/UniquenessRatio
SuperPoint/Cuda
SuperPoint/ModelPath
SuperPoint/NMS
SuperPoint/NMSRadius
SuperPoint/Threshold
VhEp/Enabled
VhEp/MatchCountMin
VhEp/RansacParam1
VhEp/RansacParam2
Vis/BundleAdjustment
Vis/CorFlowEps
Vis/CorFlowIterations
Vis/CorFlowMaxLevel
Vis/CorFlowWinSize
Vis/CorGuessMatchToProjection
Vis/CorGuessWinSize
Vis/CorNNDR
Vis/CorNNType
Vis/CorType
Vis/DepthAsMask
Vis/EpipolarGeometryVar
Vis/EstimationType
Vis/FeatureType
Vis/ForwardEstOnly
Vis/GridCols
Vis/GridRows
Vis/InlierDistance
Vis/Iterations
Vis/MaxDepth
Vis/MaxFeatures
Vis/MeanInliersDistance
Vis/MinDepth
Vis/MinInliers
Vis/MinInliersDistribution
Vis/PnPFlags
Vis/PnPMaxVariance
Vis/PnPRefineIterations
Vis/PnPReprojError
Vis/RefineIterations
Vis/RoiRatios
Vis/SubPixEps
Vis/SubPixIterations
Vis/SubPixWinSize
approx_sync
cloud_output_voxelized
cloud_subtract_filtering
cloud_subtract_filtering_min_neighbors
config_path
database_path
frame_id
g2o/Baseline
g2o/Optimizer
g2o/PixelVariance
g2o/RobustKernelDelta
g2o/Solver
gen_depth
gen_depth_decimation
gen_depth_fill_holes_error
gen_depth_fill_holes_size
gen_depth_fill_iterations
gen_scan
gen_scan_max_depth
gen_scan_min_depth
ground_truth_base_frame_id
ground_truth_frame_id
initial_pose
is_rtabmap_paused
landmark_angular_variance
landmark_linear_variance
latch
log_to_rosout_level
map_always_update
map_cleanup
map_empty_ray_tracing
map_filter_angle
map_filter_radius
map_frame_id
octomap_tree_depth
odom_frame_id
odom_frame_id_init
odom_sensor_sync
odom_tf_angular_variance
odom_tf_linear_variance
publish_tf
qos
qos_camera_info
qos_gps
qos_image
qos_imu
qos_odom
qos_overrides./clock.subscription.depth
qos_overrides./clock.subscription.durability
qos_overrides./clock.subscription.history
qos_overrides./clock.subscription.reliability
qos_overrides./parameter_events.publisher.depth
qos_overrides./parameter_events.publisher.durability
qos_overrides./parameter_events.publisher.history
qos_overrides./parameter_events.publisher.reliability
qos_overrides./tf.publisher.depth
qos_overrides./tf.publisher.durability
qos_overrides./tf.publisher.history
qos_overrides./tf.publisher.reliability
qos_scan
qos_user_data
queue_size
rgbd_cameras
scan_cloud_is_2d
scan_cloud_max_points
stereo_to_depth
subscribe_depth
subscribe_odom
subscribe_odom_info
subscribe_rgb
subscribe_rgbd
subscribe_scan
subscribe_scan_cloud
subscribe_scan_descriptor
subscribe_stereo
subscribe_user_data
tf_delay
tf_tolerance
use_action_for_goal
use_saved_map
use_sim_time
wait_for_transform
/rtabmap_viz:
approx_sync
camera_node_name
frame_id
init_cache_path
is_rtabmap_paused
max_odom_update_rate
odom_frame_id
odom_sensor_sync
qos
qos_camera_info
qos_image
qos_odom
qos_overrides./clock.subscription.depth
qos_overrides./clock.subscription.durability
qos_overrides./clock.subscription.history
qos_overrides./clock.subscription.reliability
qos_overrides./parameter_events.publisher.depth
qos_overrides./parameter_events.publisher.durability
qos_overrides./parameter_events.publisher.history
qos_overrides./parameter_events.publisher.reliability
qos_scan
qos_user_data
queue_size
rgbd_cameras
rtabmap
subscribe_depth
subscribe_odom
subscribe_odom_info
subscribe_rgb
subscribe_rgbd
subscribe_scan
subscribe_scan_cloud
subscribe_scan_descriptor
subscribe_stereo
subscribe_user_data
use_sim_time
wait_for_transform
/rviz:
qos_overrides./parameter_events.publisher.depth
qos_overrides./parameter_events.publisher.durability
qos_overrides./parameter_events.publisher.history
qos_overrides./parameter_events.publisher.reliability
tf_buffer_cache_time_ms
use_sim_time
and ros2 param get rtabmap use_sim_time
Boolean value is: True
Are you using ros2 rtabmap binaries? I see version 0.21.1. There were some refactoring done to change when this message is shown. You may try latest code.
How to update the latest code.
See build from source here: https://github.com/introlab/rtabmap_ros/tree/ros2#from-source
It still the same, but I think the problem is from realsense gazebo plugin. When I try to use gazebo depth camera plugin, it is working! Thank you><
I want to simulate the RealSense D435i in Gazebo and use RTAB-Map for localization. But RTAB-Map is unable to receive the camera topic.
Here are my xacro and launch files.
launch file
I can see the topic for the RealSense D435i using ros2 topic list, but RTAB-Map displays an error.
"I'm using ROS2 Humble on Ubuntu 22.04."