-
Notifications
You must be signed in to change notification settings - Fork 13.6k
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
Spacecraft Support: adding modules for Space Robotics and Thruster Based platforms #23117
Draft
Pedro-Roque
wants to merge
90
commits into
PX4:main
Choose a base branch
from
DISCOWER:dev-merge_upstream
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 81 commits
Commits
Show all changes
90 commits
Select commit
Hold shift + click to select a range
b852d0b
rft: changed Readme for space systems setup
Pedro-Roque 46e6d7f
Readme for space systems setup
E-Krantz f7cf8c8
Added Space Robot airframe and thruster controller (work in progress)
E-Krantz ddf2a5b
Added support for thruster control messages. Fixed initialization par…
E-Krantz 892e35b
Fixed PWM to be controllable at 10 Hz by sr_thruster_controller.c
E-Krantz 75b25a8
Patch for previous commit
E-Krantz b54f398
Converted sr_thruster_controller to a PX4-module
E-Krantz 4d17c02
Merge remote-tracking branch 'PX4-Autopilot/main' into 'PX4-Space-Sys…
E-Krantz 5929738
Update to Space Ropbot airframe params
E-Krantz 568da60
Modified px4_fmu-v6x board defaults to use less FLASH memory
E-Krantz 45902bf
Merge branch 'main' into discower/1.14
E-Krantz 8cf11f8
Update to boardconfig for sitl and fmu-v6x
E-Krantz f1a1c28
fix: set sim build with gazebo 11 option
Pedro-Roque 5abfb92
fix: updated README with gazebo 11 option
Pedro-Roque 731775a
Update to read RC channels
E-Krantz 2eb6e55
Update to use namespace spacebot#
E-Krantz d297a77
Add space world make target
Jaeyoung-Lim 05cd988
Merge pull request #1 from Jaeyoung-Lim/pr-add-space-world
Pedro-Roque 788f863
Update sitl_gazebo head
Jaeyoung-Lim 122509f
Add space systems rate control module
Jaeyoung-Lim bb396b4
Use bidirectional thrust on the sticks
Jaeyoung-Lim e68aebb
Merge pull request #3 from DISCOWER/pr-sitl-model
Pedro-Roque cbd7a9c
fix: builds with sitl gazebo
Pedro-Roque 4ac6e6a
fix: install build folder and ROMFS for ros2 launch sequence
Pedro-Roque 5e19a9f
Merge pull request #4 from DISCOWER/pr-rate-controller
Pedro-Roque 2d4b3d3
rft: clean CMakeLists and improved posix rcS for uxrcde connection
Pedro-Roque a8e85f3
rft: changing default names for space to spacecraft (sc)
Pedro-Roque a7046ec
feat: changing files and filenames to sc_ terminology
Pedro-Roque accc043
feat: update default rc_app and reduce logging. Might break SIM
Pedro-Roque 405a468
feat: adding spacecraft airframes
Pedro-Roque d0d211b
featt: moved everything to sc
Pedro-Roque 8a4906d
Merge pull request #8 from DISCOWER/dev-sc_airframes
Pedro-Roque ecf80c5
feat: adding thruster effectiveness
Pedro-Roque 05fa6ff
feat: updates to module yaml and naming of classes
Pedro-Roque ba910a1
feat: added actator type and updated thruster effectiveness
Pedro-Roque 7f15e73
feat: update cmake lists for added modules
Pedro-Roque 503ea6d
fix: compiling with thrusters inside
Pedro-Roque 12dd68e
feat: added spacecraft effectiveness - to be validated
Pedro-Roque f41ee2f
feat: fixed allocator bug - need to remove prints
Pedro-Roque f00e97b
fix: control allocator running with thrusters!
Pedro-Roque 730d780
rft: removed prints and non-required messages
Pedro-Roque fc99613
feat: renamed MC_ and mc_ to SC_ and sc_, added gains on airframe for…
Pedro-Roque 2d913e1
feat: adding attitude rate ctl
Pedro-Roque 61b85cd
fix: actuator testing and att control. Att control needs further work
Pedro-Roque cc9750d
chunk: fixes towards full pipeline
Pedro-Roque 8de434f
feat: functionThrusters in mixer module
Pedro-Roque 251f3f8
Merge pull request #13 from DISCOWER/dev-sc_rate_ctl_checks
Pedro-Roque 59df525
init: creating spacecraft position controller
Pedro-Roque 2337f25
add: params
Pedro-Roque f246f84
fix: major changes to position control for compatibility with spacecraft
Pedro-Roque e097833
fix: nan on setpoints for att control
Pedro-Roque 6207209
feat: cleaning position controller
Pedro-Roque 71cd6ff
fix: updated empty trajectories
Pedro-Roque ddad102
doc: small changes to att control - will move to different branch
Pedro-Roque 89e5b11
fix: several fixes on attitude controller cleaning
Pedro-Roque b8482b0
feat: updates to attidude control
Pedro-Roque f69b0ad
Merge pull request #15 from DISCOWER/dev-sc_pos_ctl
Pedro-Roque 94c05b6
fix: remove FW_ARSP_MODE
Pedro-Roque 64f1047
Merge pull request #16 from DISCOWER/dev-sc_att_ctl_cleaning
Pedro-Roque 86a9970
fix: doubled topcis
Pedro-Roque aca2f09
add: manual subscription
Pedro-Roque 56f5056
add: debug attitude setpoint in dds, more updates on control stack
Pedro-Roque 73bce2b
fix: aiming for static position and attitude keeping
Pedro-Roque 3961d27
fix: attitude setpoint updates only when needed
Pedro-Roque cbfbae1
dbg: behavior seems consistent, need to ensure it works on position mode
Pedro-Roque 3ffc29d
feat: position control needs to be tested - arming pos ctl not working
Pedro-Roque 50ce9b4
Merge pull request #17 from DISCOWER/dev-sc_pos_ctl_manual_sp
Pedro-Roque 3476d75
feat: adding parameters to replicate hardware pwm for spacecrafts
Pedro-Roque d0b81e0
Merge pull request #18 from DISCOWER/dev-pwm_output
Pedro-Roque c890c7c
fix: added fixes for vision/mocap data.
Pedro-Roque 1193723
Update submodule
Jaeyoung-Lim a670085
rft: removing undesireable prints
Pedro-Roque 42e0880
Merge pull request #19 from DISCOWER/pr-add-gasthrusters
Pedro-Roque 4f880a1
feat: updating thruster plugin on gazebo-classic sitl
Pedro-Roque 35700c2
Merge branch 'dev-metric_control_allocator' into dev-merge_changes
Pedro-Roque 697bcde
fix: format checks
Pedro-Roque 206de0e
fix: disabled unit tests for spacecraft - they need to be designed
Pedro-Roque 0eefd71
add: empy, might fix fails
Pedro-Roque e4ea746
fix: reverting changes to workflow
Pedro-Roque 96de3d9
feat: updating Gazebo Classic submodule commit
Pedro-Roque b6169a8
fix: submodules
Pedro-Roque 6a13703
fix: fixed styles and configuration files for spacecrafts based on fe…
Pedro-Roque db0ed9b
fix: init.d cmakelists
Pedro-Roque b2438d7
fix: removed MyMessage, replaced with MavlinkLog
Pedro-Roque 9ee35c7
feat: 6dof spacecraft updates
Pedro-Roque 3741843
feat: updated thrust of DART spacecraft
Pedro-Roque 284f4a0
feat: added frictionless world
Pedro-Roque 2db4428
fix: compilation issues with fmuv6x
Pedro-Roque c5278ca
fix: thruster output range to match hardware
Pedro-Roque 33a10b4
fix: failsafe on invalid posctl now is stabilized mode
Pedro-Roque File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,7 +7,7 @@ | |
# @maintainer Jaeyoung Lim <[email protected]> | ||
# | ||
|
||
. ${R}etc/init.d/rc.mc_defaults | ||
. ${R}etc/init.d/rc.sc_apps | ||
Pedro-Roque marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
|
||
param set-default CA_AIRFRAME 0 | ||
|
110 changes: 110 additions & 0 deletions
110
ROMFS/px4fmu_common/init.d-posix/airframes/9000_gazebo-classic_2d_spacecraft
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
#!/bin/sh | ||
# | ||
# @name 3DoF Spacecraft Model | ||
# | ||
# @type 2D Freeflyer with 8 thrusters - Planar motion | ||
# | ||
# @maintainer Pedro Roque <[email protected]> | ||
# | ||
|
||
. ${R}etc/init.d/rc.sc_defaults | ||
|
||
param set-default CA_AIRFRAME 13 | ||
param set-default MAV_TYPE 24 | ||
|
||
param set-default CA_THRUSTER_CNT 8 | ||
param set-default CA_R_REV 255 | ||
|
||
# param set-default FW_ARSP_MODE 1 | ||
|
||
# Auto to be provided by Custom Airframe | ||
param set-default CA_METHOD 0 | ||
|
||
# disable attitude failure detection | ||
param set-default FD_FAIL_P 0 | ||
param set-default FD_FAIL_R 0 | ||
|
||
param set-default CA_THRUSTER0_PX -0.12 | ||
param set-default CA_THRUSTER0_PY -0.12 | ||
param set-default CA_THRUSTER0_PZ 0.0 | ||
param set-default CA_THRUSTER0_CT 1.75 | ||
param set-default CA_THRUSTER0_AX 1.0 | ||
param set-default CA_THRUSTER0_AY 0.0 | ||
param set-default CA_THRUSTER0_AZ 0.0 | ||
|
||
param set-default CA_THRUSTER1_PX 0.12 | ||
param set-default CA_THRUSTER1_PY -0.12 | ||
param set-default CA_THRUSTER1_PZ 0.0 | ||
param set-default CA_THRUSTER1_CT 1.75 | ||
param set-default CA_THRUSTER1_AX -1.0 | ||
param set-default CA_THRUSTER1_AY 0.0 | ||
param set-default CA_THRUSTER1_AZ 0.0 | ||
|
||
param set-default CA_THRUSTER2_PX -0.12 | ||
param set-default CA_THRUSTER2_PY 0.12 | ||
param set-default CA_THRUSTER2_PZ 0.0 | ||
param set-default CA_THRUSTER2_CT 1.75 | ||
param set-default CA_THRUSTER2_AX 1.0 | ||
param set-default CA_THRUSTER2_AY 0.0 | ||
param set-default CA_THRUSTER2_AZ 0.0 | ||
|
||
param set-default CA_THRUSTER3_PX 0.12 | ||
param set-default CA_THRUSTER3_PY 0.12 | ||
param set-default CA_THRUSTER3_PZ 0.0 | ||
param set-default CA_THRUSTER3_CT 1.75 | ||
param set-default CA_THRUSTER3_AX -1.0 | ||
param set-default CA_THRUSTER3_AY 0.0 | ||
param set-default CA_THRUSTER3_AZ 0.0 | ||
|
||
param set-default CA_THRUSTER4_PX 0.12 | ||
param set-default CA_THRUSTER4_PY -0.12 | ||
param set-default CA_THRUSTER4_PZ 0.0 | ||
param set-default CA_THRUSTER4_CT 1.75 | ||
param set-default CA_THRUSTER4_AX 0.0 | ||
param set-default CA_THRUSTER4_AY 1.0 | ||
param set-default CA_THRUSTER4_AZ 0.0 | ||
|
||
param set-default CA_THRUSTER5_PX 0.12 | ||
param set-default CA_THRUSTER5_PY 0.12 | ||
param set-default CA_THRUSTER5_PZ 0.0 | ||
param set-default CA_THRUSTER5_CT 1.75 | ||
param set-default CA_THRUSTER5_AX 0.0 | ||
param set-default CA_THRUSTER5_AY -1.0 | ||
param set-default CA_THRUSTER5_AZ 0.0 | ||
|
||
param set-default CA_THRUSTER6_PX -0.12 | ||
param set-default CA_THRUSTER6_PY -0.12 | ||
param set-default CA_THRUSTER6_PZ 0.0 | ||
param set-default CA_THRUSTER6_CT 1.75 | ||
param set-default CA_THRUSTER6_AX 0.0 | ||
param set-default CA_THRUSTER6_AY 1.0 | ||
param set-default CA_THRUSTER6_AZ 0.0 | ||
|
||
param set-default CA_THRUSTER7_PX -0.12 | ||
param set-default CA_THRUSTER7_PY 0.12 | ||
param set-default CA_THRUSTER7_PZ 0.0 | ||
param set-default CA_THRUSTER7_CT 1.75 | ||
param set-default CA_THRUSTER7_AX 0.0 | ||
param set-default CA_THRUSTER7_AY -1.0 | ||
param set-default CA_THRUSTER7_AZ 0.0 | ||
|
||
param set-default PWM_MAIN_FUNC1 501 | ||
param set-default PWM_MAIN_FUNC2 502 | ||
param set-default PWM_MAIN_FUNC3 503 | ||
param set-default PWM_MAIN_FUNC4 504 | ||
param set-default PWM_MAIN_FUNC5 505 | ||
param set-default PWM_MAIN_FUNC6 506 | ||
param set-default PWM_MAIN_FUNC7 507 | ||
param set-default PWM_MAIN_FUNC8 508 | ||
|
||
# PWM Simulation | ||
param set PWM_SIM_PWM_MAX 10000 | ||
param set PWM_SIM_PWM_MIN 0 | ||
|
||
# Controller Tunings | ||
param set-default SC_ROLLRATE_P 0.14 | ||
param set-default SC_PITCHRATE_P 0.14 | ||
param set-default SC_ROLLRATE_I 0.3 | ||
param set-default SC_PITCHRATE_I 0.3 | ||
param set-default SC_ROLLRATE_D 0.004 | ||
param set-default SC_PITCHRATE_D 0.004 |
98 changes: 98 additions & 0 deletions
98
ROMFS/px4fmu_common/init.d-posix/airframes/9001_gazebo-classic_3d_spacecraft
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
#!/bin/sh | ||
# | ||
# @name 6DoF Spacecraft Model | ||
# | ||
# @type Freeflyer with 8 thrusters | ||
# | ||
# @maintainer Pedro Roque <[email protected]> | ||
# | ||
|
||
. ${R}etc/init.d/rc.sc_defaults | ||
|
||
param set-default CA_AIRFRAME 14 | ||
param set-default MAV_TYPE 25 | ||
|
||
param set-default CA_ROTOR_COUNT 8 | ||
param set-default CA_R_REV 255 | ||
|
||
# param set-default FW_ARSP_MODE 1 | ||
|
||
# Auto to be provided by Custom Airframe | ||
param set-default CA_METHOD 0 | ||
|
||
# disable attitude failure detection | ||
param set-default FD_FAIL_P 0 | ||
param set-default FD_FAIL_R 0 | ||
|
||
param set-default CA_ROTOR0_PX 0.14435 | ||
param set-default CA_ROTOR0_PY -0.14435 | ||
param set-default CA_ROTOR0_KM 0.01697 | ||
param set-default CA_ROTOR0_AX -0.788675 | ||
param set-default CA_ROTOR0_AY -0.211325 | ||
param set-default CA_ROTOR0_AZ -0.57735 | ||
|
||
param set-default CA_ROTOR1_PX -0.14435 | ||
param set-default CA_ROTOR1_PY -0.14435 | ||
param set-default CA_ROTOR1_KM 0.05 | ||
param set-default CA_ROTOR1_AX 0.211325 | ||
param set-default CA_ROTOR1_AY -0.788675 | ||
param set-default CA_ROTOR1_AZ 0.57735 | ||
|
||
param set-default CA_ROTOR2_PX 0.14435 | ||
param set-default CA_ROTOR2_PY 0.14435 | ||
param set-default CA_ROTOR2_KM 0.05 | ||
param set-default CA_ROTOR2_AX -0.211325 | ||
param set-default CA_ROTOR2_AY 0.788675 | ||
param set-default CA_ROTOR2_AZ 0.57735 | ||
|
||
param set-default CA_ROTOR3_PX -0.14435 | ||
param set-default CA_ROTOR3_PY 0.14435 | ||
param set-default CA_ROTOR3_KM 0.05 | ||
param set-default CA_ROTOR3_AX 0.788675 | ||
param set-default CA_ROTOR3_AY 0.211325 | ||
param set-default CA_ROTOR3_AZ -0.57735 | ||
|
||
param set-default CA_ROTOR4_PX 0.14435 | ||
param set-default CA_ROTOR4_PY -0.14435 | ||
param set-default CA_ROTOR4_KM 0.05 | ||
param set-default CA_ROTOR4_AX 0.788675 | ||
param set-default CA_ROTOR4_AY 0.211325 | ||
param set-default CA_ROTOR4_AZ -0.57735 | ||
|
||
param set-default CA_ROTOR5_PX -0.14435 | ||
param set-default CA_ROTOR5_PY -0.14435 | ||
param set-default CA_ROTOR5_KM 0.05 | ||
param set-default CA_ROTOR5_AX -0.211325 | ||
param set-default CA_ROTOR5_AY 0.788675 | ||
param set-default CA_ROTOR5_AZ 0.57735 | ||
|
||
param set-default CA_ROTOR6_PX 0.14435 | ||
param set-default CA_ROTOR6_PY 0.14435 | ||
param set-default CA_ROTOR6_KM 0.05 | ||
param set-default CA_ROTOR6_AX 0.211325 | ||
param set-default CA_ROTOR6_AY -0.788675 | ||
param set-default CA_ROTOR6_AZ 0.57735 | ||
|
||
param set-default CA_ROTOR7_PX -0.14435 | ||
param set-default CA_ROTOR7_PY 0.14435 | ||
param set-default CA_ROTOR7_KM 0.05 | ||
param set-default CA_ROTOR7_AX -0.788675 | ||
param set-default CA_ROTOR7_AY -0.211325 | ||
param set-default CA_ROTOR7_AZ -0.57735 | ||
|
||
param set-default PWM_MAIN_FUNC1 101 | ||
param set-default PWM_MAIN_FUNC2 102 | ||
param set-default PWM_MAIN_FUNC3 103 | ||
param set-default PWM_MAIN_FUNC4 104 | ||
param set-default PWM_MAIN_FUNC5 105 | ||
param set-default PWM_MAIN_FUNC6 106 | ||
param set-default PWM_MAIN_FUNC7 107 | ||
param set-default PWM_MAIN_FUNC8 108 | ||
|
||
# Controller Tunings | ||
param set-default SC_ROLLRATE_P 0.14 | ||
param set-default SC_PITCHRATE_P 0.14 | ||
param set-default SC_ROLLRATE_I 0.3 | ||
param set-default SC_PITCHRATE_I 0.3 | ||
param set-default SC_ROLLRATE_D 0.004 | ||
param set-default SC_PITCHRATE_D 0.004 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||
---|---|---|---|---|
|
@@ -68,6 +68,14 @@ if(CONFIG_MODULES_MC_RATE_CONTROL) | |||
) | ||||
endif() | ||||
|
||||
if(CONFIG_MODULES_SC_RATE_CONTROL) | ||||
px4_add_romfs_files( | ||||
rc.heli_defaults | ||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
I guess that's not used for thruster robots. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Correct. Removed. |
||||
rc.sc_apps | ||||
rc.sc_defaults | ||||
) | ||||
endif() | ||||
|
||||
if(CONFIG_MODULES_ROVER_POS_CONTROL) | ||||
px4_add_romfs_files( | ||||
rc.rover_apps | ||||
|
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
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.
Fixed