PX4 SITL with Simulink-Based Plant Model
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Paolo
am 22 Nov. 2022
Kommentiert: Paolo
am 25 Nov. 2022
Hello, I'm develeoping a simple observer-based controller and I'm trying to implement it on PX4 stack. I'm developing a SITL scheme with Simulink-Based plant model as shown in Monitor and Tune PX4 Host Target Flight Controller with Simulink-Based Plant Model - MATLAB & Simulink - MathWorks. I developed a simple simulink model to check connetivity between my controller and the plant but there is a problem. I'm able to follow all the steps in the tutorial mentioned above but at the end I get the following error in the Simulink controller model:
action: EXT_INIT Creating Target Handler (XCP on TCP/IP)... Build directory: C:\Users\paolo\OneDrive\Documenti\Tesi_magistrale\SITL\partialInformation_controller_SITL_Simulink_ert_rtw Target name: 127.0.0.1 Target port: 17725 action: EXT_CONNECT Connecting to the target...
External Mode Open Protocol Connect command failed
Caused by:
- Could not connect to target application: XCP TCP/IP error: Connect failed
Component:Simulink | Category:Block diagram error
Unable to connect to the 'PX4 Host Target' target for 'partialInformation_controller_SITL_Simulink'.
I think the problem is on model side beacuse if I run the quadcopter model in the example Monitor and Tune PX4 Host Target Flight Controller with Simulink-Based Plant Model - MATLAB & Simulink - MathWorks my controller seems to connect succesfully with this model. This is my model for test connectivity, I'm trying to publish a simple message HIL_GPS with a dummy altitude:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1204003/image.jpeg)
And this is the controller I have developed:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1204013/image.jpeg)
Someone can help me?
Thanks in advice,
Paolo
1 Kommentar
Manoj Velmurugan
am 25 Nov. 2022
Did the host target window launch for you?
Also check if some other application is blocking 17725 port.
Akzeptierte Antwort
Manoj Velmurugan
am 25 Nov. 2022
PX4 Host target waits until it receives the HIL_SENSOR message. PX4 Host target has not started running as there is no HIL_SENSOR message in your plant model.
For more information, see the following lines in Firmware\src\modules\simulator\simulator.cpp
#if defined(ENABLE_LOCKSTEP_SCHEDULER)
// We want to prevent the rest of the startup script from running until time
// is initialized by the HIL_SENSOR messages from the simulator.
while (true) {
if (Simulator::getInstance() && Simulator::getInstance()->has_initialized()) {
break;
}
system_usleep(100);
}
#endif
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!