Coder Social home page Coder Social logo

choreonoid_plugins's People

Contributors

jskhtakeda avatar

Watchers

 avatar  avatar  avatar

Forkers

jskhtakeda

choreonoid_plugins's Issues

nloptのソルバをどこに記述するか

nloptはソルバのインスタンスを作って,そこに評価関数や制約を設定して,最後にソルバを実行する関数を呼ぶ,みたいな使い方だと思うのですが,
nloptに設定する評価関数の内部でシミュレーションをリセットして,シミュレーション終了時に評価値を返すみたいな設計にすれば簡単ではないでしょうか.

現在の実装のような,シミュレーションがリセットされるタイミングで何らかの関数を呼ぶ,という仕組みだと,ソルバをどのプロセスで回せばよいかわからないです.

add{Pre / Mid / Post}DynamicsFunctionを試す

Pluginはシミュレーション時間で動かせないと思っていたが,preDynamicsFunctionなどが物理シミュレーション時間で回るらしい.
Controllerを全く使わずにPluginのみで実時間制御できるなら,煩雑なデータのやり取りが減る上に書くべきプログラムも1つで済むので非常に嬉しいので近いうちに試す.
SimulatorItem.cppのstepSimulationMain()内を読んで呼ばれる順番に気をつけつつ書く.
Controllerと厳密に同じ挙動にしようとすると,useControllerThreadsの場合,
midDynamicsFunctionsでOutputを計算し,
postDynamicsFunctionsに書き込むのが正解?
ControllerThreadの挙動を理解できてないから分からないが,そこまでしなくても良さそうではある

createしたshm領域のremove実装について

実は現在の記述では,shmの領域をcreateした後,removeしていません.
createしたshmの領域をremoveする際には
shared_memory_object::remove
という関数を呼べばいいようなのですが,これをどこに記述すれば良いでしょうか?

現在,controller/PDController_InvertedPendulum.cppのコントローラはinitialize()とcontrol()関数をメンバ関数に持っていますが,そのうちcontrol()関数内でshmの領域を確保している状況です.

本来control()でなくinitialize()関数でshmのcreateをして,このコントローラのデストラクタ内でremoveする記述をしておけば良いのかと思いますが,うまくいきませんでした.

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.