ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

[SVO] Get pose for a long time

asked 2019-07-21 08:54:37 -0600

Dylan gravatar image

updated 2019-07-21 08:55:19 -0600

I'm using the SVO package. I already calibrated my bottom camera (using the Pinhole model, with the specs of camera_calibration modified to be in the format expected) and modified my .launch file so it gets the images from the output of the image_proc (i.e, grayscale and rectified), but it's very difficult to obtain the pose of the camera over a long period of time.

This is my .launch file:

<launch>

    <node pkg="svo_ros" type="vo" name="svo" clear_params="true" output="screen">

        <!-- Camera topic to subscribe to -->
        <param name="cam_topic" value="/ardrone/bottom/image_rect" type="str" />

        <!-- Camera calibration file -->
        <rosparam file="$(find svo_ros)/param/ardrone_bottom.yaml" />

        <!-- Default parameter settings: choose between vo_fast and vo_accurate -->
        <rosparam file="$(find svo_ros)/param/vo_fast.yaml" />

    </node>

</launch>

and this is how I use the image_proc package:

ROS_NAMESPACE=/ardrone/bottom rosrun image_proc image_proc

rosnode info svo gives this output:

Node [/svo]
Publications: 
 * /rosout [rosgraph_msgs/Log]
 * /svo/dense_input [svo_msgs/DenseInput]
 * /svo/image [sensor_msgs/Image]
 * /svo/image/compressed [sensor_msgs/CompressedImage]
 * /svo/image/compressed/parameter_descriptions [dynamic_reconfigure/ConfigDescription]
 * /svo/image/compressed/parameter_updates [dynamic_reconfigure/Config]
 * /svo/image/compressedDepth [sensor_msgs/CompressedImage]
 * /svo/image/compressedDepth/parameter_descriptions [dynamic_reconfigure/ConfigDescription]
 * /svo/image/compressedDepth/parameter_updates [dynamic_reconfigure/Config]
 * /svo/image/theora [theora_image_transport/Packet]
 * /svo/image/theora/parameter_descriptions [dynamic_reconfigure/ConfigDescription]
 * /svo/image/theora/parameter_updates [dynamic_reconfigure/Config]
 * /svo/info [svo_msgs/Info]
 * /svo/keyframes [visualization_msgs/Marker]
 * /svo/points [visualization_msgs/Marker]
 * /svo/pose [geometry_msgs/PoseWithCovarianceStamped]
 * /tf [tf2_msgs/TFMessage]

Subscriptions: 
 * /ardrone/bottom/image_rect [sensor_msgs/Image]
 * /svo/remote_key [unknown type]

Services: 
 * /svo/get_loggers
 * /svo/image/compressed/set_parameters
 * /svo/image/compressedDepth/set_parameters
 * /svo/image/theora/set_parameters
 * /svo/set_logger_level


contacting node http://juan:34907/ ...
Pid: 19891
Connections:
 * topic: /rosout
    * to: /rosout
    * direction: outbound
    * transport: TCPROS
 * topic: /tf
    * to: /rqt_gui_py_node_20048
    * direction: outbound
    * transport: TCPROS
 * topic: /ardrone/bottom/image_rect
    * to: /ardrone/bottom/image_proc (http://juan:40291/)
    * direction: inbound
    * transport: TCPROS

When I run roslaunch svo_ros live.launch this is the output:

... logging to /home/juan/.ros/log/1b6a94be-ab2c-11e9-84b5-68ecc55d6600/roslaunch-juan-19873.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://juan:45331/

SUMMARY
========

CLEAR PARAMETERS
 * /svo/

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.14
 * /svo/cam_cx: 254.861406985
 * /svo/cam_cy: 132.774654931
 * /svo/cam_d0: 0.0254329004542
 * /svo/cam_d1: 0.00484972274251
 * /svo/cam_d2: -0.00316468715909
 * /svo/cam_d3: -0.0168351839378
 * /svo/cam_fx: 724.628466389
 * /svo/cam_fy: 722.57992602
 * /svo/cam_height: 360
 * /svo/cam_model: Pinhole
 * /svo/cam_topic: /ardrone/bottom/i...
 * /svo/cam_width: 640
 * /svo/grid_size: 30
 * /svo/loba_num_iter: 0
 * /svo/max_n_kfs: 10

NODES
  /
    svo (svo_ros/vo)

ROS_MASTER_URI=http://localhost:11311

process[svo-1]: started with pid [19891]
create vo_node
[ WARN] [1563654227.665696970]: Cannot find value for parameter: svo/publish_img_pyr_level, assigning default: 0
[ WARN] [1563654227.666169164]: Cannot find value for parameter: svo/publish_every_nth_img, assigning default: 1
[ WARN] [1563654227.666518905]: Cannot find value for parameter: svo/publish_every_nth_dense_input, assigning default: 1
[ WARN] [1563654227.667630230]: Cannot find value for parameter: svo/publish_world_in_cam_frame, assigning default: 1
[ WARN] [1563654227.668068619]: Cannot find value for parameter: svo ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
0

answered 2019-07-22 00:17:13 -0600

Hamid Didari gravatar image

updated 2019-07-22 00:19:19 -0600

[ WARN] [1563654234.306474166]: First image has less than 100 features. Retry in more textured environment.

tells that environment doesn't have enough features.

it's very important that when svo is in Init mode , camera moves slowly and linearly.

[ WARN] [1563654235.348895448]: Init WARNING: 40 inliers minimum required. [ INFO] [1563654235.348931120]: RESET

it's tells you move camera badly in init mod or environment doesn't have enough features. i tested svo for drone in long time flight over 20 minutes and it's work very well

edit flag offensive delete link more

Comments

Ok, but then it says [ INFO] [1563654235.023326256]: Init: Selected first frame., so I think that initializatiom is correct

Dylan gravatar image Dylan  ( 2019-07-22 02:07:57 -0600 )edit

in svo, first an init image select and track features till camera moves enough and needs at least 40 features.it can see by green line on the image that comes from svo and after init the green line disappeared you can change the time of tracking by changing init_min_tracked and by changing init_min_inliers change minimum of features that needed

Hamid Didari gravatar image Hamid Didari  ( 2019-07-22 02:31:20 -0600 )edit

Ok, and which parameters did you use? I’m using an AR.Drone 2.0, which bottom’s camera is not so good

Dylan gravatar image Dylan  ( 2019-07-22 03:14:48 -0600 )edit

in my opinion you better use orb slam and font camera it's better because svo works well with wide lens cameras

Hamid Didari gravatar image Hamid Didari  ( 2019-07-22 03:53:07 -0600 )edit

I need to use the bottom camera. I will use svo because it was recommended to me and I already spent a lot of time trying to make it works. Can you tell me about the parameters you used, or any good tutorial? The official tutorial is too short

Dylan gravatar image Dylan  ( 2019-07-22 03:58:52 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2019-07-21 08:54:37 -0600

Seen: 366 times

Last updated: Jul 22 '19