mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-20 07:43:33 +08:00
Remove legacy translations
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
# Ackermann Rovers
|
||||
|
||||
<Badge type="tip" text="PX4 v1.16" /> <Badge type="warning" text="Experimental" />
|
||||
|
||||
An _Ackermann rover_ controls its direction by pointing the front wheels in the direction of travel — the [Ackermann steering geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates.
|
||||
This kind of steering is used on most commercial vehicles, including cars, trucks etc.
|
||||
|
||||
:::info
|
||||
PX4 does not require that the vehicle uses the Ackermann geometry and will work with any front-steering rover.
|
||||
:::
|
||||
|
||||

|
||||
|
||||
See [Configuration/Tuning](../config_rover/ackermann.md) to set up your rover and [Drive Modes](../flight_modes_rover/ackermann.md) for the supported flight (aka drive) modes.
|
||||
@@ -1,170 +0,0 @@
|
||||
# Ackermann Rover
|
||||
|
||||
<Badge type="tip" text="main (PX4 v1.16+)" /> <Badge type="warning" text="Experimental" />
|
||||
|
||||
An _Ackermann rover_ controls its direction by pointing the front wheels in the direction of travel — the [Ackermann steering geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates.
|
||||
This kind of steering is used on most commercial vehicles, including cars, trucks etc.
|
||||
|
||||

|
||||
|
||||
:::info
|
||||
PX4 does not require that the vehicle uses the Ackermann geometry and will work with any front-steering rover.
|
||||
:::
|
||||
|
||||
## Basic Setup
|
||||
|
||||
To start using the ackermann rover:
|
||||
|
||||
1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
|
||||
|
||||
2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Ackermann_:
|
||||
|
||||

|
||||
|
||||
::: warning
|
||||
Do not use the _Generic Ground Vehicle (Ackermann)_ airframe as that will load the [(Deprecated) Rover Position Control](../frames_rover/rover_position_control.md) module.
|
||||
|
||||
:::
|
||||
|
||||
Select the **Apply and Restart** button.
|
||||
|
||||
::: info
|
||||
If this airframe is not displayed and you have checked that you are using rover firmware (not the default), you can alternatively enable this frame by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `51000`.
|
||||
|
||||
:::
|
||||
|
||||
3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
|
||||
|
||||
This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Drive modes](../flight_modes_rover/index.md)).
|
||||
|
||||
:::info
|
||||
Many features of this module are disabled by default, and are only enabled by setting certain parameters.
|
||||
The [Tuning (basic)](#tuning-basic) section goes through the minimum setup required to start driving missions
|
||||
and the [Tuning (advanced)](#tuning-advanced) section outlines the remaining features and tuning variables of the module.
|
||||
:::
|
||||
|
||||
## Tuning (Basic)
|
||||
|
||||
To start driving missions navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
|
||||
|
||||
| Parameter | Description | Unit |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ---- |
|
||||
| <a id="RA_WHEEL_BASE"></a>[RA_WHEEL_BASE](../advanced_config/parameter_reference.md#RA_WHEEL_BASE) | Wheel-base of the rover which is measured from the back to the front wheel | m |
|
||||
| <a id="RA_MAX_STR_ANG"></a>[RA_MAX_STR_ANG](../advanced_config/parameter_reference.md#RA_MAX_STR_ANG) | Maximum steering angle of the rover | deg |
|
||||
| <a id="RA_MISS_VEL_DEF"></a>[RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default velocity the rover will drive during the mission | m/s |
|
||||
|
||||

|
||||
|
||||
This is enough to start driving missions, but depending on the rover might not yet lead to satisfactory performance .
|
||||
If that is the case further tuning is required which is outlined in [Mission parameters](#mission-parameters).
|
||||
|
||||
## Tuning (Advanced)
|
||||
|
||||
To get an overview of all parameters that are related to the Ackermann rover module navigate to the _Rover Ackermann_ group in the _Parameters_ section of QGroundControl.
|
||||
|
||||
### General Parameters
|
||||
|
||||
These parameters affect the general behaviour of the rover. This will influence both auto and manual modes.
|
||||
|
||||
| Parameter | Description | Unit |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ---- |
|
||||
| <a id="RA_MAX_SPEED"></a>[RA_MAX_SPEED](../advanced_config/parameter_reference.md#RA_MAX_SPEED) | Speed the rover drives at maximum throttle | m/s |
|
||||
|
||||
This is used for a feed-forward term on the speed controller in mission mode and necessary for the [acceleration slew rate](#slew-rates).
|
||||
|
||||
#### Slew Rates
|
||||
|
||||
Slew rates limit how fast the signal that is sent to the motors is allowed to change:
|
||||
|
||||
| Parameter | Description | Unit |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ----- |
|
||||
| <a id="RA_MAX_ACCEL"></a>[RA_MAX_ACCEL](../advanced_config/parameter_reference.md#RA_MAX_ACCEL) | Limit on the acceleration of the rover | m/s^2 |
|
||||
| <a id="RA_MAX_STR_RATE"></a>[RA_MAX_STR_RATE](../advanced_config/parameter_reference.md#RA_MAX_STR_RATE) | Limit on the steering rate | deg/s |
|
||||
|
||||
:::warning
|
||||
The slew rates are not based on measurements but on assumed linear relation between the throttle input and [RA_MAX_SPEED](#RA_MAX_SPEED) or steering input and [RA_MAX_STR_ANG](#RA_MAX_STR_ANG) respectively.
|
||||
Therefore these two parameters have to be set for the slew rates to work!
|
||||
:::
|
||||
|
||||
## Mission Parameters
|
||||
|
||||
These parameters only affect vehicle in [Mission Mode](../flight_modes_rover/index.md#mission-mode).
|
||||
|
||||
:::warning
|
||||
The parameters in [Tuning (basic)](#tuning-basic) must also be set to drive missions!
|
||||
:::
|
||||
|
||||
The module uses a control algorithm called pure pursuit, see [Pure Pursuit Guidance Logic](../flight_modes_rover/index.md#pure-pursuit-guidance-logic) for the basic tuning process.
|
||||
|
||||
:::info
|
||||
Increasing [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) can help to make the steering less aggressive at slow speeds.
|
||||
This can be useful especially if the [corner slow down effect](#corner-slow-down) is enabled.
|
||||
:::
|
||||
|
||||
### Cornering Parameters
|
||||
|
||||
#### Corner cutting
|
||||
|
||||
The module employs a special cornering logic causing the rover to "cut corners" to achieve a smooth trajectory.
|
||||
This is done by scaling the acceptance radius based on the corner the rover has to drive (for geometric explanation see [Cornering logic](#mission-cornering-logic-info-only)).
|
||||
|
||||

|
||||
|
||||
The degree to which corner cutting is allowed can be tuned, or disabled, with the following parameters:
|
||||
|
||||
| Parameter | Description | Unit |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ---- |
|
||||
| <a id="NAV_ACC_RAD"></a>[NAV_ACC_RAD](../advanced_config/parameter_reference.md#NAV_ACC_RAD) | Default acceptance radius | m |
|
||||
| <a id="RA_ACC_RAD_MAX"></a>[RA_ACC_RAD_MAX](../advanced_config/parameter_reference.md#RA_ACC_RAD_MAX) | Maximum radius the acceptance radius can be scaled to | m |
|
||||
| <a id="RA_ACC_RAD_GAIN"></a>[RA_ACC_RAD_GAIN](../advanced_config/parameter_reference.md#RA_ACC_RAD_GAIN) | Tuning parameter | - |
|
||||
|
||||
The tuning parameter is a multiplicand on the calculated ideal acceptance radius to account for dynamic effects.
|
||||
|
||||
#### Corner slow down
|
||||
|
||||
To smoothen the trajectory further and reduce the risk of the rover rolling over, the mission speed is reduced as the rover gets closer to a waypoint:
|
||||
|
||||
- During cornering the rover drives at a speed that is equal to the the inverse of the acceptance radius (calculated using the [corner cutting logic](#corner-cutting)) multiplied with a tuning parameter called [RA_MISS_VEL_GAIN](#RA_MISS_VEL_GAIN).
|
||||
- In between waypoints (straight line) the rover speed is regulated such that it will arrive at the acceptance radius of the waypoint with the desired cornering speed.
|
||||
This requires [RA_MAX_ACCEL](#RA_MAX_ACCEL) and [RA_MAX_JERK](#RA_MAX_JERK) to be set.
|
||||
|
||||
The mission speed is constrained between a minimum allowed speed [RA_MISS_VEL_MIN](#RA_MISS_VEL_MIN) and the default mission speed [RA_MISS_VEL_DEF](#RA_MISS_VEL_DEF).
|
||||
|
||||
| Parameter | Description | Unit |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------- |
|
||||
| <a id="RA_MISS_VEL_DEF"></a>[RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default mission speed | $m/s$ |
|
||||
| <a id="RA_MISS_VEL_MIN"></a>[RA_MISS_VEL_MIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_MIN) | Minimum the speed can be reduced to during cornering | $m/s$ |
|
||||
| <a id="RA_MISS_VEL_GAIN"></a>[RA_MISS_VEL_GAIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_GAIN) | Tuning parameter for the velocity reduction | - |
|
||||
| <a id="RA_MAX_JERK"></a>[RA_MAX_JERK](../advanced_config/parameter_reference.md#RA_MAX_JERK) | Limit for forwards acc/deceleration change. | $m/s^3$ |
|
||||
|
||||
### Mission Cornering Logic (Info only)
|
||||
|
||||
To enable a smooth trajectory, the acceptance radius of waypoints is scaled based on the angle between a line segment from the current-to-previous and current-to-next waypoints.
|
||||
The ideal trajectory would be to arrive at the next line segment with the heading pointing towards the next waypoint.
|
||||
For this purpose the minimum turning circle of the rover is inscribed tangentially to both line segments.
|
||||
|
||||

|
||||
|
||||
The acceptance radius of the waypoint is set to the distance from the waypoint to the tangential points between the circle and the line segments:
|
||||
|
||||
$$
|
||||
\begin{align*}
|
||||
r_{min} &= \frac{L}{\sin\left( \delta_{max}\right) } \\
|
||||
\theta &= \frac{1}{2}\arccos\left( \frac{\vec{a}*\vec{b}}{|\vec{a}||\vec{b}|}\right) \\
|
||||
r_{acc} &= \frac{r_{min}}{\tan\left( \theta\right) }
|
||||
\end{align*}
|
||||
$$
|
||||
|
||||
| Symbol | Description | Unit |
|
||||
| ----------------------------------- | ---------------------------------- | ---- |
|
||||
| $\vec{a}$ | Vector from current to previous WP | m |
|
||||
| $\vec{b}$ | Vector from current to next WP | m |
|
||||
| $r_{min}$ | Minimum turn radius | m |
|
||||
| $\delta_{max}$ | Maximum steer angle | m |
|
||||
| $r_{acc}$ | Acceptance radius | m |
|
||||
|
||||
<!--
|
||||
## Parameters
|
||||
|
||||
The following parameters affect the ackermann-steering rover:
|
||||
-->
|
||||
@@ -1,86 +0,0 @@
|
||||
# Aion Robotics R1 UGV
|
||||
|
||||
<Badge type="tip" text="PX4 v1.15" />
|
||||
|
||||
The [Aion R1](https://www.aionrobotics.com/) vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
|
||||
|
||||
The documentation and driver information here should also make it easier to work with Roboclaw controllers on other vehicles, and to work with vehicles like the [Aion R6](https://www.aionrobotics.com/r6).
|
||||
|
||||
Currently, PX4 supports MANUAL mode for this setup.
|
||||
|
||||

|
||||
|
||||
## 부품 목록
|
||||
|
||||
- [Aion R1 (Discontinued)](https://www.aionrobotics.com/)
|
||||
- [Documentation](https://github-docs.readthedocs.io/en/latest/r1-ugv.html)
|
||||
- [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html)
|
||||
- [R1 Roboclaw specifications](https://resources.basicmicro.com/aion-robotics-r1-autonomous-robot/)
|
||||
- [Auterion Skynode](../companion_computer/auterion_skynode.md)
|
||||
|
||||
## 조립
|
||||
|
||||
The assembly consists of a 3D-printed frame on which all the autopilot parts were attached.
|
||||
For this build this includes an [Auterion Skynode](../companion_computer/auterion_skynode.md), connected to a Pixhawk Adapter Board that interfaces with the RoboClaw motor controllers over serial.
|
||||
|
||||

|
||||
|
||||
:::info
|
||||
If using a standard Pixhawk you could connect the RoboClaw to the Autopilot without an Adapter Board.
|
||||
:::
|
||||
|
||||
The RoboClaw should be connected to a suitable suitable serial (UART) port on the flight controller, such as `GPS2` or `TELEM1`.
|
||||
Other RoboClaw wiring is detailed in the [RoboClaw User Manual](https://downloads.basicmicro.com/docs/roboclaw_user_manual.pdf) 'Packet Serial Wiring' section and shown below (this setup has been validated for compatibility).
|
||||
|
||||

|
||||
|
||||
## PX4 설정
|
||||
|
||||
### Rover Configuration
|
||||
|
||||
Use _QGroundControl_ for rover configuration:
|
||||
|
||||
1. In the [Basic Configuration](../config/index.md) section, select the [Airframe](../config/airframe.md) tab.
|
||||
2. Choose **Aion Robotics R1 UGV** under the **Rover** category.
|
||||
|
||||

|
||||
|
||||
### RoboClaw Configuration
|
||||
|
||||
First configure the serial connection:
|
||||
|
||||
1. Navigate to the [Parameters](../advanced_config/parameters.md) section in QGroundControl.
|
||||
|
||||
- Set the [RBCLW_SER_CFG](../advanced_config/parameter_reference.md#RBCLW_SER_CFG) parameter to the serial port to which the RoboClaw is connected (such as `GPS2`).
|
||||
- [RBCLW_COUNTS_REV](../advanced_config/parameter_reference.md#RBCLW_COUNTS_REV) specifies the number of encoder counts required for one wheel revolution.
|
||||
This value should be left at `1200` for the tested `RoboClaw 2x15A Motor Controller`.
|
||||
Adjust the value based on your specific encoder and wheel setup.
|
||||
- RoboClaw motor controllers must be assigned a unique address on the bus.
|
||||
The default address is 128 and you should not need to change this (if you do, update the PX4 parameter [RBCLW_ADDRESS](../advanced_config/parameter_reference.md#RBCLW_ADDRESS) to match).
|
||||
|
||||
::: info
|
||||
PX4 does not support multiple RoboClaw motor controllers in the same vehicle — each controller needs a unique address on the bus, and there is only one parameter for setting the address in PX4 (`RBCLW_ADDRESS`).
|
||||
|
||||
:::
|
||||
|
||||
Then configure the actuator configuration:
|
||||
|
||||
1. Navigate to [Actuators Configuration & Testing](../config/actuators.md) in QGroundControl.
|
||||
2. Select the RoboClaw driver from the list of _Actuator Outputs_.
|
||||
|
||||
For the channel assignments, disarm, minimum, and maximum values, please refer to the image below.
|
||||
|
||||

|
||||
|
||||
For systems with more than two motors, it is possible to assign the same function to several motors.
|
||||
The reason for the unusual values, can be found in the [RoboClaw User Manual](https://downloads.basicmicro.com/docs/roboclaw_user_manual.pdf) under `Compatibility Commands` for `Packet Serial`:
|
||||
|
||||
```plain
|
||||
Drive motor forward. Valid data range is 0 - 127. A value of 127 = full speed forward, 64 =
|
||||
about half speed forward and 0 = full stop.
|
||||
```
|
||||
|
||||
## See also
|
||||
|
||||
- [roboclaw](../modules/modules_driver.md#roboclaw) driver
|
||||
- [Roboclaw User Manual](https://downloads.basicmicro.com/docs/roboclaw_user_manual.pdf)
|
||||
@@ -1,11 +0,0 @@
|
||||
# Differential Rovers
|
||||
|
||||
<Badge type="tip" text="PX4 v1.16" /> <Badge type="warning" text="Experimental" />
|
||||
|
||||
A differential rover's motion is controlled using a differential drive mechanism, where the left and right wheel speeds are adjusted independently to achieve the desired forward speed and yaw rate.
|
||||
Forward motion is achieved by driving both wheels at the same speed in the same direction.
|
||||
Rotation is achieved by driving the wheels at different speeds in opposite directions, allowing the rover to turn on the spot.
|
||||
|
||||

|
||||
|
||||
See [Configuration/Tuning](../config_rover/differential.md) to set up your rover and [Drive Modes](../flight_modes_rover/differential.md) for the supported flight (aka drive) modes.
|
||||
@@ -1,116 +0,0 @@
|
||||
# Differential-steering Rovers
|
||||
|
||||
<Badge type="tip" text="main (PX4 v1.16+)" /> <Badge type="warning" text="Experimental" />
|
||||
|
||||
:::warning
|
||||
Support for rover is [experimental](../airframes/index.md#experimental-vehicles).
|
||||
Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
|
||||
:::
|
||||
|
||||
A differential-steering rover's motion is controlled using a differential drive mechanism, where the left and right wheel speeds are adjusted independently to achieve the desired forward speed and yaw rate.
|
||||
|
||||
Forward motion is achieved by driving both wheels at the same speed in the same direction.
|
||||
Rotation is achieved by driving the wheels at different speeds in opposite directions, allowing the rover to turn on the spot.
|
||||
|
||||

|
||||
|
||||
## Basic Setup
|
||||
|
||||
To start using the differential-steering rover:
|
||||
|
||||
1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
|
||||
|
||||
2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Differential_:
|
||||
|
||||

|
||||
|
||||
Select the **Apply and Restart** button.
|
||||
|
||||
::: info
|
||||
If this airframe does not show up in the UI, it can alternatively be selected by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `50000`.
|
||||
|
||||
:::
|
||||
|
||||
3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the motor functions to flight controller outputs.
|
||||
|
||||
This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Flight modes](../flight_modes_rover/index.md)).
|
||||
|
||||
:::info
|
||||
The parameter [RD_MAN_YAW_SCALE](../advanced_config/parameter_reference.md#RD_MAN_YAW_SCALE) can be used to scale the manual input for the yaw rate.
|
||||
:::
|
||||
|
||||
## Tuning (Basic)
|
||||
|
||||
This section goes through the basic parameters that need to be set to use all other features for the differential-steering rover.
|
||||
Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
|
||||
|
||||
1. [RD_WHEEL_TRACK](../advanced_config/parameter_reference.md#RD_WHEEL_TRACK) [m]: Measure the distance from the center of the right wheel to the center of the left wheel.
|
||||
|
||||

|
||||
|
||||
2. [RD_MAX_SPEED](../advanced_config/parameter_reference.md#RD_MAX_SPEED) [m/s]: In manual mode, drive the rover with full throttle and enter the observed speed as the parameter.
|
||||
|
||||
3. [RD_MAX_YAW_RATE](../advanced_config/parameter_reference.md#RD_MAX_YAW_RATE) [deg/s]: This is the maximum yaw rate you want to allow for your rover.
|
||||
This will define the stick-to-yaw-rate mapping in acro mode as well as setting an upper limit for the yaw rate in mission mode.
|
||||
|
||||
4. [RD_YAW_RATE_P](../advanced_config/parameter_reference.md#RD_YAW_RATE_P) and [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) [-]: Tuning parameters for the closed-loop yaw rate controller.
|
||||
|
||||
::: info
|
||||
This can be tuned by setting all previous parameters and then setting the rover to _acro mode_.
|
||||
Use the right stick to yaw the rover on the spot and then observe the desired and actual yaw rate in the flight log.
|
||||
Change parameters and iterate.
|
||||
|
||||
Suggestion: Start the tuning process with [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) equal to zero and only set if necessary.
|
||||
|
||||
:::
|
||||
|
||||
This is enough to start using the rover in acro mode.
|
||||
To start driving mission the parameters in [Tuning (Mission)](#tuning-mission) also must be set.
|
||||
|
||||
## Tuning (Mission)
|
||||
|
||||
:::warning
|
||||
The parameters in [Tuning (Basic)](#tuning-basic) must also be set to drive missions!
|
||||
:::
|
||||
|
||||
The module uses a control algorithm called pure pursuit, see [Mission Mode](../flight_modes_rover/index.md#mission-mode) for the basic tuning process.
|
||||
The additional parameters are separated into the following sections:
|
||||
|
||||
### Mission Velocity
|
||||
|
||||
These parameters tune velocity control in missions:
|
||||
|
||||
- [RD_MISS_SPD_DEF](#RD_MISS_SPD_DEF): Sets the default velocity ($m/s$) for the rover during the mission.
|
||||
- [RD_MAX_ACCEL](#RD_MAX_ACCEL) ($m/s^2$) and [RD_MAX_JERK](#RD_MAX_JERK) ($m/s^3$) are used to calculate a velocity trajectory such that the rover comes to a smooth stop as it reaches a waypoint.
|
||||
- [RD_SPEED_P](#RD_SPEED_P) and [RD_SPEED_I](#RD_SPEED_I) are used to tune the closed-loop velocity controller during missions.
|
||||
|
||||
### Yaw Rate
|
||||
|
||||
The yaw rate setpoint is calculated by using the heading error calculated by the pure pursuit algorithm for a PID controller that can be tuned with [RD_HEADING_P](#RD_HEADING_P) and [RD_HEADING_I](#RD_HEADING_I).
|
||||
|
||||
:::info
|
||||
There is some degree of overlap between this tuning and the pure pursuit controller gain set in [Mission Mode](../flight_modes_rover/index.md#mission-mode) as they both have an influence on how aggressive the rover will steer.
|
||||
:::
|
||||
|
||||
### State Machine
|
||||
|
||||
The module employs the following state machine to make full use of a differential-steering rovers ability to turn on the spot:
|
||||

|
||||
|
||||
These transition thresholds can be set with [RD_TRANS_DRV_TRN](#RD_TRANS_DRV_TRN) and [RD_TRANS_TRN_DRV](#RD_TRANS_TRN_DRV).
|
||||
|
||||
### Parameters
|
||||
|
||||
The following parameters affect the differential-steering rover in mission mode (overview):
|
||||
|
||||
| Parameter | Description | Unit |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------- |
|
||||
| <a id="RD_MISS_SPD_DEF"></a>[RD_MISS_SPD_DEF](../advanced_config/parameter_reference.md#RD_MISS_SPD_DEF) | Mission speed for the rover | $m/s$ |
|
||||
| <a id="RD_MAX_ACCEL"></a>[RD_MAX_ACCEL](../advanced_config/parameter_reference.md#RD_MAX_ACCEL) | Maximum acceleration for the rover | $m/s^2$ |
|
||||
| <a id="RD_MAX_JERK"></a>[RD_MAX_JERK](../advanced_config/parameter_reference.md#RD_MAX_JERK) | Maximum jerk for the rover | $m/s^3$ |
|
||||
| <a id="RD_SPEED_P"></a>[RD_SPEED_P](../advanced_config/parameter_reference.md#RD_SPEED_P) | Proportional gain for speed controller | - |
|
||||
| <a id="RD_SPEED_I"></a>[RD_SPEED_I](../advanced_config/parameter_reference.md#RD_SPEED_I) | Integral gain for speed controller | * |
|
||||
| <a id="RD_HEADING_P"></a>[RD_HEADING_P](../advanced_config/parameter_reference.md#RD_HEADING_P) | Proportional gain for heading controller | - |
|
||||
| <a id="RD_HEADING_I"></a>[RD_HEADING_I](../advanced_config/parameter_reference.md#RD_HEADING_I) | Integral gain for heading controller | * |
|
||||
| <a id="RD_TRANS_DRV_TRN"></a>[RD_TRANS_DRV_TRN](../advanced_config/parameter_reference.md#RD_TRANS_DRV_TRN) | Heading error threshold to switch from driving to spot turning | deg |
|
||||
| <a id="RD_TRANS_TRN_DRV"></a>[RD_TRANS_TRN_DRV](../advanced_config/parameter_reference.md#RD_TRANS_TRN_DRV) | Heading error threshold to switch from spot turning to driving | deg |
|
||||
@@ -1,10 +0,0 @@
|
||||
# Mecanum Rovers
|
||||
|
||||
<Badge type="tip" text="PX4 v1.16" /> <Badge type="warning" text="Experimental" />
|
||||
|
||||
A Mecanum rover is a type of mobile robot that uses Mecanum wheels to achieve omnidirectional movement. These wheels are unique because they have rollers mounted at a 45-degree angle around their circumference, allowing the rover to move not only forward and backward but also side-to-side and diagonally without needing to rotate first.
|
||||
Each wheel is driven by its own motor, and by controlling the speed and direction of each motor, the rover can move in any direction or spin in place.
|
||||
|
||||

|
||||
|
||||
See [Configuration/Tuning](../config_rover/mecanum.md) to set up your rover and [Drive Modes](../flight_modes_rover/mecanum.md) for the supported flight (aka drive) modes.
|
||||
Reference in New Issue
Block a user