ESC Calibration issues
-
OK without that service running, the QGC link through VOXL won't work, and this would also prevent VIO data making it's way to PX4, and then flying without a mag won't work....
How about
systemctl stop voxl-vision-px4
and then running manually with the debug flag:voxl-vision-px4 -d
This service is used when we calibrate the cameras before shipping so I'm wondering what's going on.
-
This is what I typed and what I get.
~ # systemctl stop voxl-vision-px4
~ # voxl-vision-px4 -d
loading config file
Error parsing config file before: en_vao": false,
"en_send_vio_to_qgc": false,
"en_send_voa_to_qgc": false,
"en_mvl_video_stream": false,
"en_adsb" false,
"adsb_uart_bus": 7,
"adsb_uart_baudrate": 57600,
"en_offboard_figure_eight": true,
"vio_to_ned_rotation_matrix": [[0, 1, 0], [1, 0, 0], [0, 0, -1]]Segmentation fault
~ # -
Hi @Riley-Dove , I think the config file got messed up. Perhaps around the "offboard_mode" setting.
This lives at /etc/modalai/voxl-vision-px4.conf
Here's an example, where the
qgc_ip
is your system with QGC's IP address:{ "qgc_ip": "192.168.8.47", "en_localhost_mavlink_udp": true, "en_secondary_qgc": false, "secondary_qgc_ip": "192.168.1.214", "offboard_mode": "none", "en_vio": false, "en_voa": false, "en_send_vio_to_qgc": false, "en_send_voa_to_qgc": false, "en_adsb": false, "adsb_uart_bus": 7, "adsb_uart_baudrate": 57600, "px4_uart_bus": 5, "px4_uart_baudrate": 921600, "R_imu_to_body": [[0, 1, 0], [1, 0, 0], [0, 0, -1]], "T_imu_wrt_body": [0.068, -0.015, -0.008], "height_body_above_ground_m": 0.05, "T_stereo_wrt_body": [0.10, -0.04, 0.0], "land_on_tag_id": 0, "follow_tag_id": 0, "en_apriltag_fixed_frame": false, "fixed_apriltags": [{ "tag_id": 0, "R_tag_to_fixed": [[0, -1, 0], [1, 0, 0], [0, 0, 1]], "T_tag_wrt_fixed": [0, 0, 0] }], "en_transform_mavlink_pos_setpoints_from_fixed_frame": true, "en_fixed_frame_pipe": false, "fixed_frame_filter_len": 5 }
-
Also, if you didn't modify this file and this is how it shipped let me know so I can look into what happened. We enable VOA during flight testing and then disable so if there's a typo introduced causing this issue I want to inform the team over here. Thanks!
-
Now it says only "error parsing config file before: ?
Segmentation fault" -
@modaltb I may have modified it, not even sure. I'm still learning the hardcore software side of this. I'm a hardware guy.
-
@Riley-Dove ok, we can reset it to factory defaults, maybe that's easiest! If you can delete that file
/etc/modalai/voxl-vision-px4.conf
and then run the following command:voxl-configure-vision-px4 -f
it will set the factory settings.Restart the service:
systemctl restart voxl-vision-px4
Check status:
systemctl status voxl-vision-px4
If all looks good, you can set your IP back up:
vi /etc/modalai/voxl-vision-px4.conf
vi isn't easy to use. But this should get you going:
- hit 'i' to enter edit mode
- move cursor to text using arrows, edit the ip address following the same format that's there
- hit 'esc' to exit edit mode
- to save, enter
:wq
Restart the service:
systemctl restart voxl-vision-px4
Check status:
systemctl status voxl-vision-px4
Then you should have a connection to QGC.
-
I run into the same issue when I check the voxl vision status. Active: Failed. There is nothing on the voxl-vision-px4.conf file. It's not properly configuring that file.
-
Hi @Riley-Dove ,
Sorry, something is happening when editing maybe... This setup is heavily used all over so trying to see what up, we can do a screen share if the following fails.
What if you do the following, without editing the file at all.
systemctl stop voxl-vision-px4
voxl-configure-vision-px4 -f
cat /etc/modalai/voxl-vision-px4.conf
Can you then copy paste the output of the last command here?
Then if the JSON output looks OK above, try to start again...
systemctl start voxl-vision-px4
.This is where I'm getting the file.
-
Looks like that worked.
~ # systemctl stop voxl-vision-px4
~ # voxl-configure-vision-px4 -f
loading and updating config file with voxl-vision-px4 -c
Error parsing config file before:
/usr/bin/voxl-configure-vision-px4: line 120: 3072 Segmentation fault voxl-vision-px4 -c
^ don't worry about the segfault ^attempting to use camera configuration 3
adding override_cam_id value=1 to /etc/snav/camera.downward.xml
adding override_cam_id value=2 to /etc/snav/camera.stereo.xml
reloading systemd services
disabling all the snav services
starting imu_app
Created symlink from /etc/systemd/system/multi-user.target.wants/imu_app.service to /etc/systemd/system/imu_app.service.
WARNING: Missing stereo calibration file. Follow instructions here to
calibrate if you wish to use stereo visual obstacle avoidance.
https://docs.modalai.com/docs/quickstarts/calibrate-cameras/DONE configuring ModalAI Vision Lib
enabling voxl-vision-px4 systemd service
Created symlink from /etc/systemd/system/multi-user.target.wants/voxl-vision-px4.service to /etc/systemd/system/voxl-vision-px4.service.
starting voxl-vision-px4 systemd service
DONE configuring voxl-vision-px4
~ # cat /etc/modalai/voxl-vision-px4.conf
{
"qgc_ip": "192.168.8.60",
"en_localhost_mavlink_udp": true,
"en_secondary_qgc": false,
"secondary_qgc_ip": "192.168.1.214",
"offboard_mode": "figure_eight",
"en_vio": true,
"en_voa": false,
"en_send_vio_to_qgc": false,
"en_send_voa_to_qgc": false,
"en_adsb": false,
"adsb_uart_bus": 7,
"adsb_uart_baudrate": 57600,
"px4_uart_bus": 5,
"px4_uart_baudrate": 921600,
"R_imu_to_body": [[0, 1, 0], [1, 0, 0], [0, 0, -1]],
"T_imu_wrt_body": [0.068, -0.015, -0.008],
"height_body_above_ground_m": 0.05,
"T_stereo_wrt_body": [0.10, -0.04, 0.0],
"land_on_tag_id": 0,
"follow_tag_id": 0,
"en_apriltag_fixed_frame": false,
"fixed_apriltags": [{
"tag_id": 0,
"R_tag_to_fixed": [[0, -1, 0], [1, 0, 0], [0, 0, 1]],
"T_tag_wrt_fixed": [0, 0, 0]
}],
"en_transform_mavlink_pos_setpoints_from_fixed_frame": true,
"en_fixed_frame_pipe": false,
"fixed_frame_filter_len": 5
}
~ #I edited the QGC IP to my laptop's IP and QGC still doesnt see it. I will try from a different computer.
-
No luck on different computer. I just tried the ESC cal as well and no luck.
-
What kind of computer are you using, Linux, Windows?
If Windows, you likely need to configure the firewall (maybe easier to just disable the windows firewall for this test).
You can use the USB connection straight to the blue connector to get a connection to QGC.
But, if you have QGC running, the ESC calibration tool won't work because QGC will have taken ownership of the port.
-
I've been testing on a Macbook Pro. I can get QGC via the USB port, just not via Wifi. And the motors dont spin above minimum armed PWM.
-
I just went through similar yesterday on a new board we're developing. PX4 is configured to expect a magnetometer, you'll want to set the
sys_has_mag
param to0
, andGPS_1_CONFIG
to off/none via the QGC.I can get on a screen share after a bit if needed so just let me know if you want to wait till then.
-
I just did another test randomly while eating my lunch and it worked as expected. So I did a maiden and checked stabilize, althold, and position mode and all modes flew well. We have lots of snow here so cant test too much more outdoors.
-
OK great!! Please holler if you hit any other snags.
-
Another snag... Seems like the voxl-vision-px4 is spotty at starting. I am trying to fly again and no luck. I ran the status command and the same failure as before.
-
Hi @Riley-Dove ,
Want to try to do a screen share tomorrow AM? I'll send an email to what's registered on this account.
Some of the errors looked like config file parsing, but the first one was truncated a bit.
If the device is in the failed currently, and you don't mind, you can throw the output of
systemctl status voxl-vision-px4 -l
here in preps.Thanks, we'll figure out what's going on!