Hi,
I am using 2 usb cameras of logitech company to make a stereo mapping with my platform. I am using RTABmap for it.
I made a driver for the cameras with uvc_camera package. The only topic that was published is the image_raw and the camera_info topic had no data. The matrix is all zeros. I searched in many sites and forums without any solution.
↧
camera_info topic is empty
↧
camera_info topic for stereo mapping
Hi,
I am using 2 usb cameras of logitech company to make a stereo mapping with my platform. I am using RTABmap for it.
I made a driver for the cameras with uvc_camera package. The only topic that was published is the image_raw and the camera_info topic had no data. The matrix is all zeros. I searched in many sites and forums without any solution.
↧
↧
Stereo Camera Info Subscriber Throws Error
I am trying to subscribe to the camera info topic provided by my stereo-camera using Python:
self.camera_info = rospy.Subscriber("/nerian_stereo/stereo_camera_info", CameraInfo)
however, I get the following error:
[ERROR] [1550489001.885020747]: Client [/ros_node] wants topic /nerian_stereo/stereo_camera_info to have datatype/md5sum [sensor_msgs/CameraInfo/c9a58c1b0b154e0e6da7578cb991d214], but our version has [nerian_stereo/StereoCameraInfo/eca3b527e5502c28c9f17e8c40cf1d1c]. Dropping connection.
I did check if that topic publishes or not, and it does publish the following:
header:
seq: 0
stamp:
secs: 1550489069
nsecs: 658059275
frame_id: "map"
left_info:
header:
seq: 195108
stamp:
secs: 1550489069
nsecs: 658059275
frame_id: "map"
height: 592
width: 800
distortion_model: "plumb_bob"
D: [-0.06367426558562306, 0.09877103851635476, 0.00031019558294633924, -0.00034850082816263023, -0.035294875542571706]
K: [684.0436298696771, 0.0, 383.8977028127636, 0.0, 681.8825674053443, 291.46442657960296, 0.0, 0.0, 1.0]
R: [0.9999975506787532, 0.0020932805291636923, 0.0007188971558162386, -0.0020925240090497767, 0.9999972578637527, -0.0010514790758340117, -0.000721096225178569, 0.00104997219086539, 0.9999991887889872]
P: [677.5530232455858, 0.0, 380.73382568359375, 0.0, 0.0, 677.5530232455858, 298.38965225219727, 0.0, 0.0, 0.0, 1.0, 0.0]
binning_x: 1
binning_y: 1
roi:
x_offset: 0
y_offset: 0
height: 0
width: 0
do_rectify: False
right_info:
header:
seq: 195108
stamp:
secs: 1550489069
nsecs: 658059275
frame_id: "map"
height: 592
width: 800
distortion_model: "plumb_bob"
D: [-0.07050014821240644, 0.15121497345155674, 0.001179938195432741, 0.0005238836140711377, -0.13054262535915223]
K: [688.81655046723, 0.0, 378.2111821877113, 0.0, 686.8626877361024, 304.3933390790509, 0.0, 0.0, 1.0]
R: [0.9999990871452151, -0.0007296095146042925, 0.0011372680829972413, 0.0007284141541189546, 0.9999991822576714, 0.0010511407178051629, -0.0011380340752739026, -0.0010503113560976435, 0.9999988008615304]
P: [677.5530232455858, 0.0, 380.73382568359375, -67.95124548529029, 0.0, 677.5530232455858, 298.38965225219727, 0.0, 0.0, 0.0, 1.0, 0.0]
binning_x: 1
binning_y: 1
roi:
x_offset: 0
y_offset: 0
height: 0
width: 0
do_rectify: False
Q: [1.0, 0.0, 0.0, -380.7133483886719, 0.0, 1.0, 0.0, -298.3891296386719, 0.0, 0.0, 0.0, 677.5579223632812, 0.0, 0.0, 9.971163749694824, 0.0]
T_left_right: [-0.1002891008148319, 7.317194896777106e-05, -0.00011405569753621334]
R_left_right: [0.9999959342341739, 0.0028204958709017384, -0.00041990256476554416, -0.0028213726499287835, 0.9999938100485598, -0.00210231323429016, 0.00041397039979239043, 0.0021034893883887227, 0.99999770197781]
---
What am I doing wrong?
**EDIT:** Okay, I found out the message the camera publishes, it's a different type indeed: http://docs.ros.org/api/nerian_stereo/html/msg/StereoCameraInfo.html . And I can now read the message from here. But I still need to find a way to get the left and right info from the message.
↧
way to modify the video stream quality of Bebop2
Hi, I am using ROS kinetic bebop_autonomy package to read the video stream from Bebop’s front camera. From the website, the default quality of the video stream is limited to 640 x 368 @ 30 Hz. Is it any way to modify the quality of the video stream to lower Hz? Thank you.
↧
How to configure CameraInfoManager set_camera_info service name?
How do I configure CameraInfoManager to publish the correct set_camera_info services?
I am working on a very simple node to take stereo images produced by a stereo USB camera where the images come in as a single double-wide image consisting of left/right images concatenated. The node simply splits the incoming image down the middle and republishes on left and right image topics. I am trying to add the appropriate CameraInfoManager machinery to load/save calibration data. The current code is in the branch 'cam_info' at https://github.com/dbc/side_x_side_stereo
I create two pointers to CamInfoManager instances:
// Camera info managers.
camera_info_manager::CameraInfoManager *left_cinfo_;
camera_info_manager::CameraInfoManager *right_cinfo_;
Allocate and init:
// Allocate and initialize camera info managers.
left_cinfo_ =
new camera_info_manager::CameraInfoManager(nh, "left_camera");
right_cinfo_ =
new camera_info_manager::CameraInfoManager(nh, "right_camera");
left_cinfo_->loadCameraInfo("");
right_cinfo_->loadCameraInfo("");
But I don't see 'left_camera' or 'right_camera' associated set_camera_info services being advertised:
dave@ai1:~/catkin_ws$ rosservice list
/cameracalibrator/get_loggers
/cameracalibrator/set_logger_level
/image_raw/compressed/set_parameters
/image_raw/compressedDepth/set_parameters
/image_raw/theora/set_parameters
/libuvc_camera/get_loggers
/libuvc_camera/set_logger_level
/libuvc_camera/set_parameters
/rosout/get_loggers
/rosout/set_logger_level
/rqt_gui_cpp_node_5296/get_loggers
/rqt_gui_cpp_node_5296/set_logger_level
/rqt_gui_py_node_5296/get_loggers
/rqt_gui_py_node_5296/set_logger_level
/set_camera_info
/side_by_side_stereo_splitter_node/get_loggers
/side_by_side_stereo_splitter_node/set_camera_info
/side_by_side_stereo_splitter_node/set_logger_level
/stereo/left/image_raw/compressed/set_parameters
/stereo/left/image_raw/compressedDepth/set_parameters
/stereo/left/image_raw/theora/set_parameters
/stereo/right/image_raw/compressed/set_parameters
/stereo/right/image_raw/compressedDepth/set_parameters
/stereo/right/image_raw/theora/set_parameters
There is /side_by_side_stereo_splitter_node/set_camera_info, but I am confused as to what is creating that.
So, I am clearly not setting up the CameraInfoManagers correctly to get the topics that camera_calibration expects. It is kind of whiney:
Traceback (most recent call last):
File "/opt/ros/melodic/lib/python2.7/dist-packages/camera_calibration/camera_calibrator.py", line 247, in on_mouse
if self.do_upload():
File "/opt/ros/melodic/lib/python2.7/dist-packages/camera_calibration/camera_calibrator.py", line 207, in do_upload
response = self.set_left_camera_info_service(info[0])
File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 439, in __call__
return self.call(*args, **kwds)
File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 499, in call
service_uri = self._get_service_uri(request)
File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 467, in _get_service_uri
raise ServiceException("service [%s] unavailable"%self.resolved_name)
rospy.service.ServiceException: service [/left_camera/set_camera_info] unavailable
What do I need to do to get CameraInfoManager to advertise sensible services?
↧
↧
image_proc needs one camera_info for every image !?
I'm developing some camera driver, and also testing image_proc nodelets, but seems like it needs the camera_info msg for every image_raw. but it shouldn't be necessary because most of the parameters are the same, and is just using cpu and memory.
Best regards Eduardo Soares
↧