mavros icon indicating copy to clipboard operation
mavros copied to clipboard

Mavlink output from Cleanflight FC not published

Open csmotion opened this issue 1 year ago • 4 comments

I'd like to use MAVROS to publish data coming from the Mavlink output on a Cleanflight fc. I understand that this isn't a supported controller/typical use case, but was curious if it's possible. I can see data flowing from the fc as expected using pyMavlink (example below). I can spin up a mavros_node connected to the serial port, and see that the fc appears to be receiving messages, but nothing is being published.

Thoughts on configuration changes required to make this work? Interestingly, the output of "ros2 run mavros mav checkid" exploded (see below)...

sample pyMavlink output

SYS_STATUS {onboard_control_sensors_present : 56359, onboard_control_sensors_enabled : 56359, onboard_control_sensors_health : 39, load : 0, voltage_battery : 20250, current_battery : 389, battery_remaining : 75, drop_rate_comm : 0, errors_comm : 0, errors_count1 : 0, errors_count2 : 0, errors_count3 : 0, errors_count4 : 0} GPS_RAW_INT {time_usec : 3238052464, fix_type : 1, lat : 0, lon : 0, alt : -17000, eph : 65535, epv : 65535, vel : 0, cog : 0, satellites_visible : 0} GLOBAL_POSITION_INT {time_boot_ms : 3238052481, lat : 0, lon : 0, alt : -17000, relative_alt : -17000, vx : 0, vy : 0, vz : 0, hdg : 34} GPS_GLOBAL_ORIGIN {latitude : 0, longitude : 0, altitude : 0} RC_CHANNELS_RAW {time_boot_ms : 3238132, port : 0, chan1_raw : 1500, chan2_raw : 1499, chan3_raw : 1505, chan4_raw : 999, chan5_raw : 1159, chan6_raw : 1500, chan7_raw : 1500, chan8_raw : 1500, rssi : 0} ATTITUDE {time_boot_ms : 3238132, roll : 0.02094395086169243, pitch : 0.09948376566171646, yaw : 0.6021385788917542, rollspeed : 0.0, pitchspeed : 0.0, yawspeed : 0.0} VFR_HUD {airspeed : 0.0, groundspeed : 0.0, heading : 34, throttle : 0, alt : -17.0, climb : 0.0} HEARTBEAT {type : 2, autopilot : 0, base_mode : 64, custom_mode : 1, system_status : 3, mavlink_version : 3} ATTITUDE {time_boot_ms : 3238252, roll : 0.02094395086169243, pitch : 0.09948376566171646, yaw : 0.6021385788917542, rollspeed : 0.0, pitchspeed : 0.0, yawspeed : 0.0} VFR_HUD {airspeed : 0.0, groundspeed : 0.0, heading : 34, throttle : 0, alt : -17.0, climb : 0.0} HEARTBEAT {type : 2, autopilot : 0, base_mode : 64, custom_mode : 1, system_status : 3, mavlink_version : 3} RC_CHANNELS_RAW {time_boot_ms : 3238352, port : 0, chan1_raw : 1500, chan2_raw : 1499, chan3_raw : 1505, chan4_raw : 999, chan5_raw : 1159, chan6_raw : 1500, chan7_raw : 1500, chan8_raw : 1500, rssi : 0} ATTITUDE {time_boot_ms : 3238372, roll : 0.02094395086169243, pitch : 0.09948376566171646, yaw : 0.6021385788917542, rollspeed : 0.0, pitchspeed : 0.0, yawspeed : 0.0} VFR_HUD {airspeed : 0.0, groundspeed : 0.0, heading : 34, throttle : 0, alt : -17.0, climb : 0.0} HEARTBEAT {type : 2, autopilot : 0, base_mode : 64, custom_mode : 1, system_status : 3, mavlink_version : 3} ATTITUDE {time_boot_ms : 3238493, roll : 0.02094395086169243, pitch : 0.09948376566171646, yaw : 0.6021385788917542, rollspeed : 0.0, pitchspeed : 0.0, yawspeed : 0.0} VFR_HUD {airspeed : 0.0, groundspeed : 0.0, heading : 34, throttle : 0, alt : -17.0, climb : 0.0} HEARTBEAT {type : 2, autopilot : 0, base_mode : 64, custom_mode : 1, system_status : 3, mavlink_version : 3} SYS_STATUS {onboard_control_sensors_present : 56359, onboard_control_sensors_enabled : 56359, onboard_control_sensors_health : 39, load : 0, voltage_battery : 20250, current_battery : 372, battery_remaining : 75, drop_rate_comm : 0, errors_comm : 0, errors_count1 : 0, errors_count2 : 0, errors_count3 : 0, errors_count4 : 0} RC_CHANNELS_RAW {time_boot_ms : 3238573, port : 0, chan1_raw : 1500, chan2_raw : 1499, chan3_raw : 1505, chan4_raw : 999, chan5_raw : 1159, chan6_raw : 1500, chan7_raw : 1500, chan8_raw : 1500, rssi : 0} GPS_RAW_INT {time_usec : 3238573179, fix_type : 1, lat : 0, lon : 0, alt : -17000, eph : 65535, epv : 65535, vel : 0, cog : 0, satellites_visible : 0} GLOBAL_POSITION_INT {time_boot_ms : 3238573194, lat : 0, lon : 0, alt : -17000, relative_alt : -17000, vx : 0, vy : 0, vz : 0, hdg : 34} GPS_GLOBAL_ORIGIN {latitude : 0, longitude : 0, altitude : 0} ATTITUDE {time_boot_ms : 3238613, roll : 0.02094395086169243, pitch : 0.09948376566171646, yaw : 0.6021385788917542, rollspeed : 0.0, pitchspeed : 0.0, yawspeed : 0.0} VFR_HUD {airspeed : 0.0, groundspeed : 0.0, heading : 34, throttle : 0, alt : -17.0, climb : 0.0} HEARTBEAT {type : 2, autopilot : 0, base_mode : 64, custom_mode : 1, system_status : 3, mavlink_version : 3}

MAVROS version and platform

Mavros: 2.5.0 ROS: Iron Ubuntu: 22.04

Autopilot type and version

[ ] ArduPilot [ ] PX4 [x] Cleanflight

Node logs

csmotion@Ubuntu22:~/Projects/QuadROS$ ros2 launch mavros apm.launch fcu_url:=/dev/ttyS0:115200 [INFO] [launch]: All log files can be found below /home/csmotion/.ros/log/2023-06-27-11-40-00-808087-Ubuntu22-15710 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [mavros_node-1]: process started with pid [15713] [mavros_node-1] [INFO] [1687887601.570050177] [mavros.mavros_node]: Starting mavros_node container [mavros_node-1] [INFO] [1687887601.570236361] [mavros.mavros_node]: FCU URL: /dev/ttyS0:115200 [mavros_node-1] [INFO] [1687887601.570257512] [mavros.mavros_node]: GCS URL: [mavros_node-1] [INFO] [1687887601.570273804] [mavros.mavros_node]: UAS Prefix: /uas1 [mavros_node-1] [INFO] [1687887601.570288885] [mavros.mavros_node]: Starting mavros router node [mavros_node-1] [INFO] [1687887601.591960837] [mavros.mavros_router]: Built-in SIMD instructions: SSE, SSE2 [mavros_node-1] [INFO] [1687887601.592018308] [mavros.mavros_router]: Built-in MAVLink package version: 2023.6.6 [mavros_node-1] [INFO] [1687887601.592030711] [mavros.mavros_router]: Known MAVLink dialects: common ardupilotmega ASLUAV AVSSUAS all csAirLink cubepilot development icarous matrixpilot paparazzi standard storm32 uAvionix ualberta [mavros_node-1] [INFO] [1687887601.592041406] [mavros.mavros_router]: MAVROS Router started [mavros_node-1] [INFO] [1687887601.592081433] [mavros.mavros_router]: Requested to add endpoint: type: 0, url: /dev/ttyS0:115200 [mavros_node-1] [INFO] [1687887601.592110482] [mavros.mavros_router]: Endpoint link[1000] created [mavros_node-1] [INFO] [1687887601.599914641] [mavros.mavros_router]: link[1000] opened successfully [mavros_node-1] [INFO] [1687887601.600039110] [mavros.mavros_router]: Requested to add endpoint: type: 2, url: /uas1 [mavros_node-1] [INFO] [1687887601.600079221] [mavros.mavros_router]: Endpoint link[1001] created [mavros_node-1] [INFO] [1687887601.603499606] [mavros.mavros_router]: link[1000] detected remote address 0.200 [mavros_node-1] [INFO] [1687887601.606460475] [mavros.mavros_router]: link[1001] opened successfully [mavros_node-1] [INFO] [1687887601.606530799] [mavros.mavros_node]: Starting mavros uas node [mavros_node-1] [INFO] [1687887601.662544807] [mavros.mavros]: Plugin actuator_control ignored [mavros_node-1] [INFO] [1687887601.662587889] [mavros.mavros]: Plugin altitude ignored [mavros_node-1] [INFO] [1687887601.664674435] [mavros.mavros]: UAS Executor started, threads: 4 [mavros_node-1] [INFO] [1687887601.750238999] [mavros.mavros]: Plugin command created [mavros_node-1] [INFO] [1687887601.750332272] [mavros.mavros]: Plugin command initialized [mavros_node-1] [INFO] [1687887601.750352236] [mavros.mavros]: Plugin ftp ignored [mavros_node-1] [INFO] [1687887601.765067573] [mavros.mavros]: Plugin geofence created [mavros_node-1] [INFO] [1687887601.765204519] [mavros.mavros]: Plugin geofence initialized [mavros_node-1] [INFO] [1687887601.789957665] [mavros.mavros]: Plugin global_position created [mavros_node-1] [INFO] [1687887601.790589651] [mavros.mavros]: Plugin global_position initialized [mavros_node-1] [INFO] [1687887601.814573058] [mavros.mavros]: Plugin home_position created [mavros_node-1] [INFO] [1687887601.814650930] [mavros.mavros]: Plugin home_position initialized [mavros_node-1] [INFO] [1687887601.843186592] [mavros.mavros]: Plugin imu created [mavros_node-1] [INFO] [1687887601.843808981] [mavros.mavros]: Plugin imu initialized [mavros_node-1] [INFO] [1687887601.871339544] [mavros.mavros]: Plugin local_position created [mavros_node-1] [INFO] [1687887601.871424686] [mavros.mavros]: Plugin local_position initialized [mavros_node-1] [INFO] [1687887601.894611215] [mavros.mavros]: Plugin manual_control created [mavros_node-1] [INFO] [1687887601.894675290] [mavros.mavros]: Plugin manual_control initialized [mavros_node-1] [INFO] [1687887601.921876922] [mavros.mavros]: Plugin nav_controller_output created [mavros_node-1] [INFO] [1687887601.921939688] [mavros.mavros]: Plugin nav_controller_output initialized [mavros_node-1] [INFO] [1687887601.946146722] [mavros.mavros]: Plugin param created [mavros_node-1] [INFO] [1687887601.946216338] [mavros.mavros]: Plugin param initialized [mavros_node-1] [INFO] [1687887601.973761146] [mavros.mavros]: Plugin rallypoint created [mavros_node-1] [INFO] [1687887601.974278973] [mavros.mavros]: Plugin rallypoint initialized [mavros_node-1] [INFO] [1687887602.001381878] [mavros.mavros]: Plugin rc_io created [mavros_node-1] [INFO] [1687887602.001591538] [mavros.mavros]: Plugin rc_io initialized [mavros_node-1] [INFO] [1687887602.033290015] [mavros.mavros]: Plugin setpoint_accel created [mavros_node-1] [INFO] [1687887602.033366838] [mavros.mavros]: Plugin setpoint_accel initialized [mavros_node-1] [INFO] [1687887602.062685867] [mavros.mavros]: Plugin setpoint_attitude created [mavros_node-1] [INFO] [1687887602.062741043] [mavros.mavros]: Plugin setpoint_attitude initialized [mavros_node-1] [INFO] [1687887602.101373338] [mavros.mavros]: Plugin setpoint_position created [mavros_node-1] [INFO] [1687887602.101431943] [mavros.mavros]: Plugin setpoint_position initialized [mavros_node-1] [INFO] [1687887602.135423115] [mavros.mavros]: Plugin setpoint_raw created [mavros_node-1] [INFO] [1687887602.135976344] [mavros.mavros]: Plugin setpoint_raw initialized [mavros_node-1] [INFO] [1687887602.177376298] [mavros.mavros]: Plugin setpoint_trajectory created [mavros_node-1] [INFO] [1687887602.178128450] [mavros.mavros]: Plugin setpoint_trajectory initialized [mavros_node-1] [INFO] [1687887602.209825872] [mavros.mavros]: Plugin setpoint_velocity created [mavros_node-1] [INFO] [1687887602.209884453] [mavros.mavros]: Plugin setpoint_velocity initialized [mavros_node-1] [INFO] [1687887602.248423375] [mavros.mavros]: Plugin sys_status created [mavros_node-1] [INFO] [1687887602.248552184] [mavros.mavros]: Plugin sys_status initialized [mavros_node-1] [INFO] [1687887602.277850612] [mavros.time]: TM: Timesync mode: MAVLINK [mavros_node-1] [INFO] [1687887602.285812727] [mavros.mavros]: Plugin sys_time created [mavros_node-1] [INFO] [1687887602.285884422] [mavros.mavros]: Plugin sys_time initialized [mavros_node-1] [INFO] [1687887602.324371018] [mavros.mavros]: Plugin waypoint created [mavros_node-1] [INFO] [1687887602.324519100] [mavros.mavros]: Plugin waypoint initialized [mavros_node-1] [INFO] [1687887602.353855161] [mavros.mavros]: Plugin wind_estimation created [mavros_node-1] [INFO] [1687887602.353915642] [mavros.mavros]: Plugin wind_estimation initialized [mavros_node-1] [INFO] [1687887602.356047556] [mavros.mavros]: Built-in SIMD instructions: SSE, SSE2 [mavros_node-1] [INFO] [1687887602.356092524] [mavros.mavros]: Built-in MAVLink package version: 2023.6.6 [mavros_node-1] [INFO] [1687887602.356103140] [mavros.mavros]: Known MAVLink dialects: common ardupilotmega ASLUAV AVSSUAS all csAirLink cubepilot development icarous matrixpilot paparazzi standard storm32 uAvionix ualberta [mavros_node-1] [INFO] [1687887602.356113031] [mavros.mavros]: MAVROS UAS via /uas1 started. MY ID 1.191, TARGET ID 1.1 [mavros_node-1] [INFO] [1687887603.237328954] [mavros.mavros_router]: link[1001] detected remote address 1.191 [mavros_node-1] [INFO] [1687887603.280626980] [mavros.mavros_router]: link[1000] detected remote address 51.68 [mavros_node-1] [WARN] [1687887604.251298628] [mavros.sys]: VER: broadcast request timeout, retries left 4 [mavros_node-1] [WARN] [1687887605.267526415] [mavros.sys]: VER: broadcast request timeout, retries left 3 [mavros_node-1] [WARN] [1687887606.252799835] [mavros.sys]: VER: unicast request timeout, retries left 2 [mavros_node-1] [WARN] [1687887607.251481785] [mavros.sys]: VER: unicast request timeout, retries left 1 [mavros_node-1] [WARN] [1687887608.274209533] [mavros.sys]: VER: unicast request timeout, retries left 0 [mavros_node-1] [WARN] [1687887609.269707516] [mavros.sys]: VER: your FCU don't support AUTOPILOT_VERSION, switched to default capabilities [mavros_node-1] [WARN] [1687887901.902659602] [mavros.mavros_router]: New subscription discovered on topic '/uas1/mavlink_source', requesting incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY

Diagnostics


header: stamp: sec: 1687887862 nanosec: 589443966 frame_id: '' status:

  • level: "\0" name: 'mavros_router: MAVROS Router' message: ok hardware_id: none values:
    • key: Endpoints value: '2'
    • key: Messages routed value: '12470'
    • key: Messages sent value: '12470'
    • key: Messages dropped value: '0'
  • level: "\0" name: 'mavros_router: endpoint 1000: /dev/ttyS0:115200' message: ok hardware_id: none values:
    • key: Received packets value: '12201'
    • key: Dropped packets value: '0'
    • key: Buffer overruns value: '0'
    • key: Parse errors value: '0'
    • key: Rx sequence number value: '49'
    • key: Tx sequence number value: '0'
    • key: Rx total bytes value: '347708'
    • key: Tx total bytes value: '5780'
    • key: Rx speed value: '974.000000'
    • key: Tx speed value: '21.000000'
    • key: Remotes count value: '4'
    • key: Remote [0] value: '0.0'
    • key: Remote [1] value: '0.200'
    • key: Remote [2] value: '51.0'
    • key: Remote [3] value: '51.68'
  • level: "\0" name: 'mavros_router: endpoint 1001: /uas1' message: ok hardware_id: none values:
    • key: Remotes count value: '3'
    • key: Remote [0] value: '0.0'
    • key: Remote [1] value: '1.0'
    • key: Remote [2] value: '1.191'

header: stamp: sec: 1687887862 nanosec: 618829370 frame_id: '' status:

  • level: "\x02" name: 'mavros: MAVROS UAS' message: disconnected hardware_id: uas:///uas1 values: []
  • level: "\x02" name: 'mavros: GPS' message: No satellites hardware_id: uas:///uas1 values:
    • key: Satellites visible value: '0'
    • key: Fix type value: '0'
    • key: EPH (m) value: Unknown
    • key: EPV (m) value: Unknown
  • level: "\0" name: 'mavros: System' message: Normal hardware_id: uas:///uas1 values:
    • key: Sensor present value: '0x00000000'
    • key: Sensor enabled value: '0x00000000'
    • key: Sensor health value: '0x00000000'
    • key: CPU Load (%) value: '0.0'
    • key: Drop rate (%) value: '0.0'
    • key: Errors comm value: '0'
    • key: 'Errors count #1' value: '0'
    • key: 'Errors count #2' value: '0'
    • key: 'Errors count #3' value: '0'
    • key: 'Errors count #4' value: '0'
  • level: "\x02" name: 'mavros: Battery' message: No data hardware_id: uas:///uas1 values:
    • key: Voltage value: '-1.00'
    • key: Current value: '0.0'
    • key: Remaining value: '0.0'
  • level: "\x02" name: 'mavros: Heartbeat' message: No events recorded. hardware_id: uas:///uas1 values:
    • key: Heartbeats since startup value: '0'
    • key: Frequency (Hz) value: '0.000000'
    • key: Vehicle type value: Generic micro air vehicle
    • key: Autopilot type value: Generic autopilot
    • key: Mode value: ''
    • key: System status value: UNINIT

header: stamp: sec: 1687887863 nanosec: 589884065 frame_id: '' status:

  • level: "\0" name: 'mavros_router: MAVROS Router' message: ok hardware_id: none values:
    • key: Endpoints value: '2'
    • key: Messages routed value: '12512'
    • key: Messages sent value: '12512'
    • key: Messages dropped value: '0'
  • level: "\0" name: 'mavros_router: endpoint 1000: /dev/ttyS0:115200' message: ok hardware_id: none values:
    • key: Received packets value: '12242'
    • key: Dropped packets value: '0'
    • key: Buffer overruns value: '0'
    • key: Parse errors value: '0'
    • key: Rx sequence number value: '89'
    • key: Tx sequence number value: '0'
    • key: Rx total bytes value: '348874'
    • key: Tx total bytes value: '5801'
    • key: Rx speed value: '1166.000000'
    • key: Tx speed value: '21.000000'
    • key: Remotes count value: '4'
    • key: Remote [0] value: '0.0'
    • key: Remote [1] value: '0.200'
    • key: Remote [2] value: '51.0'
    • key: Remote [3] value: '51.68'
  • level: "\0" name: 'mavros_router: endpoint 1001: /uas1' message: ok hardware_id: none values:
    • key: Remotes count value: '3'
    • key: Remote [0] value: '0.0'
    • key: Remote [1] value: '1.0'
    • key: Remote [2] value: '1.191'

header: stamp: sec: 1687887863 nanosec: 619260714 frame_id: '' status:

  • level: "\x02" name: 'mavros: MAVROS UAS' message: disconnected hardware_id: uas:///uas1 values: []
  • level: "\x02" name: 'mavros: GPS' message: No satellites hardware_id: uas:///uas1 values:
    • key: Satellites visible value: '0'
    • key: Fix type value: '0'
    • key: EPH (m) value: Unknown
    • key: EPV (m) value: Unknown
  • level: "\0" name: 'mavros: System' message: Normal hardware_id: uas:///uas1 values:
    • key: Sensor present value: '0x00000000'
    • key: Sensor enabled value: '0x00000000'
    • key: Sensor health value: '0x00000000'
    • key: CPU Load (%) value: '0.0'
    • key: Drop rate (%) value: '0.0'
    • key: Errors comm value: '0'
    • key: 'Errors count #1' value: '0'
    • key: 'Errors count #2' value: '0'
    • key: 'Errors count #3' value: '0'
    • key: 'Errors count #4' value: '0'
  • level: "\x02" name: 'mavros: Battery' message: No data hardware_id: uas:///uas1 values:
    • key: Voltage value: '-1.00'
    • key: Current value: '0.0'
    • key: Remaining value: '0.0'
  • level: "\x02" name: 'mavros: Heartbeat' message: No events recorded. hardware_id: uas:///uas1 values:
    • key: Heartbeats since startup value: '0'
    • key: Frequency (Hz) value: '0.000000'
    • key: Vehicle type value: Generic micro air vehicle
    • key: Autopilot type value: Generic autopilot
    • key: Mode value: ''
    • key: System status value: UNINIT

Check ID

csmotion@Ubuntu22:~/Projects/QuadROS$ ros2 run mavros mav checkid [ERROR] [1687889272.864801709] [mavpy_szy8]: wait for service time out: {topic} Traceback (most recent call last): File "/opt/ros/iron/lib/python3.10/site-packages/mavros/cmd/init.py", line 34, in getattr return object.getattribute(self, key) AttributeError: 'CliClient' object has no attribute 'uas_settings'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/opt/ros/iron/lib/mavros/mav", line 14, in cli() File "/usr/lib/python3/dist-packages/click/core.py", line 1128, in call return self.main(*args, **kwargs) File "/usr/lib/python3/dist-packages/click/core.py", line 1053, in main rv = self.invoke(ctx) File "/usr/lib/python3/dist-packages/click/core.py", line 1659, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/lib/python3/dist-packages/click/core.py", line 1395, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/lib/python3/dist-packages/click/core.py", line 754, in invoke return __callback(*args, **kwargs) File "/usr/lib/python3/dist-packages/click/decorators.py", line 84, in new_func return ctx.invoke(f, obj, *args, **kwargs) File "/usr/lib/python3/dist-packages/click/core.py", line 754, in invoke return __callback(*args, **kwargs) File "/opt/ros/iron/lib/python3.10/site-packages/mavros/cmd/checkid.py", line 129, in checkid checker = Checker(client=client, follow=follow, watch_time=watch_time) File "/opt/ros/iron/lib/python3.10/site-packages/mavros/cmd/checkid.py", line 44, in init self.tgt_ids = client.uas_settings.target_ids File "/opt/ros/iron/lib/python3.10/site-packages/mavros/cmd/init.py", line 36, in getattr return getattr(self.cli, key) File "/usr/lib/python3.10/functools.py", line 981, in get val = self.func(instance) File "/opt/ros/iron/lib/python3.10/site-packages/mavros/base.py", line 116, in uas_settings pd = call_get_parameters(node=self, node_name=self.mavros_ns, names=names) File "/opt/ros/iron/lib/python3.10/site-packages/mavros/utils.py", line 75, in call_get_parameters wait_for_service(client, lg) File "/opt/ros/iron/lib/python3.10/site-packages/mavros/base.py", line 55, in wait_for_service raise ServiceWaitTimeout(topic) mavros.base.ServiceWaitTimeout: mavros/get_parameters [ros2run]: Process exited with failure 1

csmotion avatar Jun 27 '23 18:06 csmotion

Hi,

Did you run checkid while mavros node running?

Remote ids 0.200 and 51.x looks weird. Is it possible to configure system id on cleanflight?

vooon avatar Jun 27 '23 20:06 vooon

I tried to run checkid (confirmed mavros node was running), but it fails:

csmotion@Ubuntu22:~/Projects/QuadROS$ ros2 run mavros mav checkid [ERROR] [1687889272.864801709] [mavpy_szy8]: wait for service time out: {topic} Traceback (most recent call last): File "/opt/ros/iron/lib/python3.10/site-packages/mavros/cmd/init.py", line 34, in getattr return object.getattribute(self, key) AttributeError: 'CliClient' object has no attribute 'uas_settings'

There doesn't appear to be a way to configure system id on cleanflight, and pyMavlink indicates a sysid=0 in this pic:

image

Dug into the cleanflight code a bit more, and can confirm system id is hardcoded as 0:

image

csmotion avatar Jun 27 '23 21:06 csmotion

The problem that 0 means a broadcast. Mavlink router might treat it incorrectly. But maybe worth to try set target_system=0.

vooon avatar Jun 28 '23 15:06 vooon

Setting target_system=0 works, and topics are broadcasting now. Thank you very much!

output from ros2 topic echo diagnostics:

header: stamp: sec: 1687969875 nanosec: 671766735 frame_id: '' status:

  • level: "\x02" name: 'mavros: MAVROS UAS' message: disconnected hardware_id: uas:///uas0 values: []
  • level: "\x02" name: 'mavros: GPS' message: No satellites hardware_id: uas:///uas0 values:
    • key: Satellites visible value: '0'
    • key: Fix type value: '1'
    • key: EPH (m) value: Unknown
    • key: EPV (m) value: Unknown
  • level: "\x02" name: 'mavros: System' message: Sensor health hardware_id: uas:///uas0 values:
    • key: Sensor present value: '0x0000DC27'
    • key: Sensor enabled value: '0x0000DC27'
    • key: Sensor health value: '0x00000027'
    • key: 3D gyro value: Ok
    • key: 3D accelerometer value: Ok
    • key: 3D magnetometer value: Ok
    • key: GPS value: Ok
    • key: 3D angular rate control value: Fail
    • key: attitude stabilization value: Fail
    • key: yaw position value: Fail
    • key: x/y position control value: Fail
    • key: motor outputs / control value: Fail
    • key: CPU Load (%) value: '0.0'
    • key: Drop rate (%) value: '0.0'
    • key: Errors comm value: '0'
    • key: 'Errors count #1' value: '0'
    • key: 'Errors count #2' value: '0'
    • key: 'Errors count #3' value: '0'
    • key: 'Errors count #4' value: '0'
  • level: "\0" name: 'mavros: Battery' message: Normal hardware_id: uas:///uas0 values:
    • key: Voltage value: '20.60'
    • key: Current value: '3.8'
    • key: Remaining value: '82.0'
  • level: "\x02" name: 'mavros: Heartbeat' message: No events recorded. hardware_id: uas:///uas0 values:
    • key: Heartbeats since startup value: '0'
    • key: Frequency (Hz) value: '0.000000'
    • key: Vehicle type value: Generic micro air vehicle
    • key: Autopilot type value: Generic autopilot
    • key: Mode value: ''
    • key: System status value: UNINIT

header: stamp: sec: 1687969876 nanosec: 410726689 frame_id: '' status:

  • level: "\0" name: 'mavros_router: MAVROS Router' message: ok hardware_id: none values:
    • key: Endpoints value: '2'
    • key: Messages routed value: '17751'
    • key: Messages sent value: '17751'
    • key: Messages dropped value: '0'
  • level: "\0" name: 'mavros_router: endpoint 1000: /dev/ttyS0:115200' message: ok hardware_id: none values:
    • key: Received packets value: '17348'
    • key: Dropped packets value: '0'
    • key: Buffer overruns value: '0'
    • key: Parse errors value: '0'
    • key: Rx sequence number value: '24'
    • key: Tx sequence number value: '0'
    • key: Rx total bytes value: '494121'
    • key: Tx total bytes value: '8597'
    • key: Rx speed value: '1136.000000'
    • key: Tx speed value: '21.000000'
    • key: Remotes count value: '4'
    • key: Remote [0] value: '0.0'
    • key: Remote [1] value: '0.200'
    • key: Remote [2] value: '51.0'
    • key: Remote [3] value: '51.68'
  • level: "\0" name: 'mavros_router: endpoint 1001: /uas0' message: ok hardware_id: none values:
    • key: Remotes count value: '2'
    • key: Remote [0] value: '0.0'
    • key: Remote [1] value: '0.191'

header: stamp: sec: 1687969876 nanosec: 671678590 frame_id: '' status:

  • level: "\x02" name: 'mavros: MAVROS UAS' message: disconnected hardware_id: uas:///uas0 values: []
  • level: "\x02" name: 'mavros: GPS' message: No satellites hardware_id: uas:///uas0 values:
    • key: Satellites visible value: '0'
    • key: Fix type value: '1'
    • key: EPH (m) value: Unknown
    • key: EPV (m) value: Unknown
  • level: "\x02" name: 'mavros: System' message: Sensor health hardware_id: uas:///uas0 values:
    • key: Sensor present value: '0x0000DC27'
    • key: Sensor enabled value: '0x0000DC27'
    • key: Sensor health value: '0x00000027'
    • key: 3D gyro value: Ok
    • key: 3D accelerometer value: Ok
    • key: 3D magnetometer value: Ok
    • key: GPS value: Ok
    • key: 3D angular rate control value: Fail
    • key: attitude stabilization value: Fail
    • key: yaw position value: Fail
    • key: x/y position control value: Fail
    • key: motor outputs / control value: Fail
    • key: CPU Load (%) value: '0.0'
    • key: Drop rate (%) value: '0.0'
    • key: Errors comm value: '0'
    • key: 'Errors count #1' value: '0'
    • key: 'Errors count #2' value: '0'
    • key: 'Errors count #3' value: '0'
    • key: 'Errors count #4' value: '0'
  • level: "\0" name: 'mavros: Battery' message: Normal hardware_id: uas:///uas0 values:
    • key: Voltage value: '20.59'
    • key: Current value: '3.7'
    • key: Remaining value: '81.0'
  • level: "\x02" name: 'mavros: Heartbeat' message: No events recorded. hardware_id: uas:///uas0 values:
    • key: Heartbeats since startup value: '0'
    • key: Frequency (Hz) value: '0.000000'
    • key: Vehicle type value: Generic micro air vehicle
    • key: Autopilot type value: Generic autopilot
    • key: Mode value: ''
    • key: System status value: UNINIT

header: stamp: sec: 1687969877 nanosec: 405093775 frame_id: '' status:

  • level: "\0" name: 'mavros_router: MAVROS Router' message: ok hardware_id: none values:
    • key: Endpoints value: '2'
    • key: Messages routed value: '17790'
    • key: Messages sent value: '17790'
    • key: Messages dropped value: '0'
  • level: "\0" name: 'mavros_router: endpoint 1000: /dev/ttyS0:115200' message: ok hardware_id: none values:
    • key: Received packets value: '17386'
    • key: Dropped packets value: '0'
    • key: Buffer overruns value: '0'
    • key: Parse errors value: '0'
    • key: Rx sequence number value: '61'
    • key: Tx sequence number value: '0'
    • key: Rx total bytes value: '495206'
    • key: Tx total bytes value: '8618'
    • key: Rx speed value: inf
    • key: Tx speed value: inf
    • key: Remotes count value: '4'
    • key: Remote [0] value: '0.0'
    • key: Remote [1] value: '0.200'
    • key: Remote [2] value: '51.0'
    • key: Remote [3] value: '51.68'
  • level: "\0" name: 'mavros_router: endpoint 1001: /uas0' message: ok hardware_id: none values:
    • key: Remotes count value: '2'
    • key: Remote [0] value: '0.0'
    • key: Remote [1] value: '0.191'

header: stamp: sec: 1687969877 nanosec: 672667190 frame_id: '' status:

  • level: "\x02" name: 'mavros: MAVROS UAS' message: disconnected hardware_id: uas:///uas0 values: []
  • level: "\x02" name: 'mavros: GPS' message: No satellites hardware_id: uas:///uas0 values:
    • key: Satellites visible value: '0'
    • key: Fix type value: '1'
    • key: EPH (m) value: Unknown
    • key: EPV (m) value: Unknown
  • level: "\x02" name: 'mavros: System' message: Sensor health hardware_id: uas:///uas0 values:
    • key: Sensor present value: '0x0000DC27'
    • key: Sensor enabled value: '0x0000DC27'
    • key: Sensor health value: '0x00000027'
    • key: 3D gyro value: Ok
    • key: 3D accelerometer value: Ok
    • key: 3D magnetometer value: Ok
    • key: GPS value: Ok
    • key: 3D angular rate control value: Fail
    • key: attitude stabilization value: Fail
    • key: yaw position value: Fail
    • key: x/y position control value: Fail
    • key: motor outputs / control value: Fail
    • key: CPU Load (%) value: '0.0'
    • key: Drop rate (%) value: '0.0'
    • key: Errors comm value: '0'
    • key: 'Errors count #1' value: '0'
    • key: 'Errors count #2' value: '0'
    • key: 'Errors count #3' value: '0'
    • key: 'Errors count #4' value: '0'
  • level: "\0" name: 'mavros: Battery' message: Normal hardware_id: uas:///uas0 values:
    • key: Voltage value: '20.60'
    • key: Current value: '3.7'
    • key: Remaining value: '82.0'
  • level: "\x02" name: 'mavros: Heartbeat' message: No events recorded. hardware_id: uas:///uas0 values:
    • key: Heartbeats since startup value: '0'
    • key: Frequency (Hz) value: '0.000000'
    • key: Vehicle type value: Generic micro air vehicle
    • key: Autopilot type value: Generic autopilot
    • key: Mode value: ''
    • key: System status value: UNINIT

csmotion avatar Jun 28 '23 16:06 csmotion