PX4 / PX4-Autopilot

PX4 Autopilot Software
https://px4.io
BSD 3-Clause "New" or "Revised" License
8.47k stars 13.5k forks source link

Vision pose estimation problem, can not set home position #18561

Open Cristian-wp opened 3 years ago

Cristian-wp commented 3 years ago

Hi! can someone help me with the vision pose estimation in indoor?

I have followed the tutorial and set: AID_MASK to 24 HGT_MODE to Vision RNG_AID to disabled

In my ulog files I can see the message: [ecl/EKF] starting vision pos fusion [ecl/EKF] starting vision yaw fusion

With QGC and with Mavros I check the local position and is correct respect to the tests position (move forward,rear, rotation on Z axis and roll and pitch) performed by hand in indoor.

But in the ros terminal I can not see the two above messages about fusion, and in the same terminal I constantly get the following info and warning:

[warn] [...] GP: No GPS fix [info] [...] HP: requesting home position

My purpose is to fly in offboard mode, but I have not set it at the moment, because I wana check that the home position is set and correct. I have to set offboard before start the vision pose estimation?

Can someone help me please?

garlinplus commented 2 years ago

gps is not fix,so there is no home position.

Jawad-RoboLearn commented 2 years ago

Hi, I have met this problem. The solution is simple: when you are publishing topics like setpoint_position or attitude. Publish the time stamp with your data. For example:

  `msg.pose.position.x = 1.9214;

   msg.pose.position.y = 0.7529;

   msg.pose.position.z = 0.8;

   msg.pose.orientation.x = 0;

   msg.pose.orientation.y = 0;

   msg.pose.orientation.z = 0;

   msg.pose.orientation.w = 1;

   msg.header.stamp = ros::Time::now();       // this is must

   msg.header.seq=count;

   chatter_pub.publish(msg);

   ros::spinOnce();

   count++;

   loop_rate.sleep();`

Also check that EKF2 data is well fused by typing rostopic echo /mavros/local_position/pose

This will also solve the offboard and arming problem.