top of page

Problems Raised

The task was to simulate a robot, but there were several issues that arose during the process. To solve these problems, the following solutions were implemented: a more robust control algorithm was developed to handle uncertainties, sensor fusion techniques were used to improve sensor accuracy, regular maintenance and fault detection algorithms were implemented to address mechanical issues, efficient algorithms and parallel processing were used to optimize the simulation process, and reliable communication protocols were established to ensure effective communication between the robot and the simulation environment.

  1. Problem 01

Picture60.png

Reason:

 

This error message is related to the simulation of the model "WheelRobotMain3" in Simulink with Simscape. The error indicates that the solver encountered a problem while simulating the model and could not continue. The specific issue is related to the nonlinear iteration process, which is not converging at a specific time point (0.33763910853489193) and the solver is suggesting some solutions.

 

​Solution:

 

The following steps are helps to resolve this issue in MATLAB Simscape;

Make sure that all components in the model are correctly connected and have the proper parameters. If the model is correct, try reducing the minimum step size and/or relaxing the relative error tolerance in the solver options. To do this, go to the Solver Configuration block in the Simulink model, and adjust the values for the "Minimum step size" and "Relative tolerance" parameters. Also, try reducing the minimum step size and/or relaxing the relative error tolerance until the error message disappears. If adjusting the solver options does not resolve the issue, try changing the solver type. There are several solver options available in Simulink, and some may be more suitable for your specific model. The user can try changing the solver type in the Solver Configuration block to a different solver option and see if that resolves the error message.

​

https://uk.mathworks.com/matlabcentral/answers/1886257-error-occurred-while-running-the-simulation?s_tid=srchtitle

2. Problem 02

Picture61.png

Reason:

 

This error message suggests that there is a problem with the MaskDialog callback function of the PID 1dof block in a Simulink model. Specifically, the callback function that is responsible for handling the tune button has encountered an error while executing.

 

​Solution:

 

To resolve this error, you can try the following steps;

First, check the block parameters and make sure they are properly set. Ensure that the proportional, integral, and derivative gains are set to reasonable values. If the parameters are correct, try updating the version of the PID package you are using. The error could be caused by a bug in the package that has been resolved in a later version. Another solution is to try deleting and recreating the PID block in the Simulink model. This will recreate the MaskDialog callback function and may resolve any issues with the function.

​

https://uk.mathworks.com/matlabcentral/answers/57916-what-is-the-difference-between-simulink-control-design-and-control-system-toolbox

https://uk.mathworks.com/matlabcentral/answers/453877-can-not-use-pid-tuner-in-simulink

3. Problem 03

Picture62.png

Reason:

 

This error message indicates that there is a problem with the kinematic constraints in a Simulink model with Simscape, and the simulation has been terminated as a result. Specifically, the kinematic constraints cannot be maintained during the simulation.

 

​Solution:

 

To solve this error in Simscape, you can try the following steps:

Check the kinematic constraints in the Simulink model and make sure they are properly defined. Ensure that all constraints are accurately specified and all components in the model are correctly connected.

Also, try reducing the time step size for the simulation. This may help to stabilize the simulation and maintain the kinematic constraints.

Another solution is to adjust the solver settings for the simulation. In the Solver Configuration block in the Simulink model, try changing the solver type or adjusting the solver parameters.

​

https://uk.mathworks.com/matlabcentral/answers/332701-an-error-occurred-while-running-the-simulation-and-the-simulation-was-terminated

4. Problem 04

Picture63.png
Picture64.png

Reason:

​

This error message suggests that there is an issue with compiling the Simscape network for a Simulink model in MATLAB. This could be due to a variety of reasons such as incorrect component settings or incorrect connections.

​

Solution:

​

To resolve this error in MATLAB Simscape, you can try the following steps:

Check the Simscape network for any errors or warnings. This can be done by selecting the "Diagnostic Viewer" in the "Analysis" tab of the Simulink model window. Resolve any errors or warnings that are found. Verify that all of the Simscape components in the model are properly defined and connected. Ensure that all of the connections are correct and that the component parameters are set appropriately. Try deleting and recreating the problematic component or subsystem in the Simulink model. This may help to clear any issues with the component or subsystem. If the issue persists, consult the Simulink documentation or forums for additional guidance. You may need to provide more information about the specific error message and your Simulink model in order to receive more specific assistance.

​

https://uk.mathworks.com/matlabcentral/answers/332701-an-error-occurred-while-running-the-simulation-and-the-simulation-was-terminated

https://uk.mathworks.com/matlabcentral/answers/396476-error-compiling-simscape-network

5. Problem 05

Confusing happened on the actuation part in revolute joint -

Picture65.png

Determining Torque or Motion:

 

In general, a wheeled biped robot should balance under the torques produced by the wheels, rather than the motion of the wheels. This is because the robot's stability is determined by the torques applied to its body, rather than the motion of its wheels.

When the robot moves, the wheels will naturally produce torques that affect the robot's balance. These torques can be both beneficial (e.g. to maintain stability) and detrimental (e.g. to cause tipping or instability). Therefore, it is important to design the robot's control system to take these torques into account and balance the robot accordingly. In terms of various torque applied on the robot it is easy to observe how the robot responds and determine the optimal control strategy to maintain stability.

 

Provided by input and Automatically computed:

 

In the actuation section of the revolute joint block in Simscape, there are two options for the torque input signal:

​

Provided by input: This option allows you to specify the torque input signal to the revolute joint block directly, using a signal generator or other source. With this option, the torque input signal is not automatically computed by the block.

 

Automatically computed: This option allows the block to compute the torque input signal based on the actuator parameters and the desired joint motion. With this option, you specify the desired joint angle or velocity as an input to the block, and the block calculates the torque required to achieve that motion.

 

Similarly, for the motion input signal, there are two options:

 

Provided by input: This option allows you to specify the motion input signal to the revolute joint block directly, using a signal generator or other source. With this option, the motion input signal is not automatically computed by the block.

​

Automatically computed: This option allows the block to compute the motion input signal based on the actuator parameters and the desired joint torque. With this option, you specify the desired joint torque as an input to the block, and the block calculates the motion required to achieve that torque.

 

So, the "provided by input" option allows you to manually specify the input signal to the revolute joint block, while the "automatically computed" option allows the block to calculate the input signal based on the system parameters and desired motion. The choice between these options will depend on the specific requirements and constraints of your application.

6. Problem 06

Picture66.png

Reason:

​

This error message indicates that the ratio of solver resets to solver steps in a Simulink model with Simscape is too large, causing the simulation to slow down. This could be due to an issue with the interaction between continuous and discrete blocks in the model.

​

Solution:

​

To fix this error in MATLAB Simscape, you can try the following steps:

Check the model to see if any continuous blocks are driven by discrete blocks. This can cause issues with the solver, as the solver cannot guarantee accurate results when switching between continuous and discrete time steps. If you find such blocks, try modifying the model to avoid this interaction.

Try reducing the step size for the solver. This can help to stabilize the simulation and reduce the number of solver resets. Adjust the solver settings for the simulation. In the Solver Configuration block in the Simulink model, try changing the solver type or adjusting the solver parameters. For example, you can try using a variable-step solver or changing the tolerance settings. If none of the above solutions work, try simplifying the model or breaking it down into smaller subsystems. This can help to reduce the complexity of the model and improve solver performance.

​

​

Picture67.png
bottom of page