7 2 編寫外掛程式 模型外掛程式

2021-08-11 22:50:15 字數 1921 閱讀 1899

概述/helloworld外掛程式教程

(外掛程式允許完全訪問模型及其基本元素(鏈結、節點、碰撞物件)的物理屬性。下面的外掛程式將對其父模型應用乙個線性速度。

$ cd ~/gazebo_plugin_tutorial

$ geditmodel_push.cc

外掛程式**:

#include#include#include#include#includenamespacegazebo

// called by the world update start event

public: void onupdate(constcommon::updateinfo & /*_info*/)

// pointer to the model

private: physics::modelptr model;

// pointer to the update event connection

private: event::connectionptrupdateconnection;

};// register this plugin with the simulator

gz_register_model_plugin(modelpush)

}

假設讀者已經閱讀了hello world外掛程式教程,那麼需要做的就是向

~/gazebo_plugin_tutorial/cmakelists.txt中新增以下幾行

add_library(model_push shared model_push.cc)

target_link_libraries(model_push $ $)

編譯這段**將導致乙個共享庫,~/gazebo_plugin_tutorial/build/libmodel_push.so。因此,這可以插入到gazebo模**中。

$ cd~/gazebo_plugin_tutorial/build

$ cmake ../

$ make

這個外掛程式在世界檔案examples/plugins/model_push/model_push.world中使用

$ cd~/gazebo_plugin_tutorial

$ geditmodel_push.world

<?xmlversion="1.0"?>

model://ground_plane

model://sun

0 0 0.5 0 0 0

1 1 1

1 1 1

外掛程式被指定附加到模型元素塊的末尾:

不要複製,以下是參考目的

將您的庫路徑新增到gazebo_plugin_path

$ export gazebo_plugin_path=$home/gazebo_plugin_tutorial/build:$gazebo_plugin_path

開始**,執行

$ cd ~/gazebo_plugin_tutorial/

$ gzserver -u model_push.world

-u選項在乙個暫停狀態啟動伺服器。

在另乙個單獨的終端中,啟動gui

$ gzclient

單擊gui中的play按鈕,以取消模擬,您將看到該框的移動。

7 3 編寫外掛程式 世界外掛程式

控制執行 中的模型,以及何時應該插入這些模型是很有用的。本教程演示如何在gazebo中插入預定義的和自定義的模型。使用以前的外掛程式教程中的gazebo plugin tutorial mkdir gazebo plugin tutorial cd gazebo plugin tutorial 建立...

CKEditor外掛程式編寫

4.外掛程式編寫流程和例項 1 在plugins目錄新建資料夾apage,在apage下新建檔案 plugin.js 內容如下 ckeditor.plugins.add apage 2 在 中加一項page,並在配置中宣告新增擴充套件外掛程式 config.extraplugins apage 有兩...

jquery外掛程式編寫

最近大家都玩什麼react node angular這些玩意去了 隨著瀏覽器的相容性 以及前端開發思想的進化 jquery逐漸被拋棄 現在自己也很少用了 純粹為了懷戀曾經的jquery.現在寫寫jquery外掛程式的寫法。沒事的時候避免老年痴呆,可以用來玩玩。寫法一 function window ...