sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    MSPhysics 1.0.3 (16 October 2017)

    Scheduled Pinned Locked Moved Plugins
    926 Posts 171 Posters 883.1k Views 172 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A Offline
      Anton_S
      last edited by

      Yes, luckyvac, it is possible to control servo angle through a function of time. There are lots of ways it can be done. One way is to simply write a function into the controller section of the the servo. Say, you want to control the angle of the servo, in degrees, with a function f(t) = t*3 + 150.
      Converting it to ruby and MSPhysics, the code would like like this: world.time * 3 + 150. If you paste this snippet into the controller section of a servo, it will have the servo angle be the value of this function at simulation time, t.

      1 Reply Last reply Reply Quote 0
      • luckyvacL Offline
        luckyvac
        last edited by

        Hello Anton,

        Thank you for your reply. I will need more knowledge to carry out my project.

        I am guitarist and I teach guitar accompanying songs.
        This project aims to realize a tutorial to learn how to play the accompanying guitar and to show that one can realize accompaniments guitar with 5 or 6 rhythmic figures.

        http://www.luckyanimationspectacle.com/index.asp?pageid=33

        I used MSPhysics to simulate the movement of the arm and hand of a guitarist holding a pick.
          He accompanies guitar with a song following the rhythm 1-2-345et.
        Fig.01 As an attachment. pierrot robo guitar

        I used 2 servomotors:

        • one for the forearm which operates the up and down of the forearm.
        • a second for the descent of the hand.
          I made a stop-motion video by adjusting the two actuators point by point according to the following diagram:
          Fig.02 As an attachment 1-2-345et

        I would like to replace the slider by time functions, point by point (FIG. 2) or FFT.

        The displacement coordinates of the servomotors are shown in the table in figure 02.
        You will find the simulation with the <FOREARM> (avant bras ) and <HAND> (main ) slider in my drive and an example video. I chose the refrain of Bob Dylan's "blowin in the wind".
        Here is the link :
        https://drive.google.com/open?id=0B00m7nJr8D_qTnRXX3AyeWVyZmc
        The video tutorial shows the synchronized movement with a rhythmic tablature made with Guitar Pro MIDI (*.gpx, *.mid ). There is no human, just my voice 😉.

        I thank you for your attention and information you can communicate to me to help me realize my project.

        Best regards

        jean-luc alias luckyvac... lucky guitaR


        perrot robo guitar.png


        figure 2 _  1-2-345et_ 24 images.jpg

        1 Reply Last reply Reply Quote 0
        • T Offline
          TheSniper
          last edited by

          Anton Awesome Plugin Thanks for the hard work!
          I add And not to complain but hopefully to help.
          Platform: Sketchup 2017 on Mac 64 bit
          Known issues: 1 setting dont get saved in multiple areas for instance in the Joint and Piston Settings: Max and Min wont save always defaults back to -393.7007874, as well as the controller line resets back to default values. Controller name wont transfer over either. In the Servo panel: cannot save custom servo names, Plus Servo Max and MIn wont save either. Just some examples. Hope it helps. -S

          1 Reply Last reply Reply Quote 0
          • S Offline
            SynSuka3D
            last edited by

            Hello
            Problem of direction axes
            Xbox Controller

            Joystick 🙂 righty) is X-XAXIS position on right stick.???
            Joystick 🙂 rightx) is axes button LT.????
            No axes Y-XAXIS right stick.???

            please.

            1 Reply Last reply Reply Quote 0
            • luckyvacL Offline
              luckyvac
              last edited by

              Great thanks Anton, I wait peacefully while working on other rhythm guitar. 😄

              1 Reply Last reply Reply Quote 0
              • luckyvacL Offline
                luckyvac
                last edited by

                Hello, I would like to know how to increase the damping of the servo motor. Thank you 😄

                1 Reply Last reply Reply Quote 0
                • A Offline
                  Anton_S
                  last edited by

                  Hi, Luckyvac,

                  Which of the joints are you referring to, a servo or a motor?

                  To increase the damping of a motor joint, simply select the desired motor joint, open MSPhysics UI, and increase the Damp parameter.

                  To increase the damping of a servo joint, that is decrease its angular rate, select the desired servo joint, open MSPhysics UI, and decrease the Angular Rate parameter.

                  Hope this helps,

                  Anton

                  1 Reply Last reply Reply Quote 0
                  • A Offline
                    Anton_S
                    last edited by

                    @luckyvac My appologies for not responding any sooner. I am a bit busy. In short, it's possible to have the servo angle correspond to the table values at time t. The table with angles and times must be converted to a Ruby Hash and then the rest is easy. I will examine your model in depth soon and we'll see what can be done to get the guitar stringing.


                    @TheSniper Apparently there were a few reports about the dialog options not working properly on Mac OS X and that's not good. I will check it out soon.


                    @SynSuka3D The joystick function accepts four symbols and each of them correspond to an axis on one of the joysticks:
                    joystick(:leftx) returns X position on left stick.
                    joystick(:lefty) returns Y position on left stick.
                    joystick(:rightx) returns X position on right stick.
                    joystick(:righty) returns Y position on right stick.

                    The position ranges from -1.0 to 1.0.

                    Here is the documentation link to the function: http://www.rubydoc.info/github/AntonSynytsia/MSPhysics/MSPhysics/CommonContext#joystick-instance_method

                    I suggest you explore the MSPhysics scripting documentation for specs and other functions that might be useful, such as joybutton(button).

                    1 Reply Last reply Reply Quote 0
                    • luckyvacL Offline
                      luckyvac
                      last edited by

                      Hi Anton,
                      Thank you for your advice it works ... but ... I send you the left hand of the guitarist named "Pierrot".
                      I feel that the system comes into resonance when I connect several servo motors to each other.
                      What do you think ? How to decrease the resonance ?

                      Merci 😉

                      have a nice week end. 👍

                      Lucky guitaR


                      main gauche MOV 03.skp

                      1 Reply Last reply Reply Quote 0
                      • A Offline
                        Anton_S
                        last edited by

                        @SynSuka3D Interesting, I will fix this.

                        1 Reply Last reply Reply Quote 0
                        • S Offline
                          SynSuka3D
                          last edited by

                          @anton_s said:

                          @luckyvac My appologies for not responding any sooner. I am a bit busy. In short, it's possible to have the servo angle correspond to the table values at time t. The table with angles and times must be converted to a Ruby Hash and then the rest is easy. I will examine your model in depth soon and we'll see what can be done to get the guitar stringing.


                          @TheSniper Apparently there were a few reports about the dialog options not working properly on Mac OS X and that's not good. I will check it out soon.


                          @SynSuka3D The joystick function accepts four symbols and each of them correspond to an axis on one of the joysticks:
                          joystick(:leftx) returns X position on left stick.
                          joystick(:lefty) returns Y position on left stick.
                          joystick(:rightx) returns X position on right stick.
                          joystick(:righty) returns Y position on right stick.

                          The position ranges from -1.0 to 1.0.

                          Here is the documentation link to the function: http://www.rubydoc.info/github/AntonSynytsia/MSPhysics/MSPhysics/CommonContext#joystick-instance_method

                          I suggest you explore the MSPhysics scripting documentation for specs and other functions that might be useful, such as joybutton(button).

                          https://youtu.be/b0YBVqUhMdU xbox controller faill script ?

                          1 Reply Last reply Reply Quote 0
                          • S Offline
                            SynSuka3D
                            last edited by

                            Add joystick(:rightz) and joystick(:leftz) for joy(RT) and joy(LT) please.
                            for xbox controler.

                            1 Reply Last reply Reply Quote 0
                            • A Offline
                              Anton_S
                              last edited by

                              @synsuka3d said:

                              Add joystick(:rightz) and joystick(:leftz) for joy(RT) and joy(LT) please.
                              for xbox controler.

                              Roger that!

                              1 Reply Last reply Reply Quote 0
                              • A Offline
                                Anton_S
                                last edited by

                                Hi, SynSuka3D,

                                I fixed it and added rightz/leftx commands.
                                You can download the WIP version here: https://drive.google.com/open?id=0B3qg8f4WrNdHUmE5OXNiWjQ0Vzg

                                You can try out the joystick controller test model attached below.

                                Best regards,
                                Anton


                                Joystick.skp

                                1 Reply Last reply Reply Quote 0
                                • F Offline
                                  faust07
                                  last edited by

                                  Should make my question more precise:
                                  The reason for the loose behaviour of the joints is the update rate in MSPhysics UI - Simulation - Update Rate = 1 (seems the best for my large model).
                                  If I change this from 1 to 3, the servos remain more stable in the pivot but the spring no longer brings the steady up and down movement.
                                  Have now tried to modify all settings at the Spring Joint, but do not get the desired result.
                                  What can I do?
                                  Thank you in advance, Anton!


                                  Update Rate 1


                                  Update Rate 3


                                  Servo-Spring-Test

                                  1 Reply Last reply Reply Quote 0
                                  • luckyvacL Offline
                                    luckyvac
                                    last edited by

                                    Hi Anton and the community,
                                    I think I have found the solution to control the damping of the servo motor. I worked on the geometry of "green" parts to decrease the sensitivity to the vibratory modes. As we can do in reality.
                                    It's impressive !
                                    😮
                                    Best regards. 😄
                                    luckyvac


                                    main gauche MOV 03.skp


                                    solution geometrie joint vert.JPG

                                    1 Reply Last reply Reply Quote 0
                                    • F Offline
                                      faust07
                                      last edited by

                                      Unfortunately, changing the Update Rate from 1 to 3 is not useful when camera, joints, emitter, etc. are based on scripts that use the OnUpdate function. Programmed objects become 3 times faster. The appearance of emitted objects no longer fits to the image rate. The weight of the emitted objects or the lifetime seems to change.
                                      For the joints based on pivot points, an option independent of the Update Rate in the user interface seems to be useful for fixing at the pivot point. If this is possible...

                                      1 Reply Last reply Reply Quote 0
                                      • S Offline
                                        SynSuka3D
                                        last edited by

                                        @Anton_S goood xbox controller Merci!

                                        1 Reply Last reply Reply Quote 0
                                        • S Offline
                                          SynSuka3D
                                          last edited by

                                          @Anton_S
                                          @body.set_omega([Internal body axis , 0, axes in global space]) ???

                                          ex:
                                          *onStart{
                                          @body = simulation.find_body_by_name('body')
                                          }

                                          onUpdate{
                                          r_body = @body.get_matrix

                                          ax = Geom::Vector3d.new([key('up'), 0, 0]).transform(r_body)

                                          @body.set_omega([ax.x, 0, key('right')])
                                          }*

                                          1 Reply Last reply Reply Quote 0
                                          • T Offline
                                            TheSniper
                                            last edited by

                                            Platform: Sketchup 2017 on Mac 64 bit

                                            Anton,
                                            Got the update, (Thank you) I have not gone thru all the settings as of yet. But so far it appears to working as expected. Ill let you know as soon as I can get thru all the settings THANKS! -S

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 19
                                            • 20
                                            • 21
                                            • 22
                                            • 23
                                            • 46
                                            • 47
                                            • 21 / 47
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement