Skip to content

Jaeyoung-Lim/px4-offboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

px4-offboard

This repository contains a python examples for offboard control on ROS2 with PX4

The px4_offboard package contains the following nodes

  • offboard_control.py: Example of offboard position control using position setpoints
  • visualizer.py: Used for visualizing vehicle states in Rviz

The source code is released under a BSD 3-Clause license.

  • Author: Jaeyoung Lim
  • Affiliation: Autonomous Systems Lab, ETH Zurich

Setup

Add the repository to the ros2 workspace

git clone https://github.com/Jaeyoung-Lim/px4-offboard.git

If you are running this on a companion computer to PX4, you will need to build the package on the companion computer directly.

Running

Software in the Loop

You will make use of 3 different terminals to run the offboard demo.

On the first terminal, run a SITL instance from the PX4 Autopilot firmware.

make px4_sitl gazebo

On the second terminal terminal, run the micro-ros-agent which will perform the mapping between Micro XRCE-DDS and RTPS. So that ROS2 Nodes are able to communicate with the PX4 micrortps_client.

micro-ros-agent udp4 --port 8888

In order to run the offboard position control example, open a third terminal and run the the node. This runs two ros nodes, which publishes offboard position control setpoints and the visualizer.

ros2 launch px4_offboard offboard_position_control.launch.py

offboard

In order to just run the visualizer,

ros2 launch px4_offboard visualize.launch.py

Hardware

This section is intended for running the offboard control node on a companion computer, such as a Raspberry Pi or Nvidia Jetson/Xavier. You will either need an SSH connection to run this node, or have a shell script to run the nodes on start up.

If you are running this through a UART connection into the USB port, start the micro-ros agent with the following command

micro-ros-agent serial --dev /dev/ttyUSB0 -b 921600 -v

If you are using a UART connection which goes into the pinouts on the board, start the micro-ros agent with the following comand

micro-ros-agent serial --dev /dev/ttyTHS1 -b 921600 -V

To run the offboard position control example, run the node on the companion computer

ros2 launch px4_offboard offboard_hardware_position_control.launch.py

About

Example of offboard control over microdds using python ROS 2

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages