ROS实验笔记之——基于event camera的ASC*特征

Posted gwpscut

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS实验笔记之——基于event camera的ASC*特征相关的知识,希望对你有一定的参考价值。

目录

原理

测试

参考资料:


原理

详细的理论部分就不阐述了,可以参考原文以及这个博客~【事件相机整理】角点检测与跟踪总结_larrydong的博客-CSDN博客

测试

先进入工程编译源码。注意用ros版本的~

运行的节点图如下

然后下载数据集,并且运行

roslaunch arc_star_ros arc_star.launch rosbag_flag:=1 rosbag_path:=/home/kwanwaipang/dataset/shapes_rotation.bag

若直接运行事件相机如下

roslaunch arc_star_ros arc_star_testing.launch

arc

仿真没有问题但是实测就die掉。。。。。

进入launch文件看看

<launch>
  <!-- <arg name="rosbag_flag" default='0'/>
  <arg name="rosbag_path" default=''/> -->

  <!-- camera driver -->
  <!-- 如果参数rosbag_flag是等于0,则运行davis driver -->
  <!-- <group if="$(eval arg('rosbag_flag')==0)">
    <node name="davis_ros_driver" pkg="davis_ros_driver" type="davis_ros_driver" />

    <param name="autoexposure_enabled" value="true"/>
    <param name="display_method" value="red-blue"/>
    <remap from="events" to="/dvs/events" />
     <remap from="image" to="/dvs/image_raw" />
  </group> -->

  <!-- rosbag player-->
  <!-- <group if="$(eval arg('rosbag_flag')!=0)">
    <node pkg="rosbag" type="play" name="rosbag_player" args="$(arg rosbag_path)"/>
  </group> -->


  <!-- Publish the calibration -->
<!-- <include file="$(find esvo_time_surface)/launch/rosbag_launcher/hkust/my_calib_info.launch" /> -->


  <!-- corner detector -->
  <node name="arc_star_ros" pkg="arc_star_ros" type="arc_star_ros"  output="screen">
    <remap from="events" to="/dvs/events" />
    <remap from="corners" to="/dvs/corners" />
  </node>

  <!-- visualization events-->
  <node name="dvs_renderer_events" pkg="dvs_renderer" type="dvs_renderer">
    <param name="display_method" value="red-blue"/>
    <remap from="events" to="/dvs/events" />
    <remap from="image" to="/dvs/image_raw" />
    <remap from="camera_info" to="/davis/camera_info" />
    <remap from="dvs_rendering" to="dvs_rendering_events" />
  </node>

  <node name="image_view_events" pkg="image_view" type="image_view">
  	<remap from="image" to="dvs_rendering_events"/>
  </node>

  <!-- visualization corners-->
  <node name="dvs_renderer_corners" pkg="dvs_renderer" type="dvs_renderer">
    <param name="display_method" value="red-blue"/>
    <remap from="events" to="/dvs/corners" />
    <remap from="image" to="/dvs/image_raw" />
    <remap from="camera_info" to="/davis/camera_info" />
    <remap from="dvs_rendering" to="dvs_rendering_corners" />
  </node>

  <node name="image_view_corners" pkg="image_view" type="image_view">
  	<remap from="image" to="dvs_rendering_corners"/>
  </node>

</launch>

也没有什么特别的吖。。。决定录包试试

录制事件相机的数据包

如何优雅的录制ROS的rosbag包?_The_Dream_Runner的博客-CSDN博客_ros录制bag包

<launch>

	<node pkg="rosbag" type="record" name="bag_record" args="/davis/camera_info /dvs/events /dvs/image_raw /dvs/imu  /dvs_rendering  -o /home/kwanwaipang/catkin_ws_dvs/hku_desk "/>
                                                                                                               
</launch>
roslaunch dvs_renderer davis_testing.launch
roslaunch dvs_renderer davis_recording.launch

先试试0.3倍速吧

rosbag play /home/kwanwaipang/catkin_ws_dvs/hku_desk_2021-10-04-17-25-27.bag -r 0.3

还是不行。。。最终发现是代码里面有点问题,通过debug后终于解决了!效果如下:

arc

实测如下:

arc

参考资料:

事件相机整理角点检测与跟踪总结 | 码农家园

Alzugaray Lopez I, Chli M. HASTE: multi-Hypothesis Asynchronous Speeded-up Tracking of Events[C]//31st British Machine Vision Virtual Conference (BMVC 2020). ETH Zurich, Institute of Robotics and Intelligent Systems, 2020: 744.

Alzugaray I, Chli M. Asynchronous corner detection and tracking for event cameras in real time[J]. IEEE Robotics and Automation Letters, 2018, 3(4): 3177-3184.

GitHub - ialzugaray/arc_star_ros: Implentation of the Arc* algorithm, described in "Asynchronous Corner Detection and Tracking for Event Cameras in Real Time", Alzugaray & Chli, RA-L 2018

GitHub - ialzugaray/haste: Multi-Hypothesis Asynchronous Tracking of Events. Alzugaray & Chli, BMVC 2020 / 3DV 2019

https://github.com/uzh-rpg/rpg_corner_events  (corner detection)

https://github.com/kazuotani14/EventBasedVisualOdometry  (evo)

以上是关于ROS实验笔记之——基于event camera的ASC*特征的主要内容,如果未能解决你的问题,请参考以下文章

ROS实验笔记之——event camera产生TS与EM

ROS实验笔记之——基于dv-gui多次标定event与imu的实验记录

ROS仿真笔记之——基于gazebo的event camera仿真(dvs gazebo)

ROS实验笔记之——基于dv-gui的camera与IMU校正(DAVIS346与DVXplorer)

ROS实验笔记之——基于Augmented State EKF的多传感器融合(IMU,PnP,VO)

ROS实验笔记之——基于l515激光相机的FLVIS与MLMapping