Skip to content
Martin Scheiber edited this page Apr 26, 2023 · 4 revisions

Usage Tutorial

General Usage

The CNS Flight Stack is setup through ROS1 and provides a single launchfile per configuration group. Further information on the configuration is found in Configuration guide.

To startup the flight stack, launch all these launchfiles with

roslaunch flightstack_bringup fs_<GROUP>.launch

Launch Scripts

We provide several, pre-installed launch scripts that you can execute for convenience and auto-launch the above ROS files.

Requirements

  • This requires tmux to be installed on your system (sudo apt install tmux).
  • An active connection from your host system to the flight stack UAV might be required, with known login information.
  • Installation of the flight stack according to the Installation guide

If you followed the installation guide, then the launch scripts should be automatically installed in /usr/bin/fs_*.

Launching from remote host

If you are on a remote host you should also install these scripts with

(host)$ cd <PATH_TO_FLIGHSTACK_CWS>/flight_stack_cws
(host)$ sudo scripts/install_scripts.sh

# alternatively the remote script is found in flightstack_scripts
# (host)$ roscd flightstack_scripts/launch_scripts/

Then you can startup the flight stack with the following command (please replace core@<IP> with the corresponding login information).

(host)$ fs_remote core@<IP>

In case of a multi-platform setup, the remote scipt can be appended with -n:

(host)$ fs_remote core@<IP_DEV1> -n core@<IP_DEV2>

Launching on device

If you do not want to launch from a remote host, you can also call the individual launch scripts on the device(s):

(host)$ ssh core@<IP> # replace with your login info
(uav)$ fs_dev1 # use '-a <CONFIG_NAME>' if you setup your own config

We also provide setups, for splitting the tmux session of the operator with the rest. To do so, perform the following

(host)$ ssh core@<IP>

# start background
(uav)$ fs_dev1 -m # manual flight mode, without operator
(uav)$ #starts tmux session, takes about 20sec
(uav)$ # press CTRL+A + D to disconnect from tmux session

# start operator
(uav)$ fs_op

Similarly in case of a multi-platform setup, you have to connect additionally to the other device and call the launch script there. Please make sure that the roscore is running on device 1 for this (i.e. fs_dev1 is running).

(host)$ ssh core@<IP_DEV2>

#start background
(uav2)$ fs_dev2 -m # manual flight mode, without operator
(uav2)$ #starts tmux session, takes about 20sec

Personal Configuration Workspace

If you have configured your personal, project-specific configuration workspace according to the Configuration guide, then you can use the provided scripts to launch directly from your configured workspace. To do this, each of the above-mentioned scripts provides the following input arguments:

  • -d: selects the prefix for the launch package, by default flightstack for flightstack_bringup
  • -s: selects the prefix for the scripts package, by default uses the option of -d (i.e., flightstack for flightstack_scripts)
  • -f: selects the prefix for the launch files, by default fs for flightstack_bringup/launch/fs_<...>.launch
  • -a: selects all of the above with the same prefix

With these settings, you can easily use separate bringup packages while keeping the scripts package from the original flightstack repository, or vice-versa.