Jump to content

[WIP] Infernal Robotics - Next


Rudolf Meier

Recommended Posts

ok, latest version is online (the links are in the first post now)

What did change? some bugfix and I added a "proof of concept" for the limits on uncontrolled joints... (I don't know if I'm happy with it... but... we'll see)

if someone want's to test the rotational shock absorber -> build a non controlled joint (I testet with the pivotron), then right click and select "testtest" ... this will turn it into a shock absorber (at the current position) ... and, you cannot turn it off after that... and you can also not specify the force of it... so, I'd sugest to use a truss and a fuel tank on the end of the joint to see the effects

Link to comment
Share on other sites

37 minutes ago, Rudolf Meier said:

ok, latest version is online (the links are in the first post now)

What did change? some bugfix and I added a "proof of concept" for the limits on uncontrolled joints... (I don't know if I'm happy with it... but... we'll see)

if someone want's to test the rotational shock absorber -> build a non controlled joint (I testet with the pivotron), then right click and select "testtest" ... this will turn it into a shock absorber (at the current position) ... and, you cannot turn it off after that... and you can also not specify the force of it... so, I'd sugest to use a truss and a fuel tank on the end of the joint to see the effects

Does this mean I should plan to model rotational and linear shock absorbers in the near future? Or would people rather this functionality be available on all existing parts?

Link to comment
Share on other sites

It depends whether the greatest player flexibility is wanted or whether readability is wanted. Personally, I strive for readability with the Model Rework, so that you can look at an image and can identify a craft's rough capabilities based on which parts they use. As such my preference would be to add the ability to a subset of existing parts, such as extendatrons like you suggest, and make new variants of other parts as needed. This could also be where changing the emissive color of parts could come in handy, to indicate if spring mode is activated or not.

Link to comment
Share on other sites

2 minutes ago, ZodiusInfuser said:

It depends whether the greatest player flexibility is wanted or whether readability is wanted. Personally, I strive for readability with the Model Rework, so that you can look at an image and can identify a craft's rough capabilities based on which parts they use. As such my preference would be to add the ability to a subset of existing parts, such as extendatrons like you suggest, and make new variants of other parts as needed. This could also be where changing the emissive color of parts could come in handy, to indicate if spring mode is activated or not.

My vote is new models. Like you said it will be a much better visual representation of what the parts do. And with big spring shocks we could start making some mad max stuff up in here.

Edited by VR_Dev
Link to comment
Share on other sites

I personally think that new models are the better way here... maybe with a little shock absorbing inside just some parts... but... just a little bit... if even... do robotic joints have these capabilities? I don't think so...

and... those shock absorbers... I don't know if they should be part of IR... they can be an other mod... or would it make sense to have it inside the same?

Edited by Rudolf Meier
Link to comment
Share on other sites

Most robotics actuators do not have any shock absorbing capabilities, but there is a new breed of actuators called Variable Stiffness Actuators that are able to adjust their stiffness on the fly.

 

9 minutes ago, VR_Dev said:

My vote is new models. Like you said it will be a much better visual representation of what the parts do. And with big spring shocks we could start making some mad max stuff up in here.

Big spring shocks would be cool, but there would be no way of animating the compression of them, as A) I don't know how to do deformation animations in Blender, and B) IR does not have any way to control animations to follow the motion of its joint. It seems to me that at minimum there would need to be parts to cover the three main types, rotatron, pivotron, and extendatron. If good enough reference images can be found for those then I am sure I can come up with some cool models.

Link to comment
Share on other sites

23 minutes ago, ZodiusInfuser said:

Big spring shocks would be cool, but there would be no way of animating the compression of them, as A) I don't know how to do deformation animations in Blender, and B) IR does not have any way to control animations to follow the motion of its joint. It seems to me that at minimum there would need to be parts to cover the three main types, rotatron, pivotron, and extendatron. If good enough reference images can be found for those then I am sure I can come up with some cool models.

So I can rig blender models, then deform them via script in Unity.

Spoiler

 

But the spring would be quite a difficult challenge I think to compress it without altering the diameter of the spring. Something like this could be the solution. Also I don't need IR to control any animations, just the bone transforms themselves.

wrangler-jeep-jl-shocks_thumb?$transpPro

 

Edit : Found a tutorial for spring rigging, if we wanna go that way.

Spoiler

 

 

Edited by VR_Dev
Link to comment
Share on other sites

other question... we need some values soon for things like maxSpeed and such... (old IR didn't provide that) ... if the description says "max 20 deg/s" ... then... we cannot make them faster... or should it still be allowed? (20 deg/s is speed 1) ... so... of course, those values are not that important, since they're just a number... but... somehow they need to be set

 

Link to comment
Share on other sites

Just now, VR_Dev said:

So I can rig blender models, then deforming them via script in Unity.

But the spring would be quite a difficult challenge I think to compress it without altering the diameter of the spring. Something like this could be the solution. Also I don't need IR to control any animations, just the bone transforms themselves.

wrangler-jeep-jl-shocks_thumb?$transpPro

Okay, that's cool. Would still need IR to control bone transforms though. Yes a piston like that could work, although I would say that design would be better as just a shock absorber rather than a VS Extendatron.

Some images for my own reference: 

1-s2.0-S0094114X98000263-gr1.gif

034501_1_2.jpeg

034501_1_8.jpeg

1 minute ago, Rudolf Meier said:

other question... we need some values soon for things like maxSpeed and such... (old IR didn't provide that) ... if the description says "max 20 deg/s" ... then... we cannot make them faster... or should it still be allowed? (20 deg/s is speed 1) ... so... of course, those values are not that important, since they're just a number... but... somehow they need to be set

 

Well considering I had rotatrons go at 40x their default speed for helicopters and such, I would set them in the region of 100x their default.

Link to comment
Share on other sites

11 minutes ago, ZodiusInfuser said:

Well considering I had rotatrons go at 40x their default speed for helicopters and such, I would set them in the region of 100x their default.

I know that helicopters are mentioned in the description... but, shouldn't we separate this and maybe build a special rotatron for that? ... (just thinking loud... I'm not sure if I like this idea...) ...

Link to comment
Share on other sites

ok... so far everything seems to work... I'm starting the fine tuning now... if someone found a bug or wrong values... strange behaviour... please tell me... I'm planing to release a real beta including source code in the next days... but I've to clean up still a lot in the code... and remove the IK (and put it in its own module) ... and I'm trying to build a converter mod for old IR to new IR conversion...

Link to comment
Share on other sites

New models are better options for sure. Not necessary to have visible springs and animations for shock absorbers, some kind of piston like VR_Dev showed should suffice. "Spring" can always be hidden visualy inside part and apply force by "magic" physics.

Until new parts are made, for test purposes is good enough to copy some existing part to get visual representation in game and add new properties trough config file.

@Rudolf Meier, thanks a lot for not giving up on this, who knows, after few more coffees even better solutions might pop up :D

Anyhow, I will try to test this ASAP and report back.

Link to comment
Share on other sites

11 minutes ago, kcs123 said:

@Rudolf Meier, thanks a lot for not giving up on this, who knows, after few more coffees even better solutions might pop up :D

Anyhow, I will try to test this ASAP and report back.

Thanks a lot for testing...

... and yes, that's possible. I always say: all it takes to solve a problem is a coffee machine and some guys in a room, talking about it... or talking about other stuff. Not more... not millions of dollars. Just ... coffee and time and stupid ideas :-)

 

Link to comment
Share on other sites

I've uploaded the latest version... including the source code.

There is still a problem with the limited uncontrolled joints. Sometimes they can freak out. I know ... almost why... but I've to investigate this a little bit further. Anyway... I don't know if limited uncontrolled joints will ever be a good idea to use... mainly because of their instability...

Link to comment
Share on other sites

Gave the download from the first post (GameData131) a try with relatively few mods installed - KJR (which I suspect is causing problems) and a few other utilities like SmokeScreen, EEX, CRP, etc. What I noticed:

1. In the editor, stackable extendatrons: after clicking on one in the parts list and moving the mouse and part over a part that's already been placed in the editor, the green transparent model that shows where the extendatron will be placed persists when the mouse is moved, and the part can't be placed.

2. Joints resist rotation in flight, think it's KJR.

Loggery: https://www.dropbox.com/s/jsc5okg41vvtlqi/output_log_NewIR.txt?dl=0

Link to comment
Share on other sites

6 hours ago, AccidentalDisassembly said:

Gave the download from the first post (GameData131) a try with relatively few mods installed - KJR (which I suspect is causing problems) and a few other utilities like SmokeScreen, EEX, CRP, etc. What I noticed:

1. In the editor, stackable extendatrons: after clicking on one in the parts list and moving the mouse and part over a part that's already been placed in the editor, the green transparent model that shows where the extendatron will be placed persists when the mouse is moved, and the part can't be placed.

2. Joints resist rotation in flight, think it's KJR.

Loggery: https://www.dropbox.com/s/jsc5okg41vvtlqi/output_log_NewIR.txt?dl=0

interesting... yes, I forgot to test KJR and since the models now all have other names (for side-by-side installation with old ones) I'd have to fix that... the extendatron... that's interesting... didn't see that before... but I'll look into it

Link to comment
Share on other sites

27 minutes ago, Rudolf Meier said:

interesting... yes, I forgot to test KJR and since the models now all have other names (for side-by-side installation with old ones) I'd have to fix that... 

KJR just ignores parts having IR PartModule, so it should be easy fix:

from GameData/KerbalJointReinforcement/Plugin/PluginData/KerbalJointReinforcement/config.xml

    <string name="exemptPartType0">MuMechToggle</string>
    <string name="exemptPartType1">MuMechServo</string>

 

Edited by whale_2
Link to comment
Share on other sites

14 hours ago, Rudolf Meier said:

There is still a problem with the limited uncontrolled joints. Sometimes they can freak out. I know ... almost why... but I've to investigate this a little bit further. Anyway... I don't know if limited uncontrolled joints will ever be a good idea to use... mainly because of their instability...

It is "normal" to expect that not everything is going to work flawless on the first run. It is huge improvement, considering that it yesterday it was not possible to use it at all. Some testing and observations have to made first, to find in what circumstances things become broken. Once that is reliably detected, it can be solved either, by "good user behaviour" (once you know why bad things happens it may be possible to avoid it) or maybe with some additional "if" conditions in code, to prevent user to make a mistake.

Anyhow, don't give up on this yet. With some more colaboration between players, other developers and some more coffee even greater things may happen. This community is much more cooperative than quite a lot of other communities gathered on other forums on other games/projects.

Issue with KJR is easy to solve, each user can add aditional info into KJR xml file for himself. Once IR next is released, PR can be sent to ferrram to include it in next version of KSP. Or you can use same module names as old IR plugin, but that would prevent to have both mods installed side by side.

For testing purposes, I recommend anyone to make additional instance of KSP and not mix old IR plugin and this one.

 

Link to comment
Share on other sites

17 minutes ago, kcs123 said:

It is "normal" to expect that not everything is going to work flawless on the first run. It is huge improvement, considering that it yesterday it was not possible to use it at all. Some testing and observations have to made first, to find in what circumstances things become broken. Once that is reliably detected, it can be solved either, by "good user behaviour" (once you know why bad things happens it may be possible to avoid it) or maybe with some additional "if" conditions in code, to prevent user to make a mistake.

Anyhow, don't give up on this yet. With some more colaboration between players, other developers and some more coffee even greater things may happen. This community is much more cooperative than quite a lot of other communities gathered on other forums on other games/projects.

Issue with KJR is easy to solve, each user can add aditional info into KJR xml file for himself. Once IR next is released, PR can be sent to ferrram to include it in next version of KSP. Or you can use same module names as old IR plugin, but that would prevent to have both mods installed side by side.

I'm never giving up ... sometimes my projects lay on ice for a year, but "giving up"? no idea what this means... :P

... it's right, the KJR config needs a

<string name="exemptModuleTypeX">ModuleIRServo_v3</string>

line.

I think the best would be to change the KJR behaviour on this. It shouldn't relay on those module lists, but use GetComponent<IKJRaware>() (or however you want to call this interface) ... and then... everyone can work with KJR without the need to change this for every new mod that needs to talk to KJR.

Link to comment
Share on other sites

35 minutes ago, Rudolf Meier said:

I think the best would be to change the KJR behaviour on this. It shouldn't relay on those module lists, but use GetComponent<IKJRaware>() (or however you want to call this interface) ... and then... everyone can work with KJR without the need to change this for every new mod that needs to talk to KJR.

One thing I'm not good in is "waiting" ... I've downloaded KJR and modified it that way. If the developer accepts that, then it's solved... I ask him if I can include this modified KJR in the IR beta at least.

Link to comment
Share on other sites

56 minutes ago, Rudolf Meier said:

One thing I'm not good in is "waiting" ... I've downloaded KJR and modified it that way. If the developer accepts that, then it's solved... I ask him if I can include this modified KJR in the IR beta at least.

ferram was accepting PRs in the past, I don't see a reason why he would not accept this one too.

Link to comment
Share on other sites

I'm confident, that I can solve the uncontrolled joint problems... one of the bugs was, that uncontrolled joints had (sometimes) infinite strong motors attached :-) ... forget one i'f' and that's happening... the other things... I'm working on calculating the gravitational forces on those joints to solve that...

Anyway... I hope I can finish this soon and review it and then release it... or at least use it in my ships :-)

Link to comment
Share on other sites

19 hours ago, AccidentalDisassembly said:

Gave the download from the first post (GameData131) a try with relatively few mods installed - KJR (which I suspect is causing problems) and a few other utilities like SmokeScreen, EEX, CRP, etc. What I noticed:

1. In the editor, stackable extendatrons: after clicking on one in the parts list and moving the mouse and part over a part that's already been placed in the editor, the green transparent model that shows where the extendatron will be placed persists when the mouse is moved, and the part can't be placed.

2. Joints resist rotation in flight, think it's KJR.

Loggery: https://www.dropbox.com/s/jsc5okg41vvtlqi/output_log_NewIR.txt?dl=0

Update on this: I tried it again to figure out what was going wrong, and I am reasonably certain the ghost issue has to do with symmetry. I *think* it can be reproduced like so, and it seems plausible that it could have something to do with Editor Extensions Redux (or not, I didn't try it without EER):

1. If you select a robotic part with no/1x symmetry, it can be placed, picked up again, re-placed fine.

2. To produce the bug, pick up a robotic part, hover over a part already in the editor (as if to place the part), then hit X to turn on symmetry while the part is in the ready-to-place situation.

3. OR: turn on symmetry before selecting a robotic part, then place the part on something else in the editor (this seems to work too). But: now pick up the part as if to re-position it, and move it far enough away from its original position that it un-snaps from its former parent and its symmetrical counterpart(s) disappear. If you then move the part BACK onto the craft, it will create green-hued ghost models in the position of the copies of itself that would be placed as a result of symmetry, and from now on the part under the cursor won't be able to be placed, dropped, or deleted by clicking on the parts list.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...