3PRR pick and place delta robot

9 Ansichten (letzte 30 Tage)
christina maher
christina maher am 3 Nov. 2022
Beantwortet: Divit am 13 Feb. 2024
i am modifying on pick and place library for delta robot on simulink, i am using 3 prr delta robot, i entered the robot from solidworks and made some modifications on functions...i am having error on feedbackloop so i used memomry block, i think it worked but for specific input, i now donot know which input should i enter or donot know the end effector is in what position, donot know values of x, y, z of end effector, and if i should remove the memory block, how to solve algebric loop error generated???i donot know at which point the solver stops or where is the problem.

Antworten (1)

Divit
Divit am 13 Feb. 2024
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

Community Treasure Hunt

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

Start Hunting!

Translated by