Open Novotendo opened 2 years ago
Any update on this topic? I would like to use Prophesee cameras. Could you share your launch file with me please?
hello, we wonder if you did any progress on this topic ? and if you converted the format of event messages to the dvs format ?
Hi, I changed the message type from prophesee_event_msgs to dvs_msgs (after build dvs_msgs inside the same prophesee driver workspace), and still the bootstraping node crash on start. Anyone has manage to solve this issue?
Hey, a small update: I manage to solve the issue where the error was:
E20211130 12:52:53.212966 3991 yaml-serialization.h:42] Key "label" does not exist
E20211130 12:52:53.213938 3991 ncamera_yaml_serialization.cpp:23] Unable to get the label for the ncamera.
You need to add the .yaml calibration file to the dvs_tracking/parameters/calib
make sure to use the same formats as the DAVIS (I just copied one of the given calibration files and changed the values that were calculated with the Metavision calibration functions).
Adding another file with the same name to the dvs_tracking/parameters/calib/ncamera
folder. be aware that this file is also .yaml but has a different format(including the label
key which the error says is missing). Just copy one of the given files and edit it for your needs.
You may need to edit the prophesee_ros_publisher.cpp
node. I increased the event_delta_t
parameter to about 0.03
.
I used the 640x480 SilkyEV sensor with Ubuntu 20.04 and ROS noetic, all the nodes are running smoothly, just need to find the right parameters for each node in order to perform stable tracking.
I have the same issues,do you solve them?
Renewing the question that @SeaEastXu had. Has anyone solved the problem with bootstrapping node crashing? @iftahnaf @C4sp1 @nlyubova
@stensalumets Yes, please check my reply, it worked for me.
@stensalumets Yes, please check my reply, it worked for me.
@iftahnaf , would you mind sharing the two .yaml files that you resulted in?
I have the two yaml files (with their calibration values being identical to DAVIS cameras at this point) Also increased event_delta_t. I created a custom wrapper that subscribes to /prophesee/camera/cd_events_buffer and publishes /dvs/events.
Using Prophesee EVK4 HD camera, 1280x720 resolution.
No errors until I rosrun the wrapper, then the following error appears (the same that you had):
OpenCV Error: Iterations do not converge (NaN encountered.) in findTransformECC, file /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/video/src/ecc.cpp, line 515
W20221121 16:49:15.084309 20224 motion_correction.cpp:69] NaN encountered.
*** Aborted at 1669042155 (unix time) try "date -d @1669042155" if you are using GNU date ***
PC: @ 0x0 (unknown)
*** SIGSEGV (@0x7fb4e21ea948) received by PID 20072 (TID 0x7fb4bf5da700) from PID 18446744073208244552; stack trace: ***
@ 0x7fb4f3076f10 (unknown)
@ 0x7fb4f3a05f5d motion_correction::drawEventsMotionCorrectedOpticalFlow()
@ 0x7fb4f3a01d20 dvs_bootstrapping::EventsFramesBootstrapper::integrateEvents()
@ 0x7fb4f3a03260 dvs_bootstrapping::EventsFramesBootstrapper::integratingThread()
@ 0x7fb4f36fe6df (unknown)
@ 0x7fb4f2e206db start_thread
@ 0x7fb4f315961f clone
@ 0x0 (unknown)
[dvs_bootstrapping-8] process has died [pid 20072, exit code -11, cmd /home/sten/catkin_ws/devel/lib/dvs_bootstrapping/dvs_bootstrapping_frontoplanar_ros events:=/dvs/events remote_key:=/evo/remote_key pointcloud:=dvs_mapping/pointcloud __name:=dvs_bootstrapping __log:=/home/sten/.ros/log/9115fbfe-69ab-11ed-8d0a-080027f5e9e0/dvs_bootstrapping-8.log].
log file: /home/sten/.ros/log/9115fbfe-69ab-11ed-8d0a-080027f5e9e0/dvs_bootstrapping-8*.log
Hi @stensalumets,
It seems that you got another error, not related to the .yaml
files.
The error that I had was related to the .yaml
parameters and camera definitions:
E20211130 12:52:53.212966 3991 yaml-serialization.h:42] Key "label" does not exist E20211130 12:52:53.213938 3991 ncamera_yaml_serialization.cpp:23] Unable to get the label for the ncamera.
I checked the other issue #23 that you comment and the problem there seems to happened because of the algorithm not converging:
OpenCV Error: Iterations do not converge (The algorithm stopped before its convergence. The correlation is going to be minimized. Images may be uncorrelated or non-overlapped) in findTransformECC, file /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/video/src/ecc.cpp, line 530
and in the logs, you can see that the system finds the right .yaml
files.
I suggest trying three things:
.yaml
.bootstrap
node to be more robust.Hope you will figure it out, good luck anyway, Iftach.
Hi, thank you for the pointers! Will inform on any update
Problem solved by changing ros parameters virtual_width and virtual_height params to the appropriate value in dvs_tracking launch file.
Hi @iftahnaf @stensalumets ,
What's your procedure of running this code live with svo bootstrapper? I'm using a DAVIS346 to run this code live with the svo bootstrapper, but no image was shown in "Tracking" and "Sparse depth map" in rviz. And pressing the reset or start button in "rqt_svo" window doesn't help.
I did try to press the bootstrap button in "rqt_evo" window and the image in "Tracking" and "Sparse depth map" did show up, but the trajectory immediately drifted away and caused the process to terminate.
Any ideas how to solve these problems?
Hi @iftahnaf @stensalumets ,
What's your procedure of running this code live with svo bootstrapper? I'm using a DAVIS346 to run this code live with the svo bootstrapper, but no image was shown in "Tracking" and "Sparse depth map" in rviz. And pressing the reset or start button in "rqt_svo" window doesn't help.
I did try to press the bootstrap button in "rqt_evo" window and the image in "Tracking" and "Sparse depth map" did show up, but the trajectory immediately drifted away and caused the process to terminate.
Any ideas how to solve these problems?
Hello, Could you solve this issue?
Hello there!
I'm using a Prophesee event camera to test this package. I've changed the live.launch with the proper topics of my camera. First, I run my event camera driver (https://github.com/prophesee-ai/prophesee_ros_wrapper). However, when I run the live.launch, the svo and bootstrapper nodes die from the beggining. Any ideas?
Here is the output:
alvaro@alvaro-ROG-Strix-G531GT-G531GT:~/evo_ws$ roslaunch dvs_tracking prophesee_live.launch ... logging to /home/alvaro/.ros/log/0aaab946-51d4-11ec-9fce-d4d25270da41/roslaunch-alvaro-ROG-Strix-G531GT-G531GT-3971.log Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt WARNING: disk usage in log directory [/home/alvaro/.ros/log] is over 1GB. It's recommended that you use the 'rosclean' command.
started roslaunch server http://alvaro-ROG-Strix-G531GT-G531GT:33583/
SUMMARY
CLEAR PARAMETERS
PARAMETERS
NODES / dvs_bootstrapping (dvs_bootstrapping/dvs_bootstrapping_ef_ros) dvs_mapping (dvs_mapping/dvs_mapping_ros) dvs_reconstruction (dvs_reconstruction/dvs_reconstruction_ros) dvs_renderer_left (dvs_renderer/dvs_renderer) dvs_tracking (dvs_tracking/dvs_tracking_ros) pose_to_tf (dvs_bootstrapping/pose_to_tf.py) rqt_evo (rqt_evo/rqt_evo) rviz (rviz/rviz) snakify (evo_utils/snakify.py) svo (svo_ros/svo_node) svo_gui (rqt_gui/rqt_gui) tf_to_camera_marker (evo_utils/tf_to_camera_markers.py) trigger_map_expansion (dvs_mapping/trigger_map_expansion.py)
ROS_MASTER_URI=http://localhost:11311
process[svo-1]: started with pid [3991] process[svo_gui-2]: started with pid [3992] process[pose_to_tf-3]: started with pid [3993] process[dvs_mapping-4]: started with pid [3994] process[trigger_map_expansion-5]: started with pid [3995] process[dvs_tracking-6]: started with pid [3997] process[dvs_bootstrapping-7]: started with pid [3998] process[dvs_reconstruction-8]: started with pid [3999] process[tf_to_camera_marker-9]: started with pid [4000] process[snakify-10]: started with pid [4001] process[rqt_evo-11]: started with pid [4002] process[dvs_renderer_left-12]: started with pid [4003] process[rviz-13]: started with pid [4004] [ INFO] [1638273173.208864842]: Found parameter: pipeline_is_stereo, value: 0 [ WARN] [1638273173.210862778]: Cannot find value for parameter: set_initial_attitude_from_gravity, assigning default: 1 [ WARN] [1638273173.211189205]: Cannot find value for parameter: automatic_reinitialization, assigning default: 0 [ INFO] [1638273173.211997656]: Found parameter: calib_file, value: /home/alvaro/evo_ws/src/rpg_dvs_evo_open/dvs_tracking/parameters/calib/prophesee.yaml E20211130 12:52:53.212966 3991 yaml-serialization.h:42] Key "label" does not exist E20211130 12:52:53.213938 3991 ncamera_yaml_serialization.cpp:23] Unable to get the label for the ncamera. Aborted at 1638273173 (unix time) try "date -d @1638273173" if you are using GNU date [ INFO] [1638273173.222479828]: Found parameter: auto_trigger, value: 1 I20211130 12:52:53.223518 3998 Bootstrapper.cpp:18] Bootstrapper initially idle: 0 [ INFO] [1638273173.225325457]: Found parameter: camera_name, value: prophesee [ INFO] [1638273173.226601637]: Found parameter: calib_file, value: /home/alvaro/evo_ws/src/rpg_dvs_evo_open/dvs_tracking/parameters/calib/prophesee.yaml [ INFO] [1638273173.228058297]: camera calibration URL: file:///home/alvaro/evo_ws/src/rpg_dvs_evo_open/dvs_tracking/parameters/calib/prophesee.yaml PC: @ 0x0 (unknown) SIGSEGV (@0x20) received by PID 3991 (TID 0x7f6746ce2b80) from PID 32; stack trace: @ 0x7f6745b82040 (unknown) @ 0x7f6743048e20 vk::cameras::NCamera::loadFromYaml() @ 0x7f67465a889a svo::factory::loadCameraFromYaml() [ INFO] [1638273173.249404475]: Found parameter: world_frame_id, value: /world [ INFO] [1638273173.250579719]: Found parameter: dvs_bootstrap_frame_id, value: /camera_0 @ 0x7f67465aa1cc svo::factory::makeMono() @ 0x7f6746589f12 svo::SvoInterface::SvoInterface() @ 0x7f67465ae062 svo_ros::SvoNodeBase::SvoNodeBase() [ INFO] [1638273173.270048466]: Found parameter: map_blur, value: 15 @ 0x55a9660a2f8c main @ 0x7f6745b64bf7 libc_start_main @ 0x55a9660a302a _start @ 0x0 (unknown) [ INFO] [1638273173.280406589]: Found parameter: window_size, value: 5000 [ WARN] [1638273173.282339163]: Cannot find value for parameter: weight_scale_translation, assigning default: 0 [ INFO] [1638273173.283566762]: Found parameter: unwarp_estimate_n_it, value: 75 [ WARN] [1638273173.284093804]: Cannot find value for parameter: weight_scale_rotation, assigning default: 0 [ INFO] [1638273173.285248383]: Found parameter: unwarp_estimate_eps, value: 0.0001 [ INFO] [1638273173.285438629]: Found parameter: camera_name, value: prophesee [ INFO] [1638273173.286334771]: Found parameter: unwarp_estimate_pyramid_lvls, value: 2 [ INFO] [1638273173.286730904]: Found parameter: calib_file, value: /home/alvaro/evo_ws/src/rpg_dvs_evo_open/dvs_tracking/parameters/calib/prophesee.yaml [ INFO] [1638273173.288214935]: Found parameter: init_cov, value: 10 [ INFO] [1638273173.288433261]: camera calibration URL: file:///home/alvaro/evo_ws/src/rpg_dvs_evo_open/dvs_tracking/parameters/calib/prophesee.yaml I20211130 12:52:53.292812 3997 tracker.cpp:58] Field of view: 124.425 [ INFO] [1638273173.294321662]: Found parameter: sigma_m, value: 10 [ INFO] [1638273173.318050656]: Found parameter: camera_name, value: prophesee I20211130 12:52:53.318811 3998 camera.cpp:21] Distortion type: plumb_bob [ INFO] [1638273173.320307102]: Found parameter: dvs_frame_id, value: /dvs_evo [ INFO] [1638273173.321602042]: Found parameter: calib_file, value: /home/alvaro/evo_ws/src/rpg_dvs_evo_open/dvs_tracking/parameters/calib/prophesee.yaml [ INFO] [1638273173.322298767]: camera calibration URL: file:///home/alvaro/evo_ws/src/rpg_dvs_evo_open/dvs_tracking/parameters/calib/prophesee.yaml [ INFO] [1638273173.335901749]: Found parameter: world_frame_id, value: /world [ INFO] [1638273173.336973986]: Found parameter: auto_trigger, value: 0 I20211130 12:52:53.339697 4042 tracker.cpp:150] Spawned tracking thread. [ INFO] [1638273173.343065299]: Found parameter: dvs_frame_id, value: /dvs_evo [ INFO] [1638273173.344112735]: Found parameter: world_frame_id, value: /world [ INFO] [1638273173.345424917]: Found parameter: camera_name, value: prophesee [ INFO] [1638273173.346316136]: Found parameter: calib_file, value: /home/alvaro/evo_ws/src/rpg_dvs_evo_open/dvs_tracking/parameters/calib/prophesee.yaml [ INFO] [1638273173.346950889]: camera calibration URL: file:///home/alvaro/evo_ws/src/rpg_dvs_evo_open/dvs_tracking/parameters/calib/prophesee.yaml [ INFO] [1638273173.347985067]: Found parameter: rate_hz, value: 30 [ INFO] [1638273173.349964560]: Found parameter: frame_size, value: 10000 [ INFO] [1638273173.351223449]: Found parameter: local_frame_size, value: 5000 [ INFO] [1638273173.352183567]: Found parameter: enable_visualizations, value: 1 [ INFO] [1638273173.353103454]: Found parameter: motion_corrected_topic, value: /events/image_raw [ INFO] [1638273173.365822008]: Found parameter: radius_search, value: 0.2 [ INFO] [1638273173.367428630]: Found parameter: min_num_neighbors, value: 2 [ INFO] [1638273173.368896143]: Found parameter: median_filter_size, value: 15 [ INFO] [1638273173.369793181]: Found parameter: dvs_frame_id, value: /dvs_evo [ INFO] [1638273173.370600057]: Found parameter: dvs_bootstrap_frame_id, value: /camera_0 [ INFO] [1638273173.371987104]: Found parameter: world_frame_id, value: /world [svo-1] process has died [pid 3991, exit code -11, cmd /home/alvaro/evo_ws/devel/lib/svo_ros/svo_node events:=/prophesee/camera/cd_events_buffer remote_key:=/evo/remote_key name:=svo log:=/home/alvaro/.ros/log/0aaab946-51d4-11ec-9fce-d4d25270da41/svo-1.log]. log file: /home/alvaro/.ros/log/0aaab946-51d4-11ec-9fce-d4d25270da41/svo-1*.log [ INFO] [1638273173.409723767]: Found parameter: events_to_recreate_kf, value: 1000000 [ INFO] [1638273173.413395848]: Found parameter: fov_virtual_camera_deg, value: 80 [ INFO] [1638273173.414792409]: Found parameter: virtual_width, value: 640 [ INFO] [1638273173.416611315]: Found parameter: virtual_height, value: 480 I20211130 12:52:53.416692 3994 depth_defocus_node.cpp:63] Focal length of virtual camera: 381.361 pixels [ INFO] [1638273173.423826755]: Found parameter: optical_flow_topic, value: /evo/bootstrap/optical_flow [ INFO] [1638273173.494013762]: Found parameter: min_step_size, value: 5000 [ INFO] [1638273173.495598457]: Found parameter: events_scale_factor, value: 4 [ INFO] [1638273173.496724429]: Found parameter: activation_threshold_min, value: 10 [ INFO] [1638273173.497678337]: Found parameter: activation_threshold_patch_size, value: 13 [ INFO] [1638273173.498496261]: Found parameter: median_filter_size, value: 1 [ INFO] [1638273173.499357588]: Found parameter: median_filtering, value: 0 [ INFO] [1638273173.500455927]: Found parameter: adaptive_thresholding, value: 1 [ INFO] [1638273173.511701010]: Found parameter: discard_events_when_idle, value: 1 [ INFO] [1638273173.776538875]: Found parameter: dvs_frame_id, value: /dvs_evo [ INFO] [1638273173.783215202]: Found parameter: world_frame_id, value: /world [ INFO] [1638273173.795129243]: Found parameter: min_depth, value: 0.4 [ INFO] [1638273173.795745818]: Found parameter: max_depth, value: 5 [ INFO] [1638273173.796522646]: Found parameter: num_depth_cells, value: 100 [ INFO] [1638273173.797269819]: Found parameter: adaptive_threshold_kernel_size, value: 5 [ INFO] [1638273173.798020500]: Found parameter: adaptive_threshold_c, value: 7 [ INFO] [1638273173.858649882]: Found parameter: auto_trigger, value: 0 OpenCV Error: Iterations do not converge (NaN encountered.) in findTransformECC, file /home/bamboo/bamboo-agent-home/xml-data/build-dir/CCD-BOP-JOB1/opencv-3.2.0+dfsg/modules/video/src/ecc.cpp, line 515 W20211130 12:52:58.964569 4063 motion_correction.cpp:69] NaN encountered. Aborted at 1638273178 (unix time) try "date -d @1638273178" if you are using GNU date PC: @ 0x0 (unknown) SIGSEGV (@0x7f710b731310) received by PID 3998 (TID 0x7f710b211700) from PID 192090896; stack trace: @ 0x7f713b3d9040 (unknown) @ 0x7f713bdd7e3d motion_correction::drawEventsMotionCorrectedOpticalFlow() @ 0x7f713bdd26f0 dvs_bootstrapping::EventsFramesBootstrapper::integrateEvents() @ 0x7f713bdd3c30 dvs_bootstrapping::EventsFramesBootstrapper::integratingThread() @ 0x7f713ba774c0 (unknown) @ 0x7f713b1826db start_thread @ 0x7f713b4bb71f clone @ 0x0 (unknown) **[dvs_bootstrapping-7] process has died [pid 3998, exit code -11, cmd /home/alvaro/evo_ws/devel/lib/dvs_bootstrapping/dvs_bootstrapping_ef_ros events:=/prophesee/camera/cd_events_buffer remote_key:=/evo/remote_key name:=dvs_bootstrapping __log:=/home/alvaro/.ros/log/0aaab946-51d4-11ec-9fce-d4d25270da41/dvs_bootstrapping-7.log].* log file: /home/alvaro/.ros/log/0aaab946-51d4-11ec-9fce-d4d25270da41/dvs_bootstrapping-7.log ^C[dvs_renderer_left-12] killing on exit [rviz-13] killing on exit [rqt_evo-11] killing on exit [snakify-10] killing on exit [tf_to_camera_marker-9] killing on exit [dvs_reconstruction-8] killing on exit [dvs_tracking-6] killing on exit [trigger_map_expansion-5] killing on exit [dvs_mapping-4] killing on exit [pose_to_tf-3] killing on exit [svo_gui-2] killing on exit [pcl::KdTreeFLANN::setInputCloud] Cannot create a KDTree with an empty input cloud! shutting down processing monitor... ... shutting down processing monitor complete done