1 2 Previous Next 27 Replies Latest reply on Sep 6, 2018 10:36 AM by AlexisTM Go to original post
      • 15. Re: Publishing images from bottom camera to ROS topics
        chillax

        Hi tuantuan91

         

        I am using the bottom camera for VIO. Most VIO algorithms need more computational power than what the Intel Aero can offer, therefore I've decided to use SVO 2.0. The R200 camera comes from the factory calibrated. All you need to do is install the Intel Realsense node as discussed here. I recommend going through all the tutorials on this wiki page. You will find the calibration of the R200 under the /camera/rgb/camera_info ROS topic.

        • 16. Re: Publishing images from bottom camera to ROS topics
          tuantuan91

          Hi chillax

           

          Thanks for your help and sharing.I find the intrinsic parameters yesterday.

          As you say you are doing research in VIO.

          How do your get the extrinsic parameters between camera and imu?

          I know the SVO2.0 but I think they did not publish the source code for the algorithm.It's just binaries files.

          How could you develop by these things?

           

          Thanks

          • 17. Re: Publishing images from bottom camera to ROS topics
            tuantuan91

            Hi chillax

             

            sorry for disturbing you again.

            I tried to install SVO2.0 but failed.

            So I decided to install the SVO.

            but after I installed the algorithm I found there still have some issue.

             

            CLEAR PARAMETERS

            • /svo/

            PARAMETERS

            • /rosdistro: kinetic
            • /rosversion: 1.12.13
            • /svo/cam_cx: 309.936417
            • /svo/cam_cy: 242.427118
            • /svo/cam_d0: -0.022232
            • /svo/cam_d1: -0.034436
            • /svo/cam_d2: 0.003345
            • /svo/cam_d3: 8.5e-05
            • /svo/cam_fx: 414.756208
            • /svo/cam_fy: 414.983046
            • /svo/cam_height: 480
            • /svo/cam_model: Pinhole
            • /svo/cam_topic: /usb_cam/image_raw
            • /svo/cam_width: 640
            • /svo/grid_size: 30
            • /svo/init_rx: 3.14
            • /svo/init_ry: 0.0
            • /svo/init_rz: 0.0
            • /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 [3429]
            create vo_node
            [ WARN] [1528234776.616960704]: Cannot find value for parameter: svo/publish_img_pyr_level, assigning default: 0
            [ WARN] [1528234776.618874699]: Cannot find value for parameter: svo/publish_every_nth_img, assigning default: 1
            [ WARN] [1528234776.620884213]: Cannot find value for parameter: svo/publish_every_nth_dense_input, assigning default: 1
            [ WARN] [1528234776.625195170]: Cannot find value for parameter: svo/publish_world_in_cam_frame, assigning default: 1
            [ WARN] [1528234776.627013647]: Cannot find value for parameter: svo/publish_map_every_frame, assigning default: 0
            [ WARN] [1528234776.628746680]: Cannot find value for parameter: svo/publish_point_display_time, assigning default: 0
            [ WARN] [1528234776.832704321]: Cannot find value for parameter: svo/publish_markers, assigning default: 1
            [ WARN] [1528234776.834422304]: Cannot find value for parameter: svo/publish_dense_input, assigning default: 0
            [ WARN] [1528234776.836315998]: Cannot find value for parameter: svo/accept_console_user_input, assigning default: 1
            [ INFO] [1528234776.838576352]: Found parameter: svo/cam_model, value: Pinhole
            [ INFO] [1528234776.840500385]: Found parameter: svo/cam_width, value: 640
            [ INFO] [1528234776.842313561]: Found parameter: svo/cam_height, value: 480
            [ INFO] [1528234776.844522799]: Found parameter: svo/cam_fx, value: 414.756
            [ INFO] [1528234776.846400992]: Found parameter: svo/cam_fy, value: 414.983
            [ INFO] [1528234776.848601592]: Found parameter: svo/cam_cx, value: 309.936
            [ INFO] [1528234776.850640783]: Found parameter: svo/cam_cy, value: 242.427
            [ INFO] [1528234776.852500837]: Found parameter: svo/cam_d0, value: -0.022232
            [ INFO] [1528234776.854717613]: Found parameter: svo/cam_d1, value: -0.034436
            [ INFO] [1528234776.856453597]: Found parameter: svo/cam_d2, value: 0.003345
            [ INFO] [1528234776.858919014]: Found parameter: svo/cam_d3, value: 8.5e-05
            [ WARN] [1528234776.913663131]: Cannot find value for parameter: svo/init_tz, assigning default: 0
            [ WARN] [1528234776.916072582]: Cannot find value for parameter: svo/init_ty, assigning default: 0
            [ WARN] [1528234776.917951262]: Cannot find value for parameter: svo/init_tx, assigning default: 0
            [ INFO] [1528234776.919817542]: Found parameter: svo/init_rz, value: 0
            [ INFO] [1528234776.921600428]: Found parameter: svo/init_ry, value: 0
            [ INFO] [1528234776.923323124]: Found parameter: svo/init_rx, value: 3.14
            [ WARN] [1528234776.926382753]: Cannot find value for parameter: svo/trace_name, assigning default: svo
            [ WARN] [1528234776.928838619]: Cannot find value for parameter: svo/trace_dir, assigning default: /tmp
            [ WARN] [1528234776.930731638]: Cannot find value for parameter: svo/n_pyr_levels, assigning default: 3
            [ WARN] [1528234776.932477822]: Cannot find value for parameter: svo/use_imu, assigning default: 0
            [ WARN] [1528234776.934625432]: Cannot find value for parameter: svo/core_n_kfs, assigning default: 3
            [ WARN] [1528234776.936946752]: Cannot find value for parameter: svo/map_scale, assigning default: 1
            [ INFO] [1528234776.938851797]: Found parameter: svo/grid_size, value: 30
            [ WARN] [1528234776.940821370]: Cannot find value for parameter: svo/init_min_disparity, assigning default: 50
            [ WARN] [1528234776.942595281]: Cannot find value for parameter: svo/init_min_tracked, assigning default: 50
            [ WARN] [1528234776.944481799]: Cannot find value for parameter: svo/init_min_inliers, assigning default: 40
            [ WARN] [1528234776.946676124]: Cannot find value for parameter: svo/klt_max_level, assigning default: 4
            [ WARN] [1528234776.948418484]: Cannot find value for parameter: svo/klt_min_level, assigning default: 2
            [ WARN] [1528234776.950450036]: Cannot find value for parameter: svo/reproj_thresh, assigning default: 2
            [ WARN] [1528234776.952328266]: Cannot find value for parameter: svo/poseoptim_thresh, assigning default: 2
            [ WARN] [1528234776.954134592]: Cannot find value for parameter: svo/poseoptim_num_iter, assigning default: 10
            [ WARN] [1528234776.956149368]: Cannot find value for parameter: svo/structureoptim_max_pts, assigning default: 20
            [ WARN] [1528234776.957996159]: Cannot find value for parameter: svo/structureoptim_num_iter, assigning default: 5
            [ WARN] [1528234776.959730930]: Cannot find value for parameter: svo/loba_thresh, assigning default: 2
            [ WARN] [1528234776.961582308]: Cannot find value for parameter: svo/loba_robust_huber_width, assigning default: 1
            [ INFO] [1528234776.963426524]: Found parameter: svo/loba_num_iter, value: 0
            [ WARN] [1528234776.965105654]: Cannot find value for parameter: svo/kfselect_mindist, assigning default: 0.12
            [ WARN] [1528234776.967127081]: Cannot find value for parameter: svo/triang_min_corner_score, assigning default: 20
            [ WARN] [1528234776.969089779]: Cannot find value for parameter: svo/triang_half_patch_size, assigning default: 4
            [ WARN] [1528234776.970972647]: Cannot find value for parameter: svo/subpix_n_iter, assigning default: 10
            [ INFO] [1528234776.972883866]: Found parameter: svo/max_n_kfs, value: 10
            [ WARN] [1528234776.974770797]: Cannot find value for parameter: svo/img_imu_delay, assigning default: 0
            [ WARN] [1528234776.976473416]: Cannot find value for parameter: svo/max_fts, assigning default: 120
            [ WARN] [1528234776.978373210]: Cannot find value for parameter: svo/quality_min_fts, assigning default: 50
            [ WARN] [1528234776.981234977]: Cannot find value for parameter: svo/quality_max_drop_fts, assigning default: 40
            [ INFO] [1528234776.981536371]: SVO initialized
            [ INFO] [1528234776.988763961]: Found parameter: svo/cam_topic, value: /usb_cam/image_raw
            [ INFO] [1528234777.138159246]: RESET
            [ WARN] [1528234777.148104982]: First image has less than 100 features. Retry in more textured environment.
            [ WARN] [1528234779.173047593]: First image has less than 100 features. Retry in more textured environment.
            [ WARN] [1528234781.205711497]: First image has less than 100 features. Retry in more textured environment.
            [ WARN] [1528234783.239237902]: First image has less than 100 features. Retry in more textured environment.
            [ WARN] [1528234785.272739556]: First image has less than 100 features. Retry in more textured environment.
            [ WARN] [1528234787.305729692]: First image has less than 100 features. Retry in more textured environment.
            [ WARN] [1528234789.306048594]: First image has less than 100 features. Retry in more textured environment.
            [ WARN] [1528234791.339117277]: First image has less than 100 features. Retry in more textured environment.
            [ WARN] [1528234793.372534979]: First image has less than 100 features. Retry in more textured environment.

            It seems the algorithm was initialized successfully.
            I also use rostopic echo /svo/image to check the input.it works well.
            but the algorithm wouldn't update any pose information when I move the drone by my hand.

             

            Do you have any idea for it?

            • 18. Re: Publishing images from bottom camera to ROS topics
              chillax

              I haven't tried SVO, only SVO 2.0. If you download and extract the binaries you should have an installation guide PDF. Just follow the instructions there. I've disabled the IMU because it made my results a lot worse.

              • 19. Re: Publishing images from bottom camera to ROS topics
                tuantuan91

                Hi

                chillax

                 

                I have done the svo test but the performance was bad.

                I read the guide PDF but still can't install the SVO2.0

                anyway thanks for your sharing and help.

                • 20. Re: Publishing images from bottom camera to ROS topics
                  daniele.marchetti

                  Hi Chillax,

                  I followed your instructions to publish images from the bottom camera on ros topic. I'm able to see the images using the ros node image_view but I got some problems near the bottom and left edges of the image, as you can see in the attached sample.

                  Have you experienced this problem too ?

                  Thank you in advance,

                  Daniele

                   

                  image_raw_screenshot_30.07.2018.png

                  • 21. Re: Publishing images from bottom camera to ROS topics
                    chillax

                    Hi daniele.marchetti,

                     

                    Yes I have the same issue on the edges. In addition I have vertical stripes which can be seen on a plain white image.

                    Screenshot from 2018-06-09 00-41-50.png

                    • 22. Re: Publishing images from bottom camera to ROS topics
                      daniele.marchetti

                      Hi Chillax,

                      thank you for your response. My camera doesn't show vertical stripes, the issue is only for the edges.

                       

                      Is this issue caused by the hardware or software and is there any way to solve it?

                      Can I apply the optical flow algorithm correctly although I have the issue on the edges?

                       

                      Thank you,

                      Daniele

                      • 23. Re: Publishing images from bottom camera to ROS topics
                        AlexisTM

                        To solve the borders, I just cropped them to have a 630x470 image instead.

                         

                        https://github.com/AlexisTM/aero-optical-flow-ros

                         

                        This node is also computing the optical flow and send it to the PX4.

                        • 24. Re: Publishing images from bottom camera to ROS topics
                          daniele.marchetti

                          Hi AlexisTM,

                          Your ROS application is very interesting. I run it and by QGroundControl station I checked that the optical flow algorithm works properly (and the quality is above 100) but Local_position_x and y stay to 0 all the time.

                          I set

                          EKF2_AID_MASK = 2

                          EKF2_HGT_MODE = Range sensor

                          SENS_EN_LEDDAR1 = enabled

                          In addition I can set the parameter SENS_FLOW_ROT. I tried using different values but I'm not able to get correct value from local_position_x and y yet.

                          Could you suggest me a solution?

                          Thank you,

                          Daniele

                          • 25. Re: Publishing images from bottom camera to ROS topics
                            AlexisTM

                            Hi daniele.marchetti

                             

                            I could not use it yet because I only have Teraranger Ones and the driver seems not to be working.

                            Without the ranging device; I cannot get a local position.

                             

                            Therefore I connected a PX4Flow on it and use the bottom camera for tag recognition only (VIO disabled).

                            • 26. Re: Publishing images from bottom camera to ROS topics
                              daniele.marchetti

                              Thank you for your response. I thought the same thing: install a PX4FLOW to implement the optical flow and use the bottom camera for marker recognition and vision pose estimation. Have you installed PX4FLOW using the instruction on Intel Aero Drone - Altitude and Position Hold Using PX4Flow: 11 Steps (with Pictures) (PX4flow camera with sonar included) ?

                              Thank you,

                              Daniele.

                              • 27. Re: Publishing images from bottom camera to ROS topics
                                AlexisTM

                                I did not follow that; I added the PX4Flow driver and started it automatically in the PX4 Firmware; See the two commits at my local branch (from 1.8.0): GitHub - umdlife/Firmware at intel

                                 

                                To make and upload the Firmware:

                                make aerofc-v1_default upload

                                 

                                https://docs.px4.io/en/flight_controller/intel_aero.html

                                1 2 Previous Next