Hi Christina,
When working with a complex system like a 3PRR delta robot in Simulink, it's not uncommon to run into issues with algebraic loops and feedback. Algebraic loops occur when there's a circular dependency between blocks that need to be resolved simultaneously.
Here are some steps to troubleshoot and resolve the issues you're facing:
- You've mentioned Memory block but it may not be the correct solution for every case, as it might affect the dynamics of your system. Ensure that the delay introduced by the Memory block is acceptable for your control strategy.
- Look for blocks that have direct feedthrough (where the output is directly dependent on the input within the same time step) and see if you can replace them with blocks that do not have direct feedthrough or add appropriate delays
- If possible, refactor parts of your model into subsystems with clearly defined inputs and outputs. This can sometimes help to isolate and resolve algebraic loops.
- Ensure that you properly use PS-Simulink converters(if you're using Simscape) to convert physical signals to Simulink signals and vice versa, as neglecting this may create algebraic loops.
- Make sure that all the initial conditions for your system are set correctly. In your case, this would mean the initial positions and velocities of all joints and the end effector.
- To determine the position of the end effector (x, y, z), you can use forward kinematics. If you have the joint angles or actuator positions, you can calculate the end effector's position using the robot's kinematic equations.
- Use Simulink's debugging features, such as signal logging, to understand at which point the solver is having issues. This can help you pinpoint the exact block or subsystem where the problem occurs.
You can refer to this documentation link to learn more about algebric loops. https://www.mathworks.com/help/simulink/ug/algebraic-loops.html