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 Sawppy rover #95

Merged
merged 1 commit into from
Jan 10, 2023

Conversation

srmainwaring
Copy link
Collaborator

@srmainwaring srmainwaring commented Jan 4, 2023

This PR is for a version of Roger Chen's Sawppy Rover controlled using ArduPilot with a custom mixer scripted in Lua.

sawppy-pivot-1

Details

  • This is a port of the models from srmainwaring/curio and srmainwaring/ardupilot_gazebo_models to ArduPilot. The original version runs on ROS Melodic using a customised version of the ros_control package. This version is independent of ROS and the model is defined completely using Gazebos SDF markup.
  • A detailed user guide is included in SITL_Models/Gazebo/docs/Swappy.md.
  • Supports in-place / pivot turns (no skid - drives are differential and steered).
  • This is an initial version of the model with fully functioning drive and steering but a restricted suspension system and a simple texturing. The plan is to add improvements incrementally with follow up PRs.

Context

Future Dev

The rocker-bogie suspension can be enabled once the support for closed kinematic chains available in Gazebo classic has been completed in Gazebo Sim. See the following for details:

@rmackay9
Copy link
Contributor

rmackay9 commented Jan 4, 2023

Very nice to see the custom support. Just to link things together here is the related issue ArduPilot/ardupilot#20563

1. Initial version moved from https://github.com/srmainwaring/ardupilot_gazebo_models.

2. Update mode for Gazebo Sim
- Update materials removing scripts.
- Fix rocker joints and drop turnbuckle until close kinematic chain issue resolved.

3. Add example world.

4. Add draft version of user document - model guide.

5. Add mixer, params and user guide.

6. Add sensors and plugins.
- Remove the separate sawppy model requiring nesting.
- Rename params.
- Add IMU sensor.
- Add plugins and adjust position and velocity joint controllers.

7. Update user guide.

8. Fix typo in plugin names (remove trailing .)

9. Add image to docs and update rover materials.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
@srmainwaring
Copy link
Collaborator Author

srmainwaring commented Jan 10, 2023

@rmackay9 I'll merge this PR to provide a base level example for mars-type rovers.

As a follow up, it might be useful to move the mixer script to libraries/AP_Scripting/applets? There are a few additions to make it stand alone which I'll outline in ArduPilot/ardupilot#20563.

@srmainwaring srmainwaring merged commit 78eb2de into ArduPilot:master Jan 10, 2023
@srmainwaring srmainwaring deleted the srmainwaring/sawppy branch January 10, 2023 11:16
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.

2 participants