From 1c1970b6ccd8cff28f1cdde75cec971b996d570e Mon Sep 17 00:00:00 2001 From: Mederic Fourmy <mederic.fourmy@gmail.com> Date: Thu, 28 Jul 2022 13:50:10 +0200 Subject: [PATCH] Make sense of the topic names --- launch/demo_vo_aprilag.launch | 2 +- rviz/d435i.rviz | 4 +- rviz/d435i_apriltag.rviz | 17 ++++-- rviz/euroc.rviz | 4 +- yaml/demo_vio_apriltag_d435i.yaml | 22 ++++---- yaml/demo_vio_d435i.yaml | 6 +-- yaml/demo_vio_euroc.yaml | 6 +-- yaml/demo_vo_apriltag_d435i.yaml | 84 +++++++++++++++++------------ yaml/demo_vo_d435i.yaml | 6 +-- yaml/demo_vo_euroc.yaml | 26 ++------- yaml/processor_visual_odometry.yaml | 11 +++- 11 files changed, 101 insertions(+), 87 deletions(-) diff --git a/launch/demo_vo_aprilag.launch b/launch/demo_vo_aprilag.launch index e465cf9..8a23794 100644 --- a/launch/demo_vo_aprilag.launch +++ b/launch/demo_vo_aprilag.launch @@ -1,7 +1,7 @@ <!-- --> <launch> <!--USER ARGS--> - <arg name="rviz" default="false" /> + <arg name="rviz" default="true" /> <arg name="speed" default="1" /> <arg name="sec" default="0" /> <arg name="sim_time" default="true" /> diff --git a/rviz/d435i.rviz b/rviz/d435i.rviz index 850179d..b67f53a 100644 --- a/rviz/d435i.rviz +++ b/rviz/d435i.rviz @@ -143,7 +143,7 @@ Visualization Manager: Value: false - Class: rviz/Image Enabled: true - Image Topic: /image_vo_tracks + Image Topic: /wolf_ros_node/image_vo_tracks Max Value: 1 Median window: 5 Min Value: 0 @@ -155,7 +155,7 @@ Visualization Manager: Value: true - Class: rviz/Image Enabled: true - Image Topic: /image_vo_tracks_preprocessor + Image Topic: /wolf_ros_node/image_vo_tracks_preprocessor Max Value: 1 Median window: 5 Min Value: 0 diff --git a/rviz/d435i_apriltag.rviz b/rviz/d435i_apriltag.rviz index 76f4c2d..1e533f5 100644 --- a/rviz/d435i_apriltag.rviz +++ b/rviz/d435i_apriltag.rviz @@ -29,7 +29,7 @@ Panels: Experimental: false Name: Time SyncMode: 0 - SyncSource: VO tracks + SyncSource: "" Preferences: PromptSaveOnExit: true Toolbars: @@ -69,6 +69,12 @@ Visualization Manager: Frame Timeout: 15 Frames: All Enabled: false + base_footprint: + Value: true + map: + Value: true + odom: + Value: true Marker Alpha: 1 Marker Scale: 0.5 Name: TF @@ -76,7 +82,10 @@ Visualization Manager: Show Axes: true Show Names: false Tree: - {} + map: + odom: + base_footprint: + {} Update Interval: 0 Value: true - Class: rviz/MarkerArray @@ -136,7 +145,7 @@ Visualization Manager: Value: false - Class: rviz/Image Enabled: true - Image Topic: /image_vo_tracks + Image Topic: /wolf_ros_node/image_vo_tracks Max Value: 1 Median window: 5 Min Value: 0 @@ -160,7 +169,7 @@ Visualization Manager: Value: true - Class: rviz/Image Enabled: false - Image Topic: /image_vo_tracks_preprocessor + Image Topic: /wolf_ros_node/image_vo_tracks_preprocessor Max Value: 1 Median window: 5 Min Value: 0 diff --git a/rviz/euroc.rviz b/rviz/euroc.rviz index 04c9409..cf7f2e0 100644 --- a/rviz/euroc.rviz +++ b/rviz/euroc.rviz @@ -148,7 +148,7 @@ Visualization Manager: Value: false - Class: rviz/Image Enabled: true - Image Topic: /image_vo_tracks + Image Topic: /wolf_ros_node/image_vo_tracks Max Value: 1 Median window: 5 Min Value: 0 @@ -160,7 +160,7 @@ Visualization Manager: Value: true - Class: rviz/Image Enabled: true - Image Topic: /image_vo_tracks_preprocessor + Image Topic: /wolf_ros_node/image_vo_tracks_preprocessor Max Value: 1 Median window: 5 Min Value: 0 diff --git a/yaml/demo_vio_apriltag_d435i.yaml b/yaml/demo_vio_apriltag_d435i.yaml index 2d43c28..c0ae8fe 100644 --- a/yaml/demo_vio_apriltag_d435i.yaml +++ b/yaml/demo_vio_apriltag_d435i.yaml @@ -114,19 +114,21 @@ config: - type: "PublisherVisionDebug" processor_name: "VISUALODOMETRY PROC" - topic: "/image_vo_tracks" - topic_preprocessor: "/image_vo_tracks_preprocessor" + topic: "image_vo_tracks" + topic_preprocessor: "image_vo_tracks_preprocessor" package: "wolf_ros_vision" - period: 0.05 + period: 0.1 follow: "publisher_vision_debug.yaml" - - - type: "PublisherImuBias" - sensor_name: "IMU" - processor_name: "IMU" - topic: "/imu_bias" - package: "wolf_ros_imu" - period: 0.05 + + # - + # type: "PublisherImuBias" + # sensor_name: "IMU" + # processor_name: "IMU" + # topic: "imu_bias" + # package: "wolf_ros_imu" + # period: 0.05 - + type: "PublisherApriltagDebug" processor_name: "APRILTAG PROC" topic: "apriltag_detections" diff --git a/yaml/demo_vio_d435i.yaml b/yaml/demo_vio_d435i.yaml index dea29e4..e341ca8 100644 --- a/yaml/demo_vio_d435i.yaml +++ b/yaml/demo_vio_d435i.yaml @@ -107,8 +107,8 @@ config: - type: "PublisherVisionDebug" processor_name: "VISUALODOMETRY PROC" - topic: "/image_vo_tracks" - topic_preprocessor: "/image_vo_tracks_preprocessor" + topic: "image_vo_tracks" + topic_preprocessor: "image_vo_tracks_preprocessor" package: "wolf_ros_vision" period: 0.05 follow: "publisher_vision_debug.yaml" @@ -116,6 +116,6 @@ config: type: "PublisherImuBias" sensor_name: "IMU" processor_name: "IMU" - topic: "/imu_bias" + topic: "imu_bias" package: "wolf_ros_imu" period: 0.05 diff --git a/yaml/demo_vio_euroc.yaml b/yaml/demo_vio_euroc.yaml index b9c55f8..b765e88 100644 --- a/yaml/demo_vio_euroc.yaml +++ b/yaml/demo_vio_euroc.yaml @@ -111,8 +111,8 @@ config: - type: "PublisherVisionDebug" processor_name: "VISUALODOMETRY PROC" - topic: "/image_vo_tracks" - topic_preprocessor: "/image_vo_tracks_preprocessor" + topic: "image_vo_tracks" + topic_preprocessor: "image_vo_tracks_preprocessor" package: "wolf_ros_vision" period: 0.05 follow: "publisher_vision_debug.yaml" @@ -120,6 +120,6 @@ config: type: "PublisherImuBias" sensor_name: "IMU" processor_name: "IMU" - topic: "/imu_bias" + topic: "imu_bias" package: "wolf_ros_imu" period: 0.05 diff --git a/yaml/demo_vo_apriltag_d435i.yaml b/yaml/demo_vo_apriltag_d435i.yaml index d494662..3de7d83 100644 --- a/yaml/demo_vo_apriltag_d435i.yaml +++ b/yaml/demo_vo_apriltag_d435i.yaml @@ -2,7 +2,7 @@ config: debug: profiling: true - profiling_file: "~/wolf_demo_vio_profiling.txt" + profiling_file: "~/wolf_demo_vo_apriltag_profiling.txt" print_problem: true print_depth: 3 # only if print_problem print_constr_by: true # only if print_problem @@ -38,6 +38,15 @@ config: # pose: [0,0,0, 0,0,0,1] using_raw: false follow: "camera_d435i.yaml" + - + type: "SensorCamera" + name: "CAMERA APRIL" + plugin: "vision" + extrinsic: + pose: [-0.006, 0.005, 0.012, 0,0,0,1] # D435i left infra + # pose: [0,0,0, 0,0,0,1] + using_raw: false + follow: "camera_d435i.yaml" processors: - @@ -46,10 +55,11 @@ config: sensor_name: "CAMERA" plugin: "vision" follow: "processor_visual_odometry.yaml" + - type: "ProcessorTrackerLandmarkApriltag" name: "APRILTAG PROC" - sensor_name: "CAMERA" + sensor_name: "CAMERA APRIL" plugin: "apriltag" follow: "processor_tracker_landmark_apriltag.yaml" @@ -59,46 +69,52 @@ config: type: "SubscriberCamera" topic: "/camera/infra1/image_rect_raw" sensor_name: "CAMERA" + + - + package: "wolf_ros_vision" + type: "SubscriberCamera" + topic: "/camera/infra1/image_rect_raw" + sensor_name: "CAMERA APRIL" ROS publisher: - # - - # type: "PublisherGraph" - # topic: "graph" - # package: "wolf_ros_node" - # period: 0.2 - # viz_scale: 0.3 - # text_scale: 0.1 - # landmark_text_z_offset: 0.3 - # landmark_length: 0.5 - # frame_width: 0.01 - # frame_length: 0.1 - # frame_vel_scale: 1.0 - # factors_width: 0.01 - # factor_lmk_color: [0, 1, 1, 0.004] + - + type: "PublisherGraph" + topic: "graph" + package: "wolf_ros_node" + period: 0.2 + viz_scale: 0.3 + text_scale: 0.1 + landmark_text_z_offset: 0.3 + landmark_length: 0.5 + frame_width: 0.01 + frame_length: 0.1 + frame_vel_scale: 1.0 + factors_width: 0.01 + factor_lmk_color: [0, 1, 1, 0.004] - # - - # type: "PublisherTf" - # topic: " " - # package: "wolf_ros_node" - # period: 0.2 - # map_frame_id: "map" - # odom_frame_id: "odom" - # base_frame_id: "base_footprint" - # publish_odom_tf: true + - + type: "PublisherTf" + topic: " " + package: "wolf_ros_node" + period: 0.2 + map_frame_id: "map" + odom_frame_id: "odom" + base_frame_id: "base_footprint" + publish_odom_tf: true - # - - # type: "PublisherVisionDebug" - # processor_name: "VISUALODOMETRY PROC" - # topic: "/image_vo_tracks" - # topic_preprocessor: "/image_vo_tracks_preprocessor" - # package: "wolf_ros_vision" - # period: 100 - # follow: "publisher_vision_debug.yaml" + - + type: "PublisherVisionDebug" + processor_name: "VISUALODOMETRY PROC" + topic: "image_vo_tracks" + topic_preprocessor: "image_vo_tracks_preprocessor" + package: "wolf_ros_vision" + period: 0.1 + follow: "publisher_vision_debug.yaml" - type: "PublisherApriltagDebug" processor_name: "APRILTAG PROC" topic: "apriltag_detections" package: "wolf_ros_apriltag" - period: 100 + period: 0.1 diff --git a/yaml/demo_vo_d435i.yaml b/yaml/demo_vo_d435i.yaml index 5afdc67..ee48cd9 100644 --- a/yaml/demo_vo_d435i.yaml +++ b/yaml/demo_vo_d435i.yaml @@ -16,7 +16,7 @@ config: frame_structure: "PO" dimension: 3 prior: - mode: "initial_guess" + mode: "factor" $state: P: [0,0,0] O: [1,0,0,0] #Â arbitrary @@ -83,8 +83,8 @@ config: - type: "PublisherVisionDebug" processor_name: "VISUALODOMETRY PROC" - topic: "/image_vo_tracks" - topic_preprocessor: "/image_vo_tracks_preprocessor" + topic: "image_vo_tracks" + topic_preprocessor: "image_vo_tracks_preprocessor" package: "wolf_ros_vision" period: 0.05 follow: "publisher_vision_debug.yaml" diff --git a/yaml/demo_vo_euroc.yaml b/yaml/demo_vo_euroc.yaml index 8e45d48..95b1398 100644 --- a/yaml/demo_vo_euroc.yaml +++ b/yaml/demo_vo_euroc.yaml @@ -19,10 +19,7 @@ config: mode: "factor" $state: P: [0,0,0] - # P: [0,0,0.5] - O: [0,0,0,1] - # O: [0, 0.20791169, 0, 0.9781476] # x,y,z,w -# O: [0, -0.78770522698, 0, -0.61605233169] # -105 deg along Y axes + O: [0,0,0,1] # arbitrary $sigma: P: [0.00001, 0.00001, 0.00001] O: [0.01, 0.01, 0.01] @@ -64,16 +61,6 @@ config: type: "SubscriberCamera" topic: "/cam0/image_rect" sensor_name: "CAMERA" - - - package: "wolf_ros_imu" - type: "SubscriberImu" - topic: "/imu0" - sensor_name: "IMU" - # imu_x_axis: 3 # See VI-sensor axes in https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets#platform_and_sensors ??? - # imu_y_axis: -2 - # imu_z_axis: 1 - cov_source: "sensor" - in_degrees: false ROS publisher: - @@ -104,15 +91,8 @@ config: - type: "PublisherVisionDebug" processor_name: "VISUALODOMETRY PROC" - topic: "/image_vo_tracks" - topic_preprocessor: "/image_vo_tracks_preprocessor" + topic: "image_vo_tracks" + topic_preprocessor: "image_vo_tracks_preprocessor" package: "wolf_ros_vision" period: 0.05 follow: "publisher_vision_debug.yaml" - - - type: "PublisherImuBias" - sensor_name: "IMU" - processor_name: "IMU" - topic: "/imu_bias" - package: "wolf_ros_imu" - period: 0.05 diff --git a/yaml/processor_visual_odometry.yaml b/yaml/processor_visual_odometry.yaml index 8fe26c1..6fae676 100644 --- a/yaml/processor_visual_odometry.yaml +++ b/yaml/processor_visual_odometry.yaml @@ -3,6 +3,9 @@ #################################### time_tolerance: 0.05 +state_getter: false +state_priority: 0 + keyframe_vote: voting_active: true # Trigger a new keyframe creation as well as detection of new keypoints in last frame @@ -77,5 +80,9 @@ ransac: # standard deviation of the pixel reprojection factor std_pix: 0.5 -# before creating a landmark, wait until the track is old enough -min_track_length_for_landmark: 10 +# Rules to create a new landmark from a track +lmk_creation: + # wait until the track is old enough + min_track_length_for_landmark: 10 + # enough pixel distance (does not make a big difference) + min_pixel_dist: 10.0 -- GitLab