VOXL not connecting to QGC
-
[Update]
Error on QGC terminal are as follows :akash@akash-G5-5500:~/Personal$ ./QGroundControl.AppImage Settings location "/home/akash/.config/QGroundControl.org/QGroundControl.ini" Is writable?: true Filter rules "*Log.debug=false\n" serialnmea: No known GPS device found. Specify the COM port via QT_NMEA_SERIAL_PORT. MAVLinkLogManagerLog: MAVLink logs directory: "/home/akash/Documents/QGroundControl/Logs" System reported locale: QLocale(English, Latin, India) "en_IN" Loading localization for "en_IN" Qt localization for "en_IN" is not present Map Cache in: "/home/akash/.cache/QGCMapCache300" / "qgcMapCache.db" qrc:/qml/QGroundControl/Controls/ToolStrip.qml:100:21: Unable to assign [undefined] to bool Adding target QHostAddress("10.10.10.54") 14550 qt.positioning.geoclue2: Unable to start the client: "org.freedesktop.DBus.Error.AccessDenied" "Geolocation disabled for UID 1000" QGCPositionManager error 0 Switching outbound to mavlink 2.0 due to incoming mavlink 2.0 packet: 0x56171288ba28 1 2 Temp log "/tmp/FlightData146713.mavlink" "v4.2.0" Adding target QHostAddress("10.10.10.54") 14550 open failed "Permission error while locking the device" QSerialPort::PermissionError "voxl-usb" false "Error connecting: Could not create port. Permission error while locking the device"
-
@Akash-Patil
Can you post an output of which services are running on the VOXL-CAM?
voxl-inspect-services --version
I think based on the versions you are running, you will need at least
voxl-vision-px4
running to forward traffic orvoxl-mavlink
which was broken out in a more recent version in conjunction with the vision service.It looks like you might have some mixed package versions as well between voxl-suites?
Have you been connecting over USB or wifi?
If Wifi you need to make sure you have voxl-vision-px4 configured for your IP address.See: https://docs.modalai.com/voxl-vision-px4-telemetry/#voxl-vision-px4-mavlink-telemetry-routing for more details.
-
@Darkhive Thank you for responding quickly. I fixed the issue by complete px4 parameter reset from voxl-px4-shell interface. I might have messed up with some parameters which led to this problem.
On a seperate note I am facing one more minor problem. I have followed mavros tutorial over here and was able to install mavros in my roskinetic-xenial docker image. Whenever I am executing ./run_mavros.sh script (I have setup ros_environment.sh file with respect to my network setup) I am facing below show issue wherein mavros isnt getting response over mavlink for home position.
Please find attached logsroskinetic:mavros_test$ ./run_mavros.sh ... logging to /root/.ros/log/7f5db350-bd4b-11ec-a98d-18473db1c73b/roslaunch-apq8096-69.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB. started roslaunch server http://10.10.10.54:59740/ SUMMARY ======== CLEAR PARAMETERS * /mavros/ PARAMETERS * /mavros/cmd/use_comp_id_system_control: False * /mavros/conn/heartbeat_rate: 1.0 * /mavros/conn/system_time_rate: 1.0 * /mavros/conn/timeout: 10.0 * /mavros/conn/timesync_rate: 10.0 * /mavros/distance_sensor/hrlv_ez4_pub/field_of_view: 0.0 * /mavros/distance_sensor/hrlv_ez4_pub/frame_id: hrlv_ez4_sonar * /mavros/distance_sensor/hrlv_ez4_pub/id: 0 * /mavros/distance_sensor/hrlv_ez4_pub/orientation: PITCH_270 * /mavros/distance_sensor/hrlv_ez4_pub/send_tf: True * /mavros/distance_sensor/hrlv_ez4_pub/sensor_position/x: 0.0 * /mavros/distance_sensor/hrlv_ez4_pub/sensor_position/y: 0.0 * /mavros/distance_sensor/hrlv_ez4_pub/sensor_position/z: -0.1 * /mavros/distance_sensor/laser_1_sub/id: 3 * /mavros/distance_sensor/laser_1_sub/orientation: PITCH_270 * /mavros/distance_sensor/laser_1_sub/subscriber: True * /mavros/distance_sensor/lidarlite_pub/field_of_view: 0.0 * /mavros/distance_sensor/lidarlite_pub/frame_id: lidarlite_laser * /mavros/distance_sensor/lidarlite_pub/id: 1 * /mavros/distance_sensor/lidarlite_pub/orientation: PITCH_270 * /mavros/distance_sensor/lidarlite_pub/send_tf: True * /mavros/distance_sensor/lidarlite_pub/sensor_position/x: 0.0 * /mavros/distance_sensor/lidarlite_pub/sensor_position/y: 0.0 * /mavros/distance_sensor/lidarlite_pub/sensor_position/z: -0.1 * /mavros/distance_sensor/sonar_1_sub/id: 2 * /mavros/distance_sensor/sonar_1_sub/orientation: PITCH_270 * /mavros/distance_sensor/sonar_1_sub/subscriber: True * /mavros/fake_gps/eph: 2.0 * /mavros/fake_gps/epv: 2.0 * /mavros/fake_gps/fix_type: 3 * /mavros/fake_gps/geo_origin/alt: 408.0 * /mavros/fake_gps/geo_origin/lat: 47.3667 * /mavros/fake_gps/geo_origin/lon: 8.55 * /mavros/fake_gps/gps_rate: 5.0 * /mavros/fake_gps/mocap_transform: True * /mavros/fake_gps/satellites_visible: 5 * /mavros/fake_gps/tf/child_frame_id: fix * /mavros/fake_gps/tf/frame_id: map * /mavros/fake_gps/tf/listen: False * /mavros/fake_gps/tf/rate_limit: 10.0 * /mavros/fake_gps/tf/send: False * /mavros/fake_gps/use_mocap: True * /mavros/fake_gps/use_vision: False * /mavros/fcu_protocol: v2.0 * /mavros/fcu_url: udp://127.0.0.1:1... * /mavros/gcs_url: * /mavros/global_position/child_frame_id: base_link * /mavros/global_position/frame_id: map * /mavros/global_position/gps_uere: 1.0 * /mavros/global_position/rot_covariance: 99999.0 * /mavros/global_position/tf/child_frame_id: base_link * /mavros/global_position/tf/frame_id: map * /mavros/global_position/tf/global_frame_id: earth * /mavros/global_position/tf/send: False * /mavros/global_position/use_relative_alt: True * /mavros/image/frame_id: px4flow * /mavros/imu/angular_velocity_stdev: 0.0003490659 // 0... * /mavros/imu/frame_id: base_link * /mavros/imu/linear_acceleration_stdev: 0.0003 * /mavros/imu/magnetic_stdev: 0.0 * /mavros/imu/orientation_stdev: 1.0 * /mavros/landing_target/camera/fov_x: 2.0071286398 * /mavros/landing_target/camera/fov_y: 2.0071286398 * /mavros/landing_target/image/height: 480 * /mavros/landing_target/image/width: 640 * /mavros/landing_target/land_target_type: VISION_FIDUCIAL * /mavros/landing_target/listen_lt: False * /mavros/landing_target/mav_frame: LOCAL_NED * /mavros/landing_target/target_size/x: 0.3 * /mavros/landing_target/target_size/y: 0.3 * /mavros/landing_target/tf/child_frame_id: camera_center * /mavros/landing_target/tf/frame_id: landing_target * /mavros/landing_target/tf/listen: False * /mavros/landing_target/tf/rate_limit: 10.0 * /mavros/landing_target/tf/send: True * /mavros/local_position/frame_id: map * /mavros/local_position/tf/child_frame_id: base_link * /mavros/local_position/tf/frame_id: map * /mavros/local_position/tf/send: False * /mavros/local_position/tf/send_fcu: False * /mavros/mission/pull_after_gcs: True * /mavros/mocap/use_pose: True * /mavros/mocap/use_tf: False * /mavros/odometry/fcu/odom_child_id_des: base_link * /mavros/odometry/fcu/odom_parent_id_des: map * /mavros/plugin_blacklist: ['safety_area', '... * /mavros/plugin_whitelist: [] * /mavros/px4flow/frame_id: px4flow * /mavros/px4flow/ranger_fov: 0.118682 * /mavros/px4flow/ranger_max_range: 5.0 * /mavros/px4flow/ranger_min_range: 0.3 * /mavros/safety_area/p1/x: 1.0 * /mavros/safety_area/p1/y: 1.0 * /mavros/safety_area/p1/z: 1.0 * /mavros/safety_area/p2/x: -1.0 * /mavros/safety_area/p2/y: -1.0 * /mavros/safety_area/p2/z: -1.0 * /mavros/setpoint_accel/send_force: False * /mavros/setpoint_attitude/reverse_thrust: False * /mavros/setpoint_attitude/tf/child_frame_id: target_attitude * /mavros/setpoint_attitude/tf/frame_id: map * /mavros/setpoint_attitude/tf/listen: False * /mavros/setpoint_attitude/tf/rate_limit: 50.0 * /mavros/setpoint_attitude/use_quaternion: False * /mavros/setpoint_position/mav_frame: LOCAL_NED * /mavros/setpoint_position/tf/child_frame_id: target_position * /mavros/setpoint_position/tf/frame_id: map * /mavros/setpoint_position/tf/listen: False * /mavros/setpoint_position/tf/rate_limit: 50.0 * /mavros/setpoint_raw/thrust_scaling: 1.0 * /mavros/setpoint_velocity/mav_frame: LOCAL_NED * /mavros/startup_px4_usb_quirk: True * /mavros/sys/disable_diag: False * /mavros/sys/min_voltage: 10.0 * /mavros/target_component_id: 1 * /mavros/target_system_id: 1 * /mavros/tdr_radio/low_rssi: 40 * /mavros/time/time_ref_source: fcu * /mavros/time/timesync_avg_alpha: 0.6 * /mavros/time/timesync_mode: MAVLINK * /mavros/vibration/frame_id: base_link * /mavros/vision_pose/tf/child_frame_id: vision_estimate * /mavros/vision_pose/tf/frame_id: odom * /mavros/vision_pose/tf/listen: False * /mavros/vision_pose/tf/rate_limit: 10.0 * /mavros/vision_speed/listen_twist: True * /mavros/vision_speed/twist_cov: True * /mavros/wheel_odometry/child_frame_id: base_link * /mavros/wheel_odometry/count: 2 * /mavros/wheel_odometry/frame_id: odom * /mavros/wheel_odometry/send_raw: True * /mavros/wheel_odometry/send_twist: False * /mavros/wheel_odometry/tf/child_frame_id: base_link * /mavros/wheel_odometry/tf/frame_id: odom * /mavros/wheel_odometry/tf/send: False * /mavros/wheel_odometry/use_rpm: False * /mavros/wheel_odometry/vel_error: 0.1 * /mavros/wheel_odometry/wheel0/radius: 0.05 * /mavros/wheel_odometry/wheel0/x: 0.0 * /mavros/wheel_odometry/wheel0/y: -0.15 * /mavros/wheel_odometry/wheel1/radius: 0.05 * /mavros/wheel_odometry/wheel1/x: 0.0 * /mavros/wheel_odometry/wheel1/y: 0.15 * /rosdistro: kinetic * /rosversion: 1.12.17 NODES / mavros (mavros/mavros_node) auto-starting new master process[master]: started with pid [79] ROS_MASTER_URI=http://10.10.10.54:11311/ setting /run_id to 7f5db350-bd4b-11ec-a98d-18473db1c73b process[rosout-1]: started with pid [93] started core service [/rosout] process[mavros-2]: started with pid [112] [ INFO] [1650089252.553423684]: FCU URL: udp://127.0.0.1:14551@:14551 [ INFO] [1650089252.562209112]: udp0: Bind address: 127.0.0.1:14551 [ INFO] [1650089252.562960419]: GCS bridge disabled [ INFO] [1650089252.568368895]: udp0: Remote address: 127.0.0.1:44952 [ INFO] [1650089252.627217910]: Plugin 3dr_radio loaded [ INFO] [1650089252.638157885]: Plugin 3dr_radio initialized [ INFO] [1650089252.638676378]: Plugin actuator_control loaded [ INFO] [1650089252.666821788]: Plugin actuator_control initialized [ INFO] [1650089252.667341687]: Plugin altitude loaded [ INFO] [1650089252.675970395]: Plugin altitude initialized [ INFO] [1650089252.676476857]: Plugin command loaded [ INFO] [1650089252.729651248]: Plugin command initialized [ INFO] [1650089252.731232405]: Plugin ftp loaded [ INFO] [1650089252.784663517]: Plugin ftp initialized [ INFO] [1650089252.788920891]: Plugin global_position loaded [ INFO] [1650089252.933070413]: Plugin global_position initialized [ INFO] [1650089252.935017823]: Plugin hil loaded [ INFO] [1650089253.077012381]: Plugin hil initialized [ INFO] [1650089253.081661477]: Plugin home_position loaded [ INFO] [1650089253.131126571]: Plugin home_position initialized [ INFO] [1650089253.133230440]: Plugin imu loaded [ INFO] [1650089253.196721363]: Plugin imu initialized [ INFO] [1650089253.198109758]: Plugin local_position loaded [ INFO] [1650089253.243905920]: Plugin local_position initialized [ INFO] [1650089253.244455038]: Plugin manual_control loaded [ INFO] [1650089253.268638805]: Plugin manual_control initialized [ INFO] [1650089253.269005787]: Plugin param loaded [ INFO] [1650089253.296789944]: Plugin param initialized [ INFO] [1650089253.298706625]: Plugin rc_io loaded [ INFO] [1650089253.324475820]: Plugin rc_io initialized [ INFO] [1650089253.324662852]: Plugin safety_area blacklisted [ INFO] [1650089253.324999261]: Plugin setpoint_accel loaded [ INFO] [1650089253.342864649]: Plugin setpoint_accel initialized [ INFO] [1650089253.343598196]: Plugin setpoint_attitude loaded [ INFO] [1650089253.410198517]: Plugin setpoint_attitude initialized [ INFO] [1650089253.410856021]: Plugin setpoint_position loaded [ INFO] [1650089253.537799743]: Plugin setpoint_position initialized [ INFO] [1650089253.541088568]: Plugin setpoint_raw loaded [ INFO] [1650089253.622535193]: Plugin setpoint_raw initialized [ INFO] [1650089253.623860359]: Plugin setpoint_trajectory loaded [ INFO] [1650089253.662709439]: Plugin setpoint_trajectory initialized [ INFO] [1650089253.664452837]: Plugin setpoint_velocity loaded [ INFO] [1650089253.726545573]: Plugin setpoint_velocity initialized [ INFO] [1650089253.728385482]: Plugin sys_status loaded [ INFO] [1650089253.826093057]: Plugin sys_status initialized [ INFO] [1650089253.826767385]: Plugin sys_time loaded [ INFO] [1650089253.885908277]: TM: Timesync mode: MAVLINK [ INFO] [1650089253.897343776]: Plugin sys_time initialized [ INFO] [1650089253.898854099]: Plugin vfr_hud loaded [ INFO] [1650089253.908517293]: Plugin vfr_hud initialized [ INFO] [1650089253.910204649]: Plugin waypoint loaded [ INFO] [1650089253.952824902]: Plugin waypoint initialized [ INFO] [1650089253.954351215]: Plugin wind_estimation loaded [ INFO] [1650089253.965729057]: Plugin wind_estimation initialized [ INFO] [1650089253.966118278]: Autostarting mavlink via USB on PX4 [ INFO] [1650089253.967461882]: Built-in SIMD instructions: ARM NEON [ INFO] [1650089253.967765321]: Built-in MAVLink package version: 2019.12.30 [ INFO] [1650089253.968015636]: Known MAVLink dialects: common ardupilotmega ASLUAV autoquad icarous matrixpilot paparazzi slugs standard uAvionix ualberta [ INFO] [1650089253.968231835]: MAVROS started. MY ID 1.240, TARGET ID 1.1 [ INFO] [1650089253.973312549]: IMU: High resolution IMU detected! [ INFO] [1650089253.973704270]: IMU: Attitude quaternion IMU detected! [ INFO] [1650089254.005925543]: CON: Got HEARTBEAT, connected. FCU: PX4 Autopilot [ INFO] [1650089254.017477917]: IMU: High resolution IMU detected! [ INFO] [1650089254.019346107]: IMU: Attitude quaternion IMU detected! [ INFO] [1650089255.054933210]: VER: 1.1: Capabilities 0x000000000000e4ef [ INFO] [1650089255.056769942]: VER: 1.1: Flight software: 010b03ff (f40863b2a7000203) [ INFO] [1650089255.056997443]: VER: 1.1: Middleware software: 010b03ff (f40863b2a7000000) [ INFO] [1650089255.057137496]: VER: 1.1: OS software: 080200ff (ec20f2e6c5cc35b2) [ INFO] [1650089255.057275050]: VER: 1.1: Board hardware: 0000a32f [ INFO] [1650089255.057622135]: VER: 1.1: VID/PID: 0483:a32f [ INFO] [1650089255.058063493]: VER: 1.1: UID: 4b56500220393553 [ WARN] [1650089255.058796415]: CMD: Unexpected command 520, result 0 [ INFO] [1650089264.008249452]: HP: requesting home position [ INFO] [1650089269.010931835]: WP: mission received [ INFO] [1650089274.008232199]: HP: requesting home position [ INFO] [1650089284.009017035]: HP: requesting home position [ INFO] [1650089294.007160603]: HP: requesting home position [ INFO] [1650089304.007964814]: HP: requesting home position [ INFO] [1650089314.009846533]: HP: requesting home position [ INFO] [1650089324.006486027]: HP: requesting home position [ INFO] [1650089334.006561431]: HP: requesting home position [ INFO] [1650089344.007188089]: HP: requesting home position [ INFO] [1650089354.006818333]: HP: requesting home position [ INFO] [1650089364.006860404]: HP: requesting home position [ INFO] [1650089374.006691483]: HP: requesting home position [ INFO] [1650089384.006815481]: HP: requesting home position
I have already checked qvio server output and even on QGC window I am able to see odometry been received.
What can be the issue?
-
@Akash-Patil
Are you able to fly reliably and hold position using VIO prior to trying MAVROS?
Within QGC, what value do you have for PX4 EKF2_AID_MASK ?
I've not done much with MAVROS... just some guesses.
-
@stevet I haven't yet had any flight with VIO.
I wanted to have my pipeline ready for trying out my path planning algorithm for which I need mavros running.
PX4 EKF2_AID_MASK value is set to 280. I have referred to helper parameters over here on my drone still facing issue of "HP: requesting home position" constantly on mavros launch file from roskinetic-xenial docker image.
Can you tag someone who has worked with mavros in order to support this issue? We are kindoff stuck with this issue.
-
Apologies -- I don't work for ModalAI. Just another dev leveraging Modal's kit.
Someone I'm sure will chime in from the team. Maybe @James-Strawson?
I would definitely make sure you can fly with VIO prior to jumping in with MAVROS. (https://docs.modalai.com/mavros/#prerequisites) VIO running in
voxl-vision-px4
will establish the home position. Do you have PX4 in offboard mode?https://gitlab.com/voxl-public/voxl-sdk/services/voxl-vision-px4/-/blob/master/src/offboard_trajectory.c#L280 Also shows that you need to have VIO running and sending a home sent point so PX4 can send that for MAVROS to receive and process in your code. Believe you also will need offboard mode set to
trajectory
in/etc/modalai/voxl-vision-px4.conf
, But, I could be wrong... at a quick glance of https://gitlab.com/voxl-public/voxl-sdk/services/voxl-vision-px4/-/blob/master/src/vio_manager.c#L72 it appears that VIO does not send a home point so I think to establish one PX4 would have to detect a liftoff and start publishing its own based on the VIO data it was receiving vice one established by one of the trajectory modes. -
https://discuss.px4.io/t/how-can-i-set-home-position-in-mavros/26548
Maybe offers some options as well.
And PX4 docus on home position.
https://airsim-fork.readthedocs.io/en/latest/px4_sitl.html#setting-gps-origin -
@stevet Thank you so much for incredible insights into voxl-vision-px4 package as well as pointing to specific code which may be related to this issue.
I changed offboard mode to "trajectory" in voxl-vision-px4.conf and tried running mavros with it still no luck. Still I face same issue of mavros requesting home position from PX4.
I dont know exactly when PX4 sends home position to mavros, as in when copter lifts off or even on ground. But still it would be worth a try to run mavros once copter is off the ground holding its position.
@James-Strawson Any inputs over here? Does PX4 publishes home position to mavros when qvio server is initialised and sending VIO to FCU. I guess it should since people generally must be using figure eight offboard example with mavros from ground which needs mavros to be taking in all setpoint_raw mavros topics inputs?
-
@stevet said in VOXL not connecting to QGC:
voxl-mavlink
When using MAVROS the vvpx4 offboard_mode setting should be set to "off" since the figure 8 and trajectory modes let vvpx4 send offboard commands which would naturally conflict with offboard commands coming from MAVROS.
the "HP: requesting home position" message is perfectly normal, I've always seen it come up and it's never stopped me from running the mavros figure-8 example.
-
@James-Strawson Can you please elaborate on setting vvpx4 offboard_mode "off" while using MAVROS. I am having a similar issue: my drone does not take off, and the screen displays "requesting home position" when I am running mavros_test.sh file.
If you can guide me through the steps of turning vvpx4 offboard_mode "off", that would be great. Thank You. -
@James-Strawson I also set offboard_mode of vvpx4 to "off" while running mavros test and the drone still does not take off. I have also attached the pictures of what I changed.
-
@James-Strawson Thank you for your response.
Even if I ignore "HP: requesting home position" I am not getting any data over /mavros/global_position/local topic which I think needs home position to be set correctly. Intention behind using /mavros/global_position/local is to have odometry in FLU frame which directly fits into most of the path planners for further work. Any inputs over here?
I did few more experiments but with no luck :
-
I have seen in some forums like this fake gps plugin in px4 can be used to set home position. This plugin is present in px4 plugin list but isnt active maybe.
-
I tried running rosservice call /mavros/cmd/set_home which always returns false in result which means it is failing. My qvio data is been forwarded to px4 and I can see it on QGC terminal as well.
Any thoughts on getting /mavros/global_position/local or /mavros/local_position/odom topics working?
-
-
@parbat101 Probably you can try enabling "en_send_vio_to_qgc": true in your above shown config file? In my case I can arm drone in manual/position mode easily, just using mavros is the concern.
-
@Aks Thank you for your reply. My problem is also with MAVROS; it does not take off at last step and requests for home position. The drone (VOXL m500) takes off and I can control it flawlessly on manual and position flight mode.
I also enabled "en_send_vio_to_qgc" after your suggestion; the MAVROS flight did not work. It still does not take off in the MAVROS flight test. For manual mode and position flight mode, I did not have any problems.
I am not sure what is the problem with the MAVROS flight???
-
hey!@parbat101
Didi you figure out the way to set local position as home? If so please post it here, that would be helpful
thank you -
@Steve-Turner Hey please I need you help setting up ADB for my newly purchased VOXL CAM. I already started a discussion "Broken parts".