107-systems / viper

This repository contains a ROS based drone flight stack for the Pika Spark.

Home Page:https://107-systems.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

💾 viper

Build Status Spell Check status

Generic ROS based drone flight stack for the Pika Spark.

How-to-build

Note: Don't forget to install the dependencies (see at the end of this file).

cd $COLCON_WS/src
git clone --recursive https://github.com/107-systems/viper
cd $COLCON_WS
source /opt/ros/humble/setup.bash
colcon build --packages-select viper

How-to-run

cd $COLCON_WS
. install/setup.bash
ros2 launch viper viper-quad.py

Note: If you use the Zubax Babel as a USB-CAN device you need to run . setup_yakut_slcan.sh first.

How-to-run (simulation)

cd $COLCON_WS/src
. setup_yakut_vcan.sh
yakut monitor
-{'can_iface' : 'can0'},
+{'can_iface' : 'vcan0'},
  • Run via ros2 launch:
cd $COLCON_WS
. install/setup.bash
ros2 launch viper viper-quad.py

Interface Documentation

Published Topics
Default name Type
Subscribed Topics
Default name Type Description
/cmd_vel geometry_msgs/Twist Linear/angular drone target velocity setpoints
Parameters
Name Default Description
teleop_topic teleop Name of topic from where we are subscribing teleop messages.
teleop_topic_deadline_ms 100 Deadline in milliseconds within which a new teleop message is expected.
teleop_topic_liveliness_lease_duration 1000 The time within which the RMW node or publisher must show that it is alive.

Install dependencies

  • Install gsl-lite
git clone https://github.com/gsl-lite/gsl-lite && cd gsl-lite
mkdir build && cd build
cmake .. && make -j8
sudo make install
  • Install Catch2
git clone https://github.com/catchorg/Catch2 && cd Catch2
mkdir build && cd build
cmake .. && make -j8
sudo make install
  • Install fmt
git clone https://github.com/fmtlib/fmt && cd fmt
mkdir build && cd build
cmake -DFMT_TEST=OFF ..
make -j8
sudo make install

About

This repository contains a ROS based drone flight stack for the Pika Spark.

https://107-systems.org

License:MIT License


Languages

Language:C++ 70.2%Language:Shell 20.9%Language:CMake 7.1%Language:Python 1.9%