Comments (6)
We should only apply forces to the rotors I think. At least according to the identification we did with Manuel, the main influence came from the air drag. Not sure how to handle wind in z direction though.
from rotors_simulator.
the clean way would be to apply the forces on rotors. for the z-direction, we could try to find some drag coefficient that is proportional to the speed squared. Does anyone know what happens with wind that goes through the rotor disk parallel to the rotor's axis? That would probably be the main source.
We could think about two modes, or call it somewhat "disturbance plugin":
- simple mode, that just applies a disturbance force
- advanced mode with wind model etc
- which other disturbances may exist?
from rotors_simulator.
Does anyone know what happens with wind that goes through the rotor disk parallel to the rotor's axis?
I guess that will basically change the angle of attack of the rotor which would lead in a different motor_constant_
in:
double force = real_motor_velocity * real_motor_velocity * motor_constant_;
Does that make sense?
Not sure how we would incorporate this though, we would need to have the motor_constant_
depend on the current velocity (air + body) going through the rotor plane parallel to the rotor's axis or something similar.
from rotors_simulator.
We just need to get the velocity in world coordinates and project it onto the rotor plane (which needs the orientation of the motor).
I think both (the velocity and the orientation) are available in the plugin.
from rotors_simulator.
To wrap it up:
- rename plugin to disturbance_plugin
- add sdf parameters
- force params that replace the wind and windgust, which then just apply a disturbance force
- do we want something like a disturbance moment?
- wind params similar to the ones which we have now, just with a wind speed instead of force
- publish the wind from the plugin if some wind is set
- apply the disturbance forces, just like the wind forces are currently applied
- make a callback in
gazebo_motor_model
to get the current wind - apply the wind forces and moments in
gazebo_motor_model
@markusachtelik and @burrimi any additions or changes?
from rotors_simulator.
@ffurrer Hello. I understand this is a very old thread but, is there any reference pull-request where I can see how the functionality here was implemented? I am interested in modifying the model of the rotors to account for air drag beyond the current implementation.
Any comments will be very appreciated.
from rotors_simulator.
Related Issues (20)
- camera_depth_optical_center_link does not exist HOT 2
- Mav-joystick is not working
- How do you dynamically change mav parameters in the simulator?
- protobuf-compiler
- catkin build -> rotors_gazebo_plugins:make error HOT 3
- Matlab custom messages HOT 1
- Bicopter simulator
- Protobuf Problem after installation
- Does it work with ROS2 ? HOT 1
- How are random walk and noise density IMU values obtained (ADIS16448)
- rotor_gazebo_plugins HOT 2
- rotors_gazebo_plugins:make error
- waypoint_publisher_file
- Compilation error HOT 1
- gazebo does not work HOT 1
- 1324
- rotors_gazebo_plugins build fail HOT 1
- How to get rotor speed?
- Running example Simulink-ROS-Gazebo error HOT 1
- IMU data output format
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rotors_simulator.