A project giving me fits- Robotic mower using gates

Okay, the breakdown is I am a programmer from way back but electronics is a complete mystery to me so any help I can get would be greatly appreciated.

I will include an illustration of my yard and the problem I am having trying to figure out a solution to it. What I want to do seems simple until you account for the robotic mowers programming.
What I want to do is have a mower based in zone 3 go through a gate(#2) controlled by a linear actuator, very simple design of a frame with a frame inside of that and the actuator lifts the gate up to 90 degrees from the bottom(simple enough).
Problem, I raise dogs and have 6 currently. The gate(s) must be closed at all times except while the mower is passing through.

Now some info that will make the problem stand out to you:
1.) The mower follows the guide boundary wire in a clockwise direction.
2.) When the mower reaches it designated zone it will mow in in a completely random paths, bouncing from one boundary then turning(Random degrees) to mow until it reaches the next boundary so on and so on. So you never know where it will be in a given zone when it has finished mowing that zone.
3.) Zones are programmed into the mower by having it follow the boundary until it reaches what you would call a zone(Measuring the distance as it goes) then you pause the mower and name the zone. Then you tell the mower the Area of the zone. Continue to the next zone and repeat.
4.) After setup and you start mowing the mower then begins to move along the wire until it reaches the distance to zone 2 then it takes a 90 degree right hand turn and starts mowing.

Problem: I have considered using a timer system based on the rate of travel to zone 2(see photo) and a timer would work just fine to open the gate(#2), but it needs to close after entering zone 2 and another timer would do that just fine. But:

The timer(s) can’t work on it’s return from zone 2 as I stated in #2 there is no way to know where the mower will engage the boundary after finishing(could be right where it started and then it would have to travel the entire distance around zone 2- or it could engage right beside the exit to zone 2. Who knows with it all being random.

Now I’m thinking of using proximity detectors(see photo) PS1 on it’s way to zone 2 would detect the mower passing and open the gate-> PS2 would close the gate after the mower has entered zone 2.
Problem: PS3 and PS4 will do the same thing for it’s exit from zone 2-> but the random mowing of the pattern of the mower could and will have it engage both PS2 and PS3 perhaps multipal times during the mowing process. I did find that a timer function can be used to interrupt all other functions while the timer is counting. Example of 1 hour.
I do have the ability to control how long it mows in a given zone and I think but am not sure this could solve my problem?
If I have the mower enter zone 2 using PS1/PS2 to open/close the gate then somehow engage the timer after PS2 is tripped(the first time). Not sure how to do that or even program the thing to start with(not a language I know) but looking at examples doesn’t seem very far off of using others. Although when the mower is going to mow zone 3 then the entire problem presents again with it tripping the sensors. I could use the same timing function although longer for zone 3 after PS4 is tripped and it begins mowing zone 3.

So am I on the right track here? Or am I way off? The thing that bothers me is the mower has Bluetooth built in(and it could just have BT controllers connected to the gates) and it could open the gates itself with a little parameter page but the manufacturer will not give access to the programming. growl.

Any help or other ideas for this could also be applied to gate #1, thank you for your time of reading this and any suggestions you may have.

Brother @jonhogan
I could like to give you a small advice connecting a sensor in front and back of the gate where the mower will pass through,
In such a way that the gate with the (eg ultra sonic sensor) must open (up to your requirement )
when the mower come near to the gate (suppose less than 2 metre ) the sensor in the gate will detect the mower and open the gate , and putting some delay to the program the gate will open and wait till the mower passes the gate and will automatically closed , and during exit the back sensor will act like the one before
Hopefully might this be what you are wanting for
My humble regard
From Lucky

Get an extra mower ?

How you will get the gate to open before the mower hits it , or before it decides to go off in another direction or even parallel to the gate I don’t know .
You could put some form of transmitter on the mower I guess , a flashing beacon orientated to its direction of travel I guess …
The gate moving and hitting something unexpectedly needs thought .

Btw dogs are clever , they will hang around the gates when the mower gets near , and may learn to direct its movement …

A second mower will probably be more effective - seriously

I think what I’m going to do is use the 1hr timing function of arduino, while it is stuck in that loop it will ignore any signals it receives and after the hour has expired the mower will be back on the boundary wire and will trip the PS3 sensor just as planned followed by the PS4 sensor to close the gate again. Pretty sure this is going to work.
I’ll know for sure at the end of June when I get everything installed.
Thanks for the responses.