Giter Club home page Giter Club logo

gz_propeller_plugins's Introduction

Gazebo Propeller Plugin

Description

This plugin simulates the thrust force and the torque generated by the propeller without aero-dynamic environments. In general, it gives a approximate thrust force and torque function in following format: $$ThrustForce = ForceConstant \times \omega^2$$ $$Torque = TorqueConstant \times \omega^2$$ Where $\omega$ is the angular velocity of the propeller, the thrust force and torque were applied to the parent link of the specified joint.

Mention: This plugin does not actuates the propeller but only simulate the behavior of propeller. To drive the propeller, please use gazebo_ros2_control plugin.

Dependence

This plugin uses colcon tools to build, and before you compiling the code, make sure you have following dependencies:

  • ROS2 colcon tools
  • Gazebo v11+
  • libgazebo-dev
sudo apt install libgazebo-dev

Usage

To build this plugin, please first create a ros2 workspace,

mkdir ros2_ws
cd ros2_ws/
mkdir src
cd src

Then clone this project into the src folder,

git clone [email protected]:UoN-Hari/gz_propeller_plugins.git gz_propeller_plugins

Build this project,

cd ..
colcon build

Add the plugin to your GAZEBO_PLUGIN_PATH,

echo "export GAZEBO_PLUGIN_PATH=${GAZEBO_PLUGIN_PATH}:${pwd}/build/gz_propeller_plugins" >> ~/.bashrc

To use this plugin in your gazebo, add the following context in your urdf file:

<gazebo>
  <plugin name="PropellerPlugin" filename="libgz_propeller_plugins.so">
    <!-- 
        param: 
            name = "your joint name"
            direction = "cw" or "ccw"
            torque_constant = "a double value"
            force_constant = "a double value"
    -->
    <joint name="" direction="" torque_constant="" force_constant="" />
    ...
  </plugin>
</gazebo>

TODOs

  • Add more parameters of the propeller to get a more accurate performance with the real world.
  • Remove the building depend colcon tool.

gz_propeller_plugins's People

Contributors

uon-hari avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.