first commit
@@ -0,0 +1,198 @@
|
||||
cmake_minimum_required(VERSION 2.8.3)
|
||||
project(iq_sim)
|
||||
|
||||
## Compile as C++11, supported in ROS Kinetic and newer
|
||||
# add_compile_options(-std=c++11)
|
||||
|
||||
## Find catkin macros and libraries
|
||||
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
|
||||
## is used, also find other catkin packages
|
||||
find_package(catkin REQUIRED COMPONENTS
|
||||
roscpp
|
||||
std_msgs
|
||||
)
|
||||
|
||||
## System dependencies are found with CMake's conventions
|
||||
# find_package(Boost REQUIRED COMPONENTS system)
|
||||
|
||||
|
||||
## Uncomment this if the package has a setup.py. This macro ensures
|
||||
## modules and global scripts declared therein get installed
|
||||
## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
|
||||
# catkin_python_setup()
|
||||
|
||||
################################################
|
||||
## Declare ROS messages, services and actions ##
|
||||
################################################
|
||||
|
||||
## To declare and build messages, services or actions from within this
|
||||
## package, follow these steps:
|
||||
## * Let MSG_DEP_SET be the set of packages whose message types you use in
|
||||
## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
|
||||
## * In the file package.xml:
|
||||
## * add a build_depend tag for "message_generation"
|
||||
## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET
|
||||
## * If MSG_DEP_SET isn't empty the following dependency has been pulled in
|
||||
## but can be declared for certainty nonetheless:
|
||||
## * add a exec_depend tag for "message_runtime"
|
||||
## * In this file (CMakeLists.txt):
|
||||
## * add "message_generation" and every package in MSG_DEP_SET to
|
||||
## find_package(catkin REQUIRED COMPONENTS ...)
|
||||
## * add "message_runtime" and every package in MSG_DEP_SET to
|
||||
## catkin_package(CATKIN_DEPENDS ...)
|
||||
## * uncomment the add_*_files sections below as needed
|
||||
## and list every .msg/.srv/.action file to be processed
|
||||
## * uncomment the generate_messages entry below
|
||||
## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
|
||||
|
||||
## Generate messages in the 'msg' folder
|
||||
# add_message_files(
|
||||
# FILES
|
||||
# Message1.msg
|
||||
# Message2.msg
|
||||
# )
|
||||
|
||||
## Generate services in the 'srv' folder
|
||||
# add_service_files(
|
||||
# FILES
|
||||
# Service1.srv
|
||||
# Service2.srv
|
||||
# )
|
||||
|
||||
## Generate actions in the 'action' folder
|
||||
# add_action_files(
|
||||
# FILES
|
||||
# Action1.action
|
||||
# Action2.action
|
||||
# )
|
||||
|
||||
## Generate added messages and services with any dependencies listed here
|
||||
# generate_messages(
|
||||
# DEPENDENCIES
|
||||
# std_msgs
|
||||
# )
|
||||
|
||||
################################################
|
||||
## Declare ROS dynamic reconfigure parameters ##
|
||||
################################################
|
||||
|
||||
## To declare and build dynamic reconfigure parameters within this
|
||||
## package, follow these steps:
|
||||
## * In the file package.xml:
|
||||
## * add a build_depend and a exec_depend tag for "dynamic_reconfigure"
|
||||
## * In this file (CMakeLists.txt):
|
||||
## * add "dynamic_reconfigure" to
|
||||
## find_package(catkin REQUIRED COMPONENTS ...)
|
||||
## * uncomment the "generate_dynamic_reconfigure_options" section below
|
||||
## and list every .cfg file to be processed
|
||||
|
||||
## Generate dynamic reconfigure parameters in the 'cfg' folder
|
||||
# generate_dynamic_reconfigure_options(
|
||||
# cfg/DynReconf1.cfg
|
||||
# cfg/DynReconf2.cfg
|
||||
# )
|
||||
|
||||
###################################
|
||||
## catkin specific configuration ##
|
||||
###################################
|
||||
## The catkin_package macro generates cmake config files for your package
|
||||
## Declare things to be passed to dependent projects
|
||||
## INCLUDE_DIRS: uncomment this if your package contains header files
|
||||
## LIBRARIES: libraries you create in this project that dependent projects also need
|
||||
## CATKIN_DEPENDS: catkin_packages dependent projects also need
|
||||
## DEPENDS: system dependencies of this project that dependent projects also need
|
||||
catkin_package(
|
||||
# INCLUDE_DIRS include
|
||||
# LIBRARIES iq_sim
|
||||
# CATKIN_DEPENDS roscpp std_msgs
|
||||
# DEPENDS system_lib
|
||||
)
|
||||
|
||||
###########
|
||||
## Build ##
|
||||
###########
|
||||
|
||||
## Specify additional locations of header files
|
||||
## Your package locations should be listed before other locations
|
||||
include_directories(
|
||||
# include
|
||||
${catkin_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
## Declare a C++ library
|
||||
# add_library(${PROJECT_NAME}
|
||||
# src/${PROJECT_NAME}/iq_sim.cpp
|
||||
# )
|
||||
|
||||
## Add cmake target dependencies of the library
|
||||
## as an example, code may need to be generated before libraries
|
||||
## either from message generation or dynamic reconfigure
|
||||
# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
|
||||
|
||||
## Declare a C++ executable
|
||||
## With catkin_make all packages are built within a single CMake context
|
||||
## The recommended prefix ensures that target names across packages don't collide
|
||||
# add_executable(${PROJECT_NAME}_node src/iq_sim_node.cpp)
|
||||
|
||||
## Rename C++ executable without prefix
|
||||
## The above recommended prefix causes long target names, the following renames the
|
||||
## target back to the shorter version for ease of user use
|
||||
## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node"
|
||||
# set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "")
|
||||
|
||||
## Add cmake target dependencies of the executable
|
||||
## same as for the library above
|
||||
# add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
|
||||
|
||||
## Specify libraries to link a library or executable target against
|
||||
# target_link_libraries(${PROJECT_NAME}_node
|
||||
# ${catkin_LIBRARIES}
|
||||
# )
|
||||
|
||||
#############
|
||||
## Install ##
|
||||
#############
|
||||
|
||||
# all install targets should use catkin DESTINATION variables
|
||||
# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
|
||||
|
||||
## Mark executable scripts (Python etc.) for installation
|
||||
## in contrast to setup.py, you can choose the destination
|
||||
# install(PROGRAMS
|
||||
# scripts/my_python_script
|
||||
# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
|
||||
# )
|
||||
|
||||
## Mark executables and/or libraries for installation
|
||||
# install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node
|
||||
# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
|
||||
# )
|
||||
|
||||
## Mark cpp header files for installation
|
||||
# install(DIRECTORY include/${PROJECT_NAME}/
|
||||
# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
|
||||
# FILES_MATCHING PATTERN "*.h"
|
||||
# PATTERN ".svn" EXCLUDE
|
||||
# )
|
||||
|
||||
## Mark other files for installation (e.g. launch and bag files, etc.)
|
||||
# install(FILES
|
||||
# # myfile1
|
||||
# # myfile2
|
||||
# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
||||
# )
|
||||
|
||||
#############
|
||||
## Testing ##
|
||||
#############
|
||||
|
||||
## Add gtest based cpp test target and link libraries
|
||||
# catkin_add_gtest(${PROJECT_NAME}-test test/test_iq_sim.cpp)
|
||||
# if(TARGET ${PROJECT_NAME}-test)
|
||||
# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
|
||||
# endif()
|
||||
|
||||
## Add folders to be run by python nosetests
|
||||
# catkin_add_nosetests(test)
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020 Intelligent-Quads
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,109 @@
|
||||
# IQ Simulations
|
||||
|
||||
This repo hosts gazebo worlds for various drone scenarios and various drone configurations. This Repo is specifically designed to work with the Ardupilot control system, and utilizes the ardupilot gazebo plugin to allow the ardupilot control software to interface and control the model drone in gazebo.
|
||||
|
||||
## Community Discord Server
|
||||
|
||||
Come be a part of the growing community of drone application developers! Join the conversation in our [discord](https://discord.gg/xZjXaAf).
|
||||
|
||||
## IQ Tutorials
|
||||
This Repo is part of the Intelligent Quads Software Development tutorial series. Please take a look at the following resources to learn more about how to use this repository.
|
||||
|
||||
[Intelligent Quads Text Tutorials](https://github.com/Intelligent-Quads/iq_tutorials)
|
||||
|
||||
[Intelligent Quads Video Tutorials](https://www.youtube.com/channel/UCuZy0c-uvSJglnZfQC0-uaQ)
|
||||
|
||||
|
||||
## Dependencies
|
||||
|
||||
Take a look at these tutorials to setup ardupilot, gazebo and the ardupilot gazebo plugin
|
||||
|
||||
[Installing Ardupilot and MAVProxy](https://github.com/Intelligent-Quads/iq_tutorials/blob/master/docs/Installing_Ardupilot.md)
|
||||
|
||||
[Installing QGroundControl](https://github.com/Intelligent-Quads/iq_tutorials/blob/master/docs/installing_qgc.md)
|
||||
|
||||
[Installing Gazebo and ArduPilot Plugin](https://github.com/Intelligent-Quads/iq_tutorials/blob/master/docs/installing_gazebo_arduplugin.md)
|
||||
|
||||
Installing x-term is recommended as it allows the ardupilot sitl interface to run in a terminal that will cleanly close when closing you sitl instance
|
||||
```
|
||||
sudo apt install xterm
|
||||
```
|
||||
|
||||
## Drone Simulations
|
||||
|
||||

|
||||
|
||||
This repo contains a couple different gazebo worlds containing various ardupilot drone configurations. The worlds are listed below
|
||||
|
||||
- `droneOnly.world` - simple gazebo world containing only a single drone
|
||||
- `runway.world` - simple gazebo world containing only a single drone on a runway
|
||||
- `lidar.world` - a simple gazebo world containing a single drone with a 2d lidar sensor
|
||||
- `multi_drone.world` - a simple world containing 12 drones
|
||||
|
||||
### Running Drone Simulations
|
||||
|
||||
Each world contains a corresponding launch file. For example to launch `runway.world` run
|
||||
```
|
||||
roslaunch iq_sim runway.launch
|
||||
```
|
||||
Launch the ardupilot instance by running
|
||||
```
|
||||
cd ~/ardupilot/ArduCopter/ && sim_vehicle.py -v ArduCopter -f gazebo-iris --console
|
||||
```
|
||||
For more information, take a look at the corresponding tutorials [here](https://github.com/Intelligent-Quads/iq_tutorials)
|
||||
|
||||
## Boat Simulation
|
||||
|
||||
Recently I have been experimenting with Ardurover for controlling an autonomous boat. Below shows the steps for installing for boat simulation. If you have already installed for quadcopter simulation, then most of the boat installation should already be completed.
|
||||
|
||||
[boat setup](docs/boat_setup.md)
|
||||
|
||||

|
||||
|
||||
## Run Boat Sim
|
||||
|
||||
First terminal
|
||||
```
|
||||
roslaunch iq_sim boat.launch
|
||||
```
|
||||
Second terminal
|
||||
```
|
||||
sim_vehicle.py -v APMrover2 -f gazebo-rover -m --mav10 --console -L Viridian
|
||||
```
|
||||
|
||||
|
||||
## IQ_SIM Models
|
||||
|
||||
|
||||
### drone1-12
|
||||
This repo hosts a few helpful gazebo models you can use to build upon. Included in this repo are 12 drones which contain the ardupilot plugin. Each ardupilot plugin is staggered such that you can simulate multiple unique aircraft using ardupilot's SITL. For more information please see the iq_tutorial on [ardupilot drone swarming](https://github.com/Intelligent-Quads/iq_tutorials/blob/master/docs/swarming_ardupilot.md)
|
||||
|
||||
### drone_with_lidar
|
||||
|
||||
Example drone that has a 2d lidar attached. The lidar plugin publishes a `sensor_msgs/LaserScan` ROS msg containing return data.
|
||||
|
||||
topics
|
||||
```
|
||||
/spur/laser/scan
|
||||
```
|
||||
|
||||

|
||||
|
||||
### drone_with_sonar
|
||||
|
||||
Example drone with 4 sonars attached in each direction. Each sonar publishes a `sensor_msgs/Range` ROS msg containing range data.
|
||||
|
||||
topics
|
||||
```
|
||||
/drone1/sensor/sonar/back
|
||||
/drone1/sensor/sonar/front
|
||||
/drone1/sensor/sonar/left
|
||||
/drone1/sensor/sonar/right
|
||||
```
|
||||

|
||||
|
||||
### drone_with_camera
|
||||
|
||||
Example drone with a forward facing camera. The camera published a `sensor_msgs/Image` ROS msg which can be used to view or do image processing on.
|
||||
|
||||

|
||||
@@ -0,0 +1,399 @@
|
||||
# Installing Ardupilot and MAVProxy
|
||||
|
||||
### Video tutorial at https://youtu.be/wlkoq65mM2A
|
||||
|
||||
## Clone ArduPilot
|
||||
|
||||
In home directory:
|
||||
```
|
||||
cd ~
|
||||
git clone https://github.com/ArduPilot/ardupilot.git
|
||||
cd ardupilot
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
||||
## Install dependencies:
|
||||
```
|
||||
sudo apt install python-matplotlib python-serial python-wxgtk3.0 python-wxtools python-lxml python-scipy python-opencv ccache gawk git python-pip python-pexpect
|
||||
```
|
||||
|
||||
## Use pip (Python package installer) to install mavproxy:
|
||||
```
|
||||
sudo pip install future pymavlink MAVProxy
|
||||
```
|
||||
|
||||
MAVProxy is a fully-functioning GCS for UAV’s. The intent is for a minimalist, portable and extendable GCS for any UAV supporting the MAVLink protocol (such as one using ArduPilot). For more information check out http://ardupilot.github.io/MAVProxy/html/index.html
|
||||
|
||||
Open `~/.bashrc` for editing:
|
||||
```
|
||||
gedit ~/.bashrc
|
||||
```
|
||||
|
||||
Add these lines to end of `~/.bashrc` (the file open in the text editor):
|
||||
```
|
||||
export PATH=$PATH:$HOME/ardupilot/Tools/autotest
|
||||
export PATH=/usr/lib/ccache:$PATH
|
||||
```
|
||||
|
||||
Save and close the text editor.
|
||||
|
||||
Reload `~/.bashrc`:
|
||||
```
|
||||
. ~/.bashrc
|
||||
```
|
||||
|
||||
Run SITL (Software In The Loop) once to set params:
|
||||
```
|
||||
sim_vehicle.py -v APMrover2
|
||||
```
|
||||
|
||||
# Intalling QGroundControl
|
||||
|
||||
### Video tutorial at https://youtu.be/qLQQbhKDQ6M
|
||||
|
||||
## Overview
|
||||
|
||||
QGroundControl provides full flight control and vehicle setup for PX4 or ArduPilot powered vehicles. It provides easy and straightforward usage for beginners, while still delivering high end feature support for experienced users.
|
||||
|
||||
### Key Features:
|
||||
|
||||
- Full setup/configuration of ArduPilot and PX4 Pro powered vehicles.
|
||||
- Flight support for vehicles running PX4 and ArduPilot (or any other autopilot that communicates using the MAVLink protocol).
|
||||
- Mission planning for autonomous flight.
|
||||
- Flight map display showing vehicle position, flight track, waypoints and vehicle instruments.
|
||||
- Video streaming with instrument display overlays.
|
||||
- Support for managing multiple vehicles.
|
||||
- QGC runs on Windows, OS X, Linux platforms, iOS and Android devices.
|
||||
|
||||
for more detailed information please visit http://qgroundcontrol.com/
|
||||
|
||||
## install QGroundControl for Ubuntu Linux 16.04 LTS or later:
|
||||
|
||||
Download QGroundControl.AppImage
|
||||
```
|
||||
wget https://s3-us-west-2.amazonaws.com/qgroundcontrol/latest/QGroundControl.AppImage
|
||||
```
|
||||
change permissions and run
|
||||
```
|
||||
chmod +x ./QGroundControl.AppImage
|
||||
./QGroundControl.AppImage #(or double click)
|
||||
```
|
||||
|
||||
## Run SITL and connect with Q Ground
|
||||
|
||||
```
|
||||
sim_vehicle.py -v APMrover2
|
||||
```
|
||||
|
||||
# Installing Gazebo and ArduPilot Plugin
|
||||
|
||||
### Video Tutorial at https://youtu.be/m7hPyJJmWmU
|
||||
|
||||
## Overview
|
||||
|
||||
Robot simulation is an essential tool in every roboticist's toolbox. A well-designed simulator makes it possible to rapidly test algorithms, design robots, perform regression testing, and train AI system using realistic scenarios. Gazebo offers the ability to accurately and efficiently simulate populations of robots in complex indoor and outdoor environments. At your fingertips is a robust physics engine, high-quality graphics, and convenient programmatic and graphical interfaces. Best of all, Gazebo is free with a vibrant community.
|
||||
|
||||
for more infromation on gazebo checkout http://gazebosim.org/
|
||||
|
||||
## Install Gazebo
|
||||
|
||||
Setup your computer to accept software from http://packages.osrfoundation.org:
|
||||
```
|
||||
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
|
||||
```
|
||||
|
||||
Setup keys:
|
||||
```
|
||||
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
|
||||
```
|
||||
|
||||
Reload software list:
|
||||
```
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
Install Gazebo:
|
||||
```
|
||||
sudo apt install gazebo9 libgazebo9-dev
|
||||
```
|
||||
|
||||
for more detailed instructions for installing gazebo checkout http://gazebosim.org/tutorials?tut=install_ubuntu
|
||||
|
||||
## Install Gazebo plugin for APM (ArduPilot Master):
|
||||
```
|
||||
cd ~
|
||||
git clone https://github.com/khancyr/ardupilot_gazebo.git
|
||||
cd ardupilot_gazebo
|
||||
git checkout dev
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make -j4
|
||||
sudo make install
|
||||
```
|
||||
```
|
||||
echo 'source /usr/share/gazebo/setup.sh' >> ~/.bashrc
|
||||
```
|
||||
Set paths for models:
|
||||
```
|
||||
echo 'export GAZEBO_MODEL_PATH=~/ardupilot_gazebo/models' >> ~/.bashrc
|
||||
. ~/.bashrc
|
||||
```
|
||||
|
||||
## Run Simulator
|
||||
In one Terminal (Terminal 1), run Gazebo:
|
||||
```
|
||||
gazebo --verbose ~/ardupilot_gazebo/worlds/iris_arducopter_runway.world
|
||||
```
|
||||
|
||||
In another Terminal (Terminal 2), run SITL:
|
||||
```
|
||||
cd ~/ardupilot/ArduCopter/
|
||||
sim_vehicle.py -v ArduCopter -f gazebo-iris --console
|
||||
```
|
||||
|
||||
# Install ROS and Setup Catkin
|
||||
|
||||
### Video Tutorial at https://youtu.be/EmIjedzHwzI
|
||||
|
||||
In this tutorial we are using **Ubuntu 18.04** and **ROS Melodic**
|
||||
|
||||
Code blocks are meant to be typed in Terminal windows. "Control+Alt+T" opens a new Terminal window.
|
||||
|
||||
## 1. Install ROS
|
||||
|
||||
- Do _Desktop-full Install_
|
||||
- Follow until _Step 1.7_ at the end of the page
|
||||
|
||||
First, install **ROS Melodic** using the following instructions: http://wiki.ros.org/melodic/Installation/Ubuntu
|
||||
|
||||
|
||||
## 2. Set Up Catkin workspace
|
||||
|
||||
We use `catkin build` instead of `catkin_make`. Please install the following:
|
||||
```
|
||||
sudo apt-get install python-wstool python-rosinstall-generator python-catkin-tools
|
||||
```
|
||||
|
||||
Then, initialize the catkin workspace:
|
||||
```
|
||||
mkdir -p ~/catkin_ws/src
|
||||
cd ~/catkin_ws
|
||||
catkin init
|
||||
```
|
||||
|
||||
## 3. Dependencies installation
|
||||
|
||||
Install `mavros` and `mavlink` from source:
|
||||
```
|
||||
cd ~/catkin_ws
|
||||
wstool init ~/catkin_ws/src
|
||||
|
||||
rosinstall_generator --upstream mavros | tee /tmp/mavros.rosinstall
|
||||
rosinstall_generator mavlink | tee -a /tmp/mavros.rosinstall
|
||||
wstool merge -t src /tmp/mavros.rosinstall
|
||||
wstool update -t src
|
||||
rosdep install --from-paths src --ignore-src --rosdistro `echo $ROS_DISTRO` -y
|
||||
|
||||
catkin build
|
||||
```
|
||||
Add a line to end of `~/.bashrc` by running the following command:
|
||||
```
|
||||
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
|
||||
```
|
||||
|
||||
update global variables
|
||||
```
|
||||
source ~/.bashrc
|
||||
```
|
||||
|
||||
## 4. Clone IQ Simulation ROS package
|
||||
|
||||
```
|
||||
cd ~/catkin_ws/src
|
||||
git clone https://github.com/Intelligent-Quads/iq_sim.git
|
||||
cd iq_sim
|
||||
git checkout boat
|
||||
```
|
||||
Our repository should now be copied to `~/catkin_ws/src/iq_sim/` (don't run this line. This is just saying that if you browse in the file manager, you will see those folders).
|
||||
|
||||
## 5. Build instructions
|
||||
Inside `catkin_ws`, run `catkin build`:
|
||||
|
||||
```
|
||||
cd ~/catkin_ws
|
||||
catkin build
|
||||
```
|
||||
update global variables
|
||||
```
|
||||
source ~/.bashrc
|
||||
```
|
||||
## 6. Setup libgazebo_usv_dynamics_plugin
|
||||
|
||||
The boat simulator uses the usv dynamics plugin, which can be compiled from the px4 sitl_gazebo repo.
|
||||
|
||||
|
||||
|
||||
|
||||
## *sitl_gazebo* plugin dependencies
|
||||
|
||||
Some plugins on this packages require some specific dependencies:
|
||||
|
||||
* Protobuf is required to generate custom protobuf messages to be published and subscribed between topics of different plugins;
|
||||
* Jinja 2 is used to generate some SDF models from templates;
|
||||
* Gstreamer is required for a plugin that streams video from a simulated camera.
|
||||
|
||||
|
||||
### Ubuntu
|
||||
|
||||
```bash
|
||||
sudo apt-get install libprotobuf-dev libprotoc-dev protobuf-compiler libeigen3-dev libxml2-utils python-rospkg python-jinja2
|
||||
```
|
||||
|
||||
#### Gstreamer:
|
||||
```
|
||||
sudo apt-get install libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly -y
|
||||
```
|
||||
|
||||
|
||||
### Mac OS
|
||||
|
||||
```bash
|
||||
pip install rospkg jinja2
|
||||
brew tap homebrew/versions
|
||||
brew install eigen graphviz libxml2 sdformat3 opencv glib
|
||||
brew install homebrew/versions/protobuf260
|
||||
```
|
||||
|
||||
#### Gstreamer:
|
||||
```
|
||||
brew install gstreamer gst-plugins-base gst-plugins-good
|
||||
```
|
||||
|
||||
### Arch Linux
|
||||
|
||||
```bash
|
||||
sudo pacman -S --noconfirm --needed eigen3 hdf5 opencv protobuf vtk yay python2-jinja
|
||||
```
|
||||
|
||||
#### Gstreamer:
|
||||
```bash
|
||||
sudo pacman -S --needed gstreamer gst-plugins-bad gst-plugins-base gst-plugins-base-libs gst-plugins-good gst-plugins-ugly
|
||||
```
|
||||
|
||||
|
||||
## Build *sitl_gazebo*
|
||||
|
||||
Clone the repository to your computer.
|
||||
|
||||
**IMPORTANT: If you do not clone to ~/src/sitl_gazebo, all remaining paths in these instructions will need to be adjusted.**
|
||||
|
||||
```bash
|
||||
mkdir -p ~/src
|
||||
cd src
|
||||
git clone --recursive https://github.com/PX4/sitl_gazebo.git
|
||||
```
|
||||
|
||||
|
||||
|
||||
Navigate into the build directory and invoke CMake from it:
|
||||
|
||||
```bash
|
||||
cd ~/src/sitl_gazebo
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
```
|
||||
|
||||
Now build the gazebo plugins by typing:
|
||||
|
||||
```bash
|
||||
make -j$(nproc) -l$(nproc)
|
||||
```
|
||||
|
||||
Next add the location of this build directory to your gazebo plugin path, e.g. add the following line to your `.bashrc` (Linux) or `.bash_profile` (Mac) file:
|
||||
|
||||
```bash
|
||||
# Set the plugin path so Gazebo finds our plugins
|
||||
export GAZEBO_PLUGIN_PATH=${GAZEBO_PLUGIN_PATH}:$HOME/src/sitl_gazebo/build
|
||||
```
|
||||
|
||||
You also need to add the the root location of this repository, e.g. add the following line to your `.bashrc` (Linux) or `.bash_profile` (Mac) file:
|
||||
|
||||
```bash
|
||||
# Set path to sitl_gazebo repository
|
||||
export SITL_GAZEBO_PATH=$HOME/src/sitl_gazebo
|
||||
```
|
||||
|
||||
## Install
|
||||
|
||||
If you wish the libraries and models to be usable anywhere on your system without
|
||||
specifying th paths, install as shown below.
|
||||
|
||||
**Note: If you are using Ubuntu, it is best to see the packaging section.**
|
||||
|
||||
```bash
|
||||
sudo make install
|
||||
```
|
||||
|
||||
|
||||
## 7. Add Simulator Specific Variables
|
||||
|
||||
```
|
||||
gedit .bashrc
|
||||
```
|
||||
add to the bottom
|
||||
```
|
||||
export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:$HOME/catkin_ws/src/iq_sim/models
|
||||
```
|
||||
save and close
|
||||
```
|
||||
source ~/.bashrc
|
||||
```
|
||||
|
||||
## 8. Setup IQ GNC ROS package
|
||||
|
||||
```
|
||||
cd ~/catkin_ws/src
|
||||
git clone https://github.com/Intelligent-Quads/iq_gnc.git
|
||||
cd iq_gnc
|
||||
git checkout boat
|
||||
catkin build
|
||||
```
|
||||
|
||||
## 9. add custom location to ardurover sitl
|
||||
```
|
||||
cd ~/catkin_ws/src/iq_sim/scripts/
|
||||
./boatSetup.sh
|
||||
```
|
||||
|
||||
## 10. Run Boat Sim
|
||||
|
||||
First terminal
|
||||
```
|
||||
roslaunch iq_sim boat.launch
|
||||
```
|
||||
second terminal
|
||||
```
|
||||
sim_vehicle.py -v APMrover2 -f gazebo-rover -m --mav10 --console -L Viridian
|
||||
```
|
||||
on the first run, run the below in the mavproxy terminal
|
||||
```
|
||||
param load catkin_ws/src/iq_sim/scripts/ardu-parms/gazebo-boat.parm
|
||||
```
|
||||
|
||||
thrid terminal
|
||||
```
|
||||
roslaunch iq_sim apm.launch
|
||||
```
|
||||
fourth terminal
|
||||
```
|
||||
rosrun iq_gnc square
|
||||
```
|
||||
|
||||
set mode to guided by running the below in the mavproxy terminal (second terminal)
|
||||
```
|
||||
mode GUIDED
|
||||
```
|
||||
|
||||
boat should drive a square pattern
|
||||
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 345 KiB |
|
After Width: | Height: | Size: 391 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 51 KiB |
@@ -0,0 +1,272 @@
|
||||
# Common configuration for APM2 autopilot
|
||||
#
|
||||
# node:
|
||||
startup_px4_usb_quirk: false
|
||||
|
||||
# --- system plugins ---
|
||||
|
||||
# sys_status & sys_time connection options
|
||||
conn:
|
||||
heartbeat_rate: 1.0 # send hertbeat rate in Hertz
|
||||
heartbeat_mav_type: "ONBOARD_CONTROLLER"
|
||||
timeout: 10.0 # hertbeat timeout in seconds
|
||||
timesync_rate: 10.0 # TIMESYNC rate in Hertz (feature disabled if 0.0)
|
||||
system_time_rate: 1.0 # send system time to FCU rate in Hertz (disabled if 0.0)
|
||||
|
||||
# sys_status
|
||||
sys:
|
||||
min_voltage: 10.0 # diagnostics min voltage
|
||||
disable_diag: false # disable all sys_status diagnostics, except heartbeat
|
||||
|
||||
# sys_time
|
||||
time:
|
||||
time_ref_source: "fcu" # time_reference source
|
||||
timesync_mode: MAVLINK
|
||||
timesync_avg_alpha: 0.6 # timesync averaging factor
|
||||
|
||||
# --- mavros plugins (alphabetical order) ---
|
||||
|
||||
# 3dr_radio
|
||||
tdr_radio:
|
||||
low_rssi: 40 # raw rssi lower level for diagnostics
|
||||
|
||||
# actuator_control
|
||||
# None
|
||||
|
||||
# command
|
||||
cmd:
|
||||
use_comp_id_system_control: false # quirk for some old FCUs
|
||||
|
||||
# dummy
|
||||
# None
|
||||
|
||||
# ftp
|
||||
# None
|
||||
|
||||
# global_position
|
||||
global_position:
|
||||
frame_id: "map" # origin frame
|
||||
child_frame_id: "base_link_drone" # body-fixed frame
|
||||
rot_covariance: 99999.0 # covariance for attitude?
|
||||
gps_uere: 1.0 # User Equivalent Range Error (UERE) of GPS sensor (m)
|
||||
use_relative_alt: true # use relative altitude for local coordinates
|
||||
tf:
|
||||
send: true # send TF?
|
||||
frame_id: "map" # TF frame_id
|
||||
global_frame_id: "map" # TF earth frame_id
|
||||
child_frame_id: "base_link_drone" # TF child_frame_id
|
||||
|
||||
# imu_pub
|
||||
imu:
|
||||
frame_id: "base_link"
|
||||
# need find actual values
|
||||
linear_acceleration_stdev: 0.0003
|
||||
angular_velocity_stdev: 0.0003490659 // 0.02 degrees
|
||||
orientation_stdev: 1.0
|
||||
magnetic_stdev: 0.0
|
||||
|
||||
# local_position
|
||||
local_position:
|
||||
frame_id: "map"
|
||||
tf:
|
||||
send: false
|
||||
frame_id: "map"
|
||||
child_frame_id: "base_link"
|
||||
send_fcu: false
|
||||
|
||||
# param
|
||||
# None, used for FCU params
|
||||
|
||||
# rc_io
|
||||
# None
|
||||
|
||||
# safety_area
|
||||
safety_area:
|
||||
p1: {x: 1.0, y: 1.0, z: 1.0}
|
||||
p2: {x: -1.0, y: -1.0, z: -1.0}
|
||||
|
||||
# setpoint_accel
|
||||
setpoint_accel:
|
||||
send_force: false
|
||||
|
||||
# setpoint_attitude
|
||||
setpoint_attitude:
|
||||
reverse_thrust: false # allow reversed thrust
|
||||
use_quaternion: false # enable PoseStamped topic subscriber
|
||||
tf:
|
||||
listen: false # enable tf listener (disable topic subscribers)
|
||||
frame_id: "map"
|
||||
child_frame_id: "target_attitude"
|
||||
rate_limit: 50.0
|
||||
|
||||
# setpoint_raw
|
||||
setpoint_raw:
|
||||
thrust_scaling: 1.0 # specify thrust scaling (normalized, 0 to 1) for thrust (like PX4)
|
||||
|
||||
# setpoint_position
|
||||
setpoint_position:
|
||||
tf:
|
||||
listen: false # enable tf listener (disable topic subscribers)
|
||||
frame_id: "map"
|
||||
child_frame_id: "target_position"
|
||||
rate_limit: 50.0
|
||||
mav_frame: LOCAL_NED
|
||||
|
||||
# setpoint_velocity
|
||||
setpoint_velocity:
|
||||
mav_frame: LOCAL_NED
|
||||
|
||||
# vfr_hud
|
||||
# None
|
||||
|
||||
# waypoint
|
||||
mission:
|
||||
pull_after_gcs: true # update mission if gcs updates
|
||||
use_mission_item_int: true # use the MISSION_ITEM_INT message instead of MISSION_ITEM
|
||||
# for uploading waypoints to FCU
|
||||
|
||||
# --- mavros extras plugins (same order) ---
|
||||
|
||||
# adsb
|
||||
# None
|
||||
|
||||
# debug_value
|
||||
# None
|
||||
|
||||
# distance_sensor
|
||||
## Currently available orientations:
|
||||
# Check http://wiki.ros.org/mavros/Enumerations
|
||||
##
|
||||
distance_sensor:
|
||||
# rangefinder_sub:
|
||||
# frame_id: "drone_with_sonar::base_sonar_left"
|
||||
# subscriber: true
|
||||
# id: 0
|
||||
# orientation: PITCH_270 # only that orientation are supported by APM 3.4+
|
||||
front:
|
||||
frame_id: "drone_with_sonar::base_sonar_front"
|
||||
subscriber: true
|
||||
id: 0
|
||||
orientation: NONE
|
||||
max_range: 6.5
|
||||
left:
|
||||
frame_id: "drone_with_sonar::base_sonar_left"
|
||||
subscriber: true
|
||||
id: 2
|
||||
orientation: YAW_270
|
||||
right:
|
||||
frame_id: "drone_with_sonar::base_sonar_right"
|
||||
subscriber: true
|
||||
id: 3
|
||||
orientation: YAW_90
|
||||
back:
|
||||
frame_id: "drone_with_sonar::base_sonar_left"
|
||||
subscriber: true
|
||||
id: 4
|
||||
orientation: YAW_180
|
||||
|
||||
# image_pub
|
||||
image:
|
||||
frame_id: "px4flow"
|
||||
|
||||
# fake_gps
|
||||
fake_gps:
|
||||
# select data source
|
||||
use_mocap: true # ~mocap/pose
|
||||
mocap_transform: false # ~mocap/tf instead of pose
|
||||
mocap_withcovariance: false # ~mocap/pose uses PoseWithCovarianceStamped Message
|
||||
use_vision: false # ~vision (pose)
|
||||
use_hil_gps: true
|
||||
gps_id: 4
|
||||
# origin (default: Zürich)
|
||||
geo_origin:
|
||||
lat: 47.3667 # latitude [degrees]
|
||||
lon: 8.5500 # longitude [degrees]
|
||||
alt: 408.0 # altitude (height over the WGS-84 ellipsoid) [meters]
|
||||
eph: 2.0
|
||||
epv: 2.0
|
||||
horiz_accuracy: 0.5
|
||||
vert_accuracy: 0.5
|
||||
speed_accuracy: 0.0
|
||||
satellites_visible: 6 # virtual number of visible satellites
|
||||
fix_type: 3 # type of GPS fix (default: 3D)
|
||||
tf:
|
||||
listen: false
|
||||
send: false # send TF?
|
||||
frame_id: "map" # TF frame_id
|
||||
child_frame_id: "fix" # TF child_frame_id
|
||||
rate_limit: 10.0 # TF rate
|
||||
gps_rate: 5.0 # GPS data publishing rate
|
||||
|
||||
# landing_target
|
||||
landing_target:
|
||||
listen_lt: false
|
||||
mav_frame: "LOCAL_NED"
|
||||
land_target_type: "VISION_FIDUCIAL"
|
||||
image:
|
||||
width: 640 # [pixels]
|
||||
height: 480
|
||||
camera:
|
||||
fov_x: 2.0071286398 # default: 115 [degrees]
|
||||
fov_y: 2.0071286398
|
||||
tf:
|
||||
send: true
|
||||
listen: false
|
||||
frame_id: "landing_target"
|
||||
child_frame_id: "camera_center"
|
||||
rate_limit: 10.0
|
||||
target_size: {x: 0.3, y: 0.3}
|
||||
|
||||
# mocap_pose_estimate
|
||||
mocap:
|
||||
# select mocap source
|
||||
use_tf: false # ~mocap/tf
|
||||
use_pose: true # ~mocap/pose
|
||||
|
||||
# odom
|
||||
odometry:
|
||||
frame_tf:
|
||||
desired_frame: "ned"
|
||||
estimator_type: 3 # check enum MAV_ESTIMATOR_TYPE in <https://mavlink.io/en/messages/common.html>
|
||||
|
||||
# px4flow
|
||||
px4flow:
|
||||
frame_id: "px4flow"
|
||||
ranger_fov: 0.118682 # 6.8 degrees at 5 meters, 31 degrees at 1 meter
|
||||
ranger_min_range: 0.3 # meters
|
||||
ranger_max_range: 5.0 # meters
|
||||
|
||||
# vision_pose_estimate
|
||||
vision_pose:
|
||||
tf:
|
||||
listen: false # enable tf listener (disable topic subscribers)
|
||||
frame_id: "map"
|
||||
child_frame_id: "vision_estimate"
|
||||
rate_limit: 10.0
|
||||
|
||||
# vision_speed_estimate
|
||||
vision_speed:
|
||||
listen_twist: true # enable listen to twist topic, else listen to vec3d topic
|
||||
twist_cov: true # enable listen to twist with covariance topic
|
||||
|
||||
# vibration
|
||||
vibration:
|
||||
frame_id: "base_link"
|
||||
|
||||
# wheel_odometry
|
||||
wheel_odometry:
|
||||
count: 2 # number of wheels to compute odometry
|
||||
use_rpm: false # use wheel's RPM instead of cumulative distance to compute odometry
|
||||
wheel0: {x: 0.0, y: -0.15, radius: 0.05} # x-, y-offset (m,NED) and radius (m)
|
||||
wheel1: {x: 0.0, y: 0.15, radius: 0.05} # x-, y-offset (m,NED) and radius (m)
|
||||
send_raw: true # send wheel's RPM and cumulative distance (~/wheel_odometry/rpm, ~/wheel_odometry/distance)
|
||||
send_twist: false # send geometry_msgs/TwistWithCovarianceStamped instead of nav_msgs/Odometry
|
||||
frame_id: "map" # origin frame
|
||||
child_frame_id: "base_link" # body-fixed frame
|
||||
vel_error: 0.1 # wheel velocity measurement error 1-std (m/s)
|
||||
tf:
|
||||
send: true
|
||||
frame_id: "map"
|
||||
child_frame_id: "base_link"
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
||||
@@ -0,0 +1,25 @@
|
||||
<launch>
|
||||
<!-- vim: set ft=xml noet : -->
|
||||
<!-- Experimental launch script for APM based Drone -->
|
||||
|
||||
<arg name="fcu_url" default="udp://127.0.0.1:14551@14555" />
|
||||
<arg name="gcs_url" default="" />
|
||||
<arg name="tgt_system" default="1" />
|
||||
<arg name="tgt_component" default="1" />
|
||||
<arg name="log_output" default="screen" />
|
||||
<arg name="respawn_mavros" default="true"/>
|
||||
<arg name="mavros_ns" default="/"/>
|
||||
<arg name="config_yaml" default="$(find mavros)/launch/apm_config.yaml" />
|
||||
|
||||
<include file="$(find iq_sim)/launch/mavros_node.launch">
|
||||
<arg name="pluginlists_yaml" value="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<arg name="config_yaml" value="$(arg config_yaml)" />
|
||||
<arg name="mavros_ns" value="$(arg mavros_ns)"/>
|
||||
<arg name="fcu_url" value="$(arg fcu_url)" />
|
||||
<arg name="gcs_url" value="$(arg gcs_url)" />
|
||||
<arg name="respawn_mavros" value="$(arg respawn_mavros)"/>
|
||||
<arg name="tgt_system" value="$(arg tgt_system)" />
|
||||
<arg name="tgt_component" value="$(arg tgt_component)" />
|
||||
<arg name="log_output" value="$(arg log_output)" />
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,7 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/boat.world"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,28 @@
|
||||
<launch>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone1">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14551@14555" />
|
||||
<!-- <param name="fcu_url" value="/dev/ttyUSB0" /> -->
|
||||
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="1" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" />
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone2">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14561@14565" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="2" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" />
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
|
||||
</launch>
|
||||
@@ -0,0 +1,7 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/drone.world"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,13 @@
|
||||
<launch>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone1">
|
||||
<param name="fcu_url" value="/dev/serial/by-id/usb-ArduPilot_fmuv3_2D004E000F51393431353037-if00" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="1" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" />
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
</launch>
|
||||
@@ -0,0 +1,7 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/drone1.world"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,7 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/drone2.world"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,7 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/droneOnly.world"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,60 @@
|
||||
<launch>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone1">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14551@14555" />
|
||||
<!-- <param name="fcu_url" value="/dev/ttyUSB0" /> -->
|
||||
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="1" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" />
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone2">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14561@14565" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="2" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" />
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone3">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14571@14575" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="3" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" /> -->
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone4">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14581@14585" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="4" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" /> -->
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone5">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14591@14595" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="5" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" /> -->
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
</launch>
|
||||
@@ -0,0 +1,7 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/hills.world"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,10 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<arg name="gui" default="true"/>
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/lake_travis.world"/>
|
||||
<arg name="gui" value="$(arg gui)"/>
|
||||
<arg name="verbose" value="True"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,7 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/lidar.world"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,27 @@
|
||||
<launch>
|
||||
<!-- vim: set ft=xml noet : -->
|
||||
<!-- base node launch file-->
|
||||
|
||||
<arg name="fcu_url" />
|
||||
<arg name="gcs_url" />
|
||||
<arg name="mavros_ns" default=""/>
|
||||
<arg name="tgt_system" />
|
||||
<arg name="tgt_component" />
|
||||
<arg name="pluginlists_yaml" />
|
||||
<arg name="config_yaml" />
|
||||
<arg name="log_output" default="screen" />
|
||||
<arg name="fcu_protocol" default="v2.0" />
|
||||
<arg name="respawn_mavros" default="false" />
|
||||
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="$(eval not respawn_mavros)" clear_params="true" output="$(arg log_output)" respawn="$(arg respawn_mavros)" ns="$(arg mavros_ns)">
|
||||
<param name="fcu_url" value="$(arg fcu_url)" />
|
||||
<param name="gcs_url" value="$(arg gcs_url)" />
|
||||
<param name="target_system_id" value="$(arg tgt_system)" />
|
||||
<param name="target_component_id" value="$(arg tgt_component)" />
|
||||
<param name="fcu_protocol" value="$(arg fcu_protocol)" />
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(arg pluginlists_yaml)" />
|
||||
<rosparam command="load" file="$(arg config_yaml)" />
|
||||
</node>
|
||||
</launch>
|
||||
@@ -0,0 +1,38 @@
|
||||
<launch>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone1">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14551@14555" />
|
||||
<!-- <param name="fcu_url" value="/dev/ttyUSB0" /> -->
|
||||
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="1" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" />
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone2">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14561@14565" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="2" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" />
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone3">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14571@14575" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="3" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" />
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
</launch>
|
||||
@@ -0,0 +1,7 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/multi_drone.world"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,7 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/river.world"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,9 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<arg name="gui" default="true"/>
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/runway.world"/>
|
||||
<arg name="gui" value="$(arg gui)"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,71 @@
|
||||
<launch>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone1">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14551@14555" />
|
||||
<!-- <param name="fcu_url" value="/dev/ttyUSB0" /> -->
|
||||
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="1" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" />
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone2">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14561@14565" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="2" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" />
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone3">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14571@14575" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="3" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" /> -->
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone4">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14581@14585" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="4" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" /> -->
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone5">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14591@14595" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="5" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" /> -->
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone6">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14601@14605" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="6" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" /> -->
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
</launch>
|
||||
@@ -0,0 +1,7 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/six_drone.world"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,7 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/test.world"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,38 @@
|
||||
<launch>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone1">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14551@14555" />
|
||||
<!-- <param name="fcu_url" value="/dev/ttyUSB0" /> -->
|
||||
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="1" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" />
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone2">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14561@14565" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="2" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" />
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
<node pkg="mavros" type="mavros_node" name="mavros" required="false" clear_params="true" output="screen" respawn="true" ns="/drone3">
|
||||
<param name="fcu_url" value="udp://127.0.0.1:14571@14575" />
|
||||
<param name="gcs_url" value="" />
|
||||
<param name="target_system_id" value="3" />
|
||||
<param name="target_component_id" value="1" />
|
||||
<param name="fcu_protocol" value="v2.0" /> -->
|
||||
|
||||
<!-- load blacklist, config -->
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_pluginlists.yaml" />
|
||||
<rosparam command="load" file="$(find mavros)/launch/apm_config.yaml" />
|
||||
</node>
|
||||
</launch>
|
||||
@@ -0,0 +1,7 @@
|
||||
<launch>
|
||||
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
||||
<arg name="world_name" value="$(find iq_sim)/worlds/windy.world"/>
|
||||
<!-- more default parameters can be changed here -->
|
||||
</include>
|
||||
</launch>
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"browse": {
|
||||
"databaseFilename": "${default}",
|
||||
"limitSymbolsToIncludedHeaders": false
|
||||
},
|
||||
"includePath": [
|
||||
"/opt/ros/noetic/include/**",
|
||||
"/home/dodo/ardupilot_ws/src/ROS_controll/include/**",
|
||||
"/home/dodo/ardupilot_ws/src/class_model/include/**",
|
||||
"/home/dodo/ardupilot_ws/src/iq_gnc/include/**",
|
||||
"/usr/include/**"
|
||||
],
|
||||
"name": "ROS",
|
||||
"intelliSenseMode": "gcc-x64",
|
||||
"compilerPath": "/usr/bin/gcc",
|
||||
"cStandard": "gnu11",
|
||||
"cppStandard": "c++14"
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"python.autoComplete.extraPaths": [
|
||||
"/opt/ros/noetic/lib/python3/dist-packages"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
material vrc/asphalt
|
||||
{
|
||||
technique
|
||||
{
|
||||
pass
|
||||
{
|
||||
ambient 0.5 0.5 0.5 1.0
|
||||
diffuse 0.5 0.5 0.5 1.0
|
||||
specular 0.2 0.2 0.2 1.0 12.5
|
||||
|
||||
texture_unit
|
||||
{
|
||||
texture tarmac.png
|
||||
filtering anistropic
|
||||
max_anisotropy 16
|
||||
scale 0.1 0.1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.6 MiB |
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" ?>
|
||||
<sdf version="1.4">
|
||||
<model name="asphalt_plane">
|
||||
<static>true</static>
|
||||
<link name="link">
|
||||
<collision name="collision">
|
||||
<geometry>
|
||||
<box>
|
||||
<size>20 20 .1</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</collision>
|
||||
<visual name="visual">
|
||||
<cast_shadows>false</cast_shadows>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>20 20 .1</size>
|
||||
</box>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<uri>model://asphalt_plane/materials/scripts</uri>
|
||||
<uri>model://asphalt_plane/materials/textures</uri>
|
||||
<name>vrc/asphalt</name>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
</model>
|
||||
</sdf>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>Asphalt Plane</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.4">model-1_4.sdf</sdf>
|
||||
<sdf version="1.5">model.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Thomas Koletschka</name>
|
||||
<email>thomas.koletschka@gmail.com</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
An asphalt textured plane.
|
||||
</description>
|
||||
|
||||
</model>
|
||||
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" ?>
|
||||
<sdf version="1.5">
|
||||
<model name="asphalt_plane">
|
||||
<static>true</static>
|
||||
<link name="link">
|
||||
<collision name="collision">
|
||||
<geometry>
|
||||
<box>
|
||||
<size>200 200 .1</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</collision>
|
||||
<visual name="visual">
|
||||
<cast_shadows>false</cast_shadows>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>200 200 .1</size>
|
||||
</box>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<uri>model://asphalt_plane/materials/scripts</uri>
|
||||
<uri>model://asphalt_plane/materials/textures</uri>
|
||||
<name>vrc/asphalt</name>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
</model>
|
||||
</sdf>
|
||||
@@ -0,0 +1,15 @@
|
||||
material Beer/Diffuse
|
||||
{
|
||||
technique
|
||||
{
|
||||
pass
|
||||
{
|
||||
texture_unit
|
||||
{
|
||||
texture beer.png
|
||||
filtering anistropic
|
||||
max_anisotropy 16
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.1 MiB |
@@ -0,0 +1,44 @@
|
||||
<?xml version='1.0'?>
|
||||
<sdf version='1.4'>
|
||||
<model name="beer">
|
||||
<link name='link'>
|
||||
<pose>0 0 0.115 0 0 0</pose>
|
||||
<inertial>
|
||||
<mass>0.390</mass>
|
||||
<inertia>
|
||||
<ixx>0.00058</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.00058</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.00019</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='collision'>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<radius>0.055000</radius>
|
||||
<length>0.230000</length>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
|
||||
<visual name='visual'>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<radius>0.055000</radius>
|
||||
<length>0.230000</length>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
|
||||
<material>
|
||||
<script>
|
||||
<uri>model://beer/materials/scripts</uri>
|
||||
<uri>model://beer/materials/textures</uri>
|
||||
<name>Beer/Diffuse</name>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
</model>
|
||||
</sdf>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>Beer</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.4">model-1_4.sdf</sdf>
|
||||
<sdf version="1.5">model.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Maurice Fallon</name>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
Beer
|
||||
</description>
|
||||
</model>
|
||||
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" ?>
|
||||
<sdf version="1.5">
|
||||
<model name="beer">
|
||||
<link name="link">
|
||||
<pose>0 0 0.115 0 0 1.57</pose>
|
||||
<inertial>
|
||||
<mass>0.190</mass>
|
||||
<inertia>
|
||||
<ixx>0.00058</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.00058</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.00019</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name="collision">
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<radius>0.055000</radius>
|
||||
<length>0.230000</length>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<visual name="visual">
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<radius>0.055000</radius>
|
||||
<length>0.230000</length>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<uri>model://beer/materials/scripts</uri>
|
||||
<uri>model://beer/materials/textures</uri>
|
||||
<name>Beer/Diffuse</name>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
<plugin name='usv_dynamics_wamv_dynamics_plugin' filename='libgazebo_usv_dynamics_plugin.so'>
|
||||
<bodyName>link</bodyName>
|
||||
<waterLevel>0</waterLevel>
|
||||
<waterDensity>997.8</waterDensity>
|
||||
<xDotU>0.0</xDotU>
|
||||
<yDotV>0.0</yDotV>
|
||||
<nDotR>0.0</nDotR>
|
||||
<xU>1.0</xU>
|
||||
<yV>1.0</yV>
|
||||
<zW>1.0</zW>
|
||||
<hullRadius>0.0381</hullRadius>
|
||||
<boatWidth>0.1</boatWidth>
|
||||
<boatLength>0.23</boatLength>
|
||||
<length_n>1.5</length_n>
|
||||
<wave_model>ocean_waves</wave_model>
|
||||
</plugin>
|
||||
</model>
|
||||
</sdf>
|
||||
@@ -0,0 +1,572 @@
|
||||
<sdf version='1.6'>
|
||||
<model name='boat'>
|
||||
<link name='base_link'>
|
||||
<pose>0 0 0 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose >0 0 0.124229 0 -0 0</pose>
|
||||
<mass>227</mass>
|
||||
<inertia>
|
||||
<ixx>181.42</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>408.203</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>495.037</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='base_link_fixed_joint_lump__left_float_collision'>
|
||||
<pose >-0.4 1.03 0.2 3.14159 1.57079 3.14159</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>4</length>
|
||||
<radius>0.2</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__left_mid_float_collision_1'>
|
||||
<pose>1.85 1.03 0.3 0 1.38 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.5</length>
|
||||
<radius>0.17</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__left_front_float_collision_2'>
|
||||
<pose>2.3 1.03 0.4 0 1.3 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.45</length>
|
||||
<radius>0.12</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__front_left_beam_lower_collision_3'>
|
||||
<pose>0.9 0.85 1 0.78 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.5</length>
|
||||
<radius>0.04</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__front_left_beam_upper_collision_4'>
|
||||
<pose>0.9 0.6 1.18 1.35 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.2</length>
|
||||
<radius>0.04</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__mid_left_beam_lower_collision_5'>
|
||||
<pose>-0.65 0.99 0.7 0.1 0.25 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.45</length>
|
||||
<radius>0.03</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__mid_left_beam_medium_collision_6'>
|
||||
<pose>-0.57 0.87 1.05 0.75 0.25 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.32</length>
|
||||
<radius>0.03</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__mid_left_beam_upper_collision_7'>
|
||||
<pose>-0.55 0.65 1.17 1.35 0.25 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.3</length>
|
||||
<radius>0.03</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__rear_left_beam_lower_collision_8'>
|
||||
<pose>-0.74 1.03 0.7 0 -0.15 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.45</length>
|
||||
<radius>0.03</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__rear_left_beam_medium_collision_9'>
|
||||
<pose>-0.79 0.91 1.05 0.75 -0.15 -0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.32</length>
|
||||
<radius>0.03</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__rear_left_beam_upper_collision_10'>
|
||||
<pose>-0.81 0.67 1.18 1.45 -0.15 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.3</length>
|
||||
<radius>0.03</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__left_joint_collision_11'>
|
||||
<pose>0.58 1.03 0.6 0 -0.6 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.65 0.2 0.1</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__right_float_collision_12'>
|
||||
<pose>-0.4 -1.03 0.2 3.14159 1.57079 3.14159</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>4</length>
|
||||
<radius>0.2</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__right_mid_float_collision_13'>
|
||||
<pose>1.85 -1.03 0.3 0 1.38 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.5</length>
|
||||
<radius>0.17</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__right_front_float_collision_14'>
|
||||
<pose>2.3 -1.03 0.4 0 1.3 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.45</length>
|
||||
<radius>0.12</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__front_right_beam_lower_collision_15'>
|
||||
<pose>0.9 -0.85 1 -0.78 0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.5</length>
|
||||
<radius>0.04</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__front_right_beam_upper_collision_16'>
|
||||
<pose>0.9 -0.6 1.18 -1.35 0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.2</length>
|
||||
<radius>0.04</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__mid_right_beam_lower_collision_17'>
|
||||
<pose>-0.65 -0.99 0.7 -0.1 0.25 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.45</length>
|
||||
<radius>0.03</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__mid_right_beam_medium_collision_18'>
|
||||
<pose>-0.57 -0.87 1.05 -0.75 0.25 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.32</length>
|
||||
<radius>0.03</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__mid_right_beam_upper_collision_19'>
|
||||
<pose>-0.55 -0.65 1.17 -1.35 0.25 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.3</length>
|
||||
<radius>0.03</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__rear_right_beam_lower_collision_20'>
|
||||
<pose>-0.74 -1.03 0.7 0 -0.15 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.45</length>
|
||||
<radius>0.03</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__rear_right_beam_medium_collision_21'>
|
||||
<pose>-0.79 -0.91 1.05 -0.75 -0.15 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.32</length>
|
||||
<radius>0.03</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__rear_right_beam_upper_collision_22'>
|
||||
<pose>-0.81 -0.67 1.18 -1.45 -0.15 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.3</length>
|
||||
<radius>0.03</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__right_joint_collision_23'>
|
||||
<pose>0.58 -1.03 0.6 0 -0.6 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.65 0.2 0.1</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__top_base_collision_24'>
|
||||
<pose>0 0 1.25 0 -0 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>1.85 1 0.1</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__left_battery_collision_collision_25'>
|
||||
<pose>0 1 0.6 0 -0 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.6 0.4 0.31</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name='base_link_fixed_joint_lump__right_battery_collision_collision_26'>
|
||||
<pose>0 -1 0.6 0 -0 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.6 0.4 0.31</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</collision>
|
||||
<visual name='base_link_fixed_joint_lump__dummy_link_visual'>
|
||||
<pose>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://boat/meshes/body.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</visual>
|
||||
<visual name='base_link_fixed_joint_lump__left_battery_visual_visual_1'>
|
||||
<pose>0 -0.03 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://boat/meshes/battery.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>__default__</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<visual name='base_link_fixed_joint_lump__right_battery_visual_visual_2'>
|
||||
<pose>0 -2.03 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://boat/meshes/battery.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>__default__</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<visual name='right_engine_link_visual'>
|
||||
<pose>-2.37378 -1.02713 0.318237 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://boat/meshes//engine.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</visual>
|
||||
<visual name='left_engine_link_visual'>
|
||||
<pose>-2.37378 1.02713 0.318237 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://boat/meshes//engine.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</visual>
|
||||
</link>
|
||||
<link name='left_propeller_link'>
|
||||
<pose>-2.65193 1.02713 -0.191134 0 1.57079 0</pose>
|
||||
<inertial>
|
||||
<pose>0 0 0 0 -0 0</pose>
|
||||
<mass>0.5</mass>
|
||||
<inertia>
|
||||
<ixx>0.008545</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.008545</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.0144</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='left_propeller_link_fixed_joint_lump__left_propeller_collision_collision'>
|
||||
<pose>-0.08 0 0 3.14159 0.0 3.14159</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.18</length>
|
||||
<radius>0.24</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<visual name='left_propeller_link_visual'>
|
||||
<pose>0 0 0 0 -1.57079 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://boat/meshes/propeller.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</visual>
|
||||
</link>
|
||||
<joint name='left_engine_propeller_joint' type='revolute'>
|
||||
<child>left_propeller_link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>1 0 0</xyz>
|
||||
<limit>
|
||||
<lower>-1e+16</lower>
|
||||
<upper>1e+16</upper>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<!-- <damping>0.05</damping>
|
||||
<friction>0.05</friction> -->
|
||||
<spring_reference>0</spring_reference>
|
||||
<spring_stiffness>0</spring_stiffness>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='right_propeller_link'>
|
||||
<pose>-2.65193 -1.02713 -0.191134 0 1.57079 0</pose>
|
||||
<inertial>
|
||||
<pose>0 0 0 0 -0 0</pose>
|
||||
<mass>0.5</mass>
|
||||
<inertia>
|
||||
<ixx>0.008545</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.008545</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.0144</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='right_propeller_link_fixed_joint_lump__right_propeller_collision_collision'>
|
||||
<pose>-0.08 0 0 3.14159 0.0 3.14159</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.18</length>
|
||||
<radius>0.24</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<visual name='right_propeller_link_visual'>
|
||||
<pose>0 0 0 0 -1.57079 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://boat/meshes/propeller.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</visual>
|
||||
</link>
|
||||
|
||||
<joint name='right_engine_propeller_joint' type='revolute'>
|
||||
<child>right_propeller_link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>1 0 0</xyz>
|
||||
<limit>
|
||||
<lower>-1e+16</lower>
|
||||
<upper>1e+16</upper>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<!-- <damping>0.05</damping>
|
||||
<friction>0.05</friction> -->
|
||||
<spring_reference>0</spring_reference>
|
||||
<spring_stiffness>0</spring_stiffness>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<plugin name='usv_dynamics_wamv_dynamics_plugin' filename='libgazebo_usv_dynamics_plugin.so'>
|
||||
<bodyName>base_link</bodyName>
|
||||
<waterLevel>0</waterLevel>
|
||||
<waterDensity>997.8</waterDensity>
|
||||
<xDotU>0.0</xDotU>
|
||||
<yDotV>0.0</yDotV>
|
||||
<nDotR>0.0</nDotR>
|
||||
<xU>51.3</xU>
|
||||
<xUU>72.4</xUU>
|
||||
<yV>40.0</yV>
|
||||
<yVV>0.0</yVV>
|
||||
<zW>500.0</zW>
|
||||
<kP>50.0</kP>
|
||||
<mQ>50.0</mQ>
|
||||
<nR>400.0</nR>
|
||||
<nRR>0.0</nRR>
|
||||
<hullRadius>0.213</hullRadius>
|
||||
<boatWidth>2.4</boatWidth>
|
||||
<boatLength>4.9</boatLength>
|
||||
<length_n>2</length_n>
|
||||
<wave_model>ocean_waves</wave_model>
|
||||
</plugin>
|
||||
|
||||
|
||||
<link name='imu_link'>
|
||||
<!-- <pose>0 0 0 0 0 3.1415927</pose> -->
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<inertial>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<mass>0.015</mass>
|
||||
<inertia>
|
||||
<ixx>1e-05</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>1e-05</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>1e-05</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<sensor name="imu_sensor" type="imu">
|
||||
<pose>0 0 0 3.141593 0 0</pose>
|
||||
<always_on>1</always_on>
|
||||
<update_rate>1000.0</update_rate>
|
||||
</sensor>
|
||||
</link>
|
||||
<joint name='imu_joint' type='revolute'>
|
||||
<child>imu_link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>1 0 0</xyz>
|
||||
<limit>
|
||||
<lower>0</lower>
|
||||
<upper>0</upper>
|
||||
<effort>0</effort>
|
||||
<velocity>0</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<damping>0.7</damping>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
<plugin name="ArduCopter_Plugin" filename="libArduPilotPlugin.so">
|
||||
<fdm_addr>127.0.0.1</fdm_addr>
|
||||
<fdm_port_in>9002</fdm_port_in>
|
||||
<fdm_port_out>9003</fdm_port_out>
|
||||
<!--
|
||||
Require by APM :
|
||||
Only change model and gazebo from XYZ to XY-Z coordinates
|
||||
-->
|
||||
<!-- 3.141593 -->
|
||||
<modelXYZToAirplaneXForwardZDown>0 0 0 3.141593 0 0</modelXYZToAirplaneXForwardZDown>
|
||||
<gazeboXYZToNED>0 0 0 3.141593 0 0</gazeboXYZToNED>
|
||||
<imuName>boat::imu_link::imu_sensor</imuName>
|
||||
<connectionTimeoutMaxCount>5</connectionTimeoutMaxCount>
|
||||
<!--
|
||||
incoming control command [0, 1]
|
||||
so offset it by 0 to get [0, 1]
|
||||
and divide max target by 1.
|
||||
offset = 0
|
||||
multiplier = 838 max rpm / 1 = 838
|
||||
-->
|
||||
<control channel="0">
|
||||
<type>VELOCITY</type>
|
||||
<offset>-0.5</offset>
|
||||
<p_gain>1</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>10</cmd_max>
|
||||
<cmd_min>-10</cmd_min>
|
||||
<jointName>left_engine_propeller_joint</jointName>
|
||||
<multiplier>-100</multiplier>
|
||||
</control>
|
||||
<control channel="2">
|
||||
<type>VELOCITY</type>
|
||||
<offset>-0.5</offset>
|
||||
<p_gain>1</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>10</cmd_max>
|
||||
<cmd_min>-10</cmd_min>
|
||||
<jointName>right_engine_propeller_joint</jointName>
|
||||
<multiplier>-100</multiplier>
|
||||
</control>
|
||||
|
||||
</plugin>
|
||||
<plugin name="rotor_1_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>2</a0>
|
||||
<alpha_stall>4</alpha_stall>
|
||||
<cla>10.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>997</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>right_propeller_link</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_1_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>2</a0>
|
||||
<alpha_stall>4</alpha_stall>
|
||||
<cla>10.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>997</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>left_propeller_link</link_name>
|
||||
</plugin>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
|
After Width: | Height: | Size: 200 KiB |
@@ -0,0 +1,795 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author/>
|
||||
<authoring_tool>FBX COLLADA exporter</authoring_tool>
|
||||
<comments/>
|
||||
</contributor>
|
||||
<created>2019-03-01T17:20:36Z</created>
|
||||
<keywords/>
|
||||
<modified>2019-03-01T17:20:36Z</modified>
|
||||
<revision/>
|
||||
<subject/>
|
||||
<title/>
|
||||
<unit meter="1.000000" name="centimeter"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_images>
|
||||
<image id="WamV_png-image" name="WamV_png">
|
||||
<init_from>WamV.png</init_from>
|
||||
</image>
|
||||
</library_images>
|
||||
<library_materials>
|
||||
<material id="WamV" name="WamV">
|
||||
<instance_effect url="#WamV-fx"/>
|
||||
</material>
|
||||
</library_materials>
|
||||
<library_effects>
|
||||
<effect id="WamV-fx" name="WamV">
|
||||
<profile_COMMON>
|
||||
<technique sid="standard">
|
||||
<phong>
|
||||
<emission>
|
||||
<color sid="emission">0.000000 0.000000 0.000000 1.000000</color>
|
||||
</emission>
|
||||
<ambient>
|
||||
<color sid="ambient">0.588235 0.588235 0.588235 1.000000</color>
|
||||
</ambient>
|
||||
<diffuse>
|
||||
<texture texture="WamV_png-image" texcoord="CHANNEL0">
|
||||
<extra>
|
||||
<technique profile="MAYA">
|
||||
<wrapU sid="wrapU0">TRUE</wrapU>
|
||||
<wrapV sid="wrapV0">TRUE</wrapV>
|
||||
<blend_mode>ADD</blend_mode>
|
||||
</technique>
|
||||
</extra>
|
||||
</texture>
|
||||
</diffuse>
|
||||
<specular>
|
||||
<color sid="specular">0.000000 0.000000 0.000000 1.000000</color>
|
||||
</specular>
|
||||
<shininess>
|
||||
<float sid="shininess">9.999999</float>
|
||||
</shininess>
|
||||
<reflective>
|
||||
<color sid="reflective">0.000000 0.000000 0.000000 1.000000</color>
|
||||
</reflective>
|
||||
<reflectivity>
|
||||
<float sid="reflectivity">1.000000</float>
|
||||
</reflectivity>
|
||||
<transparent opaque="RGB_ZERO">
|
||||
<color sid="transparent">1.000000 1.000000 1.000000 1.000000</color>
|
||||
</transparent>
|
||||
<transparency>
|
||||
<float sid="transparency">0.000000</float>
|
||||
</transparency>
|
||||
</phong>
|
||||
</technique>
|
||||
</profile_COMMON>
|
||||
</effect>
|
||||
</library_effects>
|
||||
<library_geometries>
|
||||
<geometry id="Prop_Left-lib" name="Prop_LeftMesh">
|
||||
<mesh>
|
||||
<source id="Prop_Left-POSITION">
|
||||
<float_array id="Prop_Left-POSITION-array" count="231">
|
||||
-125.617302 100.276398 -37.149891
|
||||
-125.617302 102.714600 -36.496601
|
||||
-125.617302 105.152702 -37.149891
|
||||
-140.610199 100.276398 -37.149891
|
||||
-140.610199 102.714600 -36.496601
|
||||
-140.610199 105.152702 -37.149899
|
||||
-142.274002 99.403641 -35.638180
|
||||
-142.274002 102.714600 -34.751019
|
||||
-142.274002 106.025497 -35.638180
|
||||
-142.029007 105.989197 -20.267220
|
||||
-139.638397 105.250999 -38.274071
|
||||
-127.209900 96.424698 -37.796532
|
||||
-129.762695 94.380623 -33.848759
|
||||
-133.684494 93.492668 -26.742399
|
||||
-139.226501 99.953644 -18.319611
|
||||
-141.642700 104.808899 -18.342480
|
||||
-136.049805 100.476997 -31.609739
|
||||
-136.286194 101.734703 -30.195049
|
||||
-136.620407 95.545090 -21.068319
|
||||
-125.695503 98.459900 -39.092319
|
||||
-131.039703 104.467598 -38.627621
|
||||
-140.378006 105.479401 -32.703129
|
||||
-125.617302 106.936699 -38.935020
|
||||
-125.617302 107.589104 -41.373451
|
||||
-125.617302 106.935799 -43.811581
|
||||
-125.617302 105.151001 -45.596420
|
||||
-125.617302 102.712997 -46.248840
|
||||
-140.610199 106.936699 -38.935032
|
||||
-140.610199 107.589104 -41.373451
|
||||
-140.610199 106.935799 -43.811581
|
||||
-140.610199 105.151001 -45.596420
|
||||
-140.610199 102.712997 -46.248829
|
||||
-142.274002 108.448402 -38.062229
|
||||
-142.274002 109.334702 -41.373451
|
||||
-142.274002 108.447502 -44.684380
|
||||
-142.274002 106.023804 -47.108139
|
||||
-142.274002 102.712997 -47.994419
|
||||
-142.274002 102.713501 -41.372669
|
||||
-125.617302 102.713501 -41.372669
|
||||
-142.029007 119.353600 -54.762211
|
||||
-139.638397 104.128304 -45.119480
|
||||
-127.209900 108.955002 -37.714439
|
||||
-129.762695 113.395897 -37.918091
|
||||
-133.684494 119.994202 -40.702290
|
||||
-139.226501 124.057999 -50.509048
|
||||
-141.642700 121.610603 -54.702351
|
||||
-136.049805 112.286697 -44.317268
|
||||
-136.286194 112.883003 -46.113781
|
||||
-136.620407 123.881897 -45.316780
|
||||
-125.695503 106.815201 -38.829090
|
||||
-131.039703 104.213799 -44.264198
|
||||
-140.378006 108.838699 -48.102741
|
||||
-125.617302 100.275101 -45.594662
|
||||
-125.617302 98.490227 -43.809818
|
||||
-125.617302 97.836937 -41.371681
|
||||
-125.617302 98.490913 -38.934139
|
||||
-140.610199 100.275101 -45.594650
|
||||
-140.610199 98.490242 -43.809811
|
||||
-140.610199 97.836937 -41.371681
|
||||
-140.610199 98.490913 -38.934139
|
||||
-142.274002 99.402283 -47.106369
|
||||
-142.274002 96.978523 -44.682610
|
||||
-142.274002 96.091347 -41.371681
|
||||
-142.274002 96.979187 -38.061352
|
||||
-142.029007 82.797852 -49.088570
|
||||
-139.638397 98.761337 -40.724449
|
||||
-127.209900 102.760902 -48.607029
|
||||
-129.762695 100.364098 -52.351139
|
||||
-133.684494 94.653801 -56.673309
|
||||
-139.226501 84.128967 -55.289341
|
||||
-141.642700 81.721161 -51.073170
|
||||
-136.049805 95.376846 -48.190990
|
||||
-136.286194 93.522873 -47.809158
|
||||
-136.620407 88.713692 -57.732899
|
||||
-125.695503 102.865501 -46.196602
|
||||
-131.039703 99.459267 -41.226170
|
||||
-140.378006 93.822571 -43.312130
|
||||
</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Prop_Left-POSITION-array" count="77" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Prop_Left-Normal0">
|
||||
<float_array id="Prop_Left-Normal0-array" count="1242">
|
||||
0.000000 -0.865857 0.500292
|
||||
0.419332 -0.453768 0.786292
|
||||
0.419363 -0.786038 0.454179
|
||||
-0.000000 -0.499847 0.866114
|
||||
0.419351 0.000000 0.907824
|
||||
0.419332 -0.453768 0.786292
|
||||
-0.000000 0.000000 1.000000
|
||||
0.419377 0.454030 0.786117
|
||||
0.419351 0.000000 0.907824
|
||||
-0.000000 0.500139 0.865945
|
||||
0.419363 0.786351 0.453637
|
||||
0.419377 0.454030 0.786117
|
||||
0.419363 -0.786038 0.454179
|
||||
0.723841 -0.344901 0.597577
|
||||
0.723844 -0.597443 0.345127
|
||||
0.419332 -0.453768 0.786292
|
||||
0.723853 0.000000 0.689954
|
||||
0.723841 -0.344901 0.597577
|
||||
0.419351 0.000000 0.907824
|
||||
0.723853 0.345040 0.597481
|
||||
0.723853 0.000000 0.689954
|
||||
0.419377 0.454030 0.786117
|
||||
0.723843 0.597611 0.344837
|
||||
0.723853 0.345040 0.597481
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
-0.692159 -0.610187 -0.385472
|
||||
-0.409379 -0.831610 -0.375278
|
||||
-0.412488 -0.633451 -0.654671
|
||||
0.882382 0.373786 0.285809
|
||||
0.821688 0.420528 0.384688
|
||||
0.708571 0.590210 0.386755
|
||||
-0.880474 -0.416297 -0.226852
|
||||
-0.850136 -0.487417 -0.199235
|
||||
-0.692159 -0.610187 -0.385472
|
||||
-0.850136 -0.487417 -0.199235
|
||||
-0.808548 -0.569079 -0.149666
|
||||
-0.692159 -0.610187 -0.385472
|
||||
-0.877485 -0.414426 -0.241396
|
||||
-0.880474 -0.416297 -0.226852
|
||||
-0.692159 -0.610187 -0.385472
|
||||
-0.618179 -0.180544 -0.765022
|
||||
-0.666532 -0.476965 -0.572921
|
||||
-0.692159 -0.610187 -0.385472
|
||||
-0.692159 -0.610187 -0.385472
|
||||
-0.666532 -0.476965 -0.572921
|
||||
-0.790342 -0.507178 -0.343700
|
||||
-0.692159 -0.610187 -0.385472
|
||||
-0.790342 -0.507178 -0.343700
|
||||
-0.877485 -0.414426 -0.241396
|
||||
0.821688 0.420528 0.384688
|
||||
0.732452 0.363833 0.575448
|
||||
0.708571 0.590210 0.386755
|
||||
0.762697 0.622835 0.174270
|
||||
0.829214 0.502684 0.244362
|
||||
0.708571 0.590210 0.386755
|
||||
0.524497 0.706348 0.475370
|
||||
0.089520 0.995565 -0.028930
|
||||
0.441854 0.874449 0.200261
|
||||
0.829214 0.502684 0.244362
|
||||
0.874213 0.399242 0.276328
|
||||
0.708571 0.590210 0.386755
|
||||
0.874213 0.399242 0.276328
|
||||
0.882382 0.373786 0.285809
|
||||
0.708571 0.590210 0.386755
|
||||
0.708571 0.590210 0.386755
|
||||
0.732452 0.363833 0.575448
|
||||
0.674406 0.106901 0.730581
|
||||
0.708571 0.590210 0.386755
|
||||
0.666886 0.240887 0.705150
|
||||
0.524497 0.706348 0.475370
|
||||
0.708571 0.590210 0.386755
|
||||
0.674406 0.106901 0.730581
|
||||
0.666886 0.240887 0.705150
|
||||
-0.598472 -0.255981 -0.759147
|
||||
-0.618179 -0.180544 -0.765022
|
||||
-0.692159 -0.610187 -0.385472
|
||||
-0.412488 -0.633451 -0.654671
|
||||
-0.598472 -0.255981 -0.759147
|
||||
-0.692159 -0.610187 -0.385472
|
||||
-0.692159 -0.610187 -0.385472
|
||||
-0.808548 -0.569079 -0.149666
|
||||
-0.746428 -0.661563 -0.071973
|
||||
0.441854 0.874449 0.200261
|
||||
0.762697 0.622835 0.174270
|
||||
0.708571 0.590210 0.386755
|
||||
0.441854 0.874449 0.200261
|
||||
0.708571 0.590210 0.386755
|
||||
0.524497 0.706348 0.475370
|
||||
-0.692159 -0.610187 -0.385472
|
||||
-0.746428 -0.661563 -0.071973
|
||||
-0.409379 -0.831610 -0.375278
|
||||
-0.000000 0.866194 0.499707
|
||||
0.419332 0.907833 -0.000172
|
||||
0.419363 0.786351 0.453637
|
||||
-0.000000 1.000000 -0.000178
|
||||
0.419351 0.786199 -0.453911
|
||||
0.419332 0.907833 -0.000172
|
||||
0.000000 0.866025 -0.500001
|
||||
0.419377 0.453782 -0.786260
|
||||
0.419351 0.786199 -0.453911
|
||||
-0.000000 0.499861 -0.866105
|
||||
0.419363 -0.000313 -0.907819
|
||||
0.419377 0.453782 -0.786260
|
||||
0.419363 0.786351 0.453637
|
||||
0.723841 0.689966 -0.000095
|
||||
0.723843 0.597611 0.344837
|
||||
0.419332 0.907833 -0.000172
|
||||
0.723853 0.597518 -0.344976
|
||||
0.723841 0.689966 -0.000095
|
||||
0.419351 0.786199 -0.453911
|
||||
0.723854 0.344913 -0.597554
|
||||
0.723853 0.597518 -0.344976
|
||||
0.419377 0.453782 -0.786260
|
||||
0.723843 -0.000167 -0.689965
|
||||
0.723854 0.344913 -0.597554
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
-0.692159 -0.028735 0.721173
|
||||
-0.409380 0.090805 0.907834
|
||||
-0.412488 -0.250236 0.875920
|
||||
0.882382 0.060625 -0.466612
|
||||
0.821688 0.122885 -0.556532
|
||||
0.708571 0.039835 -0.704514
|
||||
-0.880474 0.011689 0.473950
|
||||
-0.850135 0.071166 0.521733
|
||||
-0.692159 -0.028735 0.721173
|
||||
-0.850135 0.071166 0.521733
|
||||
-0.808547 0.154925 0.567670
|
||||
-0.692159 -0.028735 0.721173
|
||||
-0.877485 -0.001842 0.479601
|
||||
-0.880474 0.011689 0.473950
|
||||
-0.692159 -0.028735 0.721173
|
||||
-0.618179 -0.572256 0.538867
|
||||
-0.666532 -0.257681 0.699525
|
||||
-0.692159 -0.028735 0.721173
|
||||
-0.692159 -0.028735 0.721173
|
||||
-0.666532 -0.257681 0.699525
|
||||
-0.790342 -0.044064 0.611079
|
||||
-0.692159 -0.028735 0.721173
|
||||
-0.790342 -0.044064 0.611079
|
||||
-0.877485 -0.001842 0.479601
|
||||
0.821688 0.122885 -0.556532
|
||||
0.732452 0.316436 -0.602812
|
||||
0.708571 0.039835 -0.704514
|
||||
0.762697 -0.160495 -0.626526
|
||||
0.829214 -0.039718 -0.557518
|
||||
0.708571 0.039835 -0.704514
|
||||
0.524496 0.058509 -0.849400
|
||||
0.089521 -0.522836 -0.847720
|
||||
0.441854 -0.263793 -0.857425
|
||||
0.829214 -0.039718 -0.557518
|
||||
0.874213 0.039685 -0.483918
|
||||
0.708571 0.039835 -0.704514
|
||||
0.874213 0.039685 -0.483918
|
||||
0.882382 0.060625 -0.466612
|
||||
0.708571 0.039835 -0.704514
|
||||
0.708571 0.039835 -0.704514
|
||||
0.732452 0.316436 -0.602812
|
||||
0.674406 0.579251 -0.457870
|
||||
0.708571 0.039835 -0.704514
|
||||
0.666886 0.490234 -0.561190
|
||||
0.524496 0.058509 -0.849400
|
||||
0.708571 0.039835 -0.704514
|
||||
0.674406 0.579251 -0.457870
|
||||
0.666886 0.490234 -0.561190
|
||||
-0.598472 -0.529450 0.601260
|
||||
-0.618179 -0.572256 0.538867
|
||||
-0.692159 -0.028735 0.721173
|
||||
-0.412488 -0.250236 0.875920
|
||||
-0.598472 -0.529450 0.601260
|
||||
-0.692159 -0.028735 0.721173
|
||||
-0.692159 -0.028735 0.721173
|
||||
-0.808547 0.154925 0.567670
|
||||
-0.746428 0.268451 0.608917
|
||||
0.441854 -0.263793 -0.857425
|
||||
0.762697 -0.160495 -0.626526
|
||||
0.708571 0.039835 -0.704514
|
||||
0.441854 -0.263793 -0.857425
|
||||
0.708571 0.039835 -0.704514
|
||||
0.524496 0.058509 -0.849400
|
||||
-0.692159 -0.028735 0.721173
|
||||
-0.746428 0.268451 0.608917
|
||||
-0.409380 0.090805 0.907834
|
||||
-0.000000 -0.000337 -1.000000
|
||||
0.419333 -0.454065 -0.786120
|
||||
0.419363 -0.000313 -0.907819
|
||||
-0.000001 -0.500154 -0.865936
|
||||
0.419352 -0.786199 -0.453911
|
||||
0.419333 -0.454065 -0.786120
|
||||
-0.000000 -0.866026 -0.499999
|
||||
0.419378 -0.907812 0.000142
|
||||
0.419352 -0.786199 -0.453911
|
||||
-0.000000 -1.000000 0.000161
|
||||
0.419363 -0.786038 0.454179
|
||||
0.419378 -0.907812 0.000142
|
||||
0.419363 -0.000313 -0.907819
|
||||
0.723841 -0.345066 -0.597481
|
||||
0.723843 -0.000167 -0.689965
|
||||
0.419333 -0.454065 -0.786120
|
||||
0.723855 -0.597516 -0.344976
|
||||
0.723841 -0.345066 -0.597481
|
||||
0.419352 -0.786199 -0.453911
|
||||
0.723855 -0.689952 0.000073
|
||||
0.723855 -0.597516 -0.344976
|
||||
0.419378 -0.907812 0.000142
|
||||
0.723844 -0.597443 0.345127
|
||||
0.723855 -0.689952 0.000073
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
-1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
1.000000 0.000000 0.000000
|
||||
-0.692159 0.638922 -0.335701
|
||||
-0.409380 0.740805 -0.532556
|
||||
-0.412488 0.883687 -0.221250
|
||||
0.882382 -0.434410 0.180804
|
||||
0.821688 -0.543414 0.171845
|
||||
0.708571 -0.630045 0.317759
|
||||
-0.880474 0.404608 -0.247098
|
||||
-0.850136 0.416251 -0.322498
|
||||
-0.692159 0.638922 -0.335701
|
||||
-0.850136 0.416251 -0.322498
|
||||
-0.808548 0.414154 -0.418003
|
||||
-0.692159 0.638922 -0.335701
|
||||
-0.877485 0.416268 -0.238205
|
||||
-0.880474 0.404608 -0.247098
|
||||
-0.692159 0.638922 -0.335701
|
||||
-0.618179 0.752800 0.226155
|
||||
-0.666532 0.734647 -0.126604
|
||||
-0.692159 0.638922 -0.335701
|
||||
-0.692159 0.638922 -0.335701
|
||||
-0.666532 0.734647 -0.126604
|
||||
-0.790342 0.551242 -0.267379
|
||||
-0.692159 0.638922 -0.335701
|
||||
-0.790342 0.551242 -0.267379
|
||||
-0.877485 0.416268 -0.238205
|
||||
0.821688 -0.543414 0.171845
|
||||
0.732451 -0.680269 0.027365
|
||||
0.708571 -0.630045 0.317759
|
||||
0.762697 -0.462340 0.452255
|
||||
0.829214 -0.462966 0.313156
|
||||
0.708571 -0.630045 0.317759
|
||||
0.524497 -0.764856 0.374030
|
||||
0.089521 -0.472728 0.876649
|
||||
0.441855 -0.610655 0.657164
|
||||
0.829214 -0.462966 0.313156
|
||||
0.874213 -0.438928 0.207590
|
||||
0.708571 -0.630045 0.317759
|
||||
0.874213 -0.438928 0.207590
|
||||
0.882382 -0.434410 0.180804
|
||||
0.708571 -0.630045 0.317759
|
||||
0.708571 -0.630045 0.317759
|
||||
0.732451 -0.680269 0.027365
|
||||
0.674406 -0.686153 -0.272711
|
||||
0.708571 -0.630045 0.317759
|
||||
0.666886 -0.731122 -0.143960
|
||||
0.524497 -0.764856 0.374030
|
||||
0.708571 -0.630045 0.317759
|
||||
0.674406 -0.686153 -0.272711
|
||||
0.666886 -0.731122 -0.143960
|
||||
-0.598472 0.785431 0.157887
|
||||
-0.618179 0.752800 0.226155
|
||||
-0.692159 0.638922 -0.335701
|
||||
-0.412488 0.883687 -0.221250
|
||||
-0.598472 0.785431 0.157887
|
||||
-0.692159 0.638922 -0.335701
|
||||
-0.692159 0.638922 -0.335701
|
||||
-0.808548 0.414154 -0.418003
|
||||
-0.746428 0.393112 -0.536944
|
||||
0.441855 -0.610655 0.657164
|
||||
0.762697 -0.462340 0.452255
|
||||
0.708571 -0.630045 0.317759
|
||||
0.441855 -0.610655 0.657164
|
||||
0.708571 -0.630045 0.317759
|
||||
0.524497 -0.764856 0.374030
|
||||
-0.692159 0.638922 -0.335701
|
||||
-0.746428 0.393112 -0.536944
|
||||
-0.409380 0.740805 -0.532556
|
||||
0.000000 -0.865857 0.500292
|
||||
-0.000000 -0.499847 0.866114
|
||||
0.419332 -0.453768 0.786292
|
||||
-0.000000 -0.499847 0.866114
|
||||
-0.000000 0.000000 1.000000
|
||||
0.419351 0.000000 0.907824
|
||||
-0.000000 0.000000 1.000000
|
||||
-0.000000 0.500139 0.865945
|
||||
0.419377 0.454030 0.786117
|
||||
-0.000000 0.500139 0.865945
|
||||
-0.000000 0.866194 0.499707
|
||||
0.419363 0.786351 0.453637
|
||||
0.419363 -0.786038 0.454179
|
||||
0.419332 -0.453768 0.786292
|
||||
0.723841 -0.344901 0.597577
|
||||
0.419332 -0.453768 0.786292
|
||||
0.419351 0.000000 0.907824
|
||||
0.723853 0.000000 0.689954
|
||||
0.419351 0.000000 0.907824
|
||||
0.419377 0.454030 0.786117
|
||||
0.723853 0.345040 0.597481
|
||||
0.419377 0.454030 0.786117
|
||||
0.419363 0.786351 0.453637
|
||||
0.723843 0.597611 0.344837
|
||||
-0.000000 0.866194 0.499707
|
||||
-0.000000 1.000000 -0.000178
|
||||
0.419332 0.907833 -0.000172
|
||||
-0.000000 1.000000 -0.000178
|
||||
0.000000 0.866025 -0.500001
|
||||
0.419351 0.786199 -0.453911
|
||||
0.000000 0.866025 -0.500001
|
||||
-0.000000 0.499861 -0.866105
|
||||
0.419377 0.453782 -0.786260
|
||||
-0.000000 0.499861 -0.866105
|
||||
-0.000000 -0.000337 -1.000000
|
||||
0.419363 -0.000313 -0.907819
|
||||
0.419363 0.786351 0.453637
|
||||
0.419332 0.907833 -0.000172
|
||||
0.723841 0.689966 -0.000095
|
||||
0.419332 0.907833 -0.000172
|
||||
0.419351 0.786199 -0.453911
|
||||
0.723853 0.597518 -0.344976
|
||||
0.419351 0.786199 -0.453911
|
||||
0.419377 0.453782 -0.786260
|
||||
0.723854 0.344913 -0.597554
|
||||
0.419377 0.453782 -0.786260
|
||||
0.419363 -0.000313 -0.907819
|
||||
0.723843 -0.000167 -0.689965
|
||||
-0.000000 -0.000337 -1.000000
|
||||
-0.000001 -0.500154 -0.865936
|
||||
0.419333 -0.454065 -0.786120
|
||||
-0.000001 -0.500154 -0.865936
|
||||
-0.000000 -0.866026 -0.499999
|
||||
0.419352 -0.786199 -0.453911
|
||||
-0.000000 -0.866026 -0.499999
|
||||
-0.000000 -1.000000 0.000161
|
||||
0.419378 -0.907812 0.000142
|
||||
-0.000000 -1.000000 0.000161
|
||||
0.000000 -0.865857 0.500292
|
||||
0.419363 -0.786038 0.454179
|
||||
0.419363 -0.000313 -0.907819
|
||||
0.419333 -0.454065 -0.786120
|
||||
0.723841 -0.345066 -0.597481
|
||||
0.419333 -0.454065 -0.786120
|
||||
0.419352 -0.786199 -0.453911
|
||||
0.723855 -0.597516 -0.344976
|
||||
0.419352 -0.786199 -0.453911
|
||||
0.419378 -0.907812 0.000142
|
||||
0.723855 -0.689952 0.000073
|
||||
0.419378 -0.907812 0.000142
|
||||
0.419363 -0.786038 0.454179
|
||||
0.723844 -0.597443 0.345127
|
||||
</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Prop_Left-Normal0-array" count="414" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Prop_Left-UV0">
|
||||
<float_array id="Prop_Left-UV0-array" count="306">
|
||||
0.968389 0.555248
|
||||
0.960242 0.555278
|
||||
0.960303 0.506439
|
||||
0.968216 0.506439
|
||||
0.952075 0.555345
|
||||
0.951921 0.506439
|
||||
0.943909 0.555330
|
||||
0.943533 0.506439
|
||||
0.935761 0.555354
|
||||
0.935622 0.506439
|
||||
0.961295 0.499748
|
||||
0.970525 0.499748
|
||||
0.952075 0.499748
|
||||
0.942764 0.499748
|
||||
0.933265 0.499748
|
||||
0.915144 0.383334
|
||||
0.945710 0.394972
|
||||
0.922876 0.375602
|
||||
0.958731 0.040580
|
||||
0.937162 0.080578
|
||||
0.934998 0.023755
|
||||
0.958251 0.085187
|
||||
0.941163 0.086320
|
||||
0.973774 0.075433
|
||||
0.983663 0.006713
|
||||
0.986131 0.015034
|
||||
0.936019 0.165295
|
||||
0.986467 0.030899
|
||||
0.982719 0.056405
|
||||
0.933439 0.393897
|
||||
0.933439 0.372772
|
||||
0.944001 0.375602
|
||||
0.951733 0.383334
|
||||
0.951404 0.400665
|
||||
0.937932 0.408444
|
||||
0.953488 0.408444
|
||||
0.951404 0.416221
|
||||
0.945710 0.421915
|
||||
0.949858 0.181241
|
||||
0.925947 0.199553
|
||||
0.959410 0.205257
|
||||
0.899262 0.170300
|
||||
0.901667 0.163711
|
||||
0.908415 0.226549
|
||||
0.918422 0.160239
|
||||
0.961993 0.221145
|
||||
0.960613 0.229867
|
||||
0.935116 0.231605
|
||||
0.958433 0.009649
|
||||
0.908613 0.208863
|
||||
0.936948 0.040815
|
||||
0.968389 0.555248
|
||||
0.960242 0.555278
|
||||
0.960303 0.506439
|
||||
0.968216 0.506439
|
||||
0.952075 0.555345
|
||||
0.951921 0.506439
|
||||
0.943909 0.555330
|
||||
0.943533 0.506439
|
||||
0.935761 0.555354
|
||||
0.935622 0.506439
|
||||
0.961295 0.499748
|
||||
0.970525 0.499748
|
||||
0.952075 0.499748
|
||||
0.942764 0.499748
|
||||
0.933265 0.499748
|
||||
0.915144 0.383334
|
||||
0.945710 0.394972
|
||||
0.922876 0.375602
|
||||
0.958731 0.040580
|
||||
0.937162 0.080578
|
||||
0.934998 0.023755
|
||||
0.958251 0.085187
|
||||
0.941163 0.086320
|
||||
0.973774 0.075433
|
||||
0.983663 0.006713
|
||||
0.986131 0.015034
|
||||
0.936019 0.165295
|
||||
0.986467 0.030899
|
||||
0.982719 0.056405
|
||||
0.933439 0.393897
|
||||
0.933439 0.372772
|
||||
0.944001 0.375602
|
||||
0.951733 0.383334
|
||||
0.951404 0.400665
|
||||
0.937932 0.408444
|
||||
0.953488 0.408444
|
||||
0.951404 0.416221
|
||||
0.945710 0.421915
|
||||
0.949858 0.181241
|
||||
0.925947 0.199553
|
||||
0.959410 0.205257
|
||||
0.899262 0.170300
|
||||
0.901667 0.163711
|
||||
0.908415 0.226549
|
||||
0.918422 0.160239
|
||||
0.961993 0.221145
|
||||
0.960613 0.229867
|
||||
0.935116 0.231605
|
||||
0.958433 0.009649
|
||||
0.908613 0.208863
|
||||
0.936948 0.040815
|
||||
0.968389 0.555248
|
||||
0.960242 0.555278
|
||||
0.960303 0.506439
|
||||
0.968216 0.506439
|
||||
0.952075 0.555345
|
||||
0.951921 0.506439
|
||||
0.943909 0.555330
|
||||
0.943533 0.506439
|
||||
0.935761 0.555354
|
||||
0.935622 0.506439
|
||||
0.961295 0.499748
|
||||
0.970525 0.499748
|
||||
0.952075 0.499748
|
||||
0.942764 0.499748
|
||||
0.933265 0.499748
|
||||
0.915144 0.383334
|
||||
0.945710 0.394972
|
||||
0.922876 0.375602
|
||||
0.958731 0.040580
|
||||
0.937162 0.080578
|
||||
0.934998 0.023755
|
||||
0.958251 0.085187
|
||||
0.941163 0.086320
|
||||
0.973774 0.075433
|
||||
0.983663 0.006713
|
||||
0.986131 0.015034
|
||||
0.936019 0.165295
|
||||
0.986467 0.030899
|
||||
0.982719 0.056405
|
||||
0.933439 0.393897
|
||||
0.933439 0.372772
|
||||
0.944001 0.375602
|
||||
0.951733 0.383334
|
||||
0.951404 0.400665
|
||||
0.937932 0.408444
|
||||
0.953488 0.408444
|
||||
0.951404 0.416221
|
||||
0.945710 0.421915
|
||||
0.949858 0.181241
|
||||
0.925947 0.199553
|
||||
0.959410 0.205257
|
||||
0.899262 0.170300
|
||||
0.901667 0.163711
|
||||
0.908415 0.226549
|
||||
0.918422 0.160239
|
||||
0.961993 0.221145
|
||||
0.960613 0.229867
|
||||
0.935116 0.231605
|
||||
0.958433 0.009649
|
||||
0.908613 0.208863
|
||||
0.936948 0.040815
|
||||
</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Prop_Left-UV0-array" count="153" stride="2">
|
||||
<param name="S" type="float"/>
|
||||
<param name="T" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<vertices id="Prop_Left-VERTEX">
|
||||
<input semantic="POSITION" source="#Prop_Left-POSITION"/>
|
||||
</vertices>
|
||||
<triangles count="138" material="WamV">
|
||||
<input semantic="VERTEX" offset="0" source="#Prop_Left-VERTEX"/>
|
||||
<input semantic="NORMAL" offset="1" source="#Prop_Left-Normal0"/>
|
||||
<input semantic="TEXCOORD" offset="2" set="0" source="#Prop_Left-UV0"/>
|
||||
<p> 55 0 0 3 1 2 59 2 3 0 3 1 4 4 5 3 5 2 1 6 4 5 7 7 4 8 5 2 9 6 27 10 9 5 11 7 59 12 3 6 13 10 63 14 11 3 15 2 7 16 12 6 17 10 4 18 5 8 19 13 7 20 12 5 21 7 32 22 14 8 23 13 63 24 15 6 25 17 37 26 29 6 27 17 7 28 30 37 29 29 7 30 30 8 31 31 37 32 29 8 33 31 32 34 32 37 35 29 22 36 16 2 37 33 38 38 34 2 39 33 1 40 35 38 41 34 1 42 35 0 43 36 38 44 34 0 45 36 55 46 37 38 47 34 16 48 18 10 49 20 20 50 48 18 51 26 13 52 38 17 53 39 14 54 21 15 55 22 16 56 18 15 57 22 9 58 19 16 59 18 18 60 23 14 61 21 16 62 18 11 63 25 12 64 27 16 65 18 16 66 18 12 67 27 13 68 28 16 69 18 13 70 28 18 71 23 13 72 38 12 73 40 17 74 39 9 75 41 15 76 42 17 77 39 20 78 47 10 79 43 21 80 49 15 81 42 14 82 44 17 83 39 14 84 44 18 85 26 17 86 39 17 87 39 12 88 40 11 89 45 17 90 39 19 91 46 20 92 47 17 93 39 11 94 45 19 95 46 19 96 24 11 97 25 16 98 18 20 99 48 19 100 24 16 101 18 16 102 18 9 103 19 21 104 50 21 105 49 9 106 41 17 107 39 21 108 49 17 109 39 20 110 47 16 111 18 21 112 50 10 113 20 22 114 51 28 115 53 27 116 54 23 117 52 29 118 56 28 119 53 24 120 55 30 121 58 29 122 56 25 123 57 31 124 60 30 125 58 27 126 54 33 127 61 32 128 62 28 129 53 34 130 63 33 131 61 29 132 56 35 133 64 34 134 63 30 135 58 36 136 65 35 137 64 32 138 66 33 139 68 37 140 80 33 141 68 34 142 81 37 143 80 34 144 81 35 145 82 37 146 80 35 147 82 36 148 83 37 149 80 26 150 67 25 151 84 38 152 85 25 153 84 24 154 86 38 155 85 24 156 86 23 157 87 38 158 85 23 159 87 22 160 88 38 161 85 46 162 69 40 163 71 50 164 99 48 165 77 43 166 89 47 167 90 44 168 72 45 169 73 46 170 69 45 171 73 39 172 70 46 173 69 48 174 74 44 175 72 46 176 69 41 177 76 42 178 78 46 179 69 46 180 69 42 181 78 43 182 79 46 183 69 43 184 79 48 185 74 43 186 89 42 187 91 47 188 90 39 189 92 45 190 93 47 191 90 50 192 98 40 193 94 51 194 100 45 195 93 44 196 95 47 197 90 44 198 95 48 199 77 47 200 90 47 201 90 42 202 91 41 203 96 47 204 90 49 205 97 50 206 98 47 207 90 41 208 96 49 209 97 49 210 75 41 211 76 46 212 69 50 213 99 49 214 75 46 215 69 46 216 69 39 217 70 51 218 101 51 219 100 39 220 92 47 221 90 51 222 100 47 223 90 50 224 98 46 225 69 51 226 101 40 227 71 26 228 102 56 229 104 31 230 105 52 231 103 57 232 107 56 233 104 53 234 106 58 235 109 57 236 107 54 237 108 59 238 111 58 239 109 31 240 105 60 241 112 36 242 113 56 243 104 61 244 114 60 245 112 57 246 107 62 247 115 61 248 114 58 249 109 63 250 116 62 251 115 36 252 117 60 253 119 37 254 131 60 255 119 61 256 132 37 257 131 61 258 132 62 259 133 37 260 131 62 261 133 63 262 134 37 263 131 55 264 118 54 265 135 38 266 136 54 267 135 53 268 137 38 269 136 53 270 137 52 271 138 38 272 136 52 273 138 26 274 139 38 275 136 71 276 120 65 277 122 75 278 150 73 279 128 68 280 140 72 281 141 69 282 123 70 283 124 71 284 120 70 285 124 64 286 121 71 287 120 73 288 125 69 289 123 71 290 120 66 291 127 67 292 129 71 293 120 71 294 120 67 295 129 68 296 130 71 297 120 68 298 130 73 299 125 68 300 140 67 301 142 72 302 141 64 303 143 70 304 144 72 305 141 75 306 149 65 307 145 76 308 151 70 309 144 69 310 146 72 311 141 69 312 146 73 313 128 72 314 141 72 315 141 67 316 142 66 317 147 72 318 141 74 319 148 75 320 149 72 321 141 66 322 147 74 323 148 74 324 126 66 325 127 71 326 120 75 327 150 74 328 126 71 329 120 71 330 120 64 331 121 76 332 152 76 333 151 64 334 143 72 335 141 76 336 151 72 337 141 75 338 149 71 339 120 76 340 152 65 341 122 55 342 0 0 343 1 3 344 2 0 345 1 1 346 4 4 347 5 1 348 4 2 349 6 5 350 7 2 351 6 22 352 8 27 353 9 59 354 3 3 355 2 6 356 10 3 357 2 4 358 5 7 359 12 4 360 5 5 361 7 8 362 13 5 363 7 27 364 9 32 365 14 22 366 51 23 367 52 28 368 53 23 369 52 24 370 55 29 371 56 24 372 55 25 373 57 30 374 58 25 375 57 26 376 59 31 377 60 27 378 54 28 379 53 33 380 61 28 381 53 29 382 56 34 383 63 29 384 56 30 385 58 35 386 64 30 387 58 31 388 60 36 389 65 26 390 102 52 391 103 56 392 104 52 393 103 53 394 106 57 395 107 53 396 106 54 397 108 58 398 109 54 399 108 55 400 110 59 401 111 31 402 105 56 403 104 60 404 112 56 405 104 57 406 107 61 407 114 57 408 107 58 409 109 62 410 115 58 411 109 59 412 111 63 413 116</p>
|
||||
</triangles>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="propeller" name="propeller">
|
||||
<node name="Prop_Left" id="Prop_Left" sid="Prop_Left">
|
||||
<matrix sid="matrix">0.010000 0.000000 0.000000 1.256173 0.000000 0.010000 0.000000 -1.027135 0.000000 0.000000 0.010000 0.413727 0.000000 0.000000 0.000000 1.000000</matrix>
|
||||
<instance_geometry url="#Prop_Left-lib">
|
||||
<bind_material>
|
||||
<technique_common>
|
||||
<instance_material symbol="WamV" target="#WamV"/>
|
||||
</technique_common>
|
||||
</bind_material>
|
||||
</instance_geometry>
|
||||
<extra>
|
||||
<technique profile="FCOLLADA">
|
||||
<visibility>1.000000</visibility>
|
||||
</technique>
|
||||
</extra>
|
||||
</node>
|
||||
<extra>
|
||||
<technique profile="MAX3D">
|
||||
<frame_rate>30.000000</frame_rate>
|
||||
</technique>
|
||||
<technique profile="FCOLLADA">
|
||||
<start_time>0.000000</start_time>
|
||||
<end_time>3.333333</end_time>
|
||||
</technique>
|
||||
</extra>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#propeller"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>Boat</name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.5'>boat.sdf</sdf>
|
||||
<license>Apache 2.0</license>
|
||||
<url type="website">http://wiki.ros.org/wamv_description</url>
|
||||
<author email="briansbingham@gmail.com">Brian Bingham</author>
|
||||
<author email="caguero@osrfoundation.org">Carlos Aguero</author>
|
||||
|
||||
<description>
|
||||
This is a model of a boat model based on WAM-V. The implementation is from [osrf/vrx](https://bitbucket.org/osrf/vrx/)
|
||||
</description>
|
||||
</model>
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>drone1</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.6">model.sdf</sdf>
|
||||
<author>
|
||||
<name>Eric Johnson</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Fadri Furrer</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Michael Burri</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Mina Kamel</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Janosch Nikolic</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Markus Achtelik</name>
|
||||
</author>
|
||||
|
||||
|
||||
<description>
|
||||
A copy of the 3DR Iris model taken from
|
||||
https://github.com/PX4/sitl_gazebo/tree/master/models
|
||||
Local modifications include adding standoffs,
|
||||
inertia and collision updates..
|
||||
</description>
|
||||
</model>
|
||||
@@ -0,0 +1,218 @@
|
||||
<?xml version='1.0'?>
|
||||
<sdf version="1.6" >
|
||||
<model name="iris_demo">
|
||||
<include>
|
||||
<uri>model://iris_base</uri>
|
||||
</include>
|
||||
|
||||
<!-- plugins -->
|
||||
<plugin name="rotor_0_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_0_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_1_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_1_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_2_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_2_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_3_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_3_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="arducopter_plugin" filename="libArduPilotPlugin.so">
|
||||
<fdm_addr>127.0.0.1</fdm_addr>
|
||||
<fdm_port_in>9002</fdm_port_in>
|
||||
<fdm_port_out>9003</fdm_port_out>
|
||||
<!--
|
||||
Require by APM :
|
||||
Only change model and gazebo from XYZ to XY-Z coordinates
|
||||
-->
|
||||
<modelXYZToAirplaneXForwardZDown>0 0 0 3.141593 0 0</modelXYZToAirplaneXForwardZDown>
|
||||
<gazeboXYZToNED>0 0 0 3.141593 0 0</gazeboXYZToNED>
|
||||
<imuName>iris::iris/imu_link::imu_sensor</imuName>
|
||||
<connectionTimeoutMaxCount>5</connectionTimeoutMaxCount>
|
||||
<control channel="0">
|
||||
<!--
|
||||
incoming control command [0, 1]
|
||||
so offset it by 0 to get [0, 1]
|
||||
and divide max target by 1.
|
||||
offset = 0
|
||||
multiplier = 838 max rpm / 1 = 838
|
||||
-->
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_0_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="1">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_1_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="2">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_2_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="3">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_3_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
</plugin>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>drone10</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.6">model.sdf</sdf>
|
||||
<author>
|
||||
<name>Eric Johnson</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Fadri Furrer</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Michael Burri</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Mina Kamel</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Janosch Nikolic</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Markus Achtelik</name>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
A copy of the 3DR Iris model taken from
|
||||
https://github.com/PX4/sitl_gazebo/tree/master/models
|
||||
Local modifications include adding standoffs,
|
||||
inertia and collision updates..
|
||||
</description>
|
||||
</model>
|
||||
@@ -0,0 +1,221 @@
|
||||
<?xml version='1.0'?>
|
||||
<sdf version="1.6" >
|
||||
<model name="iris_demo">
|
||||
<include>
|
||||
<uri>model://iris_base</uri>
|
||||
</include>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- plugins -->
|
||||
<plugin name="rotor_0_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_0_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_1_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_1_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_2_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_2_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_3_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_3_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="arducopter_plugin" filename="libArduPilotPlugin.so">
|
||||
<fdm_addr>127.0.0.1</fdm_addr>
|
||||
<fdm_port_in>9092</fdm_port_in>
|
||||
<fdm_port_out>9093</fdm_port_out>
|
||||
<!--
|
||||
Require by APM :
|
||||
Only change model and gazebo from XYZ to XY-Z coordinates
|
||||
-->
|
||||
<modelXYZToAirplaneXForwardZDown>0 0 0 3.141593 0 0</modelXYZToAirplaneXForwardZDown>
|
||||
<gazeboXYZToNED>0 0 0 3.141593 0 0</gazeboXYZToNED>
|
||||
<imuName>iris::iris/imu_link::imu_sensor</imuName>
|
||||
<connectionTimeoutMaxCount>5</connectionTimeoutMaxCount>
|
||||
<control channel="0">
|
||||
<!--
|
||||
incoming control command [0, 1]
|
||||
so offset it by 0 to get [0, 1]
|
||||
and divide max target by 1.
|
||||
offset = 0
|
||||
multiplier = 838 max rpm / 1 = 838
|
||||
-->
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_0_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="1">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_1_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="2">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_2_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="3">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_3_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
</plugin>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>drone11</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.6">model.sdf</sdf>
|
||||
<author>
|
||||
<name>Eric Johnson</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Fadri Furrer</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Michael Burri</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Mina Kamel</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Janosch Nikolic</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Markus Achtelik</name>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
A copy of the 3DR Iris model taken from
|
||||
https://github.com/PX4/sitl_gazebo/tree/master/models
|
||||
Local modifications include adding standoffs,
|
||||
inertia and collision updates..
|
||||
</description>
|
||||
</model>
|
||||
@@ -0,0 +1,219 @@
|
||||
<?xml version='1.0'?>
|
||||
<sdf version="1.6" >
|
||||
<model name="iris_demo">
|
||||
<include>
|
||||
<uri>model://iris_base</uri>
|
||||
</include>
|
||||
|
||||
|
||||
<!-- plugins -->
|
||||
<plugin name="rotor_0_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_0_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_1_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_1_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_2_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_2_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_3_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_3_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="arducopter_plugin" filename="libArduPilotPlugin.so">
|
||||
<fdm_addr>127.0.0.1</fdm_addr>
|
||||
<fdm_port_in>9102</fdm_port_in>
|
||||
<fdm_port_out>9103</fdm_port_out>
|
||||
<!--
|
||||
Require by APM :
|
||||
Only change model and gazebo from XYZ to XY-Z coordinates
|
||||
-->
|
||||
<modelXYZToAirplaneXForwardZDown>0 0 0 3.141593 0 0</modelXYZToAirplaneXForwardZDown>
|
||||
<gazeboXYZToNED>0 0 0 3.141593 0 0</gazeboXYZToNED>
|
||||
<imuName>iris::iris/imu_link::imu_sensor</imuName>
|
||||
<connectionTimeoutMaxCount>5</connectionTimeoutMaxCount>
|
||||
<control channel="0">
|
||||
<!--
|
||||
incoming control command [0, 1]
|
||||
so offset it by 0 to get [0, 1]
|
||||
and divide max target by 1.
|
||||
offset = 0
|
||||
multiplier = 838 max rpm / 1 = 838
|
||||
-->
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_0_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="1">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_1_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="2">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_2_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="3">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_3_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
</plugin>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>drone12</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.6">model.sdf</sdf>
|
||||
<author>
|
||||
<name>Eric Johnson</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Fadri Furrer</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Michael Burri</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Mina Kamel</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Janosch Nikolic</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Markus Achtelik</name>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
A copy of the 3DR Iris model taken from
|
||||
https://github.com/PX4/sitl_gazebo/tree/master/models
|
||||
Local modifications include adding standoffs,
|
||||
inertia and collision updates..
|
||||
</description>
|
||||
</model>
|
||||
@@ -0,0 +1,219 @@
|
||||
<?xml version='1.0'?>
|
||||
<sdf version="1.6" >
|
||||
<model name="iris_demo">
|
||||
<include>
|
||||
<uri>model://iris_base</uri>
|
||||
</include>
|
||||
|
||||
|
||||
<!-- plugins -->
|
||||
<plugin name="rotor_0_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_0_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_1_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_1_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_2_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_2_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_3_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_3_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="arducopter_plugin" filename="libArduPilotPlugin.so">
|
||||
<fdm_addr>127.0.0.1</fdm_addr>
|
||||
<fdm_port_in>9112</fdm_port_in>
|
||||
<fdm_port_out>9113</fdm_port_out>
|
||||
<!--
|
||||
Require by APM :
|
||||
Only change model and gazebo from XYZ to XY-Z coordinates
|
||||
-->
|
||||
<modelXYZToAirplaneXForwardZDown>0 0 0 3.141593 0 0</modelXYZToAirplaneXForwardZDown>
|
||||
<gazeboXYZToNED>0 0 0 3.141593 0 0</gazeboXYZToNED>
|
||||
<imuName>iris::iris/imu_link::imu_sensor</imuName>
|
||||
<connectionTimeoutMaxCount>5</connectionTimeoutMaxCount>
|
||||
<control channel="0">
|
||||
<!--
|
||||
incoming control command [0, 1]
|
||||
so offset it by 0 to get [0, 1]
|
||||
and divide max target by 1.
|
||||
offset = 0
|
||||
multiplier = 838 max rpm / 1 = 838
|
||||
-->
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_0_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="1">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_1_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="2">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_2_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="3">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_3_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
</plugin>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>drone2</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.6">model.sdf</sdf>
|
||||
<author>
|
||||
<name>Eric Johnson</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Fadri Furrer</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Michael Burri</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Mina Kamel</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Janosch Nikolic</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Markus Achtelik</name>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
A copy of the 3DR Iris model taken from
|
||||
https://github.com/PX4/sitl_gazebo/tree/master/models
|
||||
Local modifications include adding standoffs,
|
||||
inertia and collision updates..
|
||||
</description>
|
||||
</model>
|
||||
@@ -0,0 +1,220 @@
|
||||
<?xml version='1.0'?>
|
||||
<sdf version="1.6" >
|
||||
<model name="iris_demo">
|
||||
<include>
|
||||
<uri>model://iris_base</uri>
|
||||
</include>
|
||||
|
||||
|
||||
|
||||
<!-- plugins -->
|
||||
<plugin name="rotor_0_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_0_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_1_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_1_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_2_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_2_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_3_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_3_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="arducopter_plugin" filename="libArduPilotPlugin.so">
|
||||
<fdm_addr>127.0.0.1</fdm_addr>
|
||||
<fdm_port_in>9012</fdm_port_in>
|
||||
<fdm_port_out>9013</fdm_port_out>
|
||||
<!--
|
||||
Require by APM :
|
||||
Only change model and gazebo from XYZ to XY-Z coordinates
|
||||
-->
|
||||
<modelXYZToAirplaneXForwardZDown>0 0 0 3.141593 0 0</modelXYZToAirplaneXForwardZDown>
|
||||
<gazeboXYZToNED>0 0 0 3.141593 0 0</gazeboXYZToNED>
|
||||
<imuName>iris::iris/imu_link::imu_sensor</imuName>
|
||||
<connectionTimeoutMaxCount>5</connectionTimeoutMaxCount>
|
||||
<control channel="0">
|
||||
<!--
|
||||
incoming control command [0, 1]
|
||||
so offset it by 0 to get [0, 1]
|
||||
and divide max target by 1.
|
||||
offset = 0
|
||||
multiplier = 838 max rpm / 1 = 838
|
||||
-->
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_0_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="1">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_1_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="2">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_2_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="3">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_3_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
</plugin>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>drone3</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.6">model.sdf</sdf>
|
||||
<author>
|
||||
<name>Eric Johnson</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Fadri Furrer</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Michael Burri</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Mina Kamel</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Janosch Nikolic</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Markus Achtelik</name>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
A copy of the 3DR Iris model taken from
|
||||
https://github.com/PX4/sitl_gazebo/tree/master/models
|
||||
Local modifications include adding standoffs,
|
||||
inertia and collision updates..
|
||||
</description>
|
||||
</model>
|
||||
@@ -0,0 +1,220 @@
|
||||
<?xml version='1.0'?>
|
||||
<sdf version="1.6" >
|
||||
<model name="iris_demo">
|
||||
<include>
|
||||
<uri>model://iris_base</uri>
|
||||
</include>
|
||||
|
||||
|
||||
|
||||
<!-- plugins -->
|
||||
<plugin name="rotor_0_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_0_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_1_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_1_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_2_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_2_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_3_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_3_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="arducopter_plugin" filename="libArduPilotPlugin.so">
|
||||
<fdm_addr>127.0.0.1</fdm_addr>
|
||||
<fdm_port_in>9022</fdm_port_in>
|
||||
<fdm_port_out>9023</fdm_port_out>
|
||||
<!--
|
||||
Require by APM :
|
||||
Only change model and gazebo from XYZ to XY-Z coordinates
|
||||
-->
|
||||
<modelXYZToAirplaneXForwardZDown>0 0 0 3.141593 0 0</modelXYZToAirplaneXForwardZDown>
|
||||
<gazeboXYZToNED>0 0 0 3.141593 0 0</gazeboXYZToNED>
|
||||
<imuName>iris::iris/imu_link::imu_sensor</imuName>
|
||||
<connectionTimeoutMaxCount>5</connectionTimeoutMaxCount>
|
||||
<control channel="0">
|
||||
<!--
|
||||
incoming control command [0, 1]
|
||||
so offset it by 0 to get [0, 1]
|
||||
and divide max target by 1.
|
||||
offset = 0
|
||||
multiplier = 838 max rpm / 1 = 838
|
||||
-->
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_0_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="1">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_1_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="2">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_2_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="3">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_3_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
</plugin>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>drone4</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.6">model.sdf</sdf>
|
||||
<author>
|
||||
<name>Eric Johnson</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Fadri Furrer</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Michael Burri</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Mina Kamel</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Janosch Nikolic</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Markus Achtelik</name>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
A copy of the 3DR Iris model taken from
|
||||
https://github.com/PX4/sitl_gazebo/tree/master/models
|
||||
Local modifications include adding standoffs,
|
||||
inertia and collision updates..
|
||||
</description>
|
||||
</model>
|
||||
@@ -0,0 +1,218 @@
|
||||
<?xml version='1.0'?>
|
||||
<sdf version="1.6" >
|
||||
<model name="iris_demo">
|
||||
<include>
|
||||
<uri>model://iris_base</uri>
|
||||
</include>
|
||||
|
||||
<!-- plugins -->
|
||||
<plugin name="rotor_0_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_0_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_1_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_1_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_2_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_2_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_3_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_3_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="arducopter_plugin" filename="libArduPilotPlugin.so">
|
||||
<fdm_addr>127.0.0.1</fdm_addr>
|
||||
<fdm_port_in>9032</fdm_port_in>
|
||||
<fdm_port_out>9033</fdm_port_out>
|
||||
<!--
|
||||
Require by APM :
|
||||
Only change model and gazebo from XYZ to XY-Z coordinates
|
||||
-->
|
||||
<modelXYZToAirplaneXForwardZDown>0 0 0 3.141593 0 0</modelXYZToAirplaneXForwardZDown>
|
||||
<gazeboXYZToNED>0 0 0 3.141593 0 0</gazeboXYZToNED>
|
||||
<imuName>iris::iris/imu_link::imu_sensor</imuName>
|
||||
<connectionTimeoutMaxCount>5</connectionTimeoutMaxCount>
|
||||
<control channel="0">
|
||||
<!--
|
||||
incoming control command [0, 1]
|
||||
so offset it by 0 to get [0, 1]
|
||||
and divide max target by 1.
|
||||
offset = 0
|
||||
multiplier = 838 max rpm / 1 = 838
|
||||
-->
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_0_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="1">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_1_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="2">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_2_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="3">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_3_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
</plugin>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>drone5</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.6">model.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Fadri Furrer</name>
|
||||
<email>fadri.furrer@mavt.ethz.ch</email>
|
||||
</author>
|
||||
<author>
|
||||
<name>Michael Burri</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Mina Kamel</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Janosch Nikolic</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Markus Achtelik</name>
|
||||
</author>
|
||||
|
||||
<maintainer email="hsu@osrfoundation.org">john hsu</maintainer>
|
||||
|
||||
|
||||
<description>
|
||||
A copy of the 3DR Iris model taken from
|
||||
https://github.com/PX4/sitl_gazebo/tree/master/models
|
||||
Local modifications include adding standoffs,
|
||||
inertia and collision updates..
|
||||
</description>
|
||||
</model>
|
||||
@@ -0,0 +1,220 @@
|
||||
<?xml version='1.0'?>
|
||||
<sdf version="1.6" >
|
||||
<model name="iris_demo">
|
||||
<include>
|
||||
<uri>model://iris_base</uri>
|
||||
</include>
|
||||
|
||||
|
||||
|
||||
<!-- plugins -->
|
||||
<plugin name="rotor_0_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_0_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_1_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_1_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_2_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_2_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_3_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_3_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="arducopter_plugin" filename="libArduPilotPlugin.so">
|
||||
<fdm_addr>127.0.0.1</fdm_addr>
|
||||
<fdm_port_in>9042</fdm_port_in>
|
||||
<fdm_port_out>9043</fdm_port_out>
|
||||
<!--
|
||||
Require by APM :
|
||||
Only change model and gazebo from XYZ to XY-Z coordinates
|
||||
-->
|
||||
<modelXYZToAirplaneXForwardZDown>0 0 0 3.141593 0 0</modelXYZToAirplaneXForwardZDown>
|
||||
<gazeboXYZToNED>0 0 0 3.141593 0 0</gazeboXYZToNED>
|
||||
<imuName>iris::iris/imu_link::imu_sensor</imuName>
|
||||
<connectionTimeoutMaxCount>5</connectionTimeoutMaxCount>
|
||||
<control channel="0">
|
||||
<!--
|
||||
incoming control command [0, 1]
|
||||
so offset it by 0 to get [0, 1]
|
||||
and divide max target by 1.
|
||||
offset = 0
|
||||
multiplier = 838 max rpm / 1 = 838
|
||||
-->
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_0_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="1">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_1_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="2">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_2_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="3">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_3_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
</plugin>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>drone6</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.6">model.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Fadri Furrer</name>
|
||||
<email>fadri.furrer@mavt.ethz.ch</email>
|
||||
</author>
|
||||
<author>
|
||||
<name>Michael Burri</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Mina Kamel</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Janosch Nikolic</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Markus Achtelik</name>
|
||||
</author>
|
||||
|
||||
<maintainer email="hsu@osrfoundation.org">john hsu</maintainer>
|
||||
|
||||
|
||||
<description>
|
||||
A copy of the 3DR Iris model taken from
|
||||
https://github.com/PX4/sitl_gazebo/tree/master/models
|
||||
Local modifications include adding standoffs,
|
||||
inertia and collision updates..
|
||||
</description>
|
||||
</model>
|
||||
@@ -0,0 +1,220 @@
|
||||
<?xml version='1.0'?>
|
||||
<sdf version="1.6" >
|
||||
<model name="iris_demo">
|
||||
<include>
|
||||
<uri>model://iris_base</uri>
|
||||
</include>
|
||||
|
||||
|
||||
|
||||
<!-- plugins -->
|
||||
<plugin name="rotor_0_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_0_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_1_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_1_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_2_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_2_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_3_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_3_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="arducopter_plugin" filename="libArduPilotPlugin.so">
|
||||
<fdm_addr>127.0.0.1</fdm_addr>
|
||||
<fdm_port_in>9052</fdm_port_in>
|
||||
<fdm_port_out>9053</fdm_port_out>
|
||||
<!--
|
||||
Require by APM :
|
||||
Only change model and gazebo from XYZ to XY-Z coordinates
|
||||
-->
|
||||
<modelXYZToAirplaneXForwardZDown>0 0 0 3.141593 0 0</modelXYZToAirplaneXForwardZDown>
|
||||
<gazeboXYZToNED>0 0 0 3.141593 0 0</gazeboXYZToNED>
|
||||
<imuName>iris::iris/imu_link::imu_sensor</imuName>
|
||||
<connectionTimeoutMaxCount>5</connectionTimeoutMaxCount>
|
||||
<control channel="0">
|
||||
<!--
|
||||
incoming control command [0, 1]
|
||||
so offset it by 0 to get [0, 1]
|
||||
and divide max target by 1.
|
||||
offset = 0
|
||||
multiplier = 838 max rpm / 1 = 838
|
||||
-->
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_0_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="1">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_1_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="2">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_2_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="3">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_3_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
</plugin>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>drone7</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.6">model.sdf</sdf>
|
||||
<author>
|
||||
<name>Eric Johnson</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Fadri Furrer</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Michael Burri</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Mina Kamel</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Janosch Nikolic</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Markus Achtelik</name>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
A copy of the 3DR Iris model taken from
|
||||
https://github.com/PX4/sitl_gazebo/tree/master/models
|
||||
Local modifications include adding standoffs,
|
||||
inertia and collision updates..
|
||||
</description>
|
||||
</model>
|
||||