Hello,
I want to hover my quadcopter in offboard mode. I referred the following codes here on px4 website. But, in this case the quadcopter needs a position feedback.
I am trying to do hover indoors where GPS/MOCAP are unavailable. I have a lidar-rangefinder and a px4flow sensor on the platform. I did not find any topic in mavros to which I can publish my altitude setpoints in offboard mode without GPS/MOCAP feedback.
I am not sure if I have missed something in mavros/px4 documentation. It will be great if someone can guide me to solve this problem.
Thank you in advance.
i do not think it is designed to imitate ‘altitude hold’ in OFFBOARD mode. it needs full 3D position, not just height if you use setpoint_position.
well, may be you can control it using setpoint_raw/attitude (http://docs.ros.org/api/mavros_msgs/html/msg/AttitudeTarget.html) commanding it to be level and using a simple controller for thrust to target altitude which you get directly from lidar-lite. but that’s kind of advanced use case
2 Likes
Oh! I was trying to send the data as /mavros/setpoint_attitude/attitude.
It is not responding to the setpoint commands at all in this case.
I did not try it using setpoint_raw/attitude. I will try it and let you know.
Thanks a lot @alexs512
Best,
-Aditya.
Hello @alexs512: Your suggestion worked. Thank you. 
1 Like
Hi @adipandas @alexs512 ,we are also trying to control drone using /mavros/setpoint_raw/attitude
topic.
However, when I switch to offboard mode, PX4 always denied and goes into failsafe mode. Could I ask what information did you give to the topic? Does the topic info include attitude in ENU frame, thrust value, and also type_mask and header? Aa detailed explanation of the problem is here https://github.com/mavlink/mavros/issues/1225
Really appreciate if you could help.
For setpoint_raw
topic, you have to set the type_mask
. So can check out the source-code directly for how to implement the type_mask. I think, when i was working on it, I used type_mask for attitude rates. And only published the attitude and thrust commands to the robot. The attitude is in ENU frame. I also published header.