Simscape forces and torques: Centrifugal, gravitational, accelerative

11 views (last 30 days)
Goodafternoon 'u all,
I'm actually working with simscape and I was wondering if any way exist to get from a multibody model acting forces components, ad function of kinematic conditions. In simpler words, how can I get centrifugal, coriolis, gravitations, and accelerative forces components action on a mass or body of the system? Let's assume as first approximation we're working with rigid body (but I imagine would be in any case a good approximation also for other cases). I don't see any evident methd for getting them easily, unless repeating all required onerous calculations (futile to say I'm not going for :-D). In robotic toolbox all these components are directly derived from internal jacobians and kinematcs conditions. I was guessing any similar feature also exist in simscape. Remarks, I'm currently using simscape under simulink environment.
Suggestions?
Best regards
  11 Comments
ENRICO
ENRICO on 30 Aug 2024
Well, to be honest, my point wasn't to find speeds and positions already given by sensors and joints sensing. I find much tricky the need to perform all calculations in a script that should run separatedly. I can take my measure in simulink and provide blocks to perform all requred calacualtions directly in simulink itself. But honestly I'd just do what simscape already do internally... in my opinion a waste of time and risk of error. Would be better to have something directly from the model if possible. Besides there are many additional complexity due to the presence of multiple bodies, inertia tensors and frames connected to same branch of compound systems, would make all not ideal for an applicative use. In addition sensor provided in simscape allow to chose preferred frame for resolving componenets of forces and speeds...
Umar
Umar on 31 Aug 2024
Hi @Enrico,
Why not consider using Simulink blocks that directly interface with your Simscape model. This approach not only minimizes the risk of errors but also enhances the efficiency of your simulations. Like I was trying to tell you that you can utilize the built-in sensors and components to extract necessary data without manually coding each calculation. For instance, if you need to analyze forces or velocities, you can directly connect Simscape sensors to your model and configure them to output data in your preferred reference frame. This way, you can maintain clarity and reduce the overhead of managing multiple scripts and leveraging the capabilities of Simscape and Simulink together will provide solution for your robotics applications.

Sign in to comment.

Answers (1)

Divyam
Divyam on 2 Sep 2024
For Multibody modelling using the Simscape library there are currently no straightforward ways similar to the Robotics Toolbox for extracting force components such as centrifugal and Coriolis accelerative forces. In these cases, you need to write custom code in addition to using the Simscape Multibody features such as the transform sensors to measure the relative spatial relationships between two frames.
However, for measuring the force components for gravitational forces you can use the "Mechanism Configuration" block (https://www.mathworks.com/help/sm/ref/mechanismconfiguration.html) which adjusts the gravitational forces acting in an environment. As an alternative you can also use the "Gravitational Field" block (https://www.mathworks.com/help/sm/ref/gravitationalfield.html) to represent gravitational field for a point mass in the environment.
For more information regarding sensing composite forces using Simscape, refer to the following example: https://www.mathworks.com/help/sm/ug/sensing-composite-forces-and-torques-in-joints-potter-s-wheel.html
For more information regarding modelling gravity using Simscape, refer to this documentation: https://www.mathworks.com/help/sm/ug/gravity.html
  2 Comments
ENRICO
ENRICO on 5 Sep 2024
Edited: ENRICO on 5 Sep 2024
I shall remark that what one get from Mechanism Configuration is not a measure of gravitational forces but a measure of acceleration from basis, that's not necessarily gravitational force acting, although in most cases can be used for. Anyway is not a measure (neither as virtual measure). In addition I underline the point what I'm looking for is not actually the composite force acting I can direclty measure (on joints only, so I need to add some fixed joint in case, modifying my model in a slightly unnatural way for). but I can anyway chose a suitable frame for my measure (that's very good for my puposes!).
So unfortunately your answer is, first not complete (only gravitational terms are considered), second partially satisfying. In the contrary, I agree with you that's what actual Simscape offer as meas to acheve my task, and matching robotic toolbox response with simscape could result tricky.
Divyam
Divyam on 5 Sep 2024
Hi @ENRICO, I suggested the "Mechanism Configuration" block for a measure of gravitational forces since that is a popular use case for the block, you are correct in asserting that it is not only a measure of said forces but you can use it as a measure of acceleration from basis.
The functionality you expect from Simscape is not available hence I provided you with the next best solutions I knew/could find.
If you figure out a solution, do share with us.

Sign in to comment.

Products


Release

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!