How to model non-redundant rigid loops in Simscape Multibody in a way that will allow use of Robotics System Toolbox.
24 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am modeling a robotic actuator that has rigid loops in Simscape Multibody. The system I am modeling is based on the docking port actuator for the ISS: ISS Model. You can see that it is 6 linear actuators connected between a base and a ring by spherical joints. I have a simplified model of this in Simscape.
The model works perfectly, however, I am trying to use Robotics Systems Toolbox to control it. I cannot generate an accurate rigid body tree because the design requires kinematic loops, as each of the 6 actuators must connect to the world frame at the start, then connect to the ring at the end. Is there a way to change the model to achieve the same thing without rigid loops? I have tried just breaking the loops, but this model is no longer accurate.
0 Kommentare
Antworten (1)
Subhajyoti
am 27 Jun. 2025
To control your ISS docking port-inspired actuator, a Stewart platform-like system with six linear actuators connected via spherical joints forming kinematic loops, in Simscape using the Robotics System Toolbox (RST), you need a loop-free rigidBodyTree. RST does not support closed kinematic loops, and breaking them compromises model accuracy. Below is a concise solution to modify your Simscape model to eliminate rigid loops while preserving functionality for RST control.
1. Modify Simscape Model
To create an RST-compatible model, modify the Simscape structure to form an open-chain configuration. Model five of the six actuators as prismatic joints connecting the base to the ring, establishing a tree structure. Instead of a rigid connection, represent the sixth actuator with a Distance Constraint block in Simscape to enforce its kinematic effect without forming a loop. A Transform Sensor block can measure the ring’s pose (position and orientation) relative to the base for feedback control.
2. Export to RST
Export the open-chain model, comprising the five actuators, to a rigidBodyTree object using Simscape’s smexportonshape or exportRigidBodyTree function. This tree structure, with the ring as the end effector, will be used for control design in RST.
3. Control in RST
In RST, use the inverseKinematics or generalizedInverseKinematics function to compute the desired positions of the five actuators based on the target ring pose. Calculate the sixth actuator’s length or force separately using the ring’s pose and the geometry of its attachment points, for example, via a MATLAB function. Design a controller, such as a PID, to command the actuator positions, which are then fed into the Simscape model for simulation.
4. Validate
Simulate the modified Simscape model with the RST-derived control inputs and compare the ring’s motion and actuator forces to the original model to ensure kinematic and dynamic accuracy. Adjust constraint parameters if necessary to align the behavior.
This approach eliminates rigid kinematic loops by modeling five actuators as an open chain and enforcing the sixth actuator’s effect as a constraint, ensuring RST compatibility while maintaining accuracy.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Simscape Multibody finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!