-
Notifications
You must be signed in to change notification settings - Fork 2
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.
-
fs_sensors.launch
for all sensors -
fs_estimation.launch
for all estimators -
fs_navigation.launch
for the mission navigator -
fs_safety.launch
for all safety modules -
fs_recording.launch
for the data recording -
fs_operator.launch
for all sensors
To startup the flight stack, launch all these launchfiles with
roslaunch flightstack_bringup fs_<GROUP>.launch
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_*
.
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>
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
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 defaultflightstack
forflightstack_bringup
-
-s
: selects the prefix for the scripts package, by default uses the option of-d
(i.e.,flightstack
forflightstack_scripts
) -
-f
: selects the prefix for the launch files, by defaultfs
forflightstack_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.