Skip to content

Commit

Permalink
updating help and readme
Browse files Browse the repository at this point in the history
  • Loading branch information
DanHert committed Nov 24, 2023
1 parent 769d066 commit 962481b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 21 deletions.
23 changes: 9 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
## Real-time Terminal User Interface for monitoring and control

* Displays useful information about the UAV state and sensors
* Provides a basic control interface through which you can move the UAV, call ROS services and monitor your nodes
* Provides a basic control interface through which you can move the UAV, monitor your nodes and switch trackers, controllers, estimators gains and constraints
* Especially useful in real world UAV flights, but works as well in simulation
* Written in C++ with ncurses
* Runs on the UAV within its TMUX session
* Works through SSH on a flying UAV
* Works through SSH on a flying UAV, or in a split-mode through nimbro-network (data is being collected on the UAV, transfered over nimbro, and the terminal interface runs on your remote computer)
* vim-like key bindings

### Controlling the UAV through MRS UAV Status
Expand All @@ -24,6 +24,7 @@ If the MRS UAV Status window is focused, you can use it to command the UAV. This
* use 'wsad' or 'hjkl' keys to fly laterally
* use 'qe' keys to change the UAVs heading
* use 'rf' keys to fly up and down
* use 'G' to switch between local and global mode, in local mode, the UAV follows the commands in its FCU frame, in global mode the commands are interpretted in the current world frame (X and Y are independed of the UAV's heading)
* Only one key at a time is registered, multiple key inputs are not supported
* To exit the remote mode, hit 'Esc'

Expand All @@ -33,17 +34,11 @@ If the MRS UAV Status window is focused, you can use it to command the UAV. This

![](.fig/goto.png)

* Press the 'm' key (as menu) to call services. You can add your own services to this menu.
* To add a service to the menu, publish a message to the topic ```mrs_uav_status/set_trigger_service```
* Only services of the [std_srvs/Trigger](http://docs.ros.org/melodic/api/std_srvs/html/srv/Trigger.html) type are supported
* The message is a [std_msgs/String](http://docs.ros.org/melodic/api/std_msgs/html/msg/String.html), and has to consist of two entries separated by spaces:
* Service name (```uav_manager/land_home```)
* Name to be displayed in the menu (```Land Home```) - this name can contain additional spaces
* The namespace of the UAV will be added automatically (```uav_manager/land_home``` -> ```/uav1/uav_manager/land_home```)
* To a service outside of the namespace, use "/" as the first character (```/uav_manager/land_home```)

![](.fig/custom_service.png)

* Press the 'm' key (as menu) to call basic MRS System services.
* If the UAV is flying, you can call the 'land' or 'land_home' service
* If the UAV is on the ground, you can call the 'takeoff' service
* You can change the controller, tracker, estimator, controller gains and tracker constraints
*
### Display custom messages from your nodes

If you need to monitor some aspect or behaviour of your node, you can display messages from said node in MRS UAV Status.
Expand All @@ -67,7 +62,7 @@ Simply publish a [std_msgs/String](http://docs.ros.org/melodic/api/std_msgs/html

### Monitoring ROS topic rates

MRS UAV Status can monitor rates of different ROS topics, and warn the user if the topic is published less frequently than required, or not published at all. There are two ways how to add monitored topics:
MRS UAV Status can monitor rates of different ROS topics, and warn the user if the topic is published less or more frequently than required, or not published at all. There are two ways how to add monitored topics:

* Static tf
* If a defined static tf is present, MRS UAV Status will monitor a coresponding topic.
Expand Down
13 changes: 6 additions & 7 deletions src/status.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3334,13 +3334,12 @@ void Status::printHelp() {
printLimitedString(debug_window_, 7, 0, " 'w','s','a','d' to control pitch and roll ('h','j','k','l' works too)", 120);
printLimitedString(debug_window_, 8, 0, " 'q','e' to control heading", 120);
printLimitedString(debug_window_, 9, 0, " 'r','f' to control altitude", 120);
printLimitedString(debug_window_, 11, 0, "You can also use topics provided by mrs_status to display info from your node, and to control it:", 120);
printLimitedString(debug_window_, 13, 0, " topic mrs_status/display_string (std_msgs::String)", 120);
printLimitedString(debug_window_, 14, 0, " Publish any string to this topic and it will show up in mrs_status", 120);
printLimitedString(debug_window_, 16, 0, " topic mrs_status/set_trigger_service (std_msgs::String)", 120);
printLimitedString(debug_window_, 17, 0, " If your node has a std_srvs:Trigger service, you can add it to the mrs_status services menu", 120);
printLimitedString(debug_window_, 18, 0, " Publish a String in this format: 'node_name/service_name display_name' and it will show in the menu", 120);
printLimitedString(debug_window_, 20, 0, "Press 'h' to hide help", 120);
printLimitedString(debug_window_, 10, 0, " 'G' to switch controlling in the FCU frame (local) or the world frame (global)", 120);
printLimitedString(debug_window_, 12, 0, "You can also display any info from your node in the mrs_status:", 120);
printLimitedString(debug_window_, 14, 0, " topic: mrs_status/display_string (std_msgs::String)", 120);
printLimitedString(debug_window_, 15, 0, " - Publish any string to this topic and it will show up in mrs_status", 120);
printLimitedString(debug_window_, 17, 0, "Press 'D' to display info from other panes of this tmux session, up to 2 panes can be viewed", 120);
printLimitedString(debug_window_, 19, 0, "Press 'h' to hide help", 120);

} else {
printLimitedString(debug_window_, 1, 0, "Press 'h' key for help", 120);
Expand Down

0 comments on commit 962481b

Please sign in to comment.