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

Gazebo: Add model for OmniCopter #55

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

srmainwaring
Copy link
Collaborator

@srmainwaring srmainwaring commented Dec 17, 2021

This draft PR adds a Gazebo model for @IamPete1's OmniCopter

omnicopter_2

omnicopter_1_viz

Usage

Gazebo and the plugins should be installed as per the ardupilot_gazebo wiki instructions.

Run Gazebo

gz sim -v4 -r omnicopter_runway.sdf

Run ArduPilot SITL

Copy the script Motors_6DoF.lua to the SITL scripts directory, then start SITL,

sim_vehicle.py -v ArduCopter -f JSON --add-param-file=$HOME/SITL_Models/Gazebo/config/omnicopter.param --console --map

Issues

The copter is not tuned and the attitude is not controlled. In 6DoF mode you can takeoff and CIRCLE but the copter constantly tumbles.

@srmainwaring srmainwaring marked this pull request as draft December 17, 2021 15:03
@srmainwaring srmainwaring force-pushed the ignition/omnicopter branch 3 times, most recently from 2bcedba to b3b2c65 Compare January 14, 2022 10:29
@srmainwaring srmainwaring force-pushed the ignition/omnicopter branch 4 times, most recently from d80285f to fcc40fd Compare January 26, 2022 14:13
@srmainwaring srmainwaring self-assigned this Jan 3, 2023
@srmainwaring srmainwaring changed the title Add Ignition model for OmniCopter Gazebo: Add model for OmniCopter Jan 4, 2023
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 <rhys.mainwaring@me.com>
- Migrate ignition to gz.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant