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

[Spinal][Config] Additional features and new configuration for Spinal #630

Open
wants to merge 105 commits into
base: master
Choose a base branch
from

Conversation

sugihara-16
Copy link
Contributor

What is this

This PR is an integrated PR with #624 and #594 . The structure of the STM32 project was also changed to accommodate all available boards.

Details

This PR provides following modifications:

  • Supporting direct servo control.
  • Supporting DShot protocol.
  • Supporting board-by-board independent configuration setup.

TODO

I have checked this branch works in Spinal F7, H7, and H7_v2 without problems. So, after the review by contributes, it can be merged immediately.

sugihara-16 and others added 30 commits March 1, 2024 18:03
…rameter can be set to only during torqe off state.
[Spinal][Servo] debug around reading servo from rqt
@tongtybj tongtybj changed the title [Spinal][Config] Additional features and new configuration for Spina. [Spinal][Config] Additional features and new configuration for Spinal Oct 30, 2024
@tongtybj tongtybj self-requested a review October 30, 2024 15:11
@tongtybj
Copy link
Collaborator

@sugihara-16

Have you test this branch with any multiliinked robot, like Hydrus ?

@sugihara-16
Copy link
Contributor Author

@tongtybj
Not yet.
This PR provides direct servo control mode and Dshot protocol mode, but they do nothing about robots that use Neuron because direct servo control mode cannot be mixed with NERVE_COMM mode currently (https://github.com/sugihara-16/aerial_robot/blob/e73d86c035ecf7634a171f48faa8a5ec1edcca3a/aerial_robot_nerve/spinal/mcu_project/boards/stm32H7/Src/main.c#L258-L263). Additionally, regarding thrust signal, Spinal doesn't transmit thrust signal by itself when we use Neuron.

@tongtybj
Copy link
Collaborator

@sugihara-16

I understand that theoretically this PR does not effect the spinal-neuron system, but the real word is much stricky than what we predict or image.

For a very large modification such as this PR, it is indispensible to test with real platform as much as possible (mini_quadrotor, hydrus, dragon, delta, etc.).
However, I also realize it is an exhausted work. So please only try with hydrus.

@sugihara-16
Copy link
Contributor Author

OK, I got it.
I gonna try Hydrus in a few days.

@sugihara-16
Copy link
Contributor Author

@tongtybj
Thank you for your insightful suggestion!
I tested this branch with Hydrus Xi real machine (equipped with Spinal H7) and found several potential problems. After some work, I confirmed Hydrus Xi can perform hovering and aerial transformation.
Additionally, although I guess it's also better to test with F7, now we don't have multilinked robots equipped with clean F7.

@tongtybj
Copy link
Collaborator

tongtybj commented Nov 1, 2024

I tested this branch with Hydrus Xi real machine (equipped with Spinal H7) and found several potential problems. After some work, I confirmed Hydrus Xi can perform hovering and aerial transformation.

Excellent!

@sugihara-16
Copy link
Contributor Author

@tongtybj
Hi, regarding the problem of the encoder initialization in F7, I found this problem is due to my commit sugihara-16@af3f910 . I remember this modification was done to make use of the same Dynamixel driver as Neuron, but the init func for external encoder is now disenabled in this line. I will check around this part more detail so please wait to merge this PR for a bit.

@sugihara-16
Copy link
Contributor Author

I solved the above problem by using temporary directives.

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.

3 participants