ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. ahmed-mustahid
    3. Posts
    A
    • Profile
    • Following 1
    • Followers 1
    • Topics 12
    • Posts 16
    • Best 0
    • Controversial 0
    • Groups 0

    Posts made by ahmed-mustahid

    • RE: cannot connect to Seeker using usb: adb devices not found

      @tom I have tried the following steps, but still adb could not find the device

      1. I can see it using lsusb | grep Qual
      ➜  work lsusb | grep Qual
      Bus 003 Device 006: ID 05c6:900e Qualcomm, Inc. QUSB__BULK
      
      ➜  work cat /etc/udev/rules.d/51-android.rules
      SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="900e", MODE="0660", GROUP="plugdev", SYMLINK+="voxl%n"
      SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d00d", MODE="0660", GROUP="plugdev", SYMLINK+="voxl-fastboot%n"
      
      
      sudo service udev restart
      
      ➜  work adb kill-server && adb start-server        
      * daemon not running; starting now at tcp:5037
      * daemon started successfully
      
      
      1. adb still could not find the device
      ➜  work adb devices
      List of devices attached
      
      
      1. fastboot could not find it either
      ➜  work sudo fastboot device
      < waiting for any device >
      ^C
      
      
      1. just to try out, I made the SYMLINK+="voxl-fastboot%n" identical to that of SYMLINK+="voxl%n" and repeated the above steps.
      ➜  work cat /etc/udev/rules.d/51-android.rules    
      SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="900e", MODE="0660", GROUP="plugdev", SYMLINK+="voxl%n"
      SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="900e", MODE="0660", GROUP="plugdev", SYMLINK+="voxl-fastboot%n"
      #SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d00d", MODE="0660", GROUP="plugdev", SYMLINK+="voxl-fastboot%n"
      
      

      But adb could not recognise the device this time either.
      Is there any other way that I can use to make adb recognise the device?

      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • RE: cannot connect to Seeker using usb: adb devices not found

      @Adrian-Hidalgo Thank you for the reply.
      Is it possible to switch it on without disassembling the seeker ?
      I have tried flipping the switch that you have shown in the image from outside the green cover. There was no click and sudo fastboot device was showing only < waiting for any device >.

      1. Is there any specific tool or some specific way to flip the switch ? Does it make a click when flipped ?
      2. Is it not possible to flip the switch without disassembling the device ? If so, would you let me know the tools with which I can disassmble it?
        Thank you
      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • cannot connect to Seeker using usb: adb devices not found

      I was trying to write a python script to automate the image flashing (using install.sh file proveided inside voxl_platform3.8) and package installation processes.
      I stopped the process installation process before completing and after this, adb could not find the device anymore.
      Previously, adb could always find the device.

      The python script for installation:

      In [3]: p = subprocess.Popen(['./install.sh'], cwd="/home/ahmed/work/modalAI/voxl_platform_3.8.0-0.7/", s                                                                                                          
         ...: tdin=subprocess.PIPE, universal_newlines=True,shell=True)                                                                                                                                                  
                                                                                                                                                                                                                         
      [INFO] adb installed                                                                                                                                                                                               
      In [4]: [INFO] fastboot installed                                                                                                                                                                                  
      ----Starting System Image Flash----                                                                                                                                                                                
                                                                                                                                                                                                                         
      This process will completely wipe your VOXL's file system but will                                                                                                                                                 
      preserve the /data/ partition which contains things like calibration,                                                                                                                                              
      wifi config, and docker images.                                                                                                                                                                                    
      you can optionally wipe the /data/ parition, although we encourage                                                                                                                                                 
      you not to unless you have a good reason.                                                                                                                                                                          
                                                                                                                                                                                                                         
      1) preserve(recommended)                                                                                                                                                                                           
      2) wipe                                                                                                                                                                                                            
      In [4]: p.communicate(input="1")                                                                                                                                                                                   
                                                                                                                                                                                                                         
      [INFO] Rebooting into fastboot...                                                                                                                                                                                  
      [INFO] Waiting for fastboot...                                                                                                                                                                                     
      < waiting for any device >                                                                                                                                                                                         
      target reported max download size of 536870912 bytes                                                                                                                                                               
      sending 'aboot' (494 KB)...                                                                                                                                                                                        
      OKAY [  0.057s]                                                                                                                                                                                                    
      writing 'aboot'...                                                                                       
      OKAY [  0.567s]                                                                                          
      finished. total time: 0.624s                                                                             
      target reported max download size of 536870912 bytes 
      sending 'boot' (56090 KB)...
      OKAY [  2.930s]                                     
      writing 'boot'...                                   
      OKAY [  0.405s]                                                                                          
      finished. total time: 3.335s                                                                             
      target reported max download size of 536870912 bytes 
      erasing 'system'...                                 
      OKAY [  0.013s]                                     
      sending sparse 'system' 1/4 (522964 KB)...
      ^C---------------------------------------------------------------------------
      
      

      I stopped the process using CTRL+C
      and now

      ➜  modalAI adb devices
      List of devices attached
      

      additionally, fastboot cannot detect it either.

      ➜  utils git:(main) ✗ sudo fastboot device
      [sudo] password for ahmed: 
      < waiting for any device >
      

      I have tried looking into the https://docs.modalai.com/unbrick-voxl/ but I could not find any fastboot switch in my device.
      As reference,
      IMG_3737.jpg
      ![0_1666163268099_IMG_3738.jpg](Uploading 100%)
      IMG_3739.jpg
      IMG_3739.jpg
      IMG_3740.jpg

      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • RE: Change home position in Voxl-mapper

      From within a C/C++ application, you can use the pipe_client_send_control_cmd function to write a command in this format:

      I have looked for this function in the voxl-mapper gitlab master branch but was not able to find it. Has the name been changed in the latest master branch ?

      From within a python script or bash on voxl, you can simply echo/write to the control pipe yourself using the same syntax (and the pipe will be /run/mpa/plan_msgs/control).

      I have tried using voxl:~$ echo "-4.53 1.53" >> /run/mpa/plan_msgs/control (as per the plan_to: x_coord y_coord mentioned above) but there was no change in the voxl-portal.
      I also tried echo "plan_to: -4.53 1.53" >> /run/mpa/plan_msgs/control but it caused the voxl-mapper to abort. (x: -4.53 y:1.53 worked correctly when used from voxl-portal UI )

      voxl:~$ voxl-mapper 
      Loading our own config file
      Loading extrinsics config file
      Trying to init tsdf server
      created tsdf server
      waiting for server at /run/mpa/vvpx4_body_wrt_fixed/
      waiting for server at /run/mpa/tof
      Connected to VIO server
      Initializing ESDF structs
      Connected to depth pipe
      ERROR fetching tf from tf ringbuffer
      there wasn't sufficient data in the buffer
      Client requested plan to location
      msg plan_to
      goal str  -4.53  1.53
      
      Aborted
      
      

      Would you let me know the correct method to input the location programmatically (bash, python, C++ etc) ?

      BTW, voxl-mapper output when PLAN_TO_POINT in voxl-portal UI is used (voxl-portal UI method works correctly):

      voxl:~$ voxl-mapper 
      Loading our own config file
      Loading extrinsics config file
      Trying to init tsdf server
      created tsdf server
      waiting for server at /run/mpa/vvpx4_body_wrt_fixed/
      waiting for server at /run/mpa/tof
      Connected to VIO server
      Connected to depth pipe
      Initializing ESDF structs
      ERROR fetching tf from tf ringbuffer
      there wasn't sufficient data in the buffer
      ERROR fetching tf from tf ringbuffer
      there wasn't sufficient data in the buffer
      Client requested plan to location
      msg plan_to
      goal str  0.02459428645670414,-1.4353046417236328,0
      Using start pose of: x:  -0.32, y:   0.13, z:  -0.04
      Using goal pose of: x:   0.02, y:  -1.44, z:   0.00
      Starting RRTConnect planner
      
      ^C
      received SIGINT Ctrl-C
      Closing Pipes
      voxl:~$ 
      
      

      Thank you

      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • Compile and test voxl-mapper code and visualize trajectory in voxl-mapper using docker containers only ?

      I have been trying to input a sequence of goal points programmatically by changing and then compiling the voxl-mapper code, instead of using voxl-portal and then clicking by mouse.

      Currently, in order to test how my modified code is behaving, I need to use the environment inside the seeker to run voxl-mapper by ssh ing into it.

      Is it possible to use only docker container to test the changed codes of voxl-mapper and then visualize it (the goal points and the trajectories) using voxl portal?

      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • RE: SLAM and voxl-mapper video details

      @modaltb @Matt-Turi Would you let me know what voxl-mapper config file you have been using to generate the map in the How a Drone Navigates Autonomously with SLAM and voxl-mapper
      youtube video?

      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • voxl-portal does not show trajectory even though voxl-mapper computes it

      From the image in voxl-mapper gitlab, https://gitlab.com/voxl-public/voxl-sdk/services/voxl-mapper/-/raw/master/images/path_plan.png, it can be seen that voxl-portal shows the drone trajectory to the goal point.

      But while doing the same in voxl-portal v0.3.3 by means of voxl-mapper v0.1.5, no such trajectories (red and blue lines) is being shown even though the rrt calculation is being done:

      voxl:~$ voxl-mapper   
      Loading our own config file
      Loading extrinsics config file
      Trying to init tsdf server
      created tsdf server
      waiting for server at /run/mpa/vvpx4_body_wrt_fixed/
      waiting for server at /run/mpa/tof
      Connected to VIO server
      Initializing ESDF structs
      Connected to depth pipe
      ERROR fetching tf from tf ringbuffer
      there wasn't sufficient data in the buffer
      Client requested plan to location
      msg plan_to
      goal str  0.9140511155128479,1.140061616897583,0
      Using start pose of: x:  -0.04, y:  -0.06, z:  -0.02
      Using goal pose of: x:   0.91, y:   1.14, z:   0.00
      Starting RRTConnect planner
      ERROR: End point is in collision
      Client requested plan to location
      msg plan_to
      goal str  -1.0398440317492224,-1.0579751735630827,-0.529482705573
      Using start pose of: x:  -0.02, y:  -0.07, z:  -0.02
      Using goal pose of: x:  -1.04, y:  -1.06, z:  -0.53
      Starting RRTConnect planner
      RRT solution found in   2.85ms and took 800 attempts with 218 in tree
      Starting Informed RRT*
      Improved RRT solution found in 200.03ms and took 21692 attempts with 2223 in tree
      

      Selecting the goal point
      Screenshot from 2022-10-12 16-34-34.png
      No trajectory is being shown in voxl-mapper after selecting Go
      Screenshot from 2022-10-12 16-34-50.png

      My voxl-mapper conf

      {
              "tof_pipe_0":   "/run/mpa/tof",
              "tof_0_enable": true,
              "tof_0_rate":   10,
              "tof_extrinsics_0_name":        "tof",
              "tof_1_pipe":   "/run/mpa/tof",
              "tof_1_enable": false,
              "tof_1_rate":   10,
              "tof_extrinsics_1_name":        "tof",
              "tof_2_pipe":   "/run/mpa/tof",
              "tof_2_enable": false,
              "tof_2_rate":   10,
              "tof_extrinsics_2_name":        "tof",
              "tof_3_pipe":   "/run/mpa/tof",
              "tof_3_enable": false,
              "tof_3_rate":   10,
              "tof_extrinsics_3_name":        "tof",
              "depth_pipe_0": "/run/mpa/dfs_point_cloud",
              "depth_pipe_0_enable":  false,
              "extrinsics0_name":     "stereo_l",
              "depth0_rate":  10,
              "depth_pipe_1": "/run/mpa/stereo_front_pc",
              "depth_pipe_1_enable":  false,
              "extrinsics1_name":     "stereo_front_l",
              "depth1_rate":  10,
              "depth_pipe_2": "/run/mpa/stereo_rear_pc",
              "depth_pipe_2_enable":  false,
              "extrinsics2_name":     "stereo_rear_l",
              "depth2_rate":  10,
              "depth_pipe_3": "/run/mpa/dfs_point_cloud",
              "depth_pipe_3_enable":  false,
              "extrinsics3_name":     "stereo_l",
              "depth3_rate":  10,
              "robot_radius": 0.300000011920929,
              "voxel_size":   0.20000000298023224,
              "voxels_per_side":      16,
              "esdf_save_path":       "/data/voxl-mapper/esdf_map",
              "tsdf_save_path":       "/data/voxl-mapper/tsdf_map",
              "mesh_save_path":       "/data/voxl-mapper/mesh",
              "esdf_max_distance":    2,
              "esdf_min_distance":    0.10000000149011612,
              "esdf_default_distance":        1,
              "esdf_inner_sphere_radius":     0.20000000298023224,
              "esdf_outer_sphere_radius":     0.600000023841858,
              "rrt_min_distance":     0.20000000298023224,
              "rrt_max_runtime_nanoseconds":  1000000000,
              "rrt_goal_threshold":   0.05000000074505806,
              "rrt_prune_iterations": 100,
              "rrt_send_tree":        false,
              "treat_unknown_as_occupied":    true,
              "loco_num_segments":    10,
              "loco_smoothness_cost_weight":  0.1,
              "loco_collision_cost_weight":   10,
              "loco_waypoint_cost_weight":    1,
              "loco_min_collision_sampling_dist":     0.1,
              "loco_add_waypoints":   false,
              "loco_scale_time":      true,
              "loco_split_at_collisions":     true,
              "loco_resample_trajectory":     true,
              "loco_resample_visibility":     false,
              "loco_verbose": false,
              "loco_optimize_time":   true,
              "loco_v_max":   1,
              "loco_a_max":   2,
              "loco_yaw_rate_max":    0.78539816339744828,
              "loco_sampling_dt":     0.1
      }
      
      

      voxl-vision-px4 conf

      {
              "config_file_version":  1,
              "qgc_ip":       "192.168.8.60",
              "en_secondary_qgc":     false,
              "secondary_qgc_ip":     "192.168.1.214",
              "qgc_udp_port_number":  14550,
              "udp_mtu":      512,
              "en_localhost_mavlink_udp":     true,
              "localhost_udp_port_number":    14551,
              "en_vio":       true,
              "en_voa":       true,
              "en_send_vio_to_qgc":   false,
              "en_send_voa_to_qgc":   false,
              "voa_upper_bound_m":    -0.15000000596046448,
              "voa_lower_bound_m":    0.15000000596046448,
              "en_set_clock_from_gps":        true,
              "en_force_onboard_mav1_mode":   true,
              "en_reset_px4_on_error":        true,
              "horizon_cal_tolerance":        0.300000011920929,
              "offboard_mode":        "trajectory",
              "follow_tag_id":        0,
              "figure_eight_move_home":       true,
              "en_tag_fixed_frame":   false,
              "fixed_frame_filter_len":       5,
              "en_transform_mavlink_pos_setpoints_from_fixed_frame":  false,
              "vio_pipe":     "qvio",
              "en_reset_vio_if_initialized_inverted": true,
              "vio_warmup_s": 3,
              "send_odom_while_failed":       false,
              "robot_radius": 0.300000011920929,
              "collision_sampling_dt":        0.1,
              "max_lookahead_distance":       1,
              "voa_memory_s": 1,
              "voa_inputs":   [{
                              "enabled":      true,
                              "type": "point_cloud",
                              "input_pipe":   "dfs_point_cloud",
                              "frame":        "stereo_l"
                      }, {
                              "enabled":      true,
                              "type": "point_cloud",
                              "input_pipe":   "stereo_front_pc",
                              "frame":        "stereo_front_l"
                      }, {
                              "enabled":      true,
                              "type": "point_cloud",
                              "input_pipe":   "stereo_rear_pc",
                              "frame":        "stereo_rear_l"
                      }, {
                              "enabled":      true,
                              "type": "tof",
                              "input_pipe":   "tof",
                              "frame":        "tof"
                      }, {
                              "enabled":      true,
                              "type": "rangefinder",
                              "input_pipe":   "rangefinders",
                              "frame":        "body"
                      }]
      }
      
      

      and

      voxl:~$ voxl-version 
      --------------------------------------------------------------------------------
      system-image: 3.8.0
      kernel:       #1 SMP PREEMPT Tue Apr 26 18:08:39 UTC 2022 3.18.71-perf
      --------------------------------------------------------------------------------
      hw version:   VOXL
      --------------------------------------------------------------------------------
      voxl-suite:   0.7.0
      --------------------------------------------------------------------------------
      Packages:
      Repo: http://voxl-packages.modalai.com/dists/apq8096/stable/binary-arm64/
      http://voxl-packages.modalai.com/stable/
      http://voxl-packages.modalai.com/dists/apq8096/sdk-0.9/binary-arm64/
      Last Updated: 2022-10-12 01:29:08
      List:
              apq8096-camera-server    0.9.1
              apq8096-dfs-server       0.3.1
              apq8096-imu-server       1.0.3
              apq8096-libpng           1.6.38-1
              apq8096-system-tweaks    0.1.2
              apq8096-tflite           2.8.3-1
              libapq8096-io            0.6.0
              libmodal-cv              0.2.3
              libmodal-exposure        0.0.7
              libmodal-json            0.4.3
              libmodal-pipe            2.6.0
              libvoxl-cutils           0.1.1
              voxl-camera-calibration  0.2.3
              voxl-ceres-solver        1.14.0-9
              voxl-cpu-monitor         0.2.6
              voxl-docker-support      1.2.4
              voxl-eigen3              3.4.0
              voxl-gphoto2-server      0.0.10
              voxl-jpeg-turbo          2.1.3-4
              voxl-libgphoto2          0.0.4
              voxl-libuvc              1.0.7
              voxl-logger              0.3.4
              voxl-mapper              0.1.5
              voxl-mavlink             0.1.0
              voxl-mavlink-server      0.2.0
              voxl-modem               0.16.1
              voxl-mongoose            7.7.0-1
              voxl-mpa-to-ros          0.3.6
              voxl-mpa-tools           0.7.5
              voxl-nlopt               2.5.0-4
              voxl-opencv              4.5.5-1
              voxl-portal              0.3.3
              voxl-qvio-server         0.8.2
              voxl-streamer            0.4.1
              voxl-suite               0.7.0
              voxl-tag-detector        0.0.4
              voxl-tflite-server       0.3.1
              voxl-utils               1.2.2
              voxl-uvc-server          0.1.2
              voxl-vision-px4          1.4.0
              voxl-voxblox             1.1.3
              voxl-vpn                 0.0.6
      --------------------------------------------------------------------------------
      
      
      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • Building voxl-mapper from scratch. voxl-mapper: error while loading shared libraries: libceres.so.1: cannot open shared object file: No such file or directory

      I have been trying to install voxl mapper from scratch into voxl by building it from voxl-mapper gitlab master branch :

      1. Install dependencies
      voxl-cross:~/voxl-mapper(master)$ ./install_build_deps.sh apq8096 dev                                                                        
      using apq8096 dev repo                                                
      Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//Packages.gz.                                                    
      Updated source 'dev'.                                                                                                                        
      installing:                                                                                                                                  
      libmodal-json                                                                                                                                
      libvoxl-cutils                                                                                                                               
      voxl-ceres-solver                                                                                                                            
      voxl-nlopt                                                                                                                                   
      voxl-mpa-tools                                                                                                                               
      libmodal-pipe                                                                                                                                
      voxl-voxblox                                                                                                                                 
      voxl-vision-px4                                                                                                                              
      voxl-mavlink                                                                                                                                 
      voxl-eigen3                                                                                                                                  
      Installing libmodal-json (0.4.3) on root.                                                                                                    
      Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//libmodal-json_0.4.3_202209281920.ipk.                           
      Configuring libmodal-json.                                                                                                                   
      Installing libvoxl-cutils (0.1.1) on root.                            
      Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//libvoxl-cutils_0.1.1_202210072353.ipk.
      Configuring libvoxl-cutils.                                                                                                                  
      Installing voxl-ceres-solver (1.14.0) on root.                                                                                               
      Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-ceres-solver_1.14.0-9_202208221901.ipk.
      Configuring voxl-ceres-solver.                                                                                                               
      Installing voxl-nlopt (2.5.0) on root.                                                                                                       
      Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-nlopt_2.5.0-4_202210072358.ipk.
      Configuring voxl-nlopt.                                                                                                                      
                                                                                                                                                   
      Done installing nlopt                                                                                                                        
                                                                                                                                                   
      Installing voxl-mpa-tools (0.7.5) on root.                                                                                                   
      Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-mpa-tools_0.7.5_202210072124.ipk.  
      Configuring voxl-mpa-tools.                                                                                                                  
      Installing libmodal-pipe (2.6.0) on root.                                                                                                    
      Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//libmodal-pipe_2.6.0_202210052046.ipk.                
      Configuring libmodal-pipe.                                                                                                                   
      Installing voxl-voxblox (1.1.3) on root.                                                                                                     
      Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-voxblox_1.1.3_202209261707.ipk.                            
      Configuring voxl-voxblox.                                                                                                                    
                                                                                                                                                   
      Done installing voxblox                                                                                                                      
                                                                                                                                                   
      Installing voxl-vision-px4 (1.4.0) on root.                                                                                                  
      Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-vision-px4_1.4.0_202210072317.ipk.
      Configuring voxl-vision-px4.                                                                                                                 
      //usr/local/var/lib/opkg/info/voxl-vision-px4.postinst: 10: //usr/local/var/lib/opkg/info/voxl-vision-px4.postinst: systemctl: not found
      Collected errors:                                                                                                                            
       * pkg_run_script: package "voxl-vision-px4" postinst script returned status 127.                                  
       * opkg_configure: voxl-vision-px4.postinst returned 127.
      Installing voxl-mavlink (0.1.0) on root.
      Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-mavlink_0.1.0_202207052152.ipk.
      Configuring voxl-vision-px4.
      //usr/local/var/lib/opkg/info/voxl-vision-px4.postinst: 10: //usr/local/var/lib/opkg/info/voxl-vision-px4.postinst: systemctl: not found
      Configuring voxl-mavlink.
      Collected errors:
       * pkg_run_script: package "voxl-vision-px4" postinst script returned status 127.
       * opkg_configure: voxl-vision-px4.postinst returned 127.
      Installing voxl-eigen3 (3.4.0) on root.
      Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-eigen3_3.4.0_202208222129.ipk.
      Configuring voxl-eigen3.
      Configuring voxl-vision-px4.
      //usr/local/var/lib/opkg/info/voxl-vision-px4.postinst: 10: //usr/local/var/lib/opkg/info/voxl-vision-px4.postinst: systemctl: not found
      Collected errors:
       * pkg_run_script: package "voxl-vision-px4" postinst script returned status 127.
       * opkg_configure: voxl-vision-px4.postinst returned 127.
      
      Done installing dependencies
      

      which install dependencies with multiple errors.

      1. Build
      voxl-cross:~/voxl-mapper(master)$ ./build.sh apq8096
      -- The C compiler identification is GNU 4.9.3
      -- The CXX compiler identification is GNU 4.9.3
      -- Detecting C compiler ABI info                                      
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc-4.9 - skipped
      -- Detecting C compile features                                       
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info                                    
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++-4.9 - skipped
      -- Detecting CXX compile features                                     
      -- Detecting CXX compile features - done
      -- Configuring done                                                   
      -- Generating done                                                    
      -- Build files have been written to: /home/root/voxl-mapper/build64
      [  2%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/motion_defines.cpp.o
      [  5%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/polynomial.cpp.o
      [  8%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/rpoly_ak1.cpp.o
      [ 13%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/timing.cpp.o
      [ 13%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/segment.cpp.o
      [ 16%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/vertex.cpp.o
      [ 19%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory_sampling.cpp.o
      [ 22%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory.cpp.o
      [ 25%] Linking CXX shared library libmav_trajectory_generation.so
      [ 25%] Built target mav_trajectory_generation
      [ 27%] Building CXX object server/mav_planning_common/CMakeFiles/mav_planning_common.dir/src/yaw_policy.cpp.o
      [ 30%] Building CXX object server/mav_planning_common/CMakeFiles/mav_planning_common.dir/src/visibility_resampling.cpp.o
      [ 33%] Building CXX object server/mav_planning_common/CMakeFiles/mav_planning_common.dir/src/color_utils.cpp.o
      [ 36%] Linking CXX shared library libmav_planning_common.so
      [ 36%] Built target mav_planning_common
      [ 38%] Building CXX object server/mav_path_smoothing/CMakeFiles/mav_path_smoothing.dir/src/loco_smoother.cpp.o
      [ 41%] Building CXX object server/voxblox_planning_common/CMakeFiles/voxblox_planning_common.dir/src/path_shortening.cpp.o
      [ 50%] Building CXX object server/mav_path_smoothing/CMakeFiles/mav_path_smoothing.dir/src/polynomial_smoother.cpp.o
      [ 50%] Building CXX object server/voxblox_planning_common/CMakeFiles/voxblox_planning_common.dir/src/gain_evaluator.cpp.o
      [ 52%] Building CXX object server/mav_path_smoothing/CMakeFiles/mav_path_smoothing.dir/src/path_smoother_base.cpp.o
      [ 52%] Building CXX object server/mav_path_smoothing/CMakeFiles/mav_path_smoothing.dir/src/velocity_ramp_smoother.cpp.o
      [ 55%] Linking CXX shared library libvoxblox_planning_common.so
      [ 55%] Built target voxblox_planning_common
      [ 58%] Linking CXX shared library libmav_path_smoothing.so
      [ 58%] Built target mav_path_smoothing
      [ 61%] Building CXX object server/mav_local_planner/CMakeFiles/mav_local_planner.dir/src/conversions.cpp.o
      [ 63%] Linking CXX shared library libmav_local_planner.so
      [ 63%] Built target mav_local_planner
      [ 66%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/local_planners/global_smoother.cc.o
      [ 69%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/global_planners/rrt_connect.cc.o
      [ 72%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/local_planners/local_a_star.cc.o
      [ 77%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/main.cc.o
      [ 77%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/config_file.cc.o
      [ 80%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/obs_pc_filter.cc.o
      [ 83%] Building C object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/rc_transform.c.o
      [ 86%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/planner_utils.cc.o
      [ 88%] Building C object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/rc_transform_ringbuf.c.o
      [ 94%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/timing_utils.cc.o
      [ 94%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/voxl_mapper.cc.o
      [ 97%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/voxl_planner.cc.o
      [100%] Linking CXX executable voxl-mapper
      [100%] Built target voxl-mapper
      
      1. Inside voxl:
        a. Installed voxl related packages
      voxl:~$ opkg list-installed | grep voxl
      libvoxl-cutils - 0.1.1
      voxl-camera-calibration - 0.1.5
      voxl-ceres-solver - 1.14.0-7
      voxl-cpu-monitor - 0.2.6
      voxl-docker-support - 1.2.4
      voxl-gphoto2-server - 0.0.10
      voxl-jpeg-turbo - 2.1.3-4
      voxl-libgphoto2 - 0.0.4
      voxl-libuvc - 1.0.6
      voxl-logger - 0.1.2
      voxl-mapper - 0.1.5
      voxl-mavlink - 0.1.0
      voxl-mavlink-server - 0.1.1
      voxl-modem - 0.16.0
      voxl-mongoose - 7.6.0
      voxl-mpa-to-ros - 0.3.2
      voxl-mpa-tools - 0.7.2
      voxl-nlopt - 2.5.0-4
      voxl-opencv - 4.5.5-1
      voxl-portal - 0.2.8
      voxl-qvio-server - 0.4.6
      voxl-streamer - 0.3.1
      voxl-suite - 0.7.0
      voxl-tag-detector - 0.0.4
      voxl-tflite-server - 0.2.3
      voxl-utils - 1.1.4
      voxl-uvc-server - 0.1.1
      voxl-vision-px4 - 1.0.5
      voxl-voxblox - 1.0.4
      voxl-vpn - 0.0.6
      

      b.

      voxl:~$ opkg list-installed | grep libmo
      libmodal-cv - 0.1.0
      libmodal-exposure - 0.0.7
      libmodal-json - 0.4.2
      libmodal-pipe - 2.4.0
      libmount1 - 2.26.2-r0.3
      

      Finally inside voxl, when I execute voxl-mapper, I get the error

      voxl:~$ voxl-mapper -d
      voxl-mapper: error while loading shared libraries: libceres.so.1: cannot open shared object file: No such file or directory
      

      Is it happening due to the errors that occured during dependency installation (Step 1) ? How can I resolve this error?

      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • Why does voxl-inspect-pose -f fail when voxl-vision-px4 -b command is executed ?

      The following is my voxl version:

      voxl:~$ voxl-version 
      --------------------------------------------------------------------------------
      system-image: 3.8.0
      kernel:       #1 SMP PREEMPT Tue Apr 26 18:08:39 UTC 2022 3.18.71-perf
      --------------------------------------------------------------------------------
      hw version:   VOXL
      --------------------------------------------------------------------------------
      voxl-suite:   0.8.1
      0.7.0
      --------------------------------------------------------------------------------
      

      voxl related packages in opkg are:

      voxl:~$ opkg list-installed | grep voxl
      libvoxl-cutils - 0.1.1
      voxl-camera-calibration - 0.1.5
      voxl-ceres-solver - 1.14.0-7
      voxl-cpu-monitor - 0.2.6
      voxl-docker-support - 1.2.4
      voxl-gphoto2-server - 0.0.10
      voxl-jpeg-turbo - 2.1.3-4
      voxl-libgphoto2 - 0.0.4
      voxl-libuvc - 1.0.6
      voxl-logger - 0.1.2
      voxl-mapper - 0.0.7
      voxl-mavlink - 0.0.7
      voxl-mavlink-server - 0.1.1
      voxl-modem - 0.15.1
      voxl-mongoose - 7.6.0
      voxl-mpa-to-ros - 0.3.2
      voxl-mpa-tools - 0.6.3
      voxl-nlopt - 2.5.0-4
      voxl-opencv - 4.5.5-1
      voxl-portal - 0.2.8
      voxl-qvio-server - 0.4.6
      voxl-streamer - 0.3.1
      voxl-suite - 0.7.0
      voxl-tag-detector - 0.0.4
      voxl-tflite-server - 0.2.3
      voxl-utils - 1.1.1
      voxl-uvc-server - 0.1.1
      voxl-vision-px4 - 1.0.5
      voxl-voxblox - 1.0.4
      voxl-vpn - 0.0.6
      
      

      Initially I can view voxl-inspect-pose -f without any issue:

      voxl:~$ voxl-inspect-pose -f
      timestamp(ms)|     Position (m)     | Roll Pitch Yaw (deg) |    Velocity (m/s)    | angular rate (deg/s) |
            228543 |  -0.04  -0.03  -0.01 |   -2.2   15.6   -0.5 |  -0.00   0.00  -0.00 |  -0.13  -0.22  -0.04 |^C
      received SIGINT Ctrl-C
      

      But after I execute voxl-vision-px4 -b, I get the following output:

      voxl:~$ voxl-vision-px4 -b                                          
      detected platform APQ8096                                           
      loading our own config file                       
      =================================================================   
      Parameters as loaded from config file:            
      config file version:        1                                       
      qgc_ip:                     192.168.8.60          
      en_secondary_qgc:           0                                       
      secondary_qgc_ip:           192.168.1.214         
      qgc_udp_port_number:        14550                                     
      udp_mtu:                    512                   
      en_localhost_mavlink_udp    1                                       
      localhost_udp_port_number:  14551                 
      en_vio:                     1                                         
      en_voa:                     1                        
      en_send_vio_to_qgc:         0                                                                                                                
      en_send_voa_to_qgc:         0                                                                                                                
      voa_upper_bound_m:          -0.150000                               
      voa_lower_bound_m:          0.150000                                  
      en_set_clock_from_gps:      1                                                                                                                
      en_force_onboard_mav1_mode: 1                     
      en_reset_px4_on_error:      1                                                                                                                
      qvio_auto_reset_quality:    0.000500                   
      horizon_cal_tolerance:      0.300000                                  
      offboard_mode:              trajectory            
      follow_tag_id:              0                                                                                                                                                                                                                                                             
      figure_eight_move_home:     1
      en_tag_fixed_frame:         0
      fixed_frame_filter_len:     5
      en_transform_mavlink_pos_setpoints_from_fixed_frame:0
      =================================================================
      loading extrinsics config file
      exising instance of voxl-vision-px4 found, attempting to stop it
      starting geometry module
      starting px4 monitor
      starting px4 mavlink
      starting udp mavlink
      Adding manual QGC IP address to udp connection list: 192.168.8.60
      Added new UDP connection to 192.168.8.60
      starting px4 shell
      starting fixed pose input
      starting vio manager
      starting tag manager
      starting voa manager
      starting offboard trajectory
      starting control input pipe
      Init complete, entering main loop
      Connected to voxl-mavlink-server
      Detected PX4 Mavlink SYSID 1
      uart send msgid: 111 sysid:  1 compid:197
      uart send msgid: 111 sysid:  1 compid:197
      Connected to voxl-qvio-server
      updating to use imu: imu1
      done updating transforms to use imu: imu1
      ERROR validating VIO data received through pipe: read partial packet
      read 156 bytes, but it should be a multiple of 324
      uart send msgid: 330 sysid:  1 compid:197
      uart send msgid:  84 sysid:  1 compid:197
      Connected to TOF
      ERROR validating VIO data received through pipe: read partial packet
      read 156 bytes, but it should be a multiple of 324
      uart send msgid: 330 sysid:  1 compid:197
      uart send msgid:  84 sysid:  1 compid:197
      ERROR validating VIO data received through pipe: read partial packet
      read 156 bytes, but it should be a multiple of 324
      uart send msgid: 330 sysid:  1 compid:197
      ......
      ERROR validating VIO data received through pipe: read partial packet
      read 156 bytes, but it should be a multiple of 324
      uart send msgid:  84 sysid:  1 compid:197                           
      uart send msgid: 330 sysid:  1 compid:197         
      ^C                                                                  
      received SIGINT Ctrl-C                            
      Starting shutdown sequence                                          
      stopping control input                            
      stopping offboard trajectory                                        
      uart send msgid: 111 sysid:  1 compid:197         
      uart send msgid: 111 sysid:  1 compid:197                           
      ERROR validating VIO data received through pipe: read partial packet
      read 156 bytes, but it should be a multiple of 324                  
      exiting offboard trajectory thread                
      uart send msgid: 330 sysid:  1 compid:197                           
      stopping horizon_cal                              
      stopping voa manager                                                
      ERROR validating VIO data received through pipe: read partial packet
      read 156 bytes, but it should be a multiple of 324                  
      uart send msgid: 330 sysid:  1 compid:197         
      exiting VOA thread                                                  
      stopping tag manager                              
      stopping vio manager                                                
      stopping fixed pose in module                     
      stopping px4 shell module                                           
      Stopping udp mavlink module                       
      uart send msgid: 111 sysid:  1 compid:197                           
      uart send msgid: 111 sysid:  1 compid:197         
      uart send msgid: 111 sysid:  1 compid:197                           
      uart send msgid: 111 sysid:  1 compid:197         
      uart send msgid: 111 sysid:  1 compid:197                           
      uart send msgid: 111 sysid:  1 compid:197         
      exiting QGC udp listener thread                                     
      exiting localhost udp listener thread             
      udp_mavlink stopped                                                 
      Stopping uart mavlink module                                        
      waiting for px4 mavlink timer thread to join                        
      Stopping px4 monitor                              
      closing remaining client pipes                                      
      closing remaining server pipes                    
      Removing PID file                                                   
      exiting   
      

      The error being:

      ERROR validating VIO data received through pipe: read partial packet
      read 156 bytes, but it should be a multiple of 324
      

      and voxl-inspect-pose -f shows nothing:

      waiting for server at /run/mpa/vvpx4_body_wrt_fixed/
      

      Why is it happening?

      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • Are "voxl-inspect-pose -f" (ie retrieval of pose data) and "voxl-inspect-qvio" (ie retrieval of qvio data) related to cpu temperature ?

      After installing voxl platform from scratch by flashing image, I can run voxl-mapper and both voxl-inspect-qvio and voxl-inspect-pose -f produce correct outputs.

      voxl:~$ voxl-inspect-qvio 
      waiting for server
      
          T_imu_wrt_vio (m)   |Roll Pitch Yaw (deg)| state| error_code
          0.01   -0.00   -0.01|   0.4    1.4    1.9| OKAY | 
      

      and

      voxl:~$ voxl-inspect-pose -f
      timestamp(ms)|     Position (m)     | Roll Pitch Yaw (deg) |    Velocity (m/s)    | angular rate (deg/s) |
            347449 |  -0.06  -0.02  -0.02 |   -0.2   14.4    1.2 |   0.00   0.00  -0.00 |   0.14   0.16  -0.19 |
      

      Naturally, voxl-mapper also produces proper indoor map
      Screenshot from 2022-10-03 14-01-26.png

      In this case, the temperature is the following:

      voxl:~$ voxl-inspect-cpu
      2Name   Freq (MHz) Temp (C) Util (%)
      3-----------------------------------
      4cpu0        960.0     50.9    38.01
      5cpu1        960.0     50.9    34.56
      6cpu2       1113.6     51.5    27.29
      7cpu3       1248.0     51.8    22.64
      8Total                 51.8    30.63
      910s avg                       23.83
      10-----------------------------------
      11GPU           0.0     46.2     0.00
      12GPU 10s avg                    0.00
      13-----------------------------------
      14memory temp:       47.7 C
      15memory used:   797/3770 MB
      16-----------------------------------
      17Flags
      18CPU freq scaling mode: auto
      19GPU freq scaling mode: auto
      20-----------------------------------
      21^C
      22received SIGINT Ctrl-C
      23closing
      

      But after about half an hour, the voxl-inspect-qvio and voxl-inspect-pose -f stop working.

      1. voxl-inspect-qvio shows some values and shows okay status but don’t change even if drone is moved
      voxl:~$ voxl-inspect-qvio
      waiting for server
      
          T_imu_wrt_vio (m)   |Roll Pitch Yaw (deg)| state| error_code
         -2.65   -2.16   -0.78| -17.2  -31.0   45.7| OKAY | ^C
      received SIGINT Ctrl-C
      
      closing and exiting
      
      1. voxl-inspect-pose -f does not show anything
      timestamp(ms)|     Position (m)     | Roll Pitch Yaw (deg) |    Velocity (m/s)    | angular rate (deg/s) |
      
      
      
      1. In this (hot) case, the temperature is the following:
      Name   Freq (MHz) Temp (C) Util (%)
      -----------------------------------
      cpu0       1593.6     83.2    58.73
      cpu1       1593.6     82.9    51.08
      cpu2        883.2     85.2    31.87
      cpu3        883.2     82.0    25.26
      Total                 85.2    41.73
      10s avg                       43.98
      -----------------------------------
      GPU           0.0     75.2     0.00
      GPU 10s avg                    0.00
      -----------------------------------
      memory temp:       77.8 C
      memory used:   998/3770 MB
      -----------------------------------
      Flags
      CPU freq scaling mode: auto
      GPU freq scaling mode: auto
      -----------------------------------
      ^C
      received SIGINT Ctrl-C
      closing
      
      1. After cooling the seeker for 1 hour, voxl-inspect-qvio shows correct outputs when drone is moved, but voxl-inspect-pose -f does not work.
        In this (cool) case,
      voxl:~$ voxl-inspect-cpu
      2Name   Freq (MHz) Temp (C) Util (%)
      3-----------------------------------
      4cpu0        960.0     41.9    37.47
      5cpu1        960.0     41.3    36.29
      6cpu2        729.6     45.1    29.53
      7cpu3        729.6     42.2    26.59
      8Total                 45.1    32.47
      910s avg                       31.86
      10-----------------------------------
      11GPU           0.0     37.6     0.00
      12GPU 10s avg                    0.00
      13-----------------------------------
      14memory temp:       39.7 C
      15memory used:   561/3770 MB
      16-----------------------------------
      17Flags
      18CPU freq scaling mode: auto
      19GPU freq scaling mode: auto
      20-----------------------------------
      21^C
      22received SIGINT Ctrl-C
      23closing
      

      and voxl-inspect-qvio works properly when the drone is moved

      voxl:~$ voxl-inspect-qvio 
      waiting for server
      
          T_imu_wrt_vio (m)   |Roll Pitch Yaw (deg)| state| error_code
         -0.07   -0.39   -0.02|  33.2  -39.0  -19.9| OKAY | ^C
      received SIGINT Ctrl-C
      
      closing and exiting
      voxl:~$ voxl-inspect-qvio
      waiting for server
      
          T_imu_wrt_vio (m)   |Roll Pitch Yaw (deg)| state| error_code
         -0.16   -0.54   -0.28| 110.8    7.6  -55.4| OKAY | ^C
      received SIGINT Ctrl-C
      
      closing and exiting
      voxl:~$ voxl-inspect-qvio
      waiting for server
      
          T_imu_wrt_vio (m)   |Roll Pitch Yaw (deg)| state| error_code
          0.39   -0.50    0.03|  69.5  -20.3   97.2| OKAY | ^C
      received SIGINT Ctrl-C
      
      closing and exiting
      

      But, voxl-inspect-pose -f does not show anything

      timestamp(ms)|     Position (m)     | Roll Pitch Yaw (deg) |    Velocity (m/s)    | angular rate (deg/s) |
      2
      3
      

      voxl-inspect-pose -f start working only when image is flashed and voxl platform and packages including voxl-mapper are installed from scratch.

      If temperature was the issue, would not voxl-inspect-pose -f start working, after the seeker has been cooled?
      Could you let me know why such problem is occuring?

      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • Issues with indoor mapping speed and path planning with voxl-mapper

      I have multiple questions regarding path planning with voxl-mapper:
      voxl-mapper version: 0.0.7

      My voxl-mapper config file is :

      voxl:~$ cat /etc/modalai/voxl-mapper.conf 
      /**
       * This file contains configuration that's specific to voxl-mapper.
       */
      {
      	"tof_pipe":	"/run/mpa/tof",
      	"tof_enable":	true,
      	"tof_rate":	10,
      	"depth_pipe_0":	"/run/mpa/dfs_point_cloud",
      	"depth_pipe_0_enable":	false,
      	"extrinsics0_name":	"stereo_l",
      	"depth0_rate":	10,
      	"depth_pipe_1":	"/run/mpa/stereo_front_pc",
      	"depth_pipe_1_enable":	false,
      	"extrinsics1_name":	"stereo_front_l",
      	"depth1_rate":	10,
      	"depth_pipe_2":	"/run/mpa/stereo_rear_pc",
      	"depth_pipe_2_enable":	false,
      	"extrinsics2_name":	"stereo_rear_l",
      	"depth2_rate":	10,
      	"depth_pipe_3":	"/run/mpa/dfs_point_cloud",
      	"depth_pipe_3_enable":	false,
      	"extrinsics3_name":	"stereo_l",
      	"depth3_rate":	10,
      	"robot_radius":	0.3,
      	"voxel_size":	0.20000000298023224,
      	"voxels_per_side":	16,
      	"esdf_save_path":	"/data/voxl_mapper/esdf_map",
      	"tsdf_save_path":	"/data/voxl_mapper/tsdf_map",
      	"mesh_save_path":	"/data/voxl_mapper/mesh.ply",
      	"esdf_max_distance":	4,
      	"esdf_min_distance":	0.10000000149011612,
      	"esdf_default_distance":	2,
      	"esdf_inner_sphere_radius":	0.20000000298023224,
      	"esdf_outer_sphere_radius":	0.600000023841858,
      	"rrt_min_distance":	0.2,
      	"rrt_max_runtime_nanoseconds":	1000000000,
      	"rrt_use_first_solution":	false,
      	"rrt_treat_unknown_as_occupied":	true,
      	"rrt_send_tree":	false,
      	"loco_num_segments":	10,
      	"loco_derivative_to_optimize":	3,
      	"loco_poly_degree":	10,
      	"loco_smoothness_cost_weight":	2.5,
      	"loco_collision_cost_weight":	14,
      	"loco_waypoint_cost_weight":	0,
      	"loco_min_collision_sampling_dist":	0.05,
      	"loco_add_waypoints":	true,
      	"loco_scale_time":	true,
      	"loco_split_at_collisions":	true,
      	"loco_resample_trajectory":	true,
      	"loco_verbose":	false
      }
      
      

      voxl-vision-px4.conf file

      voxl:~$ cat /etc/modalai/voxl-vision-px4.conf
      {
      	"config_file_version":	1,
      	"qgc_ip":	"192.168.8.60",
      	"en_secondary_qgc":	false,
      	"secondary_qgc_ip":	"192.168.1.214",
      	"qgc_udp_port_number":	14550,
      	"udp_mtu":	512,
      	"en_localhost_mavlink_udp":	true,
      	"localhost_udp_port_number":	14551,
      	"en_vio":	true,
      	"en_voa":	true,
      	"en_send_vio_to_qgc":	false,
      	"en_send_voa_to_qgc":	false,
      	"voa_upper_bound_m":	-0.15000000596046448,
      	"voa_lower_bound_m":	0.15000000596046448,
      	"en_set_clock_from_gps":	true,
      	"en_force_onboard_mav1_mode":	true,
      	"en_reset_px4_on_error":	true,
      	"qvio_auto_reset_quality":	0.00050000002374872565,
      	"horizon_cal_tolerance":	0.300000011920929,
      	"offboard_mode":	"trajectory",
      	"follow_tag_id":	0,
      	"figure_eight_move_home":	true,
      	"en_tag_fixed_frame":	false,
      	"fixed_frame_filter_len":	5,
      	"en_transform_mavlink_pos_setpoints_from_fixed_frame":	false
      }
      
      
      1. The following is the image provided in the gitlab repo:
        https://gitlab.com/voxl-public/voxl-sdk/services/voxl-mapper/-/raw/master/images/path_plan.pngalt text
        This map has generated both red and blue paths but none of my two maps shown below have blue path. Has the blue path been removed in the new voxl-mapper version?

      2. I am confused as to how I should select the goal point for the drone to fly to, because it is very hard to visualize exactly where the goal point selected in the voxl mapper is located in the room.
        Is it the right apporach to view the map from the top (i.e. from z axis pointing outward the screen: last image) and then select the "goal point"?

      3. In the last image (viewed from z axis) why does the voxl-mapper create a zig zag path, whereas a straight path is enough to reach the goal point?
        Screenshot from 2022-10-03 12-04-14.png

      Screenshot from 2022-10-03 14-01-26.png

      1. Current mapping speed is very slow. What parameter in the voxl-mapper config map can I change in order to incease the mapping speed?
      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • Cannot build voxl-mapper in voxl-cross docker image: fatal error: voxblox/Eigen/Core: No such file or directory

      I intend to modify some codes in voxl-mapper and so would like to build it after the modification. I am building it following the instructions in the Build Instructions section in the voxl-mapper gitlab (i.e. in voxl-cross docker image).
      Therefore,following the instructions in voxl-mapper gitlab, I execute the following:

      1. Install the dependencies
      using apq8096 sdk-0.8 repo
      Downloading http://voxl-packages.modalai.com/dists/apq8096/sdk-0.8/binary-arm64//Packages.gz.
      Updated source 'sdk-0.8'.
      installing: 
      libmodal-json
      libvoxl-cutils
      voxl-ceres-solver
      voxl-nlopt
      voxl-mpa-tools
      libmodal-pipe
      voxl-voxblox
      Package libmodal-json (0.4.2) installed in root is up to date.
      Package libvoxl-cutils (0.1.1) installed in root is up to date.
      Package voxl-ceres-solver (1.14.0-9) installed in root is up to date.
      Package voxl-nlopt (2.5.0-4) installed in root is up to date.
      Package voxl-mpa-tools (0.7.3) installed in root is up to date.
      Package libmodal-pipe (2.4.4) installed in root is up to date.
      Package voxl-voxblox (1.1.2) installed in root is up to date.
      
      Done installing dependencies
      
      
      1. Run the script for building
      voxl-cross:~/voxl-mapper(master)$ ./build.sh  apq8096
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /home/root/voxl-mapper/build64
      Consolidate compiler generated dependencies of target mav_trajectory_generation
      [  2%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/polynomial.cpp.o
      [  5%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/rpoly_ak1.cpp.o
      [  8%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/segment.cpp.o
      [ 11%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory_sampling.cpp.o
      [ 13%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory.cpp.o
      [ 16%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/vertex.cpp.o
      In file included from /home/root/voxl-mapper/server/mav_trajectory_generation/src/polynomial.cpp:20:0:
      /home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/polynomial.h:24:30: fatal error: voxblox/Eigen/Core: No such file or directory
       #include <voxblox/Eigen/Core>
                                    ^
      compilation terminated.
      In file included from /home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/trajectory_sampling.h:24:0,
                       from /home/root/voxl-mapper/server/mav_trajectory_generation/src/trajectory_sampling.cpp:21:
      /home/root/voxl-mapper/server/mav_comm/mav_msgs/include/mav_msgs/eigen_mav_msgs.h:24:30: fatal error: voxblox/Eigen/Core: No such file or directory
       #include <voxblox/Eigen/Core>
                                    ^
      compilation terminated.
      In file included from /home/root/voxl-mapper/server/mav_trajectory_generation/src/segment.cpp:21:0:
      /home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/segment.h:24:30: fatal error: voxblox/Eigen/Core: No such file or directory
       #include <voxblox/Eigen/Core>
                                    ^
      compilation terminated.
      In file included from /home/root/voxl-mapper/server/mav_trajectory_generation/src/vertex.cpp:21:0:
      /home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/vertex.h:24:30: fatal error: voxblox/Eigen/Core: No such file or directory
       #include <voxblox/Eigen/Core>
                                    ^
      compilation terminated.
      server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/build.make:173: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/vertex.cpp.o' failed
      make[2]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/vertex.cpp.o] Error 1
      make[2]: *** Waiting for unfinished jobs....
      server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/build.make:159: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory_sampling.cpp.o' failed
      make[2]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory_sampling.cpp.o] Error 1
      server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/build.make:117: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/segment.cpp.o' failed
      make[2]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/segment.cpp.o] Error 1
      server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/build.make:89: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/polynomial.cpp.o' failed
      make[2]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/polynomial.cpp.o] Error 1
      In file included from /home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/trajectory.h:25:0,
                       from /home/root/voxl-mapper/server/mav_trajectory_generation/src/trajectory.cpp:21:
      /home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/segment.h:24:30: fatal error: voxblox/Eigen/Core: No such file or directory
       #include <voxblox/Eigen/Core>
                                    ^
      compilation terminated.
      In file included from /home/root/voxl-mapper/server/mav_trajectory_generation/src/rpoly_ak1.cpp:47:0:
      /home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/rpoly_ak1.h:20:30: fatal error: voxblox/Eigen/Core: No such file or directory
       #include <voxblox/Eigen/Core>
                                    ^
      compilation terminated.
      server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/build.make:145: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory.cpp.o' failed
      make[2]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory.cpp.o] Error 1
      server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/build.make:103: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/rpoly_ak1.cpp.o' failed
      make[2]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/rpoly_ak1.cpp.o] Error 1
      CMakeFiles/Makefile2:259: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/all' failed
      make[1]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/all] Error 2
      Makefile:135: recipe for target 'all' failed
      make: *** [all] Error 2
      
      

      It seems that the main issue here is

      voxblox/Eigen/Core: No such file or directory
      

      In the first step, where I install all the dependencies, it seems voxblox package was installed. But still this error shows up.

      As a reference, voxl-voxblox - 1.0.4 - voxblox library api seems to be installed.

      voxl-cross:~/voxl-mapper(master)$ opkg list                  
      apq8096-dfs-server - 0.3.0 - depth-from-stereo server for Modal Pipe Architecture
      apq8096-imu-server - 1.0.2 - VOXL IMU interface for Modal Pipe Architecture
      apq8096-libpng - 1.6.38-1 - 64-bit version of native libpng for voxl1
      apq8096-rangefinder-server - 0.1.2 - publishes rangefinder data
      apq8096-system-tweaks - 0.1.2 - ModalAI common on-target utilities for VOXL
      apq8096-tflite - 2.2.3-4 - Tensorflow Lite Build For VOXL
      libapq8096-io - 0.5.8 - ModalAI library allowing apps processor access to accessory serial ports
      libmodal-cv - 0.1.0 - ModalAI CV library
      libmodal-exposure - 0.0.7 - ModalAI Auto Exposure Library
      libmodal-json - 0.4.2 - Helper library for handling JSON config files
      libmodal-pipe - 2.4.0 - Interface for services to communicate over posix named pipes
      libmodal-pipe - 2.4.4
      librc-math - 1.1.8 - Math and Linear Algebra Routines for Robotics
      libvoxl-cutils - 0.1.1 - ModalAI's c utils
      mavlink-camera-manager - 0.1.0 - ModalAI implementation of the Mavlink camera protocol
      qualcomm-proprietary - 0.0.1
      voxl-camera-calibration - 0.2.2 - On-board camera calibration for VOXL
      voxl-camera-server - 1.1.0 - publishes camera frames over named pipe interface
      voxl-ceres-solver - 1.14.0-7 - ceres-solver for voxl
      voxl-ceres-solver - 1.14.0-9
      voxl-cpu-monitor - 0.2.6 - publishes CPU Data over MPA pipe and provides fan tools
      voxl-docker-support - 1.2.4 - tools to improve the usability of docker on VOXL
      voxl-gphoto2-server - 0.0.10 - Gstreamer-based application to pull raw video frames from PTP cameras
      voxl-jpeg-turbo - 2.1.3-4 - libjpeg_turbo build for voxl
      voxl-libgphoto2 - 0.0.4 - Library to control digital cameras over USB
      voxl-libuvc - 1.0.6 - cross-platform library for USB video devices
      voxl-logger - 0.3.2 - misc tools for modal pipe architecture
      voxl-mapper - 0.0.7 - voxl-mapper
      voxl-mavlink - 0.1.0 - mavlink headers
      voxl-mavlink-server - 0.1.3 - MPA interface for mavlink over UART or UDP
      voxl-modem - 0.16.0 - VOXL Modem Utils
      voxl-mongoose - 7.6.0 - mongoose build for voxl
      voxl-mpa-to-ros - 0.3.3 - ROSNode converting MPA pipes
      voxl-mpa-tools - 0.7.2 - misc tools for modal pipe architecture
      voxl-mpa-tools - 0.7.3
      voxl-nlopt - 2.5.0-4 - nlopt
      voxl-opencv - 4.5.5-1 - opencv built for VOXL
      voxl-portal - 0.2.8 - Debug web interface for VOXL
      voxl-qvio-server - 0.7.1 - publishes QVIO data over named pipe interface
      voxl-streamer - 0.3.6 - Gstreamer-based application to handle RTSP streaming
      voxl-suite - 0.8.1 - voxl-suite for APQ8096 VOXL
      voxl-tag-detector - 0.0.4 - Detect apriltags for MPA
      voxl-tflite-server - 0.2.7 - client of voxl-camera-server that does deep learning
      voxl-utils - 1.1.4 - ModalAI common on-target utilities for VOXL
      voxl-uvc-server - 0.1.1 - libuvc application to handle UVC camera frame output to MPA
      voxl-vision-px4 - 1.2.0 - Interface between VOXL's computer vision services and PX4
      voxl-voxblox - 1.0.4 - voxblox library api
      voxl-voxblox - 1.1.2
      voxl-vpn - 0.0.6 - ModalNet VPN software
      
      
      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • How to install .ipk package to build ROS nodes directly on VOXL?

      I have been following the instructions to build ROS nodes from this link. But I am not sure how I should install the .ipk package which is the prerequisite here.

      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • Cannot open voxel-portal on two browser tabs simultaneously.

      I want to use voxel mapper for autonomous flight.
      I want to view from camera along with voxl-mapper to confirm that the map has been correctly constructed and the created path will not collide/scrape with any obstacle.
      But I cannot open voxl-portal in more than one tab. Is it not possible to do so?

      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • Cannot run voxl-mapper: ERROR fetching tf from tf ringbuffer there wasn't sufficient data in the buffer

      I have been getting the following error when starting voxl-mapper in the terminal, even though as per the instructions, all the services (voxl-vision-px4, voxl-qvio-server, voxl-camera-server) are running.
      I wonder what might have been the problem in this case.

      root@apq8096:~# voxl-mapper 
      Loading our own config file
      Loading extrinsics config file
      Trying to init tsdf server
      created tsdf server
      waiting for server at /run/mpa/vvpx4_body_wrt_fixed/
      waiting for server at /run/mpa/tof
      Initializing ESDF structs
      Connected to VIO server
      Connected to depth pipe
      ERROR fetching tf from tf ringbuffer
      there wasn't sufficient data in the buffer
      ERROR fetching tf from tf ringbuffer
      there wasn't sufficient data in the buffer
      ERROR fetching tf from tf ringbuffer
      there wasn't sufficient data in the buffer
      
      
      root@apq8096:~# voxl-inspect-services 
       Service Name         |  Enabled  |   Running   |  CPU Usage
      ---------------------------------------------------------------
       docker-autorun       | Disabled  | Not Running |  
       docker-daemon        | Disabled  | Not Running |  
       modallink-relink     | Disabled  | Not Running |  
       voxl-camera-server   |  Enabled  |   Running   |    33.2
       voxl-cpu-monitor     |  Enabled  |   Running   |     0.0
       voxl-dfs-server      |  Enabled  |   Running   |     2.5
       voxl-imu-server      |  Enabled  |   Running   |     0.0
       voxl-mavlink-server  |  Enabled  |   Running   |     0.0
       voxl-modem           | Disabled  | Not Running |  
       voxl-portal          |  Enabled  |   Running   |     2.5
       voxl-qvio-server     |  Enabled  |   Running   |    10.2
       voxl-streamer        | Disabled  | Not Running |  
       voxl-tag-detector    | Disabled  | Not Running |  
       voxl-tflite-server   | Disabled  | Not Running |  
       voxl-time-sync       | Disabled  | Not Running |  
       voxl-vision-px4      |  Enabled  |   Running   |     2.5
       voxl-wait-for-fs     |  Enabled  |  Completed  |  
      

      /etc/modalai/voxl-mapper.conf

      {
      	"tof_pipe":	"/run/mpa/tof",
      	"tof_enable":	true,
      	"tof_rate":	10,
      	"depth_pipe_0":	"/run/mpa/dfs_point_cloud",
      	"depth_pipe_0_enable":	false,
      	"extrinsics0_name":	"stereo_l",
      	"depth0_rate":	10,
      	"depth_pipe_1":	"/run/mpa/stereo_front_pc",
      	"depth_pipe_1_enable":	false,
      	"extrinsics1_name":	"stereo_front_l",
      	"depth1_rate":	10,
      	"depth_pipe_2":	"/run/mpa/stereo_rear_pc",
      	"depth_pipe_2_enable":	false,
      	"extrinsics2_name":	"stereo_rear_l",
      	"depth2_rate":	10,
      	"depth_pipe_3":	"/run/mpa/dfs_point_cloud",
      	"depth_pipe_3_enable":	false,
      	"extrinsics3_name":	"stereo_l",
      	"depth3_rate":	10,
      	"robot_radius":	0.3,
      	"voxel_size":	0.20000000298023224,
      	"voxels_per_side":	16,
      	"esdf_save_path":	"/data/voxl_mapper/esdf_map",
      	"tsdf_save_path":	"/data/voxl_mapper/tsdf_map",
      	"mesh_save_path":	"/data/voxl_mapper/mesh.ply",
      	"esdf_max_distance":	4,
      	"esdf_min_distance":	0.10000000149011612,
      	"esdf_default_distance":	2,
      	"esdf_inner_sphere_radius":	0.20000000298023224,
      	"esdf_outer_sphere_radius":	0.600000023841858,
      	"rrt_min_distance":	0.2,
      	"rrt_max_runtime_nanoseconds":	1000000000,
      	"rrt_use_first_solution":	false,
      	"rrt_treat_unknown_as_occupied":	true,
      	"rrt_send_tree":	false,
      	"loco_num_segments":	10,
      	"loco_derivative_to_optimize":	3,
      	"loco_poly_degree":	10,
      	"loco_smoothness_cost_weight":	2.5,
      	"loco_collision_cost_weight":	14,
      	"loco_waypoint_cost_weight":	0,
      	"loco_min_collision_sampling_dist":	0.05,
      	"loco_add_waypoints":	true,
      	"loco_scale_time":	true,
      	"loco_split_at_collisions":	true,
      	"loco_resample_trajectory":	true,
      	"loco_verbose":	false
      }
      
      posted in Ask your questions right here!
      A
      ahmed-mustahid
    • voxl-mapper does not run: libgomp.so.1 does not exist

      I install voxl-mapper without any issue:

      root@apq8096:~# opkg install voxl-mapper
      Installing voxl-mapper (0.0.6) on root.
      Configuring voxl-mapper.
      
      Done installing voxl-mapper
      

      But I cannot run it due to the following error:

      root@apq8096:~# voxl-mapper 
      voxl-mapper: error while loading shared libraries: libgomp.so.1: cannot open shared object file: No such file or directory
      

      I have not installed/removed any package before this.
      I have tried obtaining libgomp.so from here but could not install due to the absence of dpkg-deb. Even if I had dpkg-deb, I am not sure where I should install it so that the above error is resolved.
      My voxl version:

      root@apq8096:~# voxl-version
      --------------------------------------------------------------------------------
      system-image: 3.8.0
      kernel:       #1 SMP PREEMPT Tue Apr 26 18:08:39 UTC 2022 3.18.71-perf
      --------------------------------------------------------------------------------
      hw version:   VOXL
      --------------------------------------------------------------------------------
      voxl-suite:   0.7.0
      --------------------------------------------------------------------------------
      

      Running services:

      root@apq8096:~# voxl-inspect-services 
       Service Name         |  Enabled  |   Running   |  CPU Usage
      ---------------------------------------------------------------
       docker-autorun       | Disabled  | Not Running |  
       docker-daemon        | Disabled  | Not Running |  
       modallink-relink     | Disabled  | Not Running |  
       voxl-camera-server   |  Enabled  |   Running   |    17.3
       voxl-cpu-monitor     |  Enabled  |   Running   |     0.0
       voxl-dfs-server      | Disabled  | Not Running |  
       voxl-imu-server      |  Enabled  |   Running   |     0.0
       voxl-mavlink-server  |  Enabled  |   Running   |     0.0
       voxl-modem           | Disabled  | Not Running |  
       voxl-portal          |  Enabled  |   Running   |     0.0
       voxl-qvio-server     |  Enabled  |   Running   |     4.3
       voxl-streamer        | Disabled  | Not Running |  
       voxl-tag-detector    | Disabled  | Not Running |  
       voxl-tflite-server   | Disabled  | Not Running |  
       voxl-time-sync       | Disabled  | Not Running |  
       voxl-vision-px4      |  Enabled  |   Running   |     2.1
       voxl-wait-for-fs     |  Enabled  |  Completed  |  
      
      root@apq8096:~# cat /etc/opkg/opkg.conf                  
      ################################################################
      ## This file has been automatically generated.
      ## Please use voxl-configure-opkg to modify it.
      ################################################################
      dest root /
      option lists_dir /var/lib/opkg/lists
      arch all 1
      arch arm64 7
      
      src/gz modalai http://voxl-packages.modalai.com/dists/apq8096/stable/binary-arm64/
      
      posted in Ask your questions right here!
      A
      ahmed-mustahid