@Eric-Katzfey
It works following the steps of the tutorial. Thank you!
Posts made by vmassague
-
RE: Set static IP on ModalAI M500
-
Set static IP on ModalAI M500
Hi!
I'm trying to set a static IP for a WiFi interface on my ModalAI M500. To do that I've been checking the forum because I didn't know how to start.
I have experience doing this in other OS like Ubuntu 20.04, in which I just have to create a new interface using nmtui, setting the static and the gateway. However, to do that in yocto I'm facing some issues.
I tried to do it like in this post:- I have voxl-wifi set on station mode. Should change the mode or is it ok? It is not clear to me on the post I have been looking.
- I have created the folder network and script interfaces in /etc because I didn't have it on my drone by default.
- I have set up my interface like this:
iface wlan0 inet static address 10.42.0.25 netmask 255.255.255.0 gateway 10.42.0.1
- I rebooted the drone to see the changes but wlan0 interface is not set with the static IP.
I also tried doing a ifconfig wlan0 down and then ifconfig wlan0 up.
Maybe this is not the way to go, so I would really appreciate some advise on this. Thank you in advance! -
RE: Apriltags
Thank you James!
Finally I got the voxl-tag-detector up and running changing the loc_type in the /etc/modalai/tag_locations.conf file from "unknown" to "fixed". -
RE: Apriltags
Hello James,
Thank you for the advise. Unfortunately, I was not able to integrate voxl-tag-detector successfully.
Following your advise, I have updated voxl-suite to version 0.5.0 and I'm using bigger tags (17 cm side, similar to the size I see on the youtube video tutorial). I have done the following validations:-
Confirm the translation from tag (fixed frame) and camera is correct using voxl-inspect-tags. I can see the detected tag and if I move this I can see the change respect the camera frame. You can see the test here: https://mega.nz/file/lFZR1aJT#gSHf1sbKcQlhccJCSm45VDW2vipboTHdSlfrovpgtIE
-
Confirm the relation of the local frame and tag frame. I move the drone around the tag and I confirm the predicted location is constant. You can see the test here: https://mega.nz/file/wcp0FQiB#LeFZpCXG1ByPOzlq9VGfZhzgOJcIT0OmLCzY0_uktXo
While I'm reading the position of the local frame I also validated the tag is been read from voxl-portal. It is proven the local pose remain constant. -
Like in the tutorial (https://youtu.be/0j7CjmDvluM) I tried to confirm the odometry of the body respect the fixed frame (tag). I've done the same experiment but the position is not corrected by the tag. You can see the procedure here: https://mega.nz/file/FJg2VRaT#oh-wAnkhdNHYH97p3FMmIPTOxqCizJkxEGOB5M-D5No
Here is my configuration of /etc/modalai/voxl-vision-px4.conf:
/** * VOXL Vision PX4 Configuration File * */ { "qgc_ip": "192.168.1.46", "en_localhost_mavlink_udp": true, "en_secondary_qgc": false, "secondary_qgc_ip": "192.168.1.214", "qgc_udp_port_number": 14550, "localhost_udp_port_number": 14551, "udp_mtu": 512, "en_vio": true, "en_voa": false, "en_send_vio_to_qgc": false, "en_send_voa_to_qgc": false, "en_set_clock_from_gps": true, "en_force_onboard_mav1_mode": true, "en_reset_px4_on_error": true, "qvio_auto_reset_quality": 0.00050000002374872565, "auto_level_horizon_tol": 0.300000011920929, "voa_upper_bound_m": 1.25, "voa_lower_bound_m": 1.25, "en_adsb": false, "adsb_uart_bus": 7, "adsb_uart_baudrate": 57600, "px4_uart_bus": 5, "px4_uart_baudrate": 921600, "offboard_mode": "off", "follow_tag_id": 4, "en_tag_fixed_frame": true, "fixed_frame_filter_len": 5, "en_transform_mavlink_pos_setpoints_from_fixed_frame": true, "horizon_cal_tolerance": 0.300000011920929 }
and /etc/modalai/tag_locations.conf
{ "locations": [{ "id": 4, "name": "default_name", "loc_type": "unknown", "size_m": 0.17, "T_tag_wrt_fixed": [0, 0, 0], "R_tag_to_fixed": [[0, -1, 0], [1, 0, 0], [0, 0, 1]] }, { "id": 3, "name": "default_name", "loc_type": "unknown", "size_m": 0.17, "T_tag_wrt_fixed": [0, 4.8, 0], "R_tag_to_fixed": [[0, -1, 0], [1, 0, 0], [0, 0, 1]] }], "default_size_m": 0.17 }
I don't know if I'm not properly setting the configuration files or I don't understand how the package works. I've been working with the package before and I was able to reproduce the test of the 3rd point (body respect fixed frame).
Am I doing something wrong in my procedure?Once I have this last point working, since voxl-vision-px4 would handle the transformation from fixed to local frame and the flag
"en_transform_mavlink_pos_setpoints_from_fixed_frame"
is activated, the relocalization of the tag should be already included in the local pose. Is this correct?Thank you in advance!
-
-
RE: Apriltags
As you can see it is loading the proper configuration for the location of the tags and the camera to use (just the tracking camera) but the output is not showing the proper position in XYZ. I also checked that the voxl-vision-px4 package wasn't able to read the proper position of the tags using
voxl-vision-px4 -p
(like I did in the past) and this is the output:yocto:~$ voxl-vision-px4 -p [404/869] loading our own config file ================================================================= Parameters as loaded from config file: qgc_ip: 192.168.8.60 en_localhost_mavlink_udp 1 en_secondary_qgc: 0 secondary_qgc_ip: 192.168.1.214 qgc_udp_port_number: 14550 localhost_udp_port_number: 14551 udp_mtu: 512 en_vio: 1 en_voa: 0 en_send_vio_to_qgc: 0 en_send_voa_to_qgc: 0 en_set_clock_from_gps: 1 en_force_onboard_mav1_mode: 1 en_reset_px4_on_error: 1 qvio_auto_reset_quality: 0.000500 en_adsb: 0 adsb_uart_bus: 7 adsb_uart_baudrate: 57600 px4_uart_bus: 5 px4_uart_baudrate: 921600 offboard_mode: off follow_tag_id: 0 en_tag_fixed_frame: 1 fixed_frame_filter_len: 5 en_transform_mavlink_pos_setpoints_from_fixed_frame:1 ================================================================= loading extrinsics config file exising instance of voxl-vision-px4 found, attempting to stop it starting geometry module starting px4 monitor starting uart mavlink Successfully opened mavparser Detected PX4 Mavlink SYSID 106 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 Init complete, entering main loop Connected to voxl-tag-detector Connected to voxl-qvio-server done updating transforms to use imu: imu1 T_body_wrt_fixed: -0.00 0.00 -0.10 RPY: -0.00 -0.04 -0.00 PX4 Connected over UART with sysid 106 T_body_wrt_fixed: -0.00 0.00 -0.10 RPY: -0.00 -0.04 -0.00 T_body_wrt_fixed: -0.00 0.00 -0.10 RPY: -0.00 -0.04 -0.00 T_body_wrt_fixed: -0.00 0.00 -0.10 RPY: -0.00 -0.04 -0.00 T_body_wrt_fixed: -0.00 0.00 -0.10 RPY: -0.00 -0.04 -0.00 T_body_wrt_fixed: -0.00 0.00 -0.10 RPY: -0.00 -0.04 -0.00 detected system time has already been set T_body_wrt_fixed: -0.00 0.00 -0.10 RPY: -0.00 -0.04 0.00 T_body_wrt_fixed: -0.00 0.00 -0.10 RPY: 0.00 -0.04 0.00 T_body_wrt_fixed: -0.01 0.01 -0.10 RPY: 0.00 -0.03 0.00 T_body_wrt_fixed: -0.01 0.01 -0.10 RPY: 0.00 -0.03 0.00 T_body_wrt_fixed: -0.01 0.01 -0.10 RPY: 0.00 -0.03 0.00 T_body_wrt_fixed: -0.01 0.01 -0.10 RPY: 0.00 -0.03 0.00 T_body_wrt_fixed: -0.01 0.01 -0.10 RPY: 0.00 -0.03 0.00 T_body_wrt_fixed: -0.01 0.01 -0.10 RPY: 0.00 -0.03 0.00 T_body_wrt_fixed: -0.01 0.02 -0.10 RPY: -0.00 -0.03 0.00 T_body_wrt_fixed: -0.01 0.02 -0.10 RPY: -0.00 -0.03 0.00 T_body_wrt_fixed: -0.01 0.02 -0.10 RPY: -0.01 -0.02 0.00 T_body_wrt_fixed: -0.02 0.02 -0.10 RPY: -0.01 -0.02 0.00 T_body_wrt_fixed: -0.02 0.01 -0.10 RPY: -0.01 -0.02 0.00 T_body_wrt_fixed: -0.02 0.01 -0.10 RPY: -0.03 -0.02 0.00 T_body_wrt_fixed: -0.02 0.01 -0.10 RPY: -0.03 -0.02 0.00 T_body_wrt_fixed: -0.02 0.01 -0.10 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.03 0.00 -0.09 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.03 0.00 -0.09 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.03 0.00 -0.09 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.03 0.00 -0.09 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.04 -0.00 -0.09 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.04 -0.00 -0.09 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.04 -0.00 -0.09 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.04 -0.00 -0.09 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.05 -0.01 -0.09 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.05 -0.01 -0.08 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.05 -0.01 -0.08 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.06 -0.01 -0.08 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.06 -0.01 -0.08 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.06 -0.01 -0.08 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.07 -0.01 -0.08 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.07 -0.01 -0.08 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.07 -0.01 -0.07 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.08 -0.01 -0.07 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.08 -0.02 -0.07 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.08 -0.02 -0.07 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.09 -0.02 -0.07 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.09 -0.02 -0.06 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.09 -0.02 -0.06 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.10 -0.02 -0.06 RPY: -0.03 -0.03 -0.00 T_body_wrt_fixed: -0.10 -0.02 -0.06 RPY: -0.03 -0.02 -0.00 T_body_wrt_fixed: -0.11 -0.02 -0.06 RPY: -0.03 -0.02 -0.00 T_body_wrt_fixed: -0.11 -0.02 -0.06 RPY: -0.02 -0.02 -0.00 T_body_wrt_fixed: -0.11 -0.02 -0.06 RPY: -0.02 -0.02 -0.00 T_body_wrt_fixed: -0.12 -0.02 -0.06 RPY: -0.02 -0.02 -0.00 T_body_wrt_fixed: -0.12 -0.02 -0.05 RPY: -0.02 -0.02 -0.00 T_body_wrt_fixed: -0.12 -0.02 -0.05 RPY: -0.02 -0.02 -0.00 T_body_wrt_fixed: -0.13 -0.02 -0.05 RPY: -0.02 -0.02 -0.00 T_body_wrt_fixed: -0.13 -0.02 -0.05 RPY: -0.02 -0.02 -0.00 T_body_wrt_fixed: -0.14 -0.02 -0.05 RPY: -0.02 -0.02 -0.00 T_body_wrt_fixed: -0.14 -0.02 -0.05 RPY: -0.02 -0.02 -0.00 T_body_wrt_fixed: -0.14 -0.02 -0.05 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.15 -0.02 -0.04 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.15 -0.02 -0.04 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.16 -0.02 -0.04 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.16 -0.02 -0.04 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.16 -0.02 -0.04 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.17 -0.02 -0.04 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.17 -0.02 -0.04 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.18 -0.02 -0.04 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.18 -0.02 -0.03 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.19 -0.02 -0.03 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.19 -0.02 -0.03 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.20 -0.02 -0.03 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.20 -0.02 -0.03 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.21 -0.02 -0.03 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.21 -0.01 -0.02 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.22 -0.01 -0.02 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.22 -0.01 -0.02 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.23 -0.01 -0.02 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.23 -0.01 -0.02 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.24 -0.01 -0.02 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.25 -0.01 -0.01 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.25 -0.01 -0.01 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.26 -0.01 -0.01 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.26 -0.01 -0.01 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.27 -0.01 -0.00 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.27 -0.01 -0.00 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.28 -0.01 -0.00 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.28 -0.01 0.00 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.29 -0.01 0.00 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.30 -0.01 0.01 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.30 -0.01 0.01 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.31 -0.01 0.01 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.31 -0.01 0.01 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.32 -0.00 0.02 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.33 -0.00 0.02 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.33 -0.00 0.02 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.34 -0.00 0.02 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.35 -0.00 0.03 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.35 -0.00 0.03 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.36 -0.00 0.03 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.37 0.00 0.04 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.37 0.00 0.04 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.38 0.00 0.04 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.39 0.00 0.04 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.39 0.00 0.05 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.40 0.00 0.05 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.41 0.01 0.05 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.41 0.01 0.05 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.42 0.01 0.06 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.43 0.01 0.06 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.44 0.01 0.06 RPY: -0.02 -0.01 -0.00 T_body_wrt_fixed: -0.44 0.01 0.07 RPY: -0.02 -0.01 -0.00 VIO reported failure T_body_wrt_fixed: -0.42 0.01 0.05 RPY: -0.02 -0.02 0.00 T_body_wrt_fixed: -0.42 0.01 0.05 RPY: -0.02 -0.02 0.00
And I get the same behaviour, no proper read of apriltags. After running both packages I see the services are not running.
I have also checked the VIO executing voxl-inspect-qvio and everything seems ok.
Do you think it could be a problem of the calibration of the camera?
Maybe I'm missing other configuration but I achieved this point in the past so I'm not sure what could be happing.
I would really appreciate some advise. Thank you! -
RE: Apriltags
@James-Strawson said in Apriltags:
xl-inspect-pose -l
Thank you for your help, James.
I was trying to test the package voxl-inspect-pose that you propose but I was having a problem with the camera and other packages, so I decided to flash the board.
I have loaded the image voxl_platform_3-3-0-0.4.6-b and I have successfully calibrated the tracking camera again. However, now when I try to validate the configuration of voxl-tag-detector package, it seems is not working properly because the location for the apriltag is not correct.To give more context. These are my configuration files:
- /etc/modalai/voxl-tag-detector.conf
/** * This file contains configuration parameters for voxl-tag-detector. * You can specify up to 3 cameras to do detection on simultaneously. * For the stereo camera pair, only the left camera is used. */ { "detector_0": { "enable": true, "input_pipe": "tracking", "en_fast_mode": true, "n_threads": 1, "en_undistortion": true, "undistort_scale": 0.600000023841858, "overlay_name": "tracking_tag_overlay", "lens_cal_file": "/data/modalai/opencv_tracking_intrinsics.yml", "skip_n_frames": 5 }, "detector_1": { "enable": false, "input_pipe": "stereo", "en_fast_mode": true, "n_threads": 1, "en_undistortion": true, "undistort_scale": 0.899999976158142, "overlay_name": "stereo_tag_overlay", "lens_cal_file": "/data/modalai/opencv_stereo_intrinsics.yml", "skip_n_frames": 5 }, "detector_2": { "enable": false, "input_pipe": "extra", "en_fast_mode": true, "n_threads": 1, "en_undistortion": false, "undistort_scale": 1, "overlay_name": "extra_tag_overlay", "lens_cal_file": "/data/modalai/opencv_extra_intrinsics.yml", "skip_n_frames": 5 } }
- /etc/modalai/tag_locations.conf
/** * Apriltag Location Configuration File * This file is used by voxl-tag-detector * * A tag can be flagged by the user as fixed, static, or dynamic. * * - fixed: The tag is at a known location in space as described by the * T_tag_wrt_fixed vector and R_tag_to_fixed rotation matrix. These fixed * tags are used by voxl-vision-px4 for apriltag relocalization. * * - static: A static tag can be trusted to be static (not moving) but does not * have a known location. For example, a landing pad. * * - dynamic: A dynamic tag can be expected to be in motion such as an object * to be tracked or followed dynamically. * * * If the tag is fixed then you must specify its location and rotation relative * to the fixed reference frame. Otherwise the translation and rotation * parameters can be ignored. * * The name parameter is currently only used for info prints but can be helpful * for the user to keep track of what tag is which. * * Each tag must have its size listed. Tags not listed will be assumed to have * size equal to the default_size. * * Currently only 36h11 apriltags are supported */ { "locations": [{ "id": 1, "name": "default_name", "loc_type": "unknown", "size_m": 0.106, "T_tag_wrt_fixed": [2, 2, 0], "R_tag_to_fixed": [[0, -1, 0], [1, 0, 0], [0, 0, 1]] }, { "id": 2, "name": "default_name", "loc_type": "unknown", "size_m": 0.106, "T_tag_wrt_fixed": [5, 5, 0], "R_tag_to_fixed": [[0, -1, 0], [1, 0, 0], [0, 0, 1]] }], "default_size_m": 0.106 }
I'm using two apriltags (tag 1 and tag 2, squares of 10.6 cm side) as a test to validate the configuration. When I run voxl-tag-detector -d to debug this is the ouput:
yocto:~$ voxl-tag-detector -d enabling debug mode loading tag-detector config file loading apriltag config file ================================================================= detector #0 enable: 1 input_pipe: tracking en_fast_mode: 1 n_threads: 1 en_undistortion: 1 undistort_scale: 0.60 overlay_name: tracking_tag_overlay lens_cal_file: /data/modalai/opencv_tracking_intrinsics.yml skip_n_frames: 5 detector #1 enable: 0 input_pipe: stereo en_fast_mode: 1 n_threads: 1 en_undistortion: 1 undistort_scale: 0.90 overlay_name: stereo_tag_overlay lens_cal_file: /data/modalai/opencv_stereo_intrinsics.yml skip_n_frames: 5 detector #2 enable: 0 input_pipe: extra en_fast_mode: 1 n_threads: 1 en_undistortion: 0 undistort_scale: 1.00 overlay_name: extra_tag_overlay lens_cal_file: /data/modalai/opencv_extra_intrinsics.yml skip_n_frames: 5 ================================================================= default_size_m: 0.106 #0: id: 1 name: default_name loc_type: unknown size_m: 0.106 T_tag_wrt_fixed: 2.0 2.0 0.0 R_tag_to_fixed: 0.0 -1.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 #1: [12/202] id: 2 name: default_name loc_type: unknown size_m: 0.106 T_tag_wrt_fixed: 5.0 5.0 0.0 R_tag_to_fixed: 0.0 -1.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 exising instance of voxl-tag-detector found, attempting to stop it found cam matrix with name 'M' for detector #0 detector #0 is fisheye waiting for cam pipe tracking detector #0 connected to camera pipe tracking detector #0 initializing rectification map lens #0: fx:284.22 fy:283.34 cx:341.44 cy:231.37 lens #0: fxrect:170.53 fyrect:170.00 detector #0 done initializing rectification map detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.40 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.15 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.15 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.42 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.40 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.55 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.03 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.07 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 58.54 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.27 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.87 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.17 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.49 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.31 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.04 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 59.49 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 47.69 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 48.49 detector #0 id: 1 XYZ: 0.01 -0.01 0.13 ham: 0 margin: 62.21 detector #0 id: 1 XYZ: 0.02 -0.01 0.13 ham: 0 margin: 61.70 detector #0 id: 1 XYZ: 0.02 -0.01 0.14 ham: 0 margin: 50.28 detector #0 found 0 apriltags detector #0 id: 1 XYZ: 0.00 -0.13 0.20 ham: 0 margin: 68.84 detector #0 id: 2 XYZ: 0.01 -0.00 0.12 ham: 0 margin: 44.93 detector #0 id: 2 XYZ: 0.01 -0.00 0.12 ham: 0 margin: 30.21 detector #0 id: 1 XYZ: -0.09 -0.21 0.27 ham: 0 margin: 82.49 detector #0 id: 2 XYZ: 0.01 -0.00 0.12 ham: 0 margin: 48.51 detector #0 id: 1 XYZ: -0.09 -0.18 0.30 ham: 0 margin: 71.74 detector #0 id: 2 XYZ: 0.01 -0.00 0.13 ham: 0 margin: 47.61 detector #0 id: 2 XYZ: 0.01 -0.00 0.12 ham: 0 margin: 32.44 detector #0 id: 2 XYZ: 0.01 -0.00 0.12 ham: 0 margin: 32.16 detector #0 id: 2 XYZ: 0.01 -0.00 0.13 ham: 0 margin: 54.01 detector #0 id: 2 XYZ: 0.01 -0.00 0.13 ham: 0 margin: 53.53
I continue on the following post.
-
Apriltags
Hello!
I'm trying to use apriltag relocalization on my M500 drone for indoor localization. I'm doing some tests with a few tags and I see the position is correct according to the read tag when I run the command:voxl-vision-px4 -p
Once I confirm the configuration of the apriltags is correct, I wanted to send this data to PX4 so it corrects the position regarding the apriltags. To do that I have activate the flag
"en_transform_mavlink_pos_setpoints_from_fixed_frame": true,
set in the file /etc/modalai/voxl-vision-px4.conf and I try to read the local position but it seems it is not reading the tag because it does not correct the position.
I have also changed the parameter"fixed_frame_filter_len": 5
to 1 so local-to-fixed frame relation is completely determined by the most recent tag detection but I don't see any improvement.
I guess I not sending the apriltag information properly to PX4 and I would really appreciate some advise.
If this is the way to send the apriltag data to PX4, maybe there is a way to customize the EFK so apriltag has a bigger impact on the localization but looking at the documentation I couldn't find any information.Any idea what could be happening? Thank you in advance!
-
Maximum Wind Speed
Hi ModalAI team,
I would like to know what would be the maximum wind speed that the m500 drone can fly safely without payload.
Thanks in advance
-
voxl-streamer through IPv6
Hi ModalAI team,
I have an m500 drone, and I would like to use voxl-streamer to stream over IPv6. Currently is not working on my side. Is there a way to do so?
Thanks in advance
-
RE: LTE - Modem Works But Cannot Ping
Problem solved for me too! I think it was also the wlan0 being up. Thanks a lot for the support @tom
-
RE: LTE - Modem Works But Cannot Ping
@tom I'm using the Add-on also and I'm using the Sierra 7607
-
RE: LTE - Modem Works But Cannot Ping
In my case, I double-checked with the cellphone to have the same APN since I am using a custom one, but still no success. I tried with two different modules and VOXL boards.
FYI, I am connecting the LTE antennas one in Antenna (main) and the other to Antenna (diversity)
-
RE: LTE - Modem Works But Cannot Ping
I am getting the exact same issue, with the same log output.
adb shell systemctl status -l voxl-modem ● voxl-modem.service - Modem Initialization Loaded: loaded (/etc/systemd/system/voxl-modem.service; enabled; vendor preset: enabled) Active: inactive (dead) since Thu 1970-01-01 00:00:57 UTC; 2s ago Process: 3178 ExecStart=/usr/bin/voxl-modem-start.sh (code=exited, status=0/SUCCESS) Process: 2312 ExecStartPre=/bin/sleep 2 (code=exited, status=0/SUCCESS) Main PID: 3178 (code=exited, status=0/SUCCESS) Jan 01 00:00:57 apq8096 voxl-modem-start.sh[3178]: ] Jan 01 00:00:57 apq8096 voxl-modem-start.sh[3178]: Successfully registered with the network Jan 01 00:00:57 apq8096 voxl-modem-start.sh[3178]: Starting network Jan 01 00:00:57 apq8096 voxl-modem-start.sh[3178]: Checking connection status Jan 01 00:00:57 apq8096 voxl-modem-start.sh[3178]: Connection is up Jan 01 00:00:57 apq8096 voxl-modem-start.sh[3178]: Using the DHCP client to get an IP address Jan 01 00:00:57 apq8096 voxl-modem-start.sh[3178]: udhcpc (v1.23.2) started Jan 01 00:00:57 apq8096 voxl-modem-start.sh[3178]: Sending discover... Jan 01 00:00:57 apq8096 voxl-modem-start.sh[3178]: Sending select for 10.107.157.92... Jan 01 00:00:57 apq8096 voxl-modem-start.sh[3178]: Lease of 10.107.157.92 obtained, lease time 7200
I validated that the SIM works and has data with a cellphone.
I am using an m500 with LTE v2 modem for Europe. -
VIO altitude estimation error
Hello Everyone,
Problem: During an autonomous mission outdoor, VIO failed to estimate the correct altitude of the copter. VIO was estimating an altitude of around 1.5-2.5 meters while it was ~4.5 meters in reality.
I am using the following hardware:
ModalAI m500 with no hardware modifications
Log file:
https://review.px4.io/plot_app?log=24a66118-0151-4b7a-9477-0858c375fc88Relevant Parameters:
EKF2_AID_MASK = 1 (GPS only)
EKF2_HGT_MODE = vision (using VIO/Tracking camera)My Observations:
The drone took off more aggressively than usual, which probably caused some confusion in the VIO altitude estimation.
Hope someone can help.
Victor
-
Controlling a servo with VOXL
Hi ModalAI Team,
I would like to ask if you have any tips regarding how can I successfully control a servo motor with the m500 drone and VOXL. I know there are free PWM in the Flight Core but as I understand it, they are all used by the motors.
Another option I was thinking of is to get a PWM Driver connected to an I2C available on the VOXL board. Finally, I would use the voxl_io library that you provide to communicate.
Do you have any recommendations, tips, or suggestions? Is there a better way more straightforward to control a servo with the m500 drone?
Thank you
-
FrSky Receiver Model
Hello,
I would like to know what receiver model do you install when purchasing an m500 drone with a FrSky receiver.
Thank you in advance
-
Using another external Visual System for Localization
Hello,
I have a VOXL m500 and I was trying to use an external visual system (i.e. mocap) for localization running with MAVROS.
Problem
In MAVROS, I can see the raw data of the sensor, but PX4 seems to not receive the data from it, (local_position_NED is 0).
Steps to reproduce
- I disabled VIO by setting
en_vio
to false in the file/etc/modalai/voxl-vision-px4.conf
. - Spin up a node for the external visual system that publishes to
vision/pose_cov
- Run MAVROS
rostopic echo vision/pose_cov
gets the correct data from the localization sensor- In QGroundControl
local_position_ned
is 0, not getting any data from the external visual localization system
Expected Behavior
QGroundControl is receiving the data from the external visual localization system.
Do you know how can I successfully integrate a visual system for localization in the VOXL?
Thank you in advance - I disabled VIO by setting
-
Coordinate Systems using MAVROS
Hello,
I have a ModalAI m500 and I have a question regarding the platform when using MAVROS and VIO. When the drone is booted and I check the local_position/pose topic from MAVROS, the orientation has an offset of 90º. Hence, when the drone moves forward, the y-axis (or east) is increasing. Ideally, I would like that both x-axes, (body and world frames) are aligned and that when the drone moves forward the x coordinate increases in the local_position/pose topic.
Is there a possibility from your side to do so?
The test conducted was using the roskinetic docker image you provide which includes MAVROS and I just spin up the node and check the rostopic. Moreover, all px4 parameters are set to your configuration files.