Skip to content
This repository has been archived by the owner on Mar 17, 2021. It is now read-only.

[WIP] Vision/MoCap docs improvements #681

Merged
merged 5 commits into from
Dec 19, 2018

Conversation

hamishwillee
Copy link
Collaborator

@hamishwillee hamishwillee commented Dec 4, 2018

This is update to Vision/Mocap pages following on from #573.

Intention is to more concisely separate into what is supported by PX4 and the estimators, and then map this to ROS. This might be done in separate docs, one under computer vision and one under ROS [TBD]

Next step for iterating this is when there are answers to:

Fixes #191

> **Tip** If performance is still poor, try increasing the [LPE_PN_V](../advanced/parameter_reference.md#LPE_PN_V) parameter.
This will cause the estimator to trust measurements more during velocity estimation.


Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TSC21 OK, this is now more clearly split up the top to make it first generic. Below here I'm trying to make things more "ROS" specific. Unfortunately some of the information is a bit messy, so a few more questions below. Can you sanity check what is there now too?


This section shows how to setup the system with the proper reference frames. There are various representations but we will use two of them: ENU and NED.
## Asserting on Reference Frames
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section confuses me - what does "Asserting on Reference Frames" even mean? :-)
The rest of the section and sub headings talk about "rigid body" which is not defined, and is all about Optitrack.

So:

  1. how relevant is this reference frame information/how generic?
  2. If it is relevant how do we separate it. I'm "guessing" that it probably is useful because maybe ROS uses ENU and PX4 uses NED, so this could be under ROS heading with a note to that effect?

The mocap specific info could then go under the specific optitrack setup?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The frame of the rigid body is the body frame. If it is relevant as a rigid body, probably not.

It's relevant to state that the local/world frames are different from ROS to PX4:

  • ROS body frame is FLU (X forward, Y left, Z up), usually named base_link, while in PX4 is FRD (X forward, Y right and Z down);
  • ROS world frame is in ENU (X pointing East, Y pointing North and Z pointing up), with the naming being odom or map, while in PX4, the frame is NED (X North, Y East, Z down).

For a better insight about the ROS frames: http://www.ros.org/reps/rep-0105.html

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @TSC21 . I think I have captured what is relevant in 259d327

The "note" in that section on MoCap may not be needed.

@@ -119,17 +225,19 @@ At this point, if you followed those steps, you are ready to test your setup.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TSC21 is this first flight stuff relevant to both vision and mocap? Some of it is specific currently "Put the robot on the ground and start streaming MoCap feedback. "

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using vision egomotion and using mocap are two completely different approaches. So this should be under something specific to MoCap. To vision, there are other concerns as well.

Copy link
Collaborator Author

@hamishwillee hamishwillee Dec 19, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you provide information about what concerns are relevant to vision? I will make this section have Mocap/Vision subsections

* Stream over MAVLink and check the MAVLink inspector with QGroundControl, the local pose topic should be in NED
* Move the robot around by hand and see if the estimated local position is consistent (always in NED)
* Rotate the robot on the vertical axis and check the yaw with the MAVLink inspector
* **Before** creating the rigid body, align the robot with world x axis.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TSC21 HOw do you alight the robot with world x axis? What does this mean?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The world axes should be defined on the MoCap system setup. I never configured one, so I can't give an input regarding that. This just assures that the position where you start is with heading 0.

@hamishwillee
Copy link
Collaborator Author

@TSC21 Can you confirm my comments above? (or ETA when you might have time - I do appreciate you are busy!)

@hamishwillee
Copy link
Collaborator Author

hamishwillee commented Dec 19, 2018

@TSC21 OK, I think your info incorporated. There is a missing TBD section on the end about First Flight with VIO. If you think this is otherwise OK perhaps we should merge and you come back to me to fill that in?

In other words - "good to merge"?

@TSC21
Copy link
Member

TSC21 commented Dec 19, 2018

In other words - "good to merge"?

Yes LGTM

@hamishwillee hamishwillee merged commit 080b4f5 into PX4:master Dec 19, 2018
@hamishwillee hamishwillee deleted the vision_improvements branch December 19, 2018 23:03
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants