How to change waypoints while running the simulation model when using UAV toolbox(Path Manager)?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
SHICHEN HU
el 7 de Mayo de 2021
Editada: Giuseppe Silano
el 2 de Mzo. de 2022
I want to achieve a flight path like this:
There are some cars along the road, once the UAV has detected a car, it would fly towards the car, otherwise it would fly along the road.
I am trying to modify the UAV package delivery example(https://ww2.mathworks.cn/help/uav/ug/uav-package-delivery.html) to achieve this in simulink.
But it seems that the PathManager block only receive the waypoint set once.
For example,
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/610720/image.jpeg)
Here I have 12 waypoints along the road, the first waypoint pair is (point1,point2), if there is no car along this road,
then the next waypoint pair is (point2, point3)
But when I change the value of GCScommands in the Multirotor block, it didn't recieve the value.
(I changed the value directly from the data dictionary)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/610725/image.png)
After the UAV reach point2, it will stuck at there instead of moving forward, even I have changed the value of GCSCommands into (point2,point3).
It will still take the first 2 points as waypoints.
How can I solve this?
0 comentarios
Respuesta aceptada
Jianxin Sun
el 10 de Mayo de 2021
Hi Shichen,
Mission data is loaded in "uavPackageDelivery/Ground Control Station/Get Flight Mission/noQGC" subsystem when model simulation starts in this example. If you want to dynamically update the mission, you can modify this subsystem to accept run time changes. Alternatviely, you can add a state machine before the control reaches "uavPackageDelivery/Multirotor (MultirotorModel)/Guidance Logic/Full Guidance Logic/Guidance Stateflow" subsystem and switch to alternative control modes when you detect a car.
Thanks,
Jianxin
5 comentarios
Robert Naquila
el 11 de Ag. de 2021
I tried just passing the waypoints through the function block but it gives the same error.
function newMission = fcn(mission)
newMission = mission;
It seems like the function block does not return any signal at all. Is there any configuration I need to make to the function block to make this work?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/709392/image.png)
Jianxin Sun
el 12 de Ag. de 2021
Hi Robert,
I tried your modification. I think you need to explict set the data type for your MATLAB function block output. It should be set to Bus:uavPathManagerBus type like the screenshot shown below. You can refer to https://www.mathworks.com/help/simulink/ug/ports-and-data-manager.html to find out how to open the dialog below for MATLAB function block.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/709642/image.png)
Thanks,
Jianxin
Más respuestas (1)
Giuseppe Silano
el 2 de Mzo. de 2022
Editada: Giuseppe Silano
el 2 de Mzo. de 2022
This is an example of using MATLAB 3D Animation Toolbox for object detection and tracking with an Unmanned Aerial Vehicle. I hope this can be of help.
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!