-
Notifications
You must be signed in to change notification settings - Fork 13.3k
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
New vehicle type: Airship #14862
New vehicle type: Airship #14862
Conversation
- typo
- airframe, - mixers, - manual flying
Is LTA common terminology? Feel free to use something more descriptive like airship or blimp. It doesn't necessarily need to be a short initialism (like MC or FW). |
LTA has been renamed to airship. When working with airship-specific parameters in future, we do need an acronym naming convention to fit within the 16 byte limit. A few suggestions could be |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really cool!
param set RTL_DESCEND_ALT 10 | ||
param set RTL_LAND_DELAY 1 | ||
|
||
param set PWM_MAX 2000 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are the default already, so no need to have them here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dan-leo why did you mark this as resolved? I don't see this being addressed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bkueng I didn't realize that when defined as a pwm parameter they already have those exact defaults. Updated, thanks!
@dan-leo great work! is this support 6DOF type? I'm working on a project using a balloon with 6 motors mounted in the middle which can make it move directly up/down/laterally, there's no pitch and roll. I can manually control it by using a simple mixer, but don't know how to make it run auto mission. |
set MIXER cloudship | ||
|
||
# Configure this as airship. | ||
# set MAV_TYPE 7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is this commented out?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is currently using MAV_TYPE 2. It would be ideal to use MAV_TYPE 7, but the implementation seems non-trivial at the moment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it should be set to MAV_TYPE 7
and may be specify n=0
at https://github.com/PX4/Firmware/blob/master/src/modules/simulator/simulator_mavlink.cpp#L104. This way you are explicitly stating that the control inputs range from -1 ~ 1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, this helps.
Currently it supports yaw and thrust angle/pitch. Roll can be supported through differential thrust in the mixer setup, but is not recommended unless using a fixed thruster setup as you are using! We are hoping to include differential yaw/roll depending on the thrust angle for the specific set-up we have. |
@dagar @bkueng @Jaeyoung-Lim @MaEtUgR what would you still like to be done, or what are are the next steps once both repos are complete? Thanks for your input thus far! |
param set RTL_DESCEND_ALT 10 | ||
param set RTL_LAND_DELAY 1 | ||
|
||
param set PWM_MAX 2000 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dan-leo why did you mark this as resolved? I don't see this being addressed.
perf_counter_t _loop_perf; /**< loop performance counter */ | ||
|
||
static constexpr const float initial_update_rate_hz = 250.f; /**< loop update rate used for initialization */ | ||
float _loop_update_rate_hz{initial_update_rate_hz}; /**< current rate-controller loop update rate in [Hz] */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are unused as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I removed them for now. They'll be useful in future updates!
- airship_att_control - params in rc.airship_defaults
This contains a few submodule updates (NuttX, ecl and mavlink). I believe these are not on purpose, can you revert that? |
I added, fixed and refactored a couple things. |
Thanks @antonerasm, this is looking really good.
Awesome! |
@TSC21, thanks. |
When this goes in would be good to get some docs. Specifically:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution.
It seems like all the modified parts or not on the critical path, so good for me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One detail, otherwise good to merge.
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
Yay! |
Awesome. Docs reminder: #14862 (comment) "an undocumented feature might as well not exist" |
@dan-leo Could you please follow up and add this to the docs? |
@Jaeyoung-Lim @hamishwillee Yes, I will do that ASAP. It is next on my to-do list. |
As mentioned in #14792 and https://discuss.px4.io/t/new-vehicle-type-airship/16514, our team has developed a new vehicle type for the PX4 developer community. Feel free to test using the
cloudship
branch (based off v1.10.1) ormaster
branch in https://github.com/flycloudline/Firmware and https://github.com/flycloudline/sitl_gazebo_airship.# Run the following to simulate in Gazebo make px4_sitl gazebo_cloudship
Use QGroundcontrol and a joystick controller to test. A virtual joystick can also be used.