Skip to content

Setup for GPS and ROVIO

tkazik edited this page Nov 8, 2021 · 7 revisions

Setup for GPS and ROVIO

This page provides a (very) simple guideline on how to run MSF using GPS position input and ROVIO pose input. For a general tutorial on MSF refer to its ROS wiki page.

Prerequisites

The following instructions assume that you have a catkin workspace with ROVIO and MSF compiled. In addition, you need ROS installed on your system. The setup as below is tested for ROS kinetic. Instructions for setting up the workspace as well as installing ROS can be found at the MAV tools wiki. For a detailed description of ROVIO please refer to its wiki.

Launch and Configuration files

Before running the system make sure that your configuration and launch files are properly set up. The core MSF parameters are described on the Parameter files page. If you want to run the system including test codes their parameters are described on the Testcode parameters page. An example for the launch file can be found on the MSF repository. Make sure that each node has an individual name in its Namespace. In addition, make sure to properly remap all inputs. For a detailed description of the parameters and features of MSF see Parameter files.

Running the System

Below we will briefly describe how to run the system, first based on a rosbag and then for a real system. Note that most commands have to be executed in a separate console since they are required to run continuously.

Running from a ROS bag

  1. Make sure all parameters are set up correctly, the code is compiled and the launch file is complete.
  2. Start a roscore: roscore
  3. Tell ros to use simulation time: rosparam set /use_sim_time true
  4. Start playback of your rosbag file USE --clock option: rosbag play /path_to_your_rosbag --clock --pause
  5. Switch into your catkin workspace and start MSF, Rovio and other nodes needed using a launch file. You can find a sample launch file here: roslaunch msf_updates your_launchfile.launch
  6. Unpause your rosbag playback (using space) until MSF receives at least one measurement from each sensor (it will generate an output once it did) and pause playback again.
  7. Start the dynamic reconfigure server and use the "init" service call: rosrun rqt_reconfigure rqt_reconfigure in the window that opens go to your_sensor_name->position_pose_sensor and click on core_init_filter
  8. [optional] The msf_plotting_utility repositiory provides some plotting utility for visualization. To record a rosbag that can be used for the provided python scripts use the bash script: ./record_all
  9. [optional] To plot topics while running use rqt_plot, rqt_multiplot or plotjuggler and subscribe to the respective topics
  10. Unpause the rosbag playback. Now the system should run.

Running on a real System

TODO