1. The forum will be closing soon permanently. Please read the announcement here

    Note: User registration has been closed. We do not accept any new accounts.

"MArmOS" Mechanical Arm Operating system

Discussion in 'Community Creations' started by Timotei~, Sep 18, 2016.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
    Hello everyone!

    I'm currently working on a in-game script that can control any kind of mechanical arm.
    The user just need to define the arm he/she want to control using a simplified API.
    Basically, It transform your usual clunky setup of rotors, timers and hotkeys into a convivial keyboard and mouse interface allowing to swiftly manipulate, grind, weld, drill, walk, dance:p etc.
    The user only need to describe it's arm to MArmOS using a simple and user friendly framework.

    V3.0 is out! Let's enjoy.
    https://steamcommunity.com/sharedfiles/filedetails/?id=767595187


    Why am I making this script?
    I'm making this script because I think that ground based contraptions and mechanical arms are truly awesome.
    I always try to build welding arms, cranes and drilling arm when I play in my survival world.
    But, those are practically useless compared to flying ships and are way more subject to Clang's wrath. That is because arms are too hard to control without a proper control script. It is not that hard to make a basic control script made for a single use if given enough time. However, not everyone is willing to sit multiple hours in front of a PB each time they want to build a new crane or a welding arm. Not even myself.
    That is why I decided to once for all create a script that could control any kind of arms.
    And so the MArmOS project was born.
    But, what is MArmOS
    MArmOS means Mechanical Arm Operating System and it is a framework made to simplify the coding needed to properly control your mechanical arm. It allow to take any complex arm configuration and bind it on a custom reference frame. Using MArmOS should make it way easier to control ground based machines like mobile mining rig and other cool stuff.​

    Technical details:
    All details can be found on the steam guide.
    You can access it from here.
    https://steamcommunity.com/sharedfiles/filedetails/?id=766770842
    There is also a MArmOS handbook available inside the script.


    Summary:
    Here are all of MArmOS's current features since V3.0:
    - Totally modfree
    - Easy to setup
    - basic and advanced definitions
    - ready to go default settings
    - Documentation inside the script
    - Welcoming ascii interface
    - Can read keyboard inputs
    - Can read mouse inputs
    - Control position
    - Control Orientation
    - Argument command interpreter
    - Compatible with the easy automation script
    - Allow serial arms
    - Allow parallel arms
    - Allow compound arms
    - Allow multiple arms
    - Allow custom relative reference frame
    - Rotor and piston override
    - Control rotors (also moded rotors)
    - Control pistons (also moded pistons)
    - Control RotorWheels
    - Control Hydraulic settups
    - Soft movements
    - linear Movements
    - MoveTo target command
    - GoHome command
    - automatic ingame tips and debug tools
    - Event Logs for debugging
    - abstracted structure to allow moding
    - Small grids
    - Large grids
    - Cubits
    - Ready to use examples
    - Complete steam guide (WIP)
    - workzone Limitations ( eventual feature )


    V3.0 is out! Go check it out.
    https://steamcommunity.com/sharedfiles/filedetails/?id=767595187




    That is it for now, thanks for reading and don't hesitate to ask any question, give suggestion or write your concern in the comments section. I'll be happy to respond:).



     
    Last edited: Sep 2, 2017
    • Like Like x 4
  2. Bahroth

    Bahroth Apprentice Engineer

    Messages:
    173
    Are you thinking that one could map out an area for a weld arm and have it move in a predetermined pattern for instance?

    That is the only thing I can think of atm, but this looks pretty neat. ;)
    Though currently I cant think of how the arms being synced would be useful. :stare:
     
  3. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
    Programmed sequence are not planed for now. MArmOS is mainly about making an interface between the arm and the program to simplify the control.
    But I might add it later. It shouldn’t be too hard to do.
    The synced arms are only to show that even if these arms are made in a completely different configuration, MArmOS will make them move the exact same way.
    --- Automerge ---
    I realized that my post lacked explanation of what is actually MArmOS and what is it's goal. So I edited it a bit to give a better idea of what it's all about.
    --- Automerge ---
    By the way, I'm planning the release day to be sept 21. I really want to release that day because it happens to also be my birthday:). So I guess this project will be my birthday gift to the SE community.:D
     
    Last edited: Sep 19, 2016
  4. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
  5. Yeoman

    Yeoman Apprentice Engineer

    Messages:
    101
    Looks amazing. I'll definitely check it out.
     
    • Like Like x 1
  6. GrindyGears

    GrindyGears Senior Engineer

    Messages:
    1,787
    While this script is lovely, I'm kinda bummed you need to use a mod to make use of it.

    I very much hope keen one day gives us something either along the lines of digis mod, or something a little more UI based as most keen items are. (key bindings anyone?)
     
    • Agree Agree x 3
  7. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
    Well, technically, the core of the script doesn't really need Digi's mod. I've put it in only so people could use it in a plug and play fashion. The script could as well be used without mods. If you want, I could make a modless version. You would just need to find your own vanilla way to generate a SpeeedVector to move your arm.
     
  8. GrindyGears

    GrindyGears Senior Engineer

    Messages:
    1,787
    which basically translates to use digi's mod....

    I currently have a vanilla means to get WASD and arrow key outputs, but it's kinda subject to klang and if keen ever changes anything to do with rotors. Regardless of this though, i see very little reason that they shouldn't put something like what i said above into the game, it opens a huge number of avenues, and in my mind is synonymous with "engineering" being able to create a mechanism is one thing, actually being able to control it is another.
     
  9. Hotshot Jimmy

    Hotshot Jimmy Senior Engineer

    Messages:
    1,500
    What I don't get (and btw I am impressed by the script work) is why people dont just use pistons and rotors and a couple other pieces for this. Way back when I had a free movement umbilical connector on my refuelling ship all it consisted of was 2 rotors, 2 pistons and a gyro + RC unit on the connector. Simples!
     
  10. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
    The thing is that it is impossible to use gyros to control an arm on a planet because of the natural gravity. Unless you put thrusters on each parts, the rotors needs to apply torque to overcome gravity. And if the rotors apply torque, you can't use gyros to move them.
     
  11. GrindyGears

    GrindyGears Senior Engineer

    Messages:
    1,787
    well, technically you can, if you can find a happy medium thats enough force to resist gravity, but not enough to resist gyros. That however is bad practice and doesn't work as well as it could.

    unrelated note: While i do like the idea of everything being calculated for you, years of twin joy stick controls kinda ruined the concept for me, i find I have a great deal more control over what exactly im doing with the system. Not having tried the script, what happens when you try to go beyond limits? so if you run out of forward, does it do nothing? or still try to adjust position to something?
     
  12. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
    Thanks for pointing that out. If you try to go off limits, the script will try to move as much as it can in the direction your telling it to go even if that mean to deviate. I realize it's not ideal for everyone.
    But I may have forgoten to write it in the Guide but the Move() method actually return the difference between the desired velocity and the reachable velocity. This could allow to detect when the target velocity isn't reached and ,in that case, tell the arm to stop. The script for that could look like this:
    Code:
    var Stop = new Vector3( 0, 0, 0 );
    var TargetVelocity = MyInputModule.Update();
    
    var RemainingVelocity = MyArm.Move( TargetVelocity );
    
    if ( RemainingVelocity.Length > 0.01F )
        MyArm.Move( Stop );
    
    I'll add this to the guide right away.
    --- Automerge ---
    To please the hard core vanilla peoples, I removed the absolute need to use Digi's Control Module. You can still use it but it is no longer mandatory. The script should now be able to run correctly even if the mod isn't installed. Except for the plug and play keybind feature obviously. People can still use other means to get inputs.
     
    Last edited: Sep 23, 2016
  13. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
    MArmOS can now read inputs from text panels! I guessed some people here might like to know that.
     
  14. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
    MArmOS will soon get a nice new feature.
    Relative reference control frame.
     
    • Like Like x 1
  15. tankmayvin

    tankmayvin Senior Engineer

    Messages:
    2,864
    Wizardry!
     
    • Like Like x 1
    • Agree Agree x 1
  16. Howitz

    Howitz Junior Engineer

    Messages:
    591
    zomg, now that's a reason to add hinges to the vanilla game!
     
    • Agree Agree x 1
  17. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
    A big update is coming!
    This week is the week!
     
  18. Bruce LeedleLeedleLeedleLee

    Bruce LeedleLeedleLeedleLee Junior Engineer

    Messages:
    813
    damn the control module needs to be vanilla
     
    • Agree Agree x 2
  19. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
    Big update coming today.
    Just putting the final touch and then RELEASE!
    --- Automerge ---
    :pbjt::pbjt::pbjt::pbjt::pbjt: 2.0 is out :carlton::carlton::carlton::carlton::carlton::carlton:
    Please go check it out and give me feedback.:)
     
    • Like Like x 2
  20. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
    I got some fun with MArmOS today.
     
  21. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
  22. Stiletto

    Stiletto Apprentice Engineer

    Messages:
    381
    This script is amazing, even if it does require a mod. Top notch engineering magic.
     
    • Like Like x 1
  23. halipatsui

    halipatsui Senior Engineer

    Messages:
    1,253
    Hi. Is it possible to input commands to marmos via turrets?
    Basically so that arm is pointed whereever turret is pointing.
    kinda like whips multi turret script.
     
  24. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
    Hello, while MArmOS can support orientation of the arm, it is still not possible to simply give an orientation target to it. You may have to merge the script with another one to obtain that result.
    However , you could make a script that place a point in space relatively to a turret's orientation ant tell MArmOS to move the arm to that point. I don't think that's what you asked for though.
     
  25. halipatsui

    halipatsui Senior Engineer

    Messages:
    1,253
    Yeah. well if i have to merge it with another script it is out of my limits. But now that i think about it i should be able to use whips turret script. Just did not realize it earlier.
     
  26. AutoMcD

    AutoMcD Senior Engineer

    Messages:
    2,369
    This is pretty awesome
     
    • Like Like x 1
  27. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
    I made a video tutorial to help people to learn how to use MArmOS.
     
  28. Timotei~

    Timotei~ Apprentice Engineer

    Messages:
    208
    A nice guy showed me something really cool.
    Witch allowed to this.

    @GrindyGears I believe you were waiting for something like that.:tu:
     
    • Like Like x 1
  29. GrindyGears

    GrindyGears Senior Engineer

    Messages:
    1,787
    Brain may have melted just a tiny bit.... @Sinbad apparently it isn't limited to the normal movement keys...

    Also why the hell wouldn't they include something like that in patch notes...?
     
    • Informative Informative x 1
  30. tankmayvin

    tankmayvin Senior Engineer

    Messages:
    2,864
    Why the hell are you surprised this wasn't in the patch notes! :p
     
Thread Status:
This last post in this thread was made more than 31 days old.