Is it possible that /set_camera_info service not listed in rosservice list?

69 Views Asked by At

I was trying to calibrate my mavic2 pro camera with monocular calibration package.

I am currently running it on ROS noetic distro with Ubuntu 20.04. For some reasons, as I start the ROS MASTER and run rosservice list, I only get:

/image_publisher/get_loggers
/image_publisher/set_logger_level
/image_view/get_loggers
/image_view/list
/image_view/load_nodelet
/image_view/set_logger_level
/image_view/set_parameters
/image_view/unload_nodelet
/republish/compressed/set_parameters
/republish/get_loggers
/republish/set_logger_level
/rosout/get_loggers
/rosout/set_logger_level

For being able to run the calibration.py node, I launched a file, where the image topic got forwarded in a raw format, as

<launch>
    <node name="republish" type="republish" pkg="image_transport" output="screen" args="compressed in:=/out/image_raw raw out:=/out/image_raw" />
   
    <node pkg="image_view" type="image_view" respawn="true" name="image_view" args="image:=/out/image_raw"/>
</launch>

I correctly run the calibration package with:

rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.025 image:=/out/image_raw output:=/out

and the GUI started fine.

Therefore, once i try to save the calibration data and correctly "commit" it for permanent storage, as reported in the guide the following issue gets raised:

Traceback (most recent call last):
  File "/home/anna/catkin_ws/src/image_pipeline/camera_calibration/src/camera_calibration/camera_calibrator.py", line 276, in on_mouse
    if self.do_upload():
  File "/home/anna/catkin_ws/src/image_pipeline/camera_calibration/src/camera_calibration/camera_calibrator.py", line 230, in do_upload
    response = self.set_camera_info_service(info)
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 442, in __call__
    return self.call(*args, **kwds)
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 502, in call
    service_uri = self._get_service_uri(request)
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 470, in _get_service_uri
    raise ServiceException("service [%s] unavailable"%self.resolved_name)
rospy.service.ServiceException: service [/camera/set_camera_info] unavailable

any clue? Thanks in advance :)

I have tried to see whether my issue was caused by a wrong rosrun command, but the error persist

0

There are 0 best solutions below