Hi everyone!
We’re working on a precision landing project with a UAV using VOXL2 and Apriltag’s QR code tracking. Initially, we tried to use the reallocation config in /etc/modalai/voxl-vision-px4.conf
, and although we get debug_tag_local
in voxl-vision-px4
to work, we don't get any output to debug_fixed_frame
, which we believe suggests that the re-localization didn't happen. Is this correct to assume?
Eventually we tried to solve the problem using ROS. We attempted to use apriltag_ros
to do the same as above, however it is looking for camera_info
, and we don't know how to pass the camera intrinsic to ROS using MPA. Our /tag_detections and /tag_detections_image topics are empty. It seems like it is theoretically possible to pass the tag location and tag images to ROS using MPA, but we don’t know how to progress with this.
We are willing to continue working with ROS or revert to the provided software, but are unsure of how to progress, any assistance is highly valued!
Our voxl-vision-px4
config:
{
"config_file_version": 1,
"qgc_ip": "192.168.50.111",
"en_secondary_qgc": true,
"secondary_qgc_ip": "10.258.36.109",
"qgc_udp_port_number": 14550,
"udp_mtu": 512,
"en_localhost_mavlink_udp": true,
"localhost_udp_port_number": 14551,
"vio_pipe": "qvio",
"en_vio": true,
"en_send_vio_to_qgc": false,
"en_reset_vio_if_initialized_inverted": true,
"vio_warmup_s": 3,
"send_odom_while_failed": false,
"horizon_cal_tolerance": 0.5,
"offboard_mode": "figure_eight",
"en_tag_fixed_frame": true,
"en_transform_mavlink_pos_setpoints_from_fixed_frame": true,
"en_fixed_frame_pipe": false,
"follow_tag_id": 0,
"figure_eight_move_home": true,
"robot_radius": 0.300000011920929,
"collision_sampling_dt": 0.1,
"max_lookahead_distance": 1,
"en_tag_fixed_frame": false,
"fixed_frame_filter_len": 5,
"en_transform_mavlink_pos_setpoints_from_fixed_frame": false,
"en_voa": true,
"en_send_voa_to_qgc": false,
"voa_upper_bound_m": -0.15000000596046448,
"voa_lower_bound_m": 0.15000000596046448,
"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"
}],
"land_on_tag_id": 0
}
Our tag_locations.conf:
{
"locations": [{
"id": 0,
"name": "default_name",
"loc_type": "unknown",
"size_m": 0.40000000596046448,
"T_tag_wrt_fixed": [0, 0, 0],
"R_tag_to_fixed": [[0, -1, 0], [1, 0, 0], [0, 0, 1]]
}],
"default_size_m": 0.40000000596046448
}