mirror of
https://github.com/CopterExpress/clover.git
synced 2026-06-06 17:49:32 +00:00
Merge branch 'master' into ros-book
This commit is contained in:
@@ -1,26 +1,24 @@
|
||||
# Summary
|
||||
|
||||
* [Introduction](README.md)
|
||||
* [Glossary](gloss.md)
|
||||
* [Glossary](glossary.md)
|
||||
* [Safety tips](safety.md)
|
||||
* Assembly
|
||||
* [Assembly](assembly.md)
|
||||
* [Clover 4.2 assembly](assemble_4_2.md)
|
||||
* [Clover 4 assembly](assemble_4.md)
|
||||
* [Clover 3 assembly](assemble_3.md)
|
||||
* [Clover 2 assembly](assemble_2.md)
|
||||
* Configuration
|
||||
* [Initial setup](setup.md)
|
||||
* [Configuration](setup.md)
|
||||
* [Sensor calibration](calibration.md)
|
||||
* [RC setup](radio.md)
|
||||
* [Using FS-A8S](rc_flysky_a8s.md)
|
||||
* [Flight modes](modes.md)
|
||||
* [Power setup](power.md)
|
||||
* [Failsafe configuration](failsafe.md)
|
||||
* Manual flight
|
||||
* [Manual flight](flight.md)
|
||||
* [Basics](flight.md)
|
||||
* [Exercises](flight_exercises.md)
|
||||
* Working with Raspberry Pi
|
||||
* [Raspberry Pi](raspberry.md)
|
||||
* [Working with Raspberry Pi](raspberry.md)
|
||||
* [RPi Image](image.md)
|
||||
* [Wi-Fi connection](wifi.md)
|
||||
* [Connection to the Pixracer](connection.md)
|
||||
@@ -29,11 +27,9 @@
|
||||
* [Command line interface](cli.md)
|
||||
* [Automated self-checks](selfcheck.md)
|
||||
* [Viewing images from cameras](web_video_server.md)
|
||||
* Programming
|
||||
* [Overview](programming.md)
|
||||
* [Programming](programming.md)
|
||||
* [Camera setup](camera_setup.md)
|
||||
* Fiducial markers (ArUco)
|
||||
* [Overview](aruco.md)
|
||||
* [Fiducial markers (ArUco)](aruco.md)
|
||||
* [Marker detection](aruco_marker.md)
|
||||
* [Map-based navigation](aruco_map.md)
|
||||
* [Optical Flow](optical_flow.md)
|
||||
@@ -48,14 +44,14 @@
|
||||
* [Using rviz and rqt](rviz.md)
|
||||
* [Software autorun](autolaunch.md)
|
||||
* [Using JavaScript](javascript.md)
|
||||
* [ROS](ros.md)
|
||||
* [MAVROS](mavros.md)
|
||||
* Simulation
|
||||
* [Overview](simulation.md)
|
||||
* [Blocks programming](blocks.md)
|
||||
* [Simulation](simulation.md)
|
||||
* [Native setup](simulation_native.md)
|
||||
* [VM setup](simulation_vm.md)
|
||||
* [Usage](simulation_usage.md)
|
||||
* Supplementary materials
|
||||
* [ROS](ros.md)
|
||||
* [MAVROS](mavros.md)
|
||||
* [Supplementary materials](supplementary.md)
|
||||
* [COEX Pix](coex_pix.md)
|
||||
* [Guide on autonomous flight](auto_setup.md)
|
||||
* [Hostname](hostname.md)
|
||||
@@ -88,7 +84,7 @@
|
||||
* [LED strip (legacy)](leds_old.md)
|
||||
* [Contribution Guidelines](contributing.md)
|
||||
* [Migration to v0.20](migrate20.md)
|
||||
* Clover-based projects
|
||||
* [Clover-based projects](projects.md)
|
||||
* [Drone show](clever-show.md)
|
||||
* [Innopolis Open 2020 (L22_ÆRO)](innopolis_open_L22_AERO.md)
|
||||
* [Copter spheric guard](shield.md)
|
||||
|
||||
@@ -410,7 +410,7 @@ Check the quadrotor assembly:
|
||||
|
||||
<img src="../assets/assembling_clever4/final_1.png" width=300 class="zoom border center">
|
||||
|
||||
Be sure to install and setup the voltage indicator before flying, so as not to overdischarge the battery. To configure the indicator, use the button located at its base. The displayed numbers during setup indicate the minimum possible voltage in each [cell](gloss.md#battery-cell) of the battery, the recommended value is **3.5**.
|
||||
Be sure to install and setup the voltage indicator before flying, so as not to overdischarge the battery. To configure the indicator, use the button located at its base. The displayed numbers during setup indicate the minimum possible voltage in each [cell](glossary.md#battery-cell) of the battery, the recommended value is **3.5**.
|
||||
|
||||
> **Info** Sound indication means that your battery is low and needs to be charged.
|
||||
|
||||
|
||||
27
docs/en/assembly.md
Normal file
27
docs/en/assembly.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Clover drone assembly
|
||||
|
||||
This section contains articles describing the assembly of each version of Clover.
|
||||
|
||||
<table class=versions>
|
||||
<tr><th>Version</th><th>Image</th></tr>
|
||||
<tr>
|
||||
<td><a href="assemble_4_2.md">Clover 4.2</a></td>
|
||||
<td><img src="../assets/versions/clover_4.jpg" width=200></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="assemble_4_2.md">Clover 4.1</a></td>
|
||||
<td><img src="../assets/versions/clover_4.jpg" width=200></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="assemble_4_2.md">Clover 4</a></td>
|
||||
<td><img src="../assets/versions/clover_4.jpg" width=200></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="assemble_4_2.md">Clover 3</a></td>
|
||||
<td><img src="../assets/versions/clover_3.jpg" width=200></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="assemble_4_2.md">Clover 2</a></td>
|
||||
<td><img src="../assets/versions/clover_2.jpg" width=200></td>
|
||||
</tr>
|
||||
</table>
|
||||
110
docs/en/blocks.md
Normal file
110
docs/en/blocks.md
Normal file
@@ -0,0 +1,110 @@
|
||||
# Blocks programming for Clover
|
||||
|
||||
<img src="../assets/blocks/blockly.svg" width=200 align="right">
|
||||
|
||||
Visual blocks programming feature has been added to the [RPi image](image.md), starting with the version **0.21**. Blocks programming is implemented using [Google Blockly](https://developers.google.com/blockly) platform. Blocks programming integration can lower the entry barrier to a minimum.
|
||||
|
||||
## Configuration
|
||||
|
||||
For correct work of the blocks programming, `blocks` argument in the Clover launch-file (`~/catkin_ws/src/clover/clover/launch/clover.launch`) [should be equal to](cli.md#editing) `true`:
|
||||
|
||||
```xml
|
||||
<arg name="blocks" default="true"/>
|
||||
```
|
||||
|
||||
## Running
|
||||
|
||||
To run Clover's blocks programming interface, [connect to Clover's Wi-Fi](wifi.md) and go to web-page http://192.168.11.1:8080/clover_blocks/ or click the link *Blocks programming* at the [main page](wifi.md#web-interface).
|
||||
|
||||
The page looks as follows:
|
||||
|
||||
<img src="../assets/blocks/blocks.png" width=600>
|
||||
|
||||
Assemble your program using blocks in the menu at the left and then click *Run* button for running. You can also view generated Python-code, switching to *Python* tab.
|
||||
|
||||
The *Stop* button stops the program. Clicking *Land* button also stops the program and lands the drone.
|
||||
|
||||
## Storing and loading
|
||||
|
||||
<img src="../assets/blocks/save.png" width=300 align=right>
|
||||
|
||||
To store the program, open the menu at the top right, select *Save* item and input your program's name. The name should contain only Latin characters, hyphen, underline and dot characters. All your stored programs are available at the same menu.
|
||||
|
||||
Your programs are stored as XML-files in the `/catkin_ws/src/clover/clover_blocks/programs/` directory of the SD-card.
|
||||
|
||||
> **Note** Note also example programs, available at the same menu.
|
||||
|
||||
## Blocks
|
||||
|
||||
The set of blocks is somewhat similar to the set of ROS-services of [Clover's autonomous flights API](simple_offboard.md). This section contains descriptions of some of them.
|
||||
|
||||
Clover's blocks are separated into 4 categories:
|
||||
|
||||
* <span style="padding:2px;color:white;background:#9d5ca6">Flight</span> – autonomous flight related commands.
|
||||
* <span style="padding:2px;color:white;background:#ff9b00">State</span> – blocks for obtaining the drone state parameters.
|
||||
* <span style="padding:2px;color:white;background:#01d754">LED</span> – blocks for controlling [LED strip](leds.md).
|
||||
* <span style="padding:2px;color:white;background:#5b97cc">GPIO</span> – blocks for working with [GPIO pins](gpio.md).
|
||||
|
||||
The rest of categories contains standard Blockly's blocks.
|
||||
|
||||
### take_off
|
||||
|
||||
<img src="../assets/blocks/take-off.png" srcset="../assets/blocks/take-off.png 2x">
|
||||
|
||||
Take off to specified altitude in meters. The altitude may be an arbitrary block, that returns a number.
|
||||
|
||||
The `wait` flag specifies, if the drone should wait until take off is complete, before executing the next block.
|
||||
|
||||
### navigate
|
||||
|
||||
<img src="../assets/blocks/navigate.png" srcset="../assets/blocks/navigate.png 2x">
|
||||
|
||||
Navigate to specified point. Coordinates are specified in meters.
|
||||
|
||||
The `wait` flag specifies, if the drone should wait until navigation is complete, before executing the next block.
|
||||
|
||||
#### *Relative to* field {#relative_to}
|
||||
|
||||
This block allows to specify the [coordinate frame](frames.md) of the target point:
|
||||
|
||||
* *body* – coordinates, relative to the drone: *forward*, *left*, *up*.
|
||||
* *markers map* – coordinates, relative to the [map of ArUco-markers](aruco_map.md).
|
||||
* *marker* – coordinates, relative to an [ArUco-marker](aruco_marker.md); marker's ID input fields appears.
|
||||
* *last navigate target* – coordinates, relative to the last specified navigate point.
|
||||
* *map* – drone's local coordinate system, linked with the point of its initialization.
|
||||
|
||||
### land
|
||||
|
||||
<img src="../assets/blocks/land.png" srcset="../assets/blocks/land.png 2x">
|
||||
|
||||
Land the drone.
|
||||
|
||||
The `wait` flag specifies, if the drone should wait until landing is complete, before executing the next block.
|
||||
|
||||
### wait
|
||||
|
||||
<img src="../assets/blocks/wait.png" srcset="../assets/blocks/wait.png 2x">
|
||||
|
||||
Wait specified time period in seconds. The time period may be an arbitrary block, that returns a number.
|
||||
|
||||
### wait_arrival
|
||||
|
||||
<img src="../assets/blocks/wait-arrival.png" srcset="../assets/blocks/wait-arrival.png 2x">
|
||||
|
||||
Wait, until the drone reaches [navigate](#navigate)-block's target point.
|
||||
|
||||
### get_position
|
||||
|
||||
<img src="../assets/blocks/get-position.png" srcset="../assets/blocks/get-position.png 2x">
|
||||
|
||||
The block returns current position, velocity or yaw angle of the drone relative to the specified [coordinate frame](#relative_to).
|
||||
|
||||
### set_effect
|
||||
|
||||
<img src="../assets/blocks/set-effect.png" srcset="../assets/blocks/set-effect.png 2x">
|
||||
|
||||
The block allows to set animations to LED strip, similarly to [`set_effect`](leds.md#set_effect) ROS-service.
|
||||
|
||||
Example of using the block with a random color (colors-related blocks are located in *Colour* category):
|
||||
|
||||
<img src="../assets/blocks/random-color.png" srcset="../assets/blocks/random-color.png 2x">
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"language": "en",
|
||||
"root": "."
|
||||
"root": ".",
|
||||
"structure": {"glossary": "_GLOSSARY.md" }
|
||||
}
|
||||
|
||||
@@ -95,16 +95,26 @@ disconnected: { effect: blink, r: 255, g: 50, b: 50 }
|
||||
<!-- ... -->
|
||||
```
|
||||
|
||||
The left part is one of the possible events that the strip reacts to. The right part contains the effect description that you want to execute for this event. Here is the list of supported events:
|
||||
The left part is one of the possible events that the strip reacts to. The right part contains the effect description that you want to execute for this event.
|
||||
|
||||
* `startup` – Clover system startup;
|
||||
* `connected` – successful connection to the flight controller;
|
||||
* `disconnected` – connection to the flight controller lost;
|
||||
* `armed` – flight controller transitioned to armed state;
|
||||
* `disarmed` – flight controller transitioned to disarmed state;
|
||||
* `stabilized`, `acro`, `rattitude`, `altctl`, `posctl`, `offboard`, `mission`, `rtl`, `land` – transition to said flight mode;
|
||||
* `error` – an error occured in one of ROS nodes or in the flight controller (*ERROR* message in `/rosout`);
|
||||
* `low_battery` – low battery (threshold is set in the `threshold` parameter).
|
||||
Here is the list of supported events:
|
||||
|
||||
<table>
|
||||
<tr><th>Event</th><th>Description</th><th>Default effect</th></tr>
|
||||
<tr><td><code>startup</code></td><td>Clover system startup</td><td>White</td></tr>
|
||||
<tr><td><code>connected</code></td><td>Successful connection to flight controller</td><td>Rainbow</td></tr>
|
||||
<tr><td><code>disconnected</code></td><td>Connection to flight controller lost</td><td><div class=circle style="background:rgb(255,50,50)"></div>Red blink</td></tr>
|
||||
<tr><td><code>armed</code></td><td>Transition to Armed state</td><td></td></tr>
|
||||
<tr><td><code>disarmed</code></td><td>Transition to Disarmed state</td><td></td></tr>
|
||||
<tr><td><code>acro</code></td><td>Acro mode</td><td><div class=circle style="background:rgb(245,155,0)"></div>Orange</td></tr>
|
||||
<tr><td><code>stabilized</code></td><td>Stabilized mode</td><td><div class=circle style="background:rgb(30,180,50)"></div>Green</td></tr>
|
||||
<tr><td><code>altctl</code></td><td>Altitude mode</td><td><div class=circle style="background:rgb(255,255,40)"></div>Yellow</td></tr>
|
||||
<tr><td><code>posctl</code></td><td>Position mode</td><td><div class=circle style="background:rgb(50,100,220)"></div>Blue</td></tr>
|
||||
<tr><td><code>offboard</code></td><td>Offboard mode</td><td><div class=circle style="background:rgb(220,20,250)"></div>Violet</td></tr>
|
||||
<tr><td><code>rattitude</code>, <code>mission</code>, <code>rtl</code>, <code>land</code></td><td>Corresponding mode</td><td></td></tr>
|
||||
<tr><td><code>error</code></td><td>Error in one of ROS nodes or in the flight controller (<i>ERROR</i> message in <code>/rosout</code>)</td><td><div class=circle style="background:rgb(255,0,0)"></div>Red flash</td></tr>
|
||||
<tr><td><code>low_battery</code></td><td>Low battery (threshold is set in the <code>threshold</code> parameter)</td><td><nobr><div class=circle style="background:rgb(255,0,0)"></div>Red fast blink</nobr></td></tr>
|
||||
</table>
|
||||
|
||||
> **Note** You need to [calibrate the power sensor](power.md#calibrating-the-power-sensor) for the `low_battery` event to work properly.
|
||||
|
||||
|
||||
3
docs/en/projects.md
Normal file
3
docs/en/projects.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Clover-based projects
|
||||
|
||||
Clover drone kit is widely used in design activities. This section contains user articles describing the implemented projects.
|
||||
5
docs/en/supplementary.md
Normal file
5
docs/en/supplementary.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Supplementary materials
|
||||
|
||||
This section contains articles that are not included in the main sections, as well as articles by the users on various subjects related to UAV.
|
||||
|
||||
To learn more about publishing text in this section, see the article "[Contributing to Clover](contributing.md)".
|
||||
Reference in New Issue
Block a user