Congratulations Bryce!! I am certain that you are correct.
Earlier in the day the Princess Royal arrived wearing her gold brooch on her shoulder.
When she unveiled a statue commemorating the Canadian Royal Regina Regiment, she moved her gold brooch to the centre of her coat & wore a gold badge on her shoulder. I suspect that it is the regimental badge. She is the Colonel-in-Chief.
Later in the day, she changed the position of the brooches again & wore the mystery badge below her gold brooch which was pinned at her shoulder.
Note on the right hand side of the photo a lady wearing a similar but smaller green & gold badge can be seen. For the evening Vigil Princess Anne wore the mystery badge placed in the centre of her white coat. Other photos reveal that she placed the coat over her earlier coat & skirt.