Generic ROS based drone flight stack for the Pika Spark.
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
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.
- Setup yakut:
cd $COLCON_WS/src
. setup_yakut_vcan.sh
yakut monitor
- Edit viper-quad.py:
-{'can_iface' : 'can0'},
+{'can_iface' : 'vcan0'},
- Run via
ros2 launch
:
cd $COLCON_WS
. install/setup.bash
ros2 launch viper viper-quad.py
Default name | Type |
---|
Default name | Type | Description |
---|---|---|
/cmd_vel |
geometry_msgs/Twist |
Linear/angular drone target velocity setpoints |
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
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