-
Notifications
You must be signed in to change notification settings - Fork 13.5k
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
support fixed-wings in new Gazebo(gz or ignition gazebo) #20939
Conversation
To test airspeed plugin the relevant lines need uncommented in models and worlds. Signed-off-by: Benjamin Perseghetti <[email protected]> Co-authored-by: Alejandro Hernández Cordero <[email protected]>
F F
cb3c002
to
de54581
Compare
Nice, I've worked on adding functionality to the joint position controller system to control groups as well as use subtopics that inherit the model name. I also made the Ackermann steering plugin behave the way we want it to allowing for phi (center steering angle published as a double) |
Great! Is this somewhere I can use? or are you saying that this is already what I am using?
I would like to start separating motors(velocity control) and servos (joint control), but I think we need to make the distinction on the gz_bridge with control allocation first |
Yep, that's what I'm working on. Haha I'll finish implementing the joint-controller later today, but the joint-position-controller works perfect. |
@Jaeyoung-Lim @dagar Here is what will allow us to do multi-vehicle like what I enabled for the multicopter: |
When I execute make px4_sitl gz_x500 I got this error: INFO [dataman] data manager file './dataman' size is 7866640 bytes
INFO [init] starting gazebo with world: /tmp/PX4-Autopilot/Tools/simulation/gz/worlds/default.sdf
WARN [init] PX4_GZ_MODEL_NAME or PX4_GZ_MODEL not set using PX4_SIM_MODEL.
INFO [gz_bridge] world: default, model name: plane_0, simulation model: plane
libEGL warning: DRI2: failed to create dri screen
libEGL warning: DRI2: failed to create dri screen
ERROR [gz_bridge] Service call timed out
ERROR [gz_bridge] Task start failed (-1)
ERROR [init] gz_bridge failed to start
ERROR [px4] Startup script returned with return value: 256 |
</ode> | ||
</physics> | ||
</joint> | ||
<joint name='rudder_joint' type='revolute'> |
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.
<joint name='rudder_joint' type='revolute'> | |
<joint name='px4_servo_4' type='revolute'> |
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 means that it cannot find the airframe config in ROMFS @ahcorde Could you make sure you did a |
I merged with |
Needs more work (tuning, Fortress support questions, etc), but this should be good enough to merge into main so we can continue iterating. |
Solved Problem
Currently, the new gazebo does not support fixed-wing / VTOL type vehicles due to the missing interface for the lift drag plugin
As we want to support the new Gazebo moving forward, this is one of the major features that is missing before we can switch to the new gazebo.
Fixes #20836
Solution
I took the plane model in https:/PX4/PX4-Autopilot/tree/pr-gz-bridge-airspeed from @ahcorde and modified it so that the joint angles can be controlled via the px4
gz_bridge
What was done:
gz_bridge
to publish joint position commands for the control surfaces. Joint names need to strictly follow a naming conventionpx4_servo_<i>
depending on the indexTest coverage
To test,
Video of first flight: https://youtu.be/4heMHqKiYUI
Still Unresolved issues