-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #19 from rosflight/overview-page-updates
Overview page updates
- Loading branch information
Showing
13 changed files
with
199 additions
and
63 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# ROSplane Developer Guide Overview | ||
|
||
The purpose of the this section is to provide detailed information on each of the components of ROSplane, as shown in the below figure. | ||
It is written with the intent that a user might know how to change each component of ROSplane, not only how to use it. | ||
|
||
Note that the system components not part of ROSplane are not included in this section (ROSflight firmware, physical aircraft setup, etc.). | ||
|
||
|
||
| ![Diagram of ROSplane architecture](../../assets/ROSplane-overview.svg "ROSplane architecture") | | ||
|:--:| | ||
|*Diagram of the ROSplane architecture*| | ||
|
||
Each of these components are described in detail in this section, but the implementation is not fully described. | ||
Please refer to the code for more detailed information on the actual implementation of each of the elements shown above. | ||
|
||
## Contributing to ROSplane | ||
|
||
If you create a new "module" when using ROSplane for your application, please contribute back! | ||
While changes won't be included in the core ROSplane stack (see [ROSflight Vision](../../index.md#our-vision)), we hope to build a repository of modules and projects that have been created by others. | ||
Doing this is also an effective way to share your work and help others build on it. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# ROScopter Overview | ||
|
||
ROScopter is still under development. Check the [github repo](https://github.com/rosflight/roscopter) for the latest instructions. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# ROSplane Overview | ||
|
||
ROSplane is a basic fixed-wing autopilot build around ROS2 for use with the ROSflight autopilot. | ||
It is built according to the methods published in *Small Unmanned Aircraft: Theory and Practice* by Dr. Randy Beard and Dr. Tim McLain. | ||
|
||
As per the [ROSflight vision](../index.md#our-vision), ROSplane is *not* a fully-featured fixed-wing autopilot. | ||
Instead, ROSplane is a simple, lean, ROS2-based fixedwing autopilot | ||
|
||
The core ROSplane package is a simple waypoint-following autopilot. | ||
This includes a navigation stack, a controller, and an estimator. | ||
This can be seen in the figure below. | ||
|
||
| ![Diagram of ROSplane architecture](../assets/ROSplane-overview.svg "ROSplane architecture") | | ||
|:--:| | ||
|*Diagram of the ROSplane architecture*| | ||
|
||
The structure of ROSplane and the nature of ROS2 interfaces allow ROSplane to be very modular, allowing you to write and integrate your own code without having to spend as much time working with interfaces and code integration. | ||
Since it is lean, the time to learn and understand the nature of ROSplane should be small compared to other, more featured (but more complex) autopilots. | ||
This can improve research productivity, decrease debugging time, and improve the development of novel algorithms. | ||
|
||
## Core Functionality | ||
|
||
The ROSplane autopilot allows users to fly waypoint missions with an RC safety pilot. | ||
The simplicity of this framework allows users to add their own autonomy stacks or mission requirements on top of the ROSplane stack. | ||
|
||
For example, the `path_manager` node in the navigation stack in the core ROSplane package directs the `path_follower` node to follow either straight lines or circular arcs. | ||
However, if a project needed to follow B-splines instead, the `path_manager` and the `path_follower` nodes could easily be replaced to achieve that. | ||
Instead of loading a predetermined number of waypoints, higher levels of autonomy (i.e., vision-based guidance, etc.) can also be accomodated by building on top of the ROSplane stack by dynamically feeding the `path_planner` waypoints. | ||
|
||
## Using ROSplane | ||
|
||
For detailed instructions on how to use the core ROSplane package to fly autonomous waypoint missions, see the [ROSplane Setup](./rosplane-setup.md) page. | ||
This page can be used as a guide to building and running ROSplane before you start making your own changes to the autonomy stack. | ||
|
||
For detailed instructions on each of the components of ROSplane, see the [ROSplane Developer Guide](../developer-guide/rosplane/rosplane-dev-overview.md). | ||
This page provides detailed instructions on how to use and change the code for each component of the ROSplane stack. |
Oops, something went wrong.