gogojjh / ESVO_extension

63 stars 8 forks source link

could you share the 'analyze_trajectory_single_vo.py ' file ? #3

Open SharineLee opened 2 years ago

gogojjh commented 2 years ago

I am sorry that this file cannot be released... If you want to evaluate the trajectory, please use this original library: https://github.com/uzh-rpg/rpg_trajectory_evaluation

Thanks!

SharineLee commented 2 years ago

thank you for your reply!

could i ask you another question? How to run this code with my own mono event camera dataset?cause i saw that ‘system_rpg.launch' and 'system_sim.launch' both need two camera topic (left&right),but my own dataset only have one camera topic.

gogojjh commented 2 years ago

Please check this launch file: https://github.com/gogojjh/ESVO_extension/blob/multi_rep_tracking/esvo_core/launch/monosystem/monosystem_simu.launch It only requires one camera topic.

SharineLee commented 2 years ago

Please check this launch file: https://github.com/gogojjh/ESVO_extension/blob/multi_rep_tracking/esvo_core/launch/monosystem/monosystem_simu.launch It only requires one camera topic.

thanks a lot! i will try later.

SharineLee commented 2 years ago

hi dear author,

when i run "monosystem_simu.launch", there is an error:

ERROR: cannot launch node of type [esvo_core/esvo_MonoTracking]: Cannot locate node of type [esvo_MonoTracking] in package [esvo_core]. Make sure file exists in package path and permission is set to executable (chmod +x)

but i catkin build success, and i can successfully run the "system_rpg_stereo.launch".

gogojjh commented 2 years ago

Sorry ... Please run this launch file: https://github.com/gogojjh/ESVO_extension/blob/multi_rep_tracking/esvo_core/launch/mvsmono/mvsmono_rpg_mono.launch

you can check the README.md to use: 1.1 esvo_MVSMono.cpp Thanks.

SharineLee commented 2 years ago

Sorry ... Please run this launch file: https://github.com/gogojjh/ESVO_extension/blob/multi_rep_tracking/esvo_core/launch/mvsmono/mvsmono_rpg_mono.launch

you can check the README.md to use: 1.1 esvo_MVSMono.cpp Thanks.

but esvo_MVSMono.cpp just mapping, don't have mono tracking.

how to run "esvo_Tracking.cpp" with mono event camera?

SharineLee commented 2 years ago
<launch>
    <rosparam param="/use_sim_time">true</rosparam>

  <!-- Render events -->
  <node name="dvs_renderer" pkg="dvs_renderer" type="dvs_renderer" output="screen" required="false">
    <remap from="events" to="/cam0/events" />
    <remap from="image" to="/cam0/image_raw" />
    <remap from="dvs_rendering" to="dvs_rendering" />
  </node>

  <!-- Time surfaces generation -->
  <node name="TimeSurface_left" pkg="esvo_time_surface" type="esvo_time_surface">
        <remap from="events" to="/cam0/events" />
        <remap from="image" to="/cam0/image_raw" />
        <remap from="camera_info" to="/cam0/camera_info" />
        <remap from="time_surface" to="/TS_left" />

    <rosparam command="load" file="$(find esvo_core)/cfg/time_surface/ts_parameters.yaml" />
  </node>

    <!-- Synchronize both Time Surfaces using the rosbag timer -->
  <node name="global_timer" pkg="rostopic" type="rostopic" args="pub -s -r 70 /sync std_msgs/Time 'now' ">
    <!-- Modify the rate according to the speed that the bag is played-->
    </node>

    <!-- Calibration folder -->
    <!-- <arg name="calibInfoDirStr" default="$(find esvo_core)/calib/rpg_simu"/> -->
    <arg name="calibInfoDirStr" default="$(find esvo_core)/calib/simu_mono"/>

    <!-- Mapping node -->
    <!-- launch-prefix="gdb -ex run -\-args" -->
    <node name="esvo_MonoMapping" pkg="esvo_core" type="esvo_MonoMapping" output="screen" required="true">
        <remap from="time_surface_left" to="/TS_left" />
        <remap from="events_left" to="/cam0/events" />
        <remap from="stamped_pose" to="/esvo_MonoTracking/pose_pub" />
        <rosparam param="dvs_frame_id">"dvs"</rosparam>
        <rosparam param="world_frame_id">"map"</rosparam>
        <rosparam param="calibInfoDir" subst_value="true">$(arg calibInfoDirStr)</rosparam>
        <rosparam command="load" file="$(find esvo_core)/cfg/monomapping/mapping_simu.yaml" />
    </node>

    <!-- Tracking node -->
    <!-- <node name="esvo_MonoTracking" pkg="esvo_core" type="esvo_MonoTracking" output="screen" required="true">
        <remap from="time_surface_left" to="/TS_left" />
        <remap from="events_left" to="/cam0/events" />
        <remap from="pointcloud" to="/esvo_MonoMapping/pointcloud_local" />
        <remap from="stamped_pose" to="/esvo_MonoTracking/pose_pub" />
        <remap from="gt_pose" to="/cam0/pose" />
        <rosparam param="dvs_frame_id">"dvs"</rosparam>
        <rosparam param="world_frame_id">"map"</rosparam>
        <rosparam param="calibInfoDir" subst_value="true">$(arg calibInfoDirStr)</rosparam>
        <rosparam command="load" file="$(find esvo_core)/cfg/tracking/tracking_simu.yaml" />
    </node> -->
    <node name="esvo_MonoTracking" pkg="esvo_core" type="esvo_Tracking" output="screen" required="true">
        <remap from="time_surface_left" to="/TS_left" />
        <remap from="events_left" to="/cam0/events" />
        <remap from="pointcloud" to="/esvo_MonoMapping/pointcloud_local" />
        <remap from="stamped_pose" to="/esvo_MonoTracking/pose_pub" />
        <remap from="gt_pose" to="/cam0/pose" />
        <rosparam param="dvs_frame_id">"dvs"</rosparam>
        <rosparam param="world_frame_id">"map"</rosparam>
        <rosparam param="calibInfoDir" subst_value="true">$(arg calibInfoDirStr)</rosparam>
        <rosparam command="load" file="$(find esvo_core)/cfg/tracking/tracking_simu.yaml" />
    </node>

    <!-- Play bag -->
    <node pkg="rosbag" type="play" name="play"
        args="/home/sharine/dataset/ESVO_Exten_data/simu/office_planar_edited.bag -r 0.3 --clock">
    </node>

    <!-- Visualization -->
    <!-- <node pkg="rqt_gui" type="rqt_gui" name="rqt_gui"
    args="-perspective-file $(find esvo_core)/esvo_system.perspective" /> -->
    <node pkg="rviz" type="rviz" name="rviz"
    args="-d $(find esvo_core)/esvo_system.rviz" />
</launch>

this is my launch , but cannot output the tracking traj in the rviz , there is the output in the terminal:

I20220527 12:14:56.708307 16081 esvo_MonoMapping.cpp:235] Initialization is successfully done!
publish image from callback
I20220527 12:14:56.863593 16081 esvo_MonoMapping.cpp:550] ********** Initialization (planar depth map) returns 4141 points.
I20220527 12:14:56.868858 16081 esvo_MonoMapping.cpp:235] Initialization is successfully done!
publish image from callback
publish image from callback
I20220527 12:14:57.035795 16081 esvo_MonoMapping.cpp:550] ********** Initialization (planar depth map) returns 4448 points.
I20220527 12:14:57.041745 16081 esvo_MonoMapping.cpp:235] Initialization is successfully done!
publish image from callback
I20220527 12:14:57.198048 16081 esvo_MonoMapping.cpp:550] ********** Initialization (planar depth map) returns 4459 points.
I20220527 12:14:57.202867 16081 esvo_MonoMapping.cpp:235] Initialization is successfully done!
publish image from callback
publish image from callback
I20220527 12:14:57.361990 16081 esvo_MonoMapping.cpp:550] ********** Initialization (planar depth map) returns 4615 points.
I20220527 12:14:57.367429 16081 esvo_MonoMapping.cpp:235] Initialization is successfully done!
publish image from callback
I20220527 12:14:57.534181 16081 esvo_MonoMapping.cpp:550] ********** Initialization (planar depth map) returns 4489 points.
I20220527 12:14:57.539654 16081 esvo_MonoMapping.cpp:235] Initialization is successfully done!
publish image from callback
publish image from callback
I20220527 12:14:57.694916 16081 esvo_MonoMapping.cpp:550] ********** Initialization (planar depth map) returns 4493 points.
I20220527 12:14:57.700410 16081 esvo_MonoMapping.cpp:235] Initialization is successfully done!
publish image from callback
I20220527 12:14:57.867623 16081 esvo_MonoMapping.cpp:550] ********** Initialization (planar depth map) returns 4385 points.
I20220527 12:14:57.872408 16081 esvo_MonoMapping.cpp:235] Initialization is successfully done!
publish image from callback
publish image from callback
I20220527 12:14:58.029752 16081 esvo_MonoMapping.cpp:550] ********** Initialization (planar depth map) returns 4379 points.
I20220527 12:14:58.034657 16081 esvo_MonoMapping.cpp:235] Initialization is successfully done!
publish image from callback
I20220527 12:14:58.200503 16081 esvo_MonoMapping.cpp:550] ********** Initialization (planar depth map) returns 4160 points.
I20220527 12:14:58.205339 16081 esvo_MonoMapping.cpp:235] Initialization is successfully done!
....
SharineLee commented 2 years ago

if i want to run a mono event camera SLAM (have both mono mapping and mono tracking), which launch should i run?

Thanks.

gogojjh commented 2 years ago

Sorry that mono tracking is not well finished and supported ...

SharineLee commented 2 years ago

Sorry that mono tracking is not well finished and supported ...

ok, i know, looking for your next work!