• Login
sketchucation logo sketchucation
  • Login
๐Ÿค‘ SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

MSPhysics 1.0.3 (16 October 2017)

Scheduled Pinned Locked Moved Plugins
920 Posts 170 Posters 882.9k 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 26 Jan 2017, 05:04

    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
    • L Offline
      luckyvac
      last edited by 27 Jan 2017, 08:51

      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 1 Feb 2017, 15:17

        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 9 Feb 2017, 00:23

          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
          • L Offline
            luckyvac
            last edited by 11 Feb 2017, 13:15

            Great thanks Anton, I wait peacefully while working on other rhythm guitar. ๐Ÿ˜„

            1 Reply Last reply Reply Quote 0
            • L Offline
              luckyvac
              last edited by 11 Feb 2017, 22:24

              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 11 Feb 2017, 22:41

                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 11 Feb 2017, 22:42

                  @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
                  • L Offline
                    luckyvac
                    last edited by 12 Feb 2017, 06:42

                    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 12 Feb 2017, 21:35

                      @SynSuka3D Interesting, I will fix this.

                      1 Reply Last reply Reply Quote 0
                      • S Offline
                        SynSuka3D
                        last edited by 12 Feb 2017, 22:04

                        @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 12 Feb 2017, 22:14

                          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 12 Feb 2017, 23:32

                            @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 13 Feb 2017, 06:58

                              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 13 Feb 2017, 13:50

                                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
                                • L Offline
                                  luckyvac
                                  last edited by 13 Feb 2017, 15:24

                                  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 13 Feb 2017, 15:50

                                    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 13 Feb 2017, 23:11

                                      @Anton_S goood xbox controller Merci!

                                      1 Reply Last reply Reply Quote 0
                                      • S Offline
                                        SynSuka3D
                                        last edited by 13 Feb 2017, 23:28

                                        @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 13 Feb 2017, 23:46

                                          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
                                          • 26
                                          • 27
                                          • 28
                                          • 29
                                          • 30
                                          • 45
                                          • 46
                                          • 28 / 46
                                          • First post
                                            Last post
                                          Buy SketchPlus
                                          Buy SUbD
                                          Buy WrapR
                                          Buy eBook
                                          Buy Modelur
                                          Buy Vertex Tools
                                          Buy SketchCuisine
                                          Buy FormFonts

                                          Advertisement