安装 Steam
登录
|
语言
繁體中文(繁体中文)
日本語(日语)
한국어(韩语)
ไทย(泰语)
български(保加利亚语)
Čeština(捷克语)
Dansk(丹麦语)
Deutsch(德语)
English(英语)
Español-España(西班牙语 - 西班牙)
Español - Latinoamérica(西班牙语 - 拉丁美洲)
Ελληνικά(希腊语)
Français(法语)
Italiano(意大利语)
Bahasa Indonesia(印度尼西亚语)
Magyar(匈牙利语)
Nederlands(荷兰语)
Norsk(挪威语)
Polski(波兰语)
Português(葡萄牙语 - 葡萄牙)
Português-Brasil(葡萄牙语 - 巴西)
Română(罗马尼亚语)
Русский(俄语)
Suomi(芬兰语)
Svenska(瑞典语)
Türkçe(土耳其语)
Tiếng Việt(越南语)
Українська(乌克兰语)
报告翻译问题
As an example; if your desired max engine rps was 20, the "appropriate multiplier" would be 20. Selecting 0.5 on your throttle control would go through this multiplier (an f(x) block set to x*20) and yield a 10. The PID would then have its output wired to the throttle and will vary it to maintain its setpoint of 10.
So, to recap. Setpoint should be wired up as described above, output goes to engine throttle, process variable comes from engine rps and you can wire the on/off to either a constant on, a button or even your seats occupied node so it turns on when you get in. Settings I would recommend to begin with would be P 0.1, I 0 and D 0.1.
If everything I have said may as well have been in Greek, post a link to your creation and I will wire it up for you. I hope this helps!
The downside of PID is that it struggles for instance remotely controlling a throttle lever if you want a genuine physical representation of the throttle that you can override by hand. You could still use a PID by simply making the throttle lever match the PIDs throttle number of course, but it's quite an amusing coding challenge to actually make it use a throttle lever.
The other downside of PID is that it's hard to comprehend. Often fine tuning a PID is trial and error with what seems like magic numbers. Even if you understand exactly how it works, it's nearly impossible to calculate a solution that would work in most cases.
Otherwise, however, its effectiveness can't really be argued against.
I wonder what the thinking behind this was from the developers point of view. Maybe they went for realism but then again, real engines have, friction from oil, metal components, air etc... on top of that there are governors to help with this. (this is me ranting)
Anyways, I will try to figure this PID thing out, it sounds complicated. Thanks again.
1, you have infinite customization to get the exact behavior you want,
2, the customization is often more intuitive than the PID 'blackbox of magic' or properties boxes of a micro controller you do not understand,
and 3, the behavior is (or can be made to be) more reliable.
An additional upside, if you are a nerd, is that it is a great programming exercise to keep you fresh and on your toes!
(where x = throttle (0-1), y = rps, and z = small multiplier ~0.05)
you can reduce Z to increase rps, or increase it to reduce rps.
Good to know! Didn't know you can use LUA. Yep I am a nerd I guess, I sit in C# all day :), well guess I can add "LUA" to my resume too :)
Thanks!
Obviously, I take the lazy goof route.
https://steamcommunity.com/sharedfiles/filedetails/?id=2025822007
You can solve this issue with PID's, and if that bothers you there are ways you can hide it, or you can better observe what the PID is trying to do, so you can replicate it otherwise. This little thing will show you how to do all those things.
That is very generous of you, thank you, I will try that out now.
Obviously, I take the lazy goof route.
[/quote]
Works like a dream, you sorted out my problem. I have been playing with the PID but couldn't get it to work, your creation helped me realized it actually needs to be powered on with a switch
I guess I am a lazy goof before a nerd... Really all I wanted to do was just control the throttle, this should carry me though the next few ours.
Now I have to figure out why my float plane doesn't come off the water, seems too much drag... but... thats a discussion for another thread!
Thanks again!
In Stormworks' Bullet, like in just about every other physics engine, water is jello gunk when it comes to drag. A bullet-shape pontoon has a lot of drag, when you can get away with a wide ski instead.
Well this is what I have: https://steamcommunity.com/sharedfiles/filedetails/?id=2025922711
flies nicely off of a runaway but, a brick in water.
https://steamcommunity.com/sharedfiles/filedetails/?id=2026179080
There's a button inside there that enables the assist flaps for taking off, and landing in water. When taking off water do not enable the flaps for the plane. Simply glide along the surface and pick up speed until you can pull up. It should do so naturally once you reach high enough speed.
I also tuned your engines to provide more power for no extra fuel cost. You probably have to adjust the sensitivity of the controls and the trim quite a bit. I made some tweaks to make testing much quicker like hardwired the throttle to 1.
I sealed your cabin with doors and a hatch on top. The hatch is more for emergency use than entry, but it's useful if you land in water so you don't flood the cabin.
It swims and flys now! I tried those fins too but I placed them downwards and then set the constant value to make them angle.. I guess I had to place the towards the direction of travel.
Yeah, when I built this my tech level didn't have those doors.
Thanks for your help! I have yet to understand physics in this game, it seems this game has very minimal/simple aerodynamics. I am used to playing Kerbal Space program with mods which give pretty decent physics.
In Kerbal, even with FAR, you won't have body lift, you have to have specific lifting surfaces. In Stormworks you can make a plane without wings just fine, so long you have some way of controlling it to keep it in balance.
Late to the party, but yeah...
This is a good fuction, but i found it to limit the overall power too much, or too less depending on the multiplier.
If you combine this with a conditional, it kinda works, though.
What I did:
Created an input signal for the clutch, because I was using two separate microcontrollers for engine and throttle (optional).
If RPS is GREATER than (my case: 15) AND if Clutch signal is LESSER than (my case: 0.1), a numerical switchbox can signal the function above to kick in with a multiplier even greater (my case: 1.5).
It's not smooth, but it is a way to turn on an idle mode without the need of a direct player action.