Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ArduSub 4.0 transfer from gitbook #33

Draft
wants to merge 3 commits into
base: ArduSub-4.0
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions _index.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
+++
title = "Software Name"
description = "What these software docs are used for."
date = 2021-10-20T18:30:00+00:00
title = "ArduSub"
description = "Documentation for the ArduSub flight controller firmware (part of the ArduPilot project)."
date = 2022-06-07T17:30:00+10:00
template = "docs/section.html"
sort_by = "weight"
weight = 1
draft = false

[extra]
document_version = "4.0"
+++
Binary file added features/bluerov-frame.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
94 changes: 94 additions & 0 deletions features/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
+++
title = "Features"
description = "ArduSub features."
date = 2022-06-07T18:10:00+10:00
template = "docs/page.html"
sort_by = "weight"
weight = 10
draft = false
[extra]
lead = 'ArduSub is a fully-featured open-source flight controller firmware for remotely operated underwater vehicles (ROVs) and autonomous underwater vehicles (AUVs).'
toc = true
top = false
+++

ArduSub has many features including:
- Built-in support for several vehicle frame options and motor configurations (custom configurations are possible too)
- High extensibility in software and hardware for customization
- Attitude and Heading Reference System (AHRS) and Inertial Navigation Filter (EKF)
- Extensive user-configurable parameter system
- Well developed ground control station software for piloting and configuration
- Compatibility with many development tools targeting MAVLink-enabled vehicles
- Sensor and data logging
- **No Programming Required**

## Supported Frames

ArduSub includes a high-level motor library that can configure motors in any configuration. This library is used to implement a number of supported frame configurations. All configurations are shown from **top-down view**. Green thrusters indicate counter-clockwise propellers and blue thrusters indicate clockwise propellers (or vice-versa). Currently supported are:

<table>
<tr>
<td align="center">
<img src="bluerov-frame.png" class="img-responsive img-center" style="max-height:250px;">
<p><strong>BlueROV1 Configuration</strong> with 6-DOF thruster positioning. (Frame: <code>bluerov</code>)</p>
</td>
<td align="center">
<img src="vectored-frame.png" class="img-responsive img-center" style="max-height:250px;">
<p><strong>Vectored ROV</strong> with side-by-side vertical thrusters. Used for the <a href="http://bluerov2.com"><em>BlueROV2</em></a>. (Frame: <code>vectored</code>)</p>
</td>
<td align="center">
<img src="vectored6dof-frame.png" class="img-responsive img-center" style="max-height:250px;">
<p><strong>Vectored ROV w/ Four Vertical Thrusters</strong>, an 8-thruster configuration with 6-DOF control and heavy-lifting capacity. Used for the <a href="https://bluerobotics.com/introducing-bluerov2-heavy/"><em>BlueROV2 Heavy</em></a>. (Frame: <code>vectored6dof</code>)</p>
</td>
</tr>
<tr>
<td align="center">
<img src="simplerov-3.png" class="img-responsive img-center" style="max-height:250px;">
<p><strong>ROV</strong> with a single vertical thruster. (Frame: <code>simplerov</code>)</p>
</td>
<td align="center">
<img src="simplerov-4.png" class="img-responsive img-center" style="max-height:250px;">
<p><strong>ROV</strong> with side-by-side vertical thrusters. (Frame: <code>simplerov</code>)</p>
</td>
<td align="center">
<img src="simplerov-5.png" class="img-responsive img-center" style="max-height:250px;">
<p><strong>ROV</strong> with a lateral thruster and side-by-side vertical thrusters. (Frame: <code>simplerov</code>)</p>
</td>
</tr>
</table>

## Supported Hardware

The ArduPilot project has support for a great variety of hardware platforms. ArduSub firmware is provided for many of these platforms, but **only the Pixhawk 1 is fully tested and supported**.

These are platforms that have been reported to work with ArduSub:

- Pixhawk
- Pixhawk 2
- Pixhawk Mini

Please let us know if you have tested ArduSub on another platform!

## Capabilities

- **Feedback control and stability:** Based on a multicopter autopilot system, the ArduSub controller has accurate feedback control to actively maintain orientation.
- **Depth hold:** Using pressure-based depth sensors, the ArduSub controller can maintain depth within a few centimeters.
- **Heading hold:** By default, the ArduSub automatically maintains its heading when not commanded to turn.
- **Camera Tilt:** Camera tilt control with servo or gimbal motors through the joystick or gamepad controller.
- **Light Control:** Control of subsea lighting through the joystick or gamepad controller.
- **Gripper Control:** Control of subsea grippers through the joystick or gamepad controller.

## Extensibility

In addition to the standard onboard sensors (IMU, compass), the ArduSub controller directly supports a number of external sensors including:

- Pressure/depth sensors for measurement and auto depth-hold (such as the [Bar30](https://www.bluerobotics.com/store/electronics/bar30-sensor-r1/) and [Bar100](https://bluerobotics.com/store/sensors-sonars-cameras/sensors/bar100-sensor-r2-rp/))
- Precision temperature sensors (such as the [Celsius](https://bluerobotics.com/store/sensors-sonars-cameras/sensors/celsius-sensor-r1/))

Other sensors, and in particular high-bandwidth and specialized sensors, are integrated as *Companion* sensors, attached to the onboard computer and running alongside *ArduSub* and sharing communication pathways. This allows rapid integration of new and unique payloads and allows you to use the manufacturer's user interface to control the sensor.

Sensors integration via the onboard computer includes sensors such as:
- Cameras (the [HD USB Low-Light Camera](https://bluerobotics.com/store/sensors-sonars-cameras/cameras/cam-usb-low-light-r1/))
- Depth sounders (the [Ping Sonar](https://bluerobotics.com/store/sensors-sonars-cameras/sonar/ping-sonar-r2-rp/))
- UDP Input of external GPS data from underwater localization systems ([such as the Water Linked Underwater GPS](https://www.bluerobotics.com/store/electronics/bar30-sensor-r1/))
- Scanning Sonars (the [Ping360 Scanning Imaging Sonar](https://bluerobotics.com/store/sensors-sonars-cameras/sonar/ping360-sonar-r1-rp/))
Binary file added features/simplerov-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added features/simplerov-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added features/simplerov-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added features/vectored-frame.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added features/vectored6dof-frame.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
36 changes: 36 additions & 0 deletions overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
+++
title = "Overview"
description = "ArduSub overview."
date = 2022-06-07T18:00:00+10:00
template = "docs/page.html"
sort_by = "weight"
weight = 0
draft = false
[extra]
lead = 'ArduSub is a fully-featured open-source flight controller firmware for remotely operated underwater vehicles (ROVs) and autonomous underwater vehicles (AUVs).'
toc = true
top = false
+++

{% note() %}
The information in this guide applies to ArduSub V4.0 and up. If you are running an older version, you should [update](/quick-start/installing-ardusub.md).
{% end %}

## ArduSub and the ArduPilot Project

ArduSub is a part of the [ArduPilot project](http://ardupilot.org/), and was originally derived from the ArduCopter code. ArduSub has extensive capabilities out of the box including feedback stability control, depth and heading hold, and autonomous navigation.

ArduSub is designed to be safe, feature-rich, open-ended, and easy to use even for novice users.

ArduSub works seamlessly with Ground Control Station software that can monitor vehicle telemetry and perform powerful mission planning activities. It also benefits from other parts of the ArduPilot platform, including simulators, log analysis tools, and higher level APIs for vehicle management and control.

ArduSub is on the leading edge of marine robotics and intended for anyone who wants to operate a vehicle below the water's surface. There is support for many different ROV configurations, and adding a custom design is simple.

## About this Book

This book is an on-going work in progress to document the ArduSub software as well as supporting software and hardware. The documentation in this book is based on the most recent software available at the time of writing. In some cases, features or options documented here may be only available in developmental versions of the software. The authoring of this book and the ArduSub project are sponsored by [Blue Robotics](https://bluerobotics.com).

## License

- The ArduSub and ArduPilot code are released under the [GPLv3](https://raw.githubusercontent.com/ArduPilot/ardupilot/master/COPYING.txt) License.
- This book is released under the [CC-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) License.