Question on waypoint mission


#1

Hi team,

I have few questions/issues on onboard app development

  1. I am using ROS service “//navigation/waypoint_set” to set way point. I setting total 3 waypoints. But in response I get number of waypoint set as 5. Why this number is wrong?
  2. I am using ROS topic “/flytsim/mavros/mission/waypoint_achived” to track mission status. But as number of way points achived is not matching. Can you please help me to understand this?
  3. How speed of drone will be decided during waypoint mission? Can I control speed when mission execution is in progress?
  4. Can I update waypoints dynamically? Example mission has been already started, waypoint1 is already achived. Drone is moving towards waypoint2. But now I want to add new waypoints waypoint1x1, waypoint1x2 etc before waypoint2.

Thanks
Sapana


#2

Hi @sapana_khemkar,

You observe a mismatch because of the way APM (FlytSim’s backend is built on APM - SITL) expects mission waypoints. According to the APM standards, the user MUST feed the first waypoint as the Home location of the drone and second waypoint as the Take Off waypoint above the home location.
Hence, FlytOS detects if the condition is met by user-provided waypoints, and if it does not, then FlytOS adds the expected waypoints to the list of user-provided waypoints. Hence, the difference in count between ‘set’ and ‘get’ is 2.

The above difference is very specific to APM and won’t be observed in PX4/DJI.

For APM/PX4 or DJI?
For DJI, currently, the waypoint mission speed is fixed and not changeable.

At any point in time, if you need to update waypoints, follow these steps:

  • call pause mission API
  • send the complete list of new waypoints
  • call execute mission API

#3

Thanks srv.

  1. Ok understood waypoint mismatch. Thanks.
  2. I am looking for DJI. If waypoint mission speed is fixed what is value?
  3. Means waypoints cannot be changed without pausing current mission.
  4. I have one more question. If waypoint mission is in progress then I pause mission in between and then manually added new setpoint. Once setpoint is reached, I want to resume waypont mission. But before that I want to verify if any waypoint has been already crossed. If yes then I want to delete that waypoint from mission and directly go to next waypoint. Is it possible? How can I detect that waypoint is already achieved during manual mode.

Sapana


#4

Hi srv admin,
Just reminder. Can you pls respond to my previous queries?

Thanks
Sapana


#5

Hi @sapana_khemkar,

Sorry for the delay.

5m/s

No.

There is no autonomous way of getting this done. you will have to manually monitor drone position and list of WPs and check if at any point of time the distance between drone and any WP is less than a threshold (say 1m). And then you mark that WP as done, and delete it from the list.
Once you have the updated list, Set Waypoint and Execute it.