Gazebo model for the fully-actuated hexarotor added

This commit is contained in:
Azarakhsh Keipour 2020-12-06 20:51:48 -05:00
parent f33b118dfb
commit 5c09254a83
14 changed files with 1690 additions and 1 deletions

View File

@ -28,7 +28,15 @@ We have tested the firmware only with Pixracer. If you have flash memory issues
More detailed guide will be incrementally added here. Please reach us directly or submit an issue on this repository if you have specific questions, concerns, feedback or bug reports.
The files for the Gazebo simulation model and detailed guide on compiling for SITL will be added here by the end of November 2020.
To simulate using gazebo, you need to add the model and the world of your fully-actuated UAV to the firmware. Optionally you can modify the model files for our hexarotor (with all arms tilted for 30 degrees).
To enable simulation for our multirotor, copy the contents of the `world` and `model` folders from `sitl_gazebo_fully_actuated` to the `world` and `model` folders in `Tools/sitl_gazebo`. Now you can run the SITL simulation of our UAV using the following command:
```
make px4_sitl gazebo_hexa_x_tilt
```
If you get `gazebo_opticalflow_plugin.h:43:18: error: TRUE was not declared in this scope`, simply replace `TRUE` with `true` in `Tools/sitl_gazebo/include/gazebo_opticalflow_plugin.h` line 43.
### Disclaimer

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,16 @@
<?xml version="1.0"?>
<model>
<name>Tilt-Hex</name>
<version>1.0</version>
<sdf version='1.6'>hexa_x_tilt.sdf</sdf>
<author>
<name>Azarakhsh Keipour</name>
<email>keipour@cmu.edu</email>
</author>
<description>
This is a model of omnidirectional hexarotor with tilted rotors.
</description>
</model>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" ?>
<sdf version="1.5">
<world name="default">
<!-- A global light source -->
<include>
<uri>model://sun</uri>
</include>
<!-- A ground plane -->
<include>
<uri>model://ground_plane</uri>
</include>
<include>
<uri>model://hexa_x_tilt</uri>
</include>
<include>
<uri>model://asphalt_plane</uri>
</include>
<physics name='default_physics' default='0' type='ode'>
<gravity>0 0 -9.8066</gravity>
<ode>
<solver>
<type>quick</type>
<iters>50</iters>
<sor>1.0</sor>
<use_dynamic_moi_rescaling>0</use_dynamic_moi_rescaling>
</solver>
<constraints>
<cfm>0</cfm>
<erp>0.2</erp>
<contact_max_correcting_vel>100</contact_max_correcting_vel>
<contact_surface_layer>0.001</contact_surface_layer>
</constraints>
</ode>
<max_step_size>0.004</max_step_size>
<real_time_factor>1</real_time_factor>
<real_time_update_rate>250</real_time_update_rate>
<magnetic_field>6.0e-6 2.3e-5 -4.2e-5</magnetic_field>
</physics>
<!-- <gui fullscreen='0'>
<camera name='user_camera'>
<pose frame=''>5.4634 -5.46339 2.17586 0 0.275643 2.35619</pose>
<view_controller>orbit</view_controller>
<projection_type>perspective</projection_type>
<track_visual>
<name>iris</name>
<use_model_frame>1</use_model_frame>
</track_visual>
</camera>
</gui>
-->
</world>
</sdf>