How to change waypoints while running the simulation model when using UAV toolbox(Path Manager)?
조회 수: 2 (최근 30일)
이전 댓글 표시
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
채택된 답변
Jianxin Sun
2021년 5월 10일
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
Robert Naquila
2021년 8월 11일
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
2021년 8월 12일
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
추가 답변 (1개)
Giuseppe Silano
2022년 3월 2일
편집: Giuseppe Silano
2022년 3월 2일
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
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!