Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROS2 Quadcopter velocity control / RC Control Override / Topics and Services Documentation #1987

Open
Sadufy2 opened this issue Sep 13, 2024 · 0 comments

Comments

@Sadufy2
Copy link

Sadufy2 commented Sep 13, 2024

Issue Details

My goal is to write a ROS2 node that can command an IRL drone to move forward and backwards using:

  • CubeOrangePlus as the FCU
  • Raspberry Pi 4B as an onboard computer.

I'm opening this issue in the hopes of providing some info for anyone coming across the same problems as me and asking for any tips on unsolved errors I have encountered.


Using the Ardupilot documentation here (https://ardupilot.org/copter/docs/common-serial-options.html) I was able to,

  • Connect the Cube and Pi via USB at Serial0 so it can support MAVLink2.
  • SERIAL0_PROTOCOL parameter was set to 2, also to enable MAVLink2.

After cloning the MAVROS source code to "ros2_ws/src" folder, I built the packages (it took around 50min).
Launch file:

# launch/mavros_launch.py

from launch import LaunchDescription
from launch_ros.actions import Node

def generate_launch_description():
    return LaunchDescription([
        Node(
            package='mavros',
            executable='mavros_node',
            output='screen',
            parameters=[{
                'fcu_url': 'serial:///dev/ttyACM0:115200', # ardupilot SERIAL0_BAUD = 115
                'gcs_url': '',
                'target_system_id': 1,
                'target_component_id': 1,
            }],
        ),
    ])

The connection was made successfully and all the topics were listed, however at first, all of them were "silent," there wasn't anything published on them except the "/mavros/state" and the "/diagnostics".
This was fixed by setting the SR0_XXX parameters to 10Hz on the Cube. After that, all sensor data was streaming as expected.


After reading this issue #1718 I managed to make some things work (Thanks for the users for sharing their findings):

  • I can change Flight Modes using this command:
    ros2 service call /mavros/set_mode mavros_msgs/srv/SetMode "{base_mode: 0, custom_mode: 'GUIDED_NOGPS'}"
  • And I can also ARM and DISARM the drone using this command:
    ros2 service call /mavros/cmd/arming mavros_msgs/srv/CommandBool "{value: True}"
  • When I try to send the TAKEOFF command using:
    ros2 service call /mavros/cmd/takeoff mavros_msgs/srv/CommandTOL "{min_pitch: 0, yaw: 0, altitude: 30}"
    MavRos console returns success with (result: 0), however, nothing happens IRL, but when the altitude value is increased to 40, it starts returning (result: 4), which is a "Command Denied" error:
rosservice call /mavros/cmd/takeoff mavros_msgs/srv/CommandTOL "{min_pitch: 0, yaw: 0, altitude: 40}" 
waiting for service to become available... 
requester: making request: mavros_msgs.srv.CommandTOL_Request(min_pitch=0.0, yaw=0.0, latitude=0.0, longitude=0.0, altitude=40.0)

response: 
mavros_msgs.srv.CommandTOL_Response(success=False, result=4)

What I gathered so far is:

  • I have a good connection to the drone.
  • I can read data from the drone.
  • I can send some commands to the drone.

However, the real problem starts when I try to send commands using topics:

  • I am unable to command the drone motors. It's like the drone is in "read-only" mode, as I can listen to any of the topics, but anything I try to publish falls on deaf ears.
  • I have tried publishing (on the following topics) without result. (I set the RC_OPTIONS parameter to enable override):
/mavros/rc/override
/mavros/setpoint_velocity/cmd_vel
  • I've read that there was an "OFFBOARD" flight mode for exactly this purpose, however, it's deprecated in Ardupilot 4.5.
  • I also tried it in ALTHOLD and GUIDED_NOGPS, unsuccessfully.

My main questions are:

  • Am I using the wrong topics to send movement commands?
  • Is there an Ardupilot parameter I haven't mentioned that is preventing the commands from being executed?

About the Documentation

I saw many people ask already, but it would be massively helpful if we could get some up to date documentation about the current state of ROS2 and MavRos.
Every offical post is outdated or vague. I wasn't able to find anything specifically for ROS2, any examples, or description.

These systems have all the potential in the world, but they are currently unusable for new developers trying to enter.

Please feel free the lecture me if I got anything wrong or I missed something.
Thank you.


Nodes:

import rclpy
from rclpy.node import Node
from geometry_msgs.msg import TwistStamped

class MotorTestNode(Node):
    def __init__(self):
        super().__init__('motor_test')
        self.publisher = self.create_publisher(TwistStamped, '/mavros/setpoint_velocity/cmd_vel', 10)
        self.timer = self.create_timer(0.05, self.send_velocity_command)
        self.get_logger().info('Velocity control node started')

    def send_velocity_command(self):
        msg = TwistStamped()
        msg.header.stamp = self.get_clock().now().to_msg()
        
        # Set velocity values
        msg.twist.linear.x = 0.5  # Forward/backward velocity (m/s)
        msg.twist.linear.y = 0.0  # Left/right velocity (m/s)
        msg.twist.linear.z = 0.0  # Up/down velocity (m/s)
        
        msg.twist.angular.x = 0.0  # Not used
        msg.twist.angular.y = 0.0  # Not used
        msg.twist.angular.z = 0.1  # Yaw rate (rad/s)

        self.publisher.publish(msg)
        self.get_logger().info('Publishing velocity command')

def main(args=None):
    rclpy.init(args=args)
    node = MotorTestNode()
    rclpy.spin(node)
    node.destroy_node()
    rclpy.shutdown()

if __name__ == '__main__':
    main()
import rclpy
from rclpy.node import Node
from mavros_msgs.msg import OverrideRCIn

class RCOverrideNode(Node):
    def __init__(self):
        super().__init__('rc_override')
        self.publisher = self.create_publisher(OverrideRCIn, '/mavros/rc/override', 10)
        self.timer = self.create_timer(0.1, self.send_rc_override_command)
        self.get_logger().info('RC Override node started')

    def send_rc_override_command(self):
        msg = OverrideRCIn()
        
        msg.channels = [
            1600,  # Channel 1 (roll) - slightly right
            1500,  # Channel 2 (pitch) - neutral
            1400,  # Channel 3 (throttle) - slightly reduced throttle
            1500,  # Channel 4 (yaw) - neutral
            65535, # Channel 5 - no override
            65535, # Channel 6 - no override
            65535, # Channel 7 - no override
            65535, # Channel 8 - no override
            65535, # Channel 9 - no override
            65535, # Channel 10 - no override
            65535, # Channel 11 - no override
            65535, # Channel 12 - no override
            65535, # Channel 13 - no override
            65535, # Channel 14 - no override
            65535, # Channel 15 - no override
            65535, # Channel 16 - no override
            65535, # Channel 17 - no override
            65535  # Channel 18 - no override
        ]

        self.publisher.publish(msg)
        self.get_logger().info('Publishing RC override command')

def main(args=None):
    rclpy.init(args=args)
    node = RCOverrideNode()
    rclpy.spin(node)
    node.destroy_node()
    rclpy.shutdown()

if __name__ == '__main__':
    main()

MAVROS version and platform

Mavros: 2.8.0
ROS2: Humble
Ubuntu: 22.04.4

Autopilot type and version

[ X ] ArduPilot
[ ] PX4

Version: 4.5.2

Node logs

[INFO] [launch]: All log files can be found below /home/abz/.ros/log/2024-09-13-12-55-10-612666-ubuntu-18842
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [mavros_node-1]: process started with pid [18843]
[mavros_node-1] [INFO] [1726224910.881981810] [mavros_node]: Starting mavros_node container
[mavros_node-1] [INFO] [1726224910.882285343] [mavros_node]: FCU URL: serial:///dev/ttyACM0:115200
[mavros_node-1] [INFO] [1726224910.882353564] [mavros_node]: GCS URL: 
[mavros_node-1] [INFO] [1726224910.882385027] [mavros_node]: UAS Prefix: /uas1
[mavros_node-1] [INFO] [1726224910.882414860] [mavros_node]: Starting mavros router node
[mavros_node-1] [INFO] [1726224910.904785491] [mavros_router]: Built-in SIMD instructions: ARM NEON
[mavros_node-1] [INFO] [1726224910.904893841] [mavros_router]: Built-in MAVLink package version: 2024.6.6
[mavros_node-1] [INFO] [1726224910.904930045] [mavros_router]: Known MAVLink dialects: common ardupilotmega ASLUAV AVSSUAS all csAirLink cubepilot development icarous matrixpilot paparazzi standard storm32 uAvionix ualberta
[mavros_node-1] [INFO] [1726224910.904963877] [mavros_router]: MAVROS Router started
[mavros_node-1] [INFO] [1726224910.905261169] [mavros_router]: Requested to add endpoint: type: 0, url: serial:///dev/ttyACM0:115200
[mavros_node-1] [INFO] [1726224910.905888234] [mavros_router]: Endpoint link[1000] created
[mavros_node-1] [INFO] [1726224910.912694170] [mavros_router]: link[1000] opened successfully
[mavros_node-1] [INFO] [1726224910.913249014] [mavros_router]: Requested to add endpoint: type: 2, url: /uas1
[mavros_node-1] [INFO] [1726224910.913256958] [mavros_router]: link[1000] detected remote address 1.1
[mavros_node-1] [INFO] [1726224910.913652526] [mavros_router]: Endpoint link[1001] created
[mavros_node-1] [INFO] [1726224910.923967355] [mavros_router]: link[1001] opened successfully
[mavros_node-1] [INFO] [1726224910.924360034] [mavros_node]: Starting mavros uas node
[mavros_node-1] [INFO] [1726224910.928817783] [mavros_router]: link[1000] detected remote address 255.190
[mavros_node-1] [INFO] [1726224911.065564979] [mavros]: UAS Executor started, threads: 4
[mavros_node-1] [INFO] [1726224911.152564450] [mavros]: Plugin actuator_control created
[mavros_node-1] [INFO] [1726224911.153505788] [mavros]: Plugin actuator_control initialized
[mavros_node-1] [INFO] [1726224911.251075972] [mavros]: Plugin adsb created
[mavros_node-1] [INFO] [1726224911.251761110] [mavros]: Plugin adsb initialized
[mavros_node-1] [INFO] [1726224911.274444885] [mavros]: Plugin altitude created
[mavros_node-1] [INFO] [1726224911.275038598] [mavros]: Plugin altitude initialized
[mavros_node-1] [INFO] [1726224911.297324564] [mavros]: Plugin cam_imu_sync created
[mavros_node-1] [INFO] [1726224911.297878760] [mavros]: Plugin cam_imu_sync initialized
[mavros_node-1] [INFO] [1726224911.321356227] [mavros]: Plugin camera created
[mavros_node-1] [INFO] [1726224911.321959125] [mavros]: Plugin camera initialized
[mavros_node-1] [INFO] [1726224911.347708003] [mavros]: Plugin cellular_status created
[mavros_node-1] [INFO] [1726224911.347929537] [mavros]: Plugin cellular_status initialized
[mavros_node-1] [INFO] [1726224911.404569605] [mavros]: Plugin command created
[mavros_node-1] [INFO] [1726224911.405132264] [mavros]: Plugin command initialized
[mavros_node-1] [INFO] [1726224911.434214888] [mavros]: Plugin companion_process_status created
[mavros_node-1] [INFO] [1726224911.434417793] [mavros]: Plugin companion_process_status initialized
[mavros_node-1] [INFO] [1726224911.473093849] [mavros]: Plugin debug_value created
[mavros_node-1] [INFO] [1726224911.474661419] [mavros]: Plugin debug_value initialized
[mavros_node-1] [INFO] [1726224911.501892663] [mavros.distance_sensor]: DS: Plugin not configured!
[mavros_node-1] [INFO] [1726224911.502870686] [mavros]: Plugin distance_sensor created
[mavros_node-1] [INFO] [1726224911.504000725] [mavros]: Plugin distance_sensor initialized
[mavros_node-1] [INFO] [1726224911.537990684] [mavros]: Plugin esc_status created
[mavros_node-1] [INFO] [1726224911.538724673] [mavros]: Plugin esc_status initialized
[mavros_node-1] [INFO] [1726224911.570238040] [mavros]: Plugin esc_telemetry created
[mavros_node-1] [INFO] [1726224911.571173118] [mavros]: Plugin esc_telemetry initialized
[mavros_node-1] [INFO] [1726224911.617746151] [mavros]: Plugin fake_gps created
[mavros_node-1] [INFO] [1726224911.617961814] [mavros]: Plugin fake_gps initialized
[mavros_node-1] [INFO] [1726224911.695354464] [mavros]: Plugin ftp created
[mavros_node-1] [INFO] [1726224911.695902752] [mavros]: Plugin ftp initialized
[mavros_node-1] [INFO] [1726224911.743970077] [mavros]: Plugin geofence created
[mavros_node-1] [INFO] [1726224911.745619627] [mavros]: Plugin geofence initialized
[mavros_node-1] [INFO] [1726224911.830669422] [mavros]: Plugin gimbal_control created
[mavros_node-1] [INFO] [1726224911.831775424] [mavros]: Plugin gimbal_control initialized
[mavros_node-1] [INFO] [1726224911.911243599] [mavros]: Plugin global_position created
[mavros_node-1] [INFO] [1726224911.912316861] [mavros]: Plugin global_position initialized
[mavros_node-1] [INFO] [1726224911.955485092] [mavros]: Plugin gps_input created
[mavros_node-1] [INFO] [1726224911.956647259] [mavros]: Plugin gps_input initialized
[mavros_node-1] [INFO] [1726224912.000254150] [mavros]: Plugin gps_rtk created
[mavros_node-1] [INFO] [1726224912.000816309] [mavros]: Plugin gps_rtk initialized
[mavros_node-1] [INFO] [1726224912.050010376] [mavros]: Plugin gps_status created
[mavros_node-1] [INFO] [1726224912.051138323] [mavros]: Plugin gps_status initialized
[mavros_node-1] [INFO] [1726224912.097046254] [mavros]: Plugin guided_target created
[mavros_node-1] [INFO] [1726224912.097923574] [mavros]: Plugin guided_target initialized
[mavros_node-1] [INFO] [1726224912.168326994] [mavros]: Plugin hil created
[mavros_node-1] [INFO] [1726224912.169052057] [mavros]: Plugin hil initialized
[mavros_node-1] [INFO] [1726224912.219338979] [mavros]: Plugin home_position created
[mavros_node-1] [INFO] [1726224912.219899804] [mavros]: Plugin home_position initialized
[mavros_node-1] [INFO] [1726224912.287308750] [mavros]: Plugin imu created
[mavros_node-1] [INFO] [1726224912.288941874] [mavros]: Plugin imu initialized
[mavros_node-1] [INFO] [1726224912.360659385] [mavros]: Plugin landing_target created
[mavros_node-1] [INFO] [1726224912.361558631] [mavros]: Plugin landing_target initialized
[mavros_node-1] [INFO] [1726224912.433519769] [mavros]: Plugin local_position created
[mavros_node-1] [INFO] [1726224912.435030765] [mavros]: Plugin local_position initialized
[mavros_node-1] [INFO] [1726224912.507020476] [mavros]: Plugin log_transfer created
[mavros_node-1] [INFO] [1726224912.507772317] [mavros]: Plugin log_transfer initialized
[mavros_node-1] [INFO] [1726224912.560454481] [mavros]: Plugin mag_calibration_status created
[mavros_node-1] [INFO] [1726224912.561302783] [mavros]: Plugin mag_calibration_status initialized
[mavros_node-1] [INFO] [1726224912.615539220] [mavros]: Plugin manual_control created
[mavros_node-1] [INFO] [1726224912.616641945] [mavros]: Plugin manual_control initialized
[mavros_node-1] [INFO] [1726224912.671813794] [mavros]: Plugin mocap_pose_estimate created
[mavros_node-1] [INFO] [1726224912.672080698] [mavros]: Plugin mocap_pose_estimate initialized
[mavros_node-1] [INFO] [1726224912.745635349] [mavros]: Plugin mount_control created
[mavros_node-1] [INFO] [1726224912.746490966] [mavros]: Plugin mount_control initialized
[mavros_node-1] [INFO] [1726224912.803513102] [mavros]: Plugin nav_controller_output created
[mavros_node-1] [INFO] [1726224912.804174148] [mavros]: Plugin nav_controller_output initialized
[mavros_node-1] [INFO] [1726224912.863313698] [mavros]: Plugin obstacle_distance created
[mavros_node-1] [INFO] [1726224912.863595879] [mavros]: Plugin obstacle_distance initialized
[mavros_node-1] [INFO] [1726224912.927176641] [mavros]: Plugin odometry created
[mavros_node-1] [INFO] [1726224912.928266902] [mavros]: Plugin odometry initialized
[mavros_node-1] [INFO] [1726224912.987567598] [mavros]: Plugin onboard_computer_status created
[mavros_node-1] [INFO] [1726224912.987810057] [mavros]: Plugin onboard_computer_status initialized
[mavros_node-1] [INFO] [1726224913.060668293] [mavros]: Plugin optical_flow created
[mavros_node-1] [INFO] [1726224913.061473762] [mavros]: Plugin optical_flow initialized
[mavros_node-1] [INFO] [1726224913.131922756] [mavros]: Plugin param created
[mavros_node-1] [INFO] [1726224913.132475636] [mavros]: Plugin param initialized
[mavros_node-1] [INFO] [1726224913.191058231] [mavros]: Plugin play_tune created
[mavros_node-1] [INFO] [1726224913.191329653] [mavros]: Plugin play_tune initialized
[mavros_node-1] [INFO] [1726224913.268766747] [mavros]: Plugin px4flow created
[mavros_node-1] [INFO] [1726224913.269477440] [mavros]: Plugin px4flow initialized
[mavros_node-1] [INFO] [1726224913.350171967] [mavros]: Plugin rallypoint created
[mavros_node-1] [INFO] [1726224913.350814531] [mavros]: Plugin rallypoint initialized
[mavros_node-1] [INFO] [1726224913.411886812] [mavros]: Plugin rangefinder created
[mavros_node-1] [INFO] [1726224913.412586320] [mavros]: Plugin rangefinder initialized
[mavros_node-1] [INFO] [1726224913.488763414] [mavros]: Plugin rc_io created
[mavros_node-1] [INFO] [1726224913.489807232] [mavros]: Plugin rc_io initialized
[mavros_node-1] [INFO] [1726224913.558869949] [mavros]: Plugin setpoint_accel created
[mavros_node-1] [INFO] [1726224913.559173389] [mavros]: Plugin setpoint_accel initialized
[mavros_node-1] [INFO] [1726224913.642274047] [mavros]: Plugin setpoint_attitude created
[mavros_node-1] [INFO] [1726224913.642482229] [mavros]: Plugin setpoint_attitude initialized
[mavros_node-1] [INFO] [1726224913.731612187] [mavros]: Plugin setpoint_position created
[mavros_node-1] [INFO] [1726224913.731912571] [mavros]: Plugin setpoint_position initialized
[mavros_node-1] [INFO] [1726224913.828525121] [mavros]: Plugin setpoint_raw created
[mavros_node-1] [INFO] [1726224913.829550939] [mavros]: Plugin setpoint_raw initialized
[mavros_node-1] [INFO] [1726224913.917378175] [mavros]: Plugin setpoint_trajectory created
[mavros_node-1] [INFO] [1726224913.918231903] [mavros]: Plugin setpoint_trajectory initialized
[mavros_node-1] [INFO] [1726224913.997756466] [mavros]: Plugin setpoint_velocity created
[mavros_node-1] [INFO] [1726224913.997991111] [mavros]: Plugin setpoint_velocity initialized
[mavros_node-1] [INFO] [1726224914.143069869] [mavros]: Plugin sys_status created
[mavros_node-1] [INFO] [1726224914.145210041] [mavros]: Plugin sys_status initialized
[mavros_node-1] [INFO] [1726224914.217508007] [mavros.time]: TM: Timesync mode: MAVLINK
[mavros_node-1] [INFO] [1726224914.248867968] [mavros]: Plugin sys_time created
[mavros_node-1] [INFO] [1726224914.249772733] [mavros]: Plugin sys_time initialized
[mavros_node-1] [INFO] [1726224914.330326669] [mavros]: Plugin tdr_radio created
[mavros_node-1] [INFO] [1726224914.331223452] [mavros]: Plugin tdr_radio initialized
[mavros_node-1] [INFO] [1726224914.412915575] [mavros]: Plugin terrain created
[mavros_node-1] [INFO] [1726224914.414593162] [mavros]: Plugin terrain initialized
[mavros_node-1] [INFO] [1726224914.508864802] [mavros]: Plugin trajectory created
[mavros_node-1] [INFO] [1726224914.509511533] [mavros]: Plugin trajectory initialized
[mavros_node-1] [INFO] [1726224914.595035674] [mavros]: Plugin tunnel created
[mavros_node-1] [INFO] [1726224914.595908420] [mavros]: Plugin tunnel initialized
[mavros_node-1] [INFO] [1726224914.677858595] [mavros]: Plugin vfr_hud created
[mavros_node-1] [INFO] [1726224914.678547733] [mavros]: Plugin vfr_hud initialized
[mavros_node-1] [INFO] [1726224914.764260482] [mavros]: Plugin vibration created
[mavros_node-1] [INFO] [1726224914.765716701] [mavros]: Plugin vibration initialized
[mavros_node-1] [INFO] [1726224914.863974819] [mavros]: Plugin vision_pose created
[mavros_node-1] [INFO] [1726224914.865588925] [mavros]: Plugin vision_pose initialized
[mavros_node-1] [INFO] [1726224914.965610036] [mavros]: Plugin vision_speed created
[mavros_node-1] [INFO] [1726224914.966080029] [mavros]: Plugin vision_speed initialized
[mavros_node-1] [INFO] [1726224915.094779956] [mavros]: Plugin waypoint created
[mavros_node-1] [INFO] [1726224915.096338933] [mavros]: Plugin waypoint initialized
[mavros_node-1] [INFO] [1726224915.233317496] [mavros]: Plugin wheel_odometry created
[mavros_node-1] [INFO] [1726224915.234169150] [mavros]: Plugin wheel_odometry initialized
[mavros_node-1] [INFO] [1726224915.324188891] [mavros]: Plugin wind_estimation created
[mavros_node-1] [INFO] [1726224915.325036434] [mavros]: Plugin wind_estimation initialized
[mavros_node-1] [INFO] [1726224915.336709854] [mavros]: Built-in SIMD instructions: ARM NEON
[mavros_node-1] [INFO] [1726224915.336843259] [mavros]: Built-in MAVLink package version: 2024.6.6
[mavros_node-1] [INFO] [1726224915.336886647] [mavros]: Known MAVLink dialects: common ardupilotmega ASLUAV AVSSUAS all csAirLink cubepilot development icarous matrixpilot paparazzi standard storm32 uAvionix ualberta
[mavros_node-1] [INFO] [1726224915.336922554] [mavros]: MAVROS UAS via /uas1 started. MY ID 1.191, TARGET ID 1.1
[mavros_node-1] [INFO] [1726224915.431219009] [mavros.rc]: RC_CHANNELS message detected!
[mavros_node-1] [INFO] [1726224915.432512009] [mavros.imu]: IMU: Raw IMU message used.
[mavros_node-1] [WARN] [1726224915.433474124] [mavros.imu]: IMU: linear acceleration on RAW_IMU known on APM only.
[mavros_node-1] [WARN] [1726224915.433615770] [mavros.imu]: IMU: ~imu/data_raw stores unscaled raw acceleration report.
[mavros_node-1] [WARN] [1726224915.438057926] [mavros.global_position]: GP: No GPS fix
[mavros_node-1] [WARN] [1726224915.441583041] [mavros.time]: TM: Wrong FCU time.
[mavros_node-1] [ERROR] [1726224915.445544260] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224915.532047053] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224915.632109126] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224915.732253994] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224915.831568542] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [INFO] [1726224915.914732254] [mavros]: CON: Got HEARTBEAT, connected. FCU: ArduPilot
[mavros_node-1] [INFO] [1726224915.915565242] [mavros.mission]: WP: detected enable_partial_push: 1
[mavros_node-1] [INFO] [1726224915.925525002] [mavros.rc]: RC_CHANNELS message detected!
[mavros_node-1] [INFO] [1726224915.927916318] [mavros.imu]: IMU: Raw IMU message used.
[mavros_node-1] [ERROR] [1726224915.934506554] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224916.031823094] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [INFO] [1726224916.080672167] [mavros_router]: link[1001] detected remote address 1.191
[mavros_node-1] [ERROR] [1726224916.131775206] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224916.231563802] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224916.333557310] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224916.432228922] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224916.531705208] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224916.632043222] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224916.731201771] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224916.830893720] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224916.931661691] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [WARN] [1726224916.937691287] [mavros.cmd]: CMD: Unexpected command 520, result 0
[mavros_node-1] [INFO] [1726224916.941793430] [mavros.geofence]: GF: Using MISSION_ITEM_INT
[mavros_node-1] [INFO] [1726224916.942076425] [mavros.rallypoint]: RP: Using MISSION_ITEM_INT
[mavros_node-1] [INFO] [1726224916.942170776] [mavros.mission]: WP: Using MISSION_ITEM_INT
[mavros_node-1] [INFO] [1726224916.942266756] [mavros.sys]: VER: 1.1: Capabilities         0x000000000000fbef
[mavros_node-1] [INFO] [1726224916.942356810] [mavros.sys]: VER: 1.1: Flight software:     040502ff (291be848)
[mavros_node-1] [INFO] [1726224916.942409161] [mavros.sys]: VER: 1.1: Middleware software: 00000000 (        )
[mavros_node-1] [INFO] [1726224916.942449383] [mavros.sys]: VER: 1.1: OS software:         00000000 (6a85082c�-X�*�)
[mavros_node-1] [INFO] [1726224916.942497160] [mavros.sys]: VER: 1.1: Board hardware:      04270000
[mavros_node-1] [INFO] [1726224916.942544511] [mavros.sys]: VER: 1.1: VID/PID:             2dae:1058
[mavros_node-1] [INFO] [1726224916.942581122] [mavros.sys]: VER: 1.1: UID:                 0000000000000000
[mavros_node-1] [ERROR] [1726224917.031230346] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224917.131020719] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25
[mavros_node-1] [ERROR] [1726224917.231871337] [mavros.distance_sensor]: DS: no mapping for sensor id: 0, type: 0, orientation: 25

Diagnostics

header:
  stamp:
    sec: 1726225927
    nanosec: 246041410
  frame_id: ''
status:
- level: "\0"
  name: 'mavros: MAVROS UAS'
  message: connected
  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: '1'
  - key: EPH (m)
    value: '0.00'
  - key: EPV (m)
    value: '0.00'
- level: "\x01"
  name: 'mavros: Mount'
  message: Can not diagnose in this targeting mode
  hardware_id: uas:///uas1
  values:
  - key: Mode
    value: '255'
- level: "\0"
  name: 'mavros: System'
  message: Normal
  hardware_id: uas:///uas1
  values:
  - key: Sensor present
    value: '0x5361FD2F'
  - key: Sensor enabled
    value: '0x4361BD2F'
  - key: Sensor health
    value: '0x4771BD2F'
  - key: 3D gyro
    value: Ok
  - key: 3D accelerometer
    value: Ok
  - key: 3D magnetometer
    value: Ok
  - key: absolute pressure
    value: Ok
  - key: GPS
    value: Ok
  - key: laser based position
    value: Ok
  - key: 3D angular rate control
    value: Ok
  - key: attitude stabilization
    value: Ok
  - key: yaw position
    value: Ok
  - key: z/altitude control
    value: Ok
  - key: motor outputs / control
    value: Ok
  - key: rc receiver
    value: Ok
  - key: AHRS subsystem health
    value: Ok
  - key: Terrain subsystem health
    value: Ok
  - key: Logging
    value: Ok
  - key: Battery
    value: Ok
  - key: propulsion (actuator, esc, motor or propellor)
    value: Ok
  - key: CPU Load (%)
    value: '30.1'
  - 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:///uas1
  values:
  - key: Voltage
    value: '49.94'
  - key: Current
    value: '-0.4'
  - key: Remaining
    value: '21.0'
- level: "\0"
  name: 'mavros: Heartbeat'
  message: Normal
  hardware_id: uas:///uas1
  values:
  - key: Heartbeats since startup
    value: '44'
  - key: Frequency (Hz)
    value: '1.000051'
  - key: Vehicle type
    value: Quadrotor
  - key: Autopilot type
    value: ArduPilot
  - key: Mode
    value: GUIDED_NOGPS
  - key: System status
    value: STANDBY
@Sadufy2 Sadufy2 changed the title ROS2 Quadcopter velocity control / RC Override / Topics and Services Documentation ROS2 Quadcopter velocity control / RC Control Override / Topics and Services Documentation Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant