Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Navigator Rewrite #1046

Closed
wants to merge 120 commits into from
Closed

Navigator Rewrite #1046

wants to merge 120 commits into from

Conversation

julianoes
Copy link
Contributor

Overview

This navigator rewrite aims to consolidate the tasks of commander versus navigator. It is now written in the way that it was initially proposed:

  • Commander:
    • Watch vehicle status, inputs, sensors, etc.
    • React to errors and human input (e.g. using a fail-safe state machine)
    • Set navigation mode for navigator
  • Navigator:
    • Listen to navigation mode set by commander
    • Set position setpoints according to navigation mode (Misison, Loiter, RTL, etc.)

The state machine in the navigator is gone. However, it might someday replace the if/else failsafe logic (bool and enum hell) currently implemented in the commander.

The main work was to split the navigation modes into separate classes. This should make it easy for developers to add custom flight modes in the future. All that is needed is a new class for the navigation and a (new) mode from the commander going with it.

Features

  • Land/in-air detection for FW added
  • RTL does not trigger when landed
  • RTL on RC loss is not triggered during mission but when the mission is finished
  • Switching to loiter after a mission is finished does not move the loiter center
  • Switching to loiter after RTL (without landing) does not move the loiter center
  • Loiter is triggered when WPs can not be read from SD card

Todo (updated)

  • MC HIL Testing
  • MC Testing (partly done, needs more testing)
  • FW HIL Testing (done)
  • FW Testing (flown quite a bit, latest fixes need re-testing)
  • Autocontinue (not added yet)
  • Waiting before triggering RTL (needs to be added)
  • Autoland (works for FW, needs MC testing)

Note:
For review don't look at single commits, lot's of stuff got changed multiple times.

DrTon and others added 30 commits April 18, 2014 22:05
…ons: forwarding: forward received messages from self to other mavlink instances, passing: send out messages received from other mavlink intances over serial
@julianoes
Copy link
Contributor Author

@DrTon @thomasgubler
I added some more failsafe logic how I think it is reasonable. I also added a parameter to enable the data link loss. If it is not enabled, then RTL is triggered after the mission is finished.

I currently wasn't able to get the data link detected even though I enabled heartbeats in QGC. I think the problem is that my 3DR radios don't send radio status. How would I have to configure them? Could we change this, so that it is possible without messing with the radios?

@DrTon
Copy link
Contributor

DrTon commented Jun 18, 2014

Cool, I will look later. We can send telemetry status on receiveing heartbeat, for example. Just copy some code from handle radio status to handle heartbeat. To enable radio status make sure that MAVLINK=1 on your radio. I can help with it tomorrow.

@LorenzMeier
Copy link
Member

@julianoes @DrTon @thomasgubler Given the intense testing with this, anything that should keep us from merging to master?

@julianoes
Copy link
Contributor Author

The only issue for me some days ago was Autoland after RTL for MC.
@DrTon did this work for you?

@DrTon
Copy link
Contributor

DrTon commented Jun 28, 2014

Yes, it works. Check navigator_rewrite_drton branch please and merge if you are happy with changes. I'm going to do some more minor fixes: change arguments for some functions in API, but logic will be unchanged.

@LorenzMeier
Copy link
Member

Closing this PR and re-opening it against master.

@LorenzMeier LorenzMeier mentioned this pull request Jun 29, 2014
PX4BuildBot added a commit that referenced this pull request Jun 17, 2024
…C 2024

    - sitl_gazebo-classic in PX4/Firmware (fcb479c): PX4/PX4-SITL_gazebo-classic@da7206e
    - sitl_gazebo-classic current upstream: PX4/PX4-SITL_gazebo-classic@67431d2
    - Changes: PX4/PX4-SITL_gazebo-classic@da7206e...67431d2

    67431d2 2024-06-17 Silvan Fuhrer - standard_vtol.sdf: increase max airspeed for thrust model to 30m/s (#1046)
7dc8042 2024-06-17 Jaeyoung Lim - Parameterize maximum relative air velocity for generating thrust on the motors (#1045)
93b45ad 2024-06-14 Silvan Fuhrer - ramped up wind.world: increase windRampStart to 90s (#1044)
708dff5 2024-06-12 Ayham Alharbat - fixing the links and joints names in typhoon model to reflect the numbers of the motors in the px4's hex x airframe (#1043)
383a68e 2024-06-04 Matteo Del Seppia - Fixed uuv_bluerov2_heavy SDF model, adding jinja for multi vehicle simulations (#1042)
f754540 2024-03-04 RyosukeMatsushima - remove unmatched bracket (#1024)
63b72dc 2024-03-04 Julian Oes - gimbal_controller: send attitude in Earth frame (#1023)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants