[Stormworks] PID回路

Поділитися
Вставка
  • Опубліковано 18 січ 2025

КОМЕНТАРІ • 14

  • @nandemotsukuruyo
    @nandemotsukuruyo 2 місяці тому +1

    マイコンPIDにMax Valueがない問題で自分が得た教訓を一つ。
    「全部の制御をPIDにさせず調整不要な範囲はPIDを止めて値を直接つっこめばいい。」
    船エンジンをRPS指定するスロットルを作ってたけど、負荷が重くて永久に20RPSに届かない。
    減速しようとしても膨大なオーバーシュートでスロットルが1以上に張り付き暴走しました。
    思えば全域でPIDが必要なわけでなく、スロットル下限でだけエンスト防止できればいいだけなので
    メインスイッチand入力値

    • @YB-masc
      @YB-masc  2 місяці тому +2

      「PIDが要らないなら使わない」って言う戦略は、いいと思います!
      ちなみに私なら、PIDを完全に使わないかも...?PIDの設定が面倒だから...
      ( クラッチにつなぐWSとかの信号が0.01以上なら、
        スロットルを「負荷がかかってるときでもエンストしない値」に、
      そうでないなら
        スロットルを「負荷がかかってないときのアイドリング用のスロットル値」に、
      とかでいいかな... )
      きっとPIDを使うということは、相当手の込んだ、素敵な船なんだと思います!

  • @りょう-o3n9g
    @りょう-o3n9g Місяць тому +1

    神すぎ

    • @YB-masc
      @YB-masc  27 днів тому +1

      ご視聴ありがとうございます!
      喜んでもらえてよかったです~

  • @sta.6390
    @sta.6390 2 місяці тому +2

    「機体がどういう動作をしたら」「PIDのどの値をいじる」みたいな対応が欲しい、、、

    • @YB-masc
      @YB-masc  2 місяці тому +2

      うーむ、難問...
      「なんでハンチングするのか?」「どういうときにハンチングするのか?」を観察するとか、
      トライアンドエラーでいろいろ試してみる( 良さげな状態はバックアップを取りつつ )とかが良いですかねぇ?
      例えば車などの速度を、現在の速度を用いてPID制御しているとしたら、
      ・加速するのが遅いor目標速度に到達しない:
        Pを上げる、Dを下げる、MaxValueや値の取れる範囲に引っかかってないか( 例えば、車が重いのにモーターが貧弱なため、モータースロットルが1でも目標速度に到達できないとか )などを確認する
      ・目標速度を超えて加速する:
        Pを下げる、Dを上げる、Iを下げる( 思ったより小さくていいことも )
      ・旋回したら目標速度からずれるor物をけん引したら目標速度に到達しなくなる:
        Iをほんの少し上げる、Pも上げていいかも?
      みたいな表が欲しいのだろうと推察しますが、制御する回路やハードウエア( 乗り物のパーツ・ギア )にもよると思います...
      例えば飛行機の水平を維持したいとして、高度をPID制御するか、ピッチ角度( TiltセンサーやPhysicsセンサーから持ってくる )をPID制御するか、みたいなアルゴリズムでも異なる結果になると思います!
      これで分からんってなったら、相方さんが分かる範囲で相談に乗りますよ~
      とは言え、そこまでPIDの使用経験があるわけではないので、為になるかは分かりませんが...
      ちなみに、相方さんはちょっと忙しいので( 何で10の都市の編集も相方さんなんだよぉ!本物仕事してなくね!? )、コメントを返すのは問題ないと思いますが動画にしてほしいって言われると遅くなるかも...

    • @sta.6390
      @sta.6390 2 місяці тому +1

      @YB-masc おお、ご丁寧な返信ありがとうございます。
      お手数おかけしましたが、私もまだ初めて1,2ヶ月ですし、まずは色々模索してみます!
      このゲームは3-4年ほど前から他の実況者さんの動画で知って面白そうだとは思っていましたが中々買わずで…。
      いざやったら楽しくてハマってますが、色々作る中でヘリの汎用性と必要性に気づいたは良いものの制御に困ってPIDに…という流れですね。
      取り敢えず気長に色々やってみます!

    • @sta.6390
      @sta.6390 2 місяці тому +1

      @YB-masc
      (なんか返信できてなかったっぽいので再送)
      ご丁寧な対応ありがとうございます!
      動画化までは(あれば嬉しいですが)流石に…w
      自分語りで恐縮ですが、ストワはまだ始めて1、2ヶ月で、やってくうちにヘリの有用性に気づいて制御のためにPIDにも手を付けて結果敢え無く惨敗しました。
      その時も解説動画は見ていたのですが、「どういうフィードバックに対してどこのパラメタを弄ればよいか」が結びついてないことに気が付きまして、今回新しく解説されていたので、期待してしまった…という流れです。
      取り敢えず気長にやってみます!

    • @YB-masc
      @YB-masc  2 місяці тому +2

      あら、Stormworks歴が短い方だったのですね...
      そしたら多分、PIDを使わずにジャイロ( Gyro )を用いた、基本的なヘリを作るところから始めるといいと思います!
      その後、ヘリで海難救助をするにしろ、戦闘するにしろ、装備の方から充実させてみてはどうでしょうか?
      PIDは結構上級者向けで、PIDがなくても、ある程度安定したヘリは作れるので( 逆に私はジャイロがないとヘリ飛ばせないが... )、後回しでもいいと思いますよ!

  • @くりすきっけ
    @くりすきっけ 2 місяці тому +2

    GPS誘導の仕方とかが知りたいなーとかいう願望があったりなかったり

    • @YB-masc
      @YB-masc  2 місяці тому +2

      私もわからん...
      ( atan2()をなんとかすれば、「ウェイポイントの方を向くこと」はできるのは分かるが... )
      「こんなものが作りたい」ってのがはっきりしてるなら、相方さんが暇なときに研究しようかな?

    • @YB-masc
      @YB-masc  2 місяці тому +2

      ちょっと待てよ?GPS誘導とかatanとか言い始めたら、三角関数とかベクトルとかコンポジットとかの解説から作ることにならんか?

  • @taikimizu391
    @taikimizu391 2 місяці тому +1

    うーんハンチングするのは調整不足なだけなのか……あと一緒に作ってくれる人がいるって羨ましいなぁ……

    • @YB-masc
      @YB-masc  2 місяці тому +1

      前半:調整不足以外にも、そもそも向いてないものを制御させようとしても限界があるかも?
         後は、例えば速度を一定にしたいとして、いろんな速度域に対応させるのは難しいかもしれないです...
         ( つまり、PIDのSetPointの取りうる範囲が、大きすぎると大変かもしれないです...
          高速域では安定したのに、低速域ではダメになる、ってのはよくあると思います )
      後半:残念なことに、基本的に個人開発なんですよ...( 技術力も作りたいものも、バラバラ過ぎてなぁ... )
         このチャンネルではチャンネル登録者様がキリのいいときに、Stormworksで乗り物の一部だけを配布するので、
         皆様から見たら、共同開発の気分を味わえると思います!
         あと、回路制作などで迷ったら、相方さんの対応できる範囲で相談に乗りますよ~
         ( この動画のような解説を、あと2種類くらい上げたいとは思っているが、いつになることやら... )