14
Simulating PX4 Flight Control with ROS/Gazebo Thomas Gubler

Control with ROS/Gazebo Simulating PX4 Flight · Control with ROS/Gazebo Thomas Gubler. PX4 Flight Control Onboard Messaging - uORB Drivers NuttX. ... ROS .msg format Example: Publisher

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

Simulating PX4 Flight Control with ROS/Gazebo

Thomas Gubler

PX4 Flight Control

Onboard Messaging - uORB

DriversPX4 Flight Control

Onboard Messaging - uORB

Drivers

NuttX

Simulate what you fly

Simulate whole robot

Fly what you simulate(d)

PX4 Flight Control

Linux

ROS / Messaging

Gazebo PluginsMessaging Abstraction

Layer

PX4 Flight Control

Onboard Messaging - uORB

Drivers

Onboard Messaging - uORB

NuttX

Messaging Abstraction Layer

DriversPX4 Flight Control

Message Definition

uint64 timestamp

float32[19] channels

uint8 channel_count

...

ROS .msg format

Example:

Publisher<px4_rc_channels> rc_channels_pub;

px4_rc_channels rc_channels_msg;

// Fill message with data here

// Publish

_rc_channels_pub.publish(rc_channels_msg);

// Callback

void rc_channels_callback_function(const px4_rc_channels &msg) {

PX4_INFO("I heard: [%llu]", msg.data().timestamp);

}

// Subscribe

_n.subscribe<px4_rc_channels>(rc_channels_callback_function, 10);

Publish

Receive

Linux

ROS / Messaging

Gazebo PluginsMessage Layer

AbstractionROSNode

UDP

Mavros Mavlink Flight Control

PX4 Flight Control

Onboard Messaging - uORB

Drivers

Onboard Messaging - uORB

Drivers

NuttX

Message Layer Abstraction

Flight Control

serial

Mavlink

Linux

ROS / Messaging

Custom

ROS

Nodes Mavros

Future

Port all PX4 modules

Experiment with mobility

Robotic applications

Try it yourself: Tutorial on px4.io

px4.io

thomasgubler.com

Image Sources:

px4.io, gazebosim.org, ros.org, ASL ETHZ, Intel

Thanks to:

UAVentureCVG ETH ZurichASL ETH Zurich

PX4 Community