mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-28 14:09:33 +00:00
docs: translation updates (#186)
* docs: Update frames article (en) * docs: Add navigate_target notes to simple_offboard (en) * docs: Update note about single-marker navigation * docs: Add note about auto parameters in PX4 (en)
This commit is contained in:
committed by
Oleg Kalachev
parent
b75a40b9ad
commit
5ad08785c4
@@ -61,6 +61,8 @@ Usage example:
|
||||
rosrun aruco_pose genmap.py 0.33 2 4 1 1 0 > ~/catkin_ws/src/clever/aruco_pose/map/test_map.txt
|
||||
```
|
||||
|
||||
You can also use the [online map editor](arucogenmap.md) to create ArUco maps.
|
||||
|
||||
### Checking the map
|
||||
|
||||
The currently active map is posted in the `/aruco_map/image` ROS topic. It can be viewed using [web_video_server](web_video_server.md) by opening the following link: http://192.168.11.1:8080/snapshot?topic=/aruco_map/image
|
||||
@@ -102,6 +104,12 @@ If you're using **LPE** (`SYS_MC_EST_GROUP` parameter is set to `local_position_
|
||||
* Vision position standard deviations: `LPE_VIS_XY` = 0.1 m, `LPE_VIS_Z` = 0.1 m.
|
||||
* `LPE_VIS_DELAY` = 0 sec.
|
||||
|
||||
<!-- * Compass should not be fused: `ATT_W_MAG` = 0 -->
|
||||
|
||||
> **Hint** We recommend using **LPE** for marker-based navigation.
|
||||
|
||||
You may use [the `selfcheck.py` utility](selfcheck.md) to check your settings.
|
||||
|
||||
> **Hint** In order to use LPE with the Pixhawk v1 hardware you should download the [`px4fmu-v2_lpe.px4` firmware](firmware.md)
|
||||
|
||||
## Flight
|
||||
@@ -120,10 +128,13 @@ time.sleep(5)
|
||||
navigate(x=2, y=2, z=2, speed=1, frame_id='aruco_map')
|
||||
```
|
||||
|
||||
Starting from the [image](image.md) version 0.18, the drone also can fly relative to a marker in the map, even if it doesn't see it:
|
||||
### Using a specific marker frame
|
||||
|
||||
Starting with the [image](image.md) version 0.18, the drone also can fly relative to a marker in the map, even if it is not currently visible. Like with [single-marker navigation](aruco_marker.md#working-with-detected-markers), this works by setting the frame_id parameter to aruco_ID, where ID is the desired marker number.
|
||||
|
||||
The folloding code will move the drone to the point 1 meter above the center of marker 5:
|
||||
|
||||
```python
|
||||
# Fly to 1 meter above the marker 5
|
||||
navigate(frame_id='aruco_5', x=0, y=0, z=1)
|
||||
```
|
||||
|
||||
|
||||
@@ -1,16 +1,28 @@
|
||||
Coordinate systems (frames)
|
||||
===
|
||||
|
||||
> **Note** Documentation for the [image](image.md), versions, starting with **0.15**. For older versions refer to [documentation for version **0.14**](https://github.com/CopterExpress/clever/blob/v0.14/docs/ru/frames.md).
|
||||
> **Note** The following applies to [image](image.md) version 0.15 and up. See [previous version of the article](https://github.com/CopterExpress/clever/blob/v0.14/docs/ru/frames.md) (Russian only) for older images.
|
||||
|
||||

|
||||

|
||||
|
||||
Main frames in package `clever`:
|
||||
Main frames in the `clever` package:
|
||||
|
||||
* `map` coordinates relative to the point of flight controller initialization: the white grid in the illustration;
|
||||
* `base_link` — coordinates relative to the quadcopter: schematic image of the quadcopter in the illustration;
|
||||
* `body` — coordinates relative to the quadcopter regardless of pitch and roll: red, blue and green lines in the illustration.
|
||||
* `map` has its origin at the flight controller initialization point and may be considered stationary. It is shown as a white grid on the image above;
|
||||
* `base_link` is rigidly bound to the drone. It is shown by the simplified drone model on the image above;
|
||||
* `body` is bound to the drone, but its Z axis points up regardless of the drone's pitch and roll. It is shown by the red, blue and green lines in the illustration;
|
||||
* `navigate_target` is bound to the current navigation target (as set by the [navigate](simple_offboard.md#navigate) service).
|
||||
|
||||
> **Hint** In accordance with [the agreement](http://www.ros.org/reps/rep-0103.html), for frames associated with the copter, the X-axis directed forward, Y – to the left, and Z – up.
|
||||
> **Hint** Frames that are bound to the drone are oriented according to [the ROS convention](http://www.ros.org/reps/rep-0103.html): the X axis points forward, Y to the left, and Z up.
|
||||
|
||||
More clearly, 3D visualization of the coordinate systems can be viewed using [rviz](rviz.md).
|
||||
3D visualization of the coordinate systems can be viewed using [rviz](rviz.md).
|
||||
|
||||
tf2
|
||||
--
|
||||
|
||||
Read more at http://wiki.ros.org/tf2
|
||||
|
||||
tf2 ROS package is used extensively in the Clever platform. tf2 is a set of libraries for C++, Python and other programming languages that are used to work with the frames. Internally, ROS nodes publish `TransformStamped` messages to `/tf` topic with transforms between frames at certain points in time.
|
||||
|
||||
The [`simple_offboard`](simple_offboard.md) node can be used to request the drone position in an arbitrary frame by setting the `frame_id` argument appropriately in a call to `get_telemetry` service.
|
||||
|
||||
tf2 can be used from Python to transform coordinates (for objects like PoseStamped and PointStamped) from one frame to another
|
||||
|
||||
@@ -20,6 +20,8 @@ Optical Flow publishes data in `mavros/px4flow/raw/send` topic. In the topic `op
|
||||
|
||||
## Setup of the flight controler
|
||||
|
||||
> **Hint** Suggested parameters are applied automatically in [our custom PX4 firmware](firmware.md#modified-firmware-for-clever).
|
||||
|
||||
When using **EKF2** (parameter `SYS_MC_EST_GROUP` = `ekf2`):
|
||||
|
||||
* `EKF2_AID_MASK` – flag 'use optical flow' is on.
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
Simple OFFBOARD
|
||||
===
|
||||
|
||||
> **Note** Documentation for the [image](image.md), versions, starting with **0.15**. For older versions refer to [documentation for version **0.14**](https://github.com/CopterExpress/clever/blob/v0.14/docs/ru/simple_offboard.md).
|
||||
> **Note** The following applies to [image](image.md) versions **0.15** and up. Older documentation is still avaliable [for version **0.14**](https://github.com/CopterExpress/clever/blob/v0.14/docs/ru/simple_offboard.md) (Russian only).
|
||||
|
||||
<!-- -->
|
||||
|
||||
> **Hint** For autonomous flights it is recommanded to use [special PX4 firmware for Clever](firmware.md#modified-firmware-for-clever).
|
||||
> **Hint** We recommend using our [special PX4 firmware for Clever](firmware.md#modified-firmware-for-clever) for autonomous flights.
|
||||
|
||||
The `simple_offboard` module of the `clever` package is intended for simplified programming of the autonomous drone flight (`OFFBOARD` [flight mode](modes.md)). It allows setting the desired flight tasks, and automatically transforms [coordinates between frames](frames.md).
|
||||
|
||||
@@ -140,6 +140,12 @@ Flying 3 m to the right from the drone:
|
||||
navigate(x=0, y=-3, z=0, speed=1, frame_id='body')
|
||||
```
|
||||
|
||||
Flying 2 m to the left from the last navigation target:
|
||||
|
||||
```python
|
||||
navigate(x=0, y=2, z=0, speed=1, frame_id='navigate_target')
|
||||
```
|
||||
|
||||
Turn 90 degrees counterclockwise:
|
||||
|
||||
```python
|
||||
@@ -170,6 +176,8 @@ Ascending to the altitude of 2 m (command line):
|
||||
rosservice call /navigate "{x: 0.0, y: 0.0, z: 2, yaw: 0.0, yaw_rate: 0.0, speed: 0.5, frame_id: 'body', auto_arm: true}"
|
||||
```
|
||||
|
||||
> **Note** Consider using the `navigate_target` frame instead of `body` for missions that primarily use relative movements forward/back/left/right. This negates inaccuracies in relative point calculations.
|
||||
|
||||
### navigate_global
|
||||
|
||||
Flying in a straight line to a point in the global coordinate system (latitude/longitude).
|
||||
|
||||
@@ -128,16 +128,9 @@ time.sleep(5)
|
||||
navigate(x=2, y=2, z=2, speed=1, frame_id='aruco_map') # полет в координату 2:2, высота 3 метра
|
||||
```
|
||||
|
||||
Начиная с версии [образа](image.md) 0.18, доступны также полеты относительно отдельного маркера в карте, даже если дрон его не видит:
|
||||
|
||||
```python
|
||||
# Полет на высоту 1 м над маркером 5
|
||||
navigate(frame_id='aruco_5', x=0, y=0, z=1)
|
||||
```
|
||||
|
||||
### Полет в координаты по ID маркера
|
||||
|
||||
По аналогии с [навигацией по отдельным маркерам](aruco_marker.md#навигация-по-маркерам) при настройке карты маркеров дрон сможет лететь в координаты относительно отдельного маркера, используя фрейм aruco_ID с соответствующим ID маркера. Эта функция будет работать даже в случае, если дрон не видит в данный момент нужный маркер.
|
||||
Начиная с версии [образа](image.md) 0.18, доступны также полёты относительно отдельного маркера в карте, даже если дрон его не видит. По аналогии с [навигацией по отдельным маркерам](aruco_marker.md#навигация-по-маркерам) при настройке карты маркеров дрон сможет лететь в координаты относительно отдельного маркера, используя фрейм aruco_ID с соответствующим ID маркера.
|
||||
|
||||
Полет в точку над маркером 5 на высоту 1 метр:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user