Add a controller for drones#28
Conversation
There was a problem hiding this comment.
is this uploaded by mistake?
There was a problem hiding this comment.
No, the controller contains 3 types: angle controller, angle rate controller and position controller.
The first two controller support inputs as follows: a remote controller (RC), custom command (action), or both.
betaflight_4.4.0_STM32H743_forRC.hex is a modified executable program (firmware) for specific embeded device (also named flight controller) which is usually used in a real drone:
The firmware is modified from BetaFlight, a project widely used for FPV.
Users can simply flash the modified firmware onto their flight controller, connect the RC, plug the UART port into a computer, and then launch the drone controller in Genesis. After that, they can control the drone using the RC. For more detailed operations, see src/env/gs_env/sim/controllers/drone_controller/README.md in this PR and examples/drone/controller/README.md
It should be noted that "use RC to control a drone" is an interactive demo, remove it will not affect the main function of this PR, but there will be a lack of an interactive and fast verification method.
|
Thank you for your contribution. It will merge it to the drone branch since the code still needs some significant refactorizations to meet the requirements of the main branch. |
Adapted to GenesisPlayground, path is
src/env/gs_env/sim/controllers.Problems shown in Genesis main repo is caused by my version management issues, and this PR has no need to fix.
For details, see #1602