lidar_camera_calibration (используя ROS) зависает - PullRequest
0 голосов
/ 10 января 2019

Я использую следующую библиотеку, чтобы попытаться откалибровать Velodyne LiDAR для RGB-камеры PiCam: https://github.com/ankitdhall/lidar_camera_calibration. Потребовалось время, чтобы настроить, но теперь все собирается и работает; Однако программа зависает. Вот распечатки, которые я получаю, когда запускаю его.

user@computer$ roslaunch lidar_camera_calibration find_transform.launch
... logging to /home/manny/.ros/log/703a468e-d0dc-11e5-9811-b827eb0c153d/roslaunch-manny-13746.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://manny:33471/

SUMMARY
========

PARAMETERS
 * /aruco_mapping/calibration_file: /home/manny/Code/...
 * /aruco_mapping/marker_size: 0.1016
 * /aruco_mapping/num_of_markers: 1
 * /aruco_mapping/roi_allowed: False
 * /aruco_mapping/space_type: plane
 * /lidar_camera_calibration/camera_frame_topic: /raspicam_node/im...
 * /lidar_camera_calibration/camera_info_topic: /raspicam_node/ca...
 * /lidar_camera_calibration/velodyne_topic: /velodyne_points
 * /rosdistro: melodic
 * /rosversion: 1.14.3

NODES
  /
    aruco_mapping (aruco_mapping/aruco_mapping)
    find_transform (lidar_camera_calibration/find_transform)

ROS_MASTER_URI=http://stick:11311

process[aruco_mapping-1]: started with pid [13756]
process[find_transform-2]: started with pid [13757]
Size of the frame: 1280 x 960
Limits: -2.5 to 2.5
Limits: -4 to 4
Limits: 0 to 1.7
Number of markers: 1
Intensity threshold (between 0.0 and 1.0): 0.0004
useCameraInfo: 0
Projection matrix: 
[981.17163, 0, 640, 0;
 0, 981.17163, 480, 0;
 0, 0, 1, 0]
MAX_ITERS: 100
[ INFO] [1547151515.113124565]: Reading CameraInfo from configuration file
[ INFO] [1547151515.790099973]: Calibration file path: /home/manny/Code/catkin_ws/src/aruco_mapping/data/picam_calibration.ini
[ INFO] [1547151515.848735811]: Number of markers: 1
[ INFO] [1547151515.848845526]: Marker Size: 0.1016
[ INFO] [1547151515.848888023]: Type of space: plane
[ INFO] [1547151515.848919640]: ROI allowed: 0
[ INFO] [1547151515.848945892]: ROI x-coor: 0
[ INFO] [1547151515.848975687]: ROI y-coor: 0
[ INFO] [1547151515.849009739]: ROI width: 0
[ INFO] [1547151515.849052101]: ROI height: 8096
[ INFO] [1547151515.881308433]: Calibration data loaded successfully

Мне кажется, что файлы конфигурации калибровки загружаются правильно, но программа lidar_camera_calibration не может "привязаться" к темам ROS (я имею в виду, подключаться и получать данные из тем ROS, которые передают данные из живые устройства, LiDAR и RGB камера). Это всего лишь предположение. Другая возможность состоит в том, что программа больше не дает обратной связи, пока не найдет калибровочную плату. Если это так, то это немного прискорбно, потому что было бы неплохо узнать, сможет ли он даже считывать данные с устройств. На данный момент устройства не могут даже видеть калибровочную плату, но они могли это сделать, когда попробовали несколько дней назад.

Когда я перечисляю темы ROS, я получаю три, которые, по моему мнению, нужны, /raspicam_node/camera_info, /raspicam_node/image/compressed и /velodyne_points.

user@computer$ rostopic list
/aruco_markers
/aruco_poses
/clicked_point
/diagnostics
/initialpose
/lidar_camera_calibration_rt
/move_base_simple/goal
/raspicam_node/camera_info
/raspicam_node/image/compressed
/raspicam_node/parameter_descriptions
/raspicam_node/parameter_updates
/rosout
/rosout_agg
/scan
/tf
/tf_static
/velodyne_nodelet_manager/bond
/velodyne_nodelet_manager_cloud/parameter_descriptions
/velodyne_nodelet_manager_cloud/parameter_updates
/velodyne_nodelet_manager_driver/parameter_descriptions
/velodyne_nodelet_manager_driver/parameter_updates
/velodyne_nodelet_manager_laserscan/parameter_descriptions
/velodyne_nodelet_manager_laserscan/parameter_updates
/velodyne_packets
/velodyne_points

lidar_camera_calibration не падает. Он просто «сидит там», курсор мигает.

Полагаю, моим следующим шагом в устранении неполадок будет более пристальное внимание на их код на C ++, чтобы увидеть, где он зависает, и, возможно, добавление еще нескольких распечаток.

Любая помощь будет принята с благодарностью. Спасибо.

1 Ответ

0 голосов
/ 02 февраля 2019

Проверьте следующее, чтобы убедиться, что все работает так, как должно быть:

  • Проверьте, есть ли у вас данные по этим темам
  • Проверьте, подключены ли узлы, используя rosnode или rqt_graph
  • Если это не так Проверьте, есть ли в других темах нужные вам данные
  • переназначить темы, которые пусты, на те, которые не

если ничего не работает, измените уровень журнала на отладочный (в плагине RQT Logger или любым другим способом, который вам известен), чтобы увидеть, нет ли там сообщения, которое может помочь

...