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
No trajectory is being shown in voxl-mapper after selecting Go
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 --------------------------------------------------------------------------------
-
Hey @ahmed-mustahid,
To clarify, the image in the gitlab repo is a bit outdated and you will no longer see these red and blue lines in voxl-portal, but rather one black line showing the RRT path.
In terms of not receiving a path, I am unable to reproduce this issue naturally on my end. A trajectory will be shown in the UI as long as a solution is found, and the point you selected should also still be viewable within the map. The second image you shared does not show any of this, and the only way I was able to recreate this was by killing voxl-portal before selecting a point to plan to. Make sure you have an active connection to your drone, the network, and voxl-portal before attempting to use the path-planning capabilities of voxl-mapper.