Cant get copter to orbit POI


I have an x8. using mission planner I set a point of interest and a home location and send the mission to the copter. According to the copter wiki when a POI is placed on the map and the copter is placed into circle mode it will orbit a POI with the nose in at radius set by circle command at a speed defined by deg/sec at an altitude defined by the current altitude when switching to circle. It does all of this except orbit the POI marker.

What it does instead is orbit South West tangent to the home location based on the circle parameters. It completely ignores the POI marker…If I want to move the circle I have to move the home location as the orbit circle is tangent to the home marker.

What am I doing wrong?

Could you upload a picture or list of your mission commands?

I think some things have to be set after a waypoint.
So, take off.
Make to a waypoint (even if it’s just above home or anywhere)

I might have the waypoint/ROI order wrong… So maybe it’s takeoff ROI, Waypoint, Circle…
(Sorry I don’t remember exactly… It’s been a while since I’ve flown a similar mission, but I did get it to work)

I think you are right…I was using POI.

When you place a POI it does not show up as a command in the waypoints list. so I was effectively uploading nothing… I didn’t think to check this in the field.

Just now looking over this if i use ROI there is a physical do_set_ROI command that appears and could be sent to the copter. I would suspect that this could solve the problem if it had an actual command to execute. Ill have to try this out.

I would send the command take off in stabilize mode climb to my target alt then switch over to circle mode…it should point the nose at the ROI marker and orbit based on its defined params.

if this actually solves the problem the wiki should be updated with the word ROI…its not the same as POI.


Can you please point out where in the wiki you are seeing the POI mentioned? I couldn’t find it.

Are you using the Circle mode or are you trying to do a circle inside a mission?

I am physically using circle mode by flipping a switch on the controller to cause the copter to enter circle mode. Just like with stabilize, RTL, or auto.

You talked about missions, that is why I was confused. Ok, if I’m not mistaken, with Circle mode it will set the center of the circle to the point exactly in the direction your vehicle is facing at the CIRCLE_RADIUS distance. Are you seeing this behavior or not?

Yes this could be an explanation for the behavior I was seeing…It seems tangent to the home location but its quite possible that it is indeed based the radius length and nose angle. However this is unacceptable…I need it to orbit a marker that I set with mission planner…If I set an ROI marker then upload that to the copter and enter circle mode will it orbit the ROI marker at set radius and deg/sec?

It looks like what you want is to use a mission with the command LOITER_TURNS (

Yess… This could work. Maybe not as easy as I imagined but solid none the less.

Now Lets say I need to make 4 orbits around the same center point at 20 , 30 , 40 ,50m in altitude. one revolution for each change in alt.

I would add 4 “loiter_turns” commands with the same lat/lon center point, turns=1, and alt at specified number.
I would then upload the mission, take off and enter “auto mode” and it would simply execute the “loiter turns” commands correct?

I have to enter the lat/lon by hand?

Now It must orbit with the nose pointed in at the lat/lon center point.

I see in later version of mission planner that there is an addition command added to “loiter turns” called “heading reg” I assume this is heading required what does that mean? How can I use that to accomplish the nose being pointed at the lat/lon or is that irrelevant and it means something else?

There is also “radius” does this override the radius listed in circle mode? This radius in MP should be equal to the rad that I want the copter to orbit?

and finally “Exit tangent” how does this work?

Thank you for your help with this


There is such function in latest Tower (4.0). You choose your central point, radius, and orbits with number of orbits and variable height.

In Editor screen, choose your waypoint and “structure scanner”


Not familiar with tower…is that a mission planning software for use with structures? That maybe an option later but as of this time I would like to stick with mission planner.


It is a GCS working with Android phone or tablet. Planning tool (editor) is really interesting.


Hi Nick,

Sorry for the slow answer. Your planned mission looks right. With MP you don’t have to enter lat/lon by hand, you can select a point in the map. If you always want the same center you should make the four Loiter turns have the same lat/lon.

I don’t know what “heading reg” is and I couldn’t find it in MP. If you want to post a screenshot I can try to look it up.
The “Exit tangent” is an option for Plane not used by Copter. Regarding radius, yes, you can use that field to override the CIRCLE_RADIUS parameter. If you leave it at zero it will use the parameter.

I hope I have clarified your doubts. If you have more questions, ask away :slight_smile:

You have been very helpful thank you! Here is the screen shot with the “heading required” field I was talking about… As long as the nose is pointed towards the lat/lon point as it orbits this will work great. Im wonder if “heading req” will change nose angle.

Thanks again!

I’m afraid we don’t support the “Head req” or “radius” fields in the Loiter-Turns mission command. We have a little issue in our eeprom format that doesn’t allow us to store those fields. So even if you try to set them, when you next download the mission from the vehicle you’ll see they’ve gone back to zero. This is on the to-do list to sort out.


Do you know what the “Head req” is? It’s not in the MAVLink spec.
And are you sure radius doesn’t work? I see all the code in place. It should be an integer though.

Hello Nick,

I had a try at structure scanner with “Tower” last flight. Here is the dump of my Waypoint file with Mission Planner.

Initial waypoint file was generated by “Tower” and uploaded to my Hexa.

DO_SET_ROI is the center of the circle, the reference point for the flight.
LOITER_TURNS parameter are number of turns (1), radius (20) in meters, ref point, altitude (relative, 10,15,20 in my flight), then you have Angle 90 and Azimuth 180 (89 and 164 on your screen)

You can try to plan a flight with this pattern.


Do you know how it would act if Do_set_roi was eliminated but all other fields the same? It appears no difference…why do you think its necessary?