-
Notifications
You must be signed in to change notification settings - Fork 122
Commit
1. Add initial version of Peter Hall's OmniCopter - Initial version of Peter Hall's OmniCopter - Add base model config and sdf - Add mesh files for base, tail booms and spinners - First draft of joint locations and orientations - Add runway model to demo 2. Add props and system plugins - Add prop visuals - Add JointStatePublisher system plugin - Add ApplyJointForce system plugins - Add LiftDrag system plugins (2x for each prop) - Add ArduPilotGazebo system plugin - Add control elements for each prop (all linked to channel 2 for initial testing) - Max RPM is 13185 (1381 rad/s) - Set prop rotation reversible 3. Update inertials and PIDs - Use settings from Iris quadcopter as an initial guess 4. Add force torque sensors to props and add params and scripts - Set up servo params correctly for AP plugin - Add parameters and scripts from the main AP repo and Peter Hall's RF model - Add force torque sensors and system plugin - Increase prop thrust by moving CP outwards and increasing prop area - Increase area of base collision to provide 'training wheels' while attempting a tune 5. Change frame for force sensor, update prop lift and params - Set params allow drone to circle, no stable attitude control 6. Add parameters and mixer for zero prop torque test case 7. Contract body collision and place motors precisely - Contract body collision to 0.25 x 0.25 x 0.25 cube - Use calculated values for motor positions and directions rather than estimates from Blender 8. Correct motor inertials - Adjust motor inertials so they are centred on the joint positions (and are symmetrically arranged) 9. Add thumbnails 10. Rename config and param files - Add suffix including the prop torque parameter value 11. Move thumbnails 12. Add model for Omnicopter - Update names of parameter files. - Add user document. Signed-off-by: Rhys Mainwaring <[email protected]>
- Loading branch information
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
AHRS_EKF_TYPE,10 | ||
ANGLE_MAX,8000 | ||
ATC_ANGLE_BOOST,0 | ||
ATC_RAT_PIT_D,0.02 | ||
ATC_RAT_PIT_I,0.015 | ||
ATC_RAT_PIT_P,0.03 | ||
ATC_RAT_RLL_D,0.02 | ||
ATC_RAT_RLL_I,0.015 | ||
ATC_RAT_RLL_P,0.03 | ||
ATC_RAT_YAW_D,0.02 | ||
ATC_RAT_YAW_FLTD,20 | ||
ATC_RAT_YAW_FLTE,0 | ||
ATC_RAT_YAW_FLTT,20 | ||
ATC_RAT_YAW_I,0.025 | ||
ATC_RAT_YAW_P,0.04 | ||
AUTOTUNE_AGGR,0.1 | ||
AUTOTUNE_AXES,7 | ||
AUTOTUNE_MIN_D,0.001 | ||
EK2_ENABLE,1 | ||
EK3_ENABLE,0 | ||
FLTMODE2,2 | ||
FLTMODE3,5 | ||
FLTMODE6,5 | ||
FRAME_CLASS,16 | ||
FRAME_TYPE,1 | ||
FS_CRASH_CHECK,0 | ||
MOT_PWM_MAX,2000 | ||
MOT_PWM_MIN,1000 | ||
MOT_SPIN_ARM,0.1 | ||
MOT_SPIN_MAX,1 | ||
MOT_SPIN_MIN,-1 | ||
MOT_THST_EXPO,0.75 | ||
MOT_THST_HOVER,0.25 | ||
MOT_YAW_HEADROOM,50 | ||
RC1_MAX,2000 | ||
RC1_MIN,1000 | ||
RC2_MAX,2000 | ||
RC2_MIN,1000 | ||
RC2_REVERSED,1 | ||
RC3_MAX,2000 | ||
RC3_MIN,1000 | ||
RC4_MAX,2000 | ||
RC4_MIN,1000 | ||
RC8_OPTION,17 | ||
SCR_DEBUG_LVL,0 | ||
SCR_DIR_DISABLE,0 | ||
SCR_ENABLE,1 | ||
SCR_HEAP_SIZE,65536 | ||
SCR_USER1,0 | ||
SCR_USER2,0 | ||
SCR_USER3,0 | ||
SCR_USER4,0 | ||
SCR_VM_I_COUNT,10000 | ||
SERVO1_FUNCTION,33 | ||
SERVO1_MAX,2000 | ||
SERVO1_MIN,1000 | ||
SERVO2_FUNCTION,34 | ||
SERVO2_MAX,2000 | ||
SERVO2_MIN,1000 | ||
SERVO3_FUNCTION,35 | ||
SERVO3_MAX,2000 | ||
SERVO3_MIN,1000 | ||
SERVO4_FUNCTION,36 | ||
SERVO4_MAX,2000 | ||
SERVO4_MIN,1000 | ||
SERVO5_FUNCTION,37 | ||
SERVO5_MAX,2000 | ||
SERVO5_MIN,1000 | ||
SERVO6_FUNCTION,38 | ||
SERVO6_MAX,2000 | ||
SERVO6_MIN,1000 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# Omnicopter | ||
|
||
Model for the 6DoF omnicopter for use with ArduPilot. | ||
It is derived from the [version prepared for RealFlight](https://github.com/ArduPilot/SITL_Models/tree/master/RealFlight/WIP/iampete/Lynchpin). | ||
|
||
|
||
![omnicopter_2](https://user-images.githubusercontent.com/24916364/146563555-57b4afc7-dec5-4720-9446-d1dafb82aeca.png) | ||
|
||
![omnicopter_1_viz](https://user-images.githubusercontent.com/24916364/146563631-592c6459-d72c-45a7-86c6-09da64a96e22.png) | ||
|
||
## Usage | ||
|
||
Gazebo and the plugins should be installed as per the [ArduPilot Gazebo Plugin](https://github.com/ArduPilot/ardupilot_gazebo) instructions. | ||
|
||
Update the `GZ_SIM_RESOURCE_PATH` to include these models: | ||
|
||
```bash | ||
export GZ_SIM_RESOURCE_PATH=$GZ_SIM_RESOURCE_PATH:\ | ||
$HOME/SITL_Models/Gazebo/models:\ | ||
$HOME/SITL_Models/Gazebo/worlds | ||
``` | ||
|
||
#### Run Gazebo | ||
|
||
```bash | ||
gz sim -v4 -r omnicopter_runway.sdf | ||
``` | ||
|
||
#### Run ArduPilot SITL | ||
|
||
```bash | ||
sim_vehicle.py -v ArduCopter -f JSON --add-param-file=$HOME/SITL_Models/Gazebo/config/omnicopter.param --console --map | ||
``` |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
<?xml version="1.0"?> | ||
<model> | ||
<name>OmniCopter</name> | ||
<version>1.0</version> | ||
<sdf version='1.7'>model.sdf</sdf> | ||
|
||
<author> | ||
<name>Peter Hall</name> | ||
</author> | ||
|
||
<author> | ||
<name>Rhys Mainwaring</name> | ||
<email>[email protected]</email> | ||
</author> | ||
|
||
<description> | ||
This is a model of a 6DOF OmniCopter with ArduPilot integration. | ||
</description> | ||
</model> |