-
Notifications
You must be signed in to change notification settings - Fork 31
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
The amc2c
binary moves a motor using CAN communication
#426
Merged
marcoaccame
merged 19 commits into
robotology:devel
from
marcoaccame:test/amc2c-currents
Oct 17, 2023
Merged
The amc2c
binary moves a motor using CAN communication
#426
marcoaccame
merged 19 commits into
robotology:devel
from
marcoaccame:test/amc2c-currents
Oct 17, 2023
Conversation
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
…ts config parameter
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
This PR enables the
amc2c
binary to move a motor in the same manner anamcbldc
board does. This will allow us to remove oneamcbldc
board from the wrist ofergoCub
.Details
The
AMC
board hosts two cores, each running a different binary. We use the termamc
to refer to the binary that runs on the CM7 core and the termamc2c
to refer to what runs on the second core, the CM4.The
amc
manages the ETH communication vsyarprobotinterface
and the CAN communication vs motor control boards such as theamcbldc
.We use one
amc
and threeamcbldc
to control the wrist ofergoCub
using following connections and xml files.However, the
AMC
board has onboard peripherals that can drive a motor in the same way theamcbldc
does. So, in this PR we enable theamc2c
binary, so far un-used, to exploit these peripherals and drive a motor.For now we still use CAN communication between
amc
andamc2c
. In theamc2c
we have reserved the CAN2 peripheral to manage CAN frames exchange with theamc
that uses CAN1 peripheral. Also, we have configured theamc2c
to to behave as anamcbldc
with CAN address equal to 3.In this way, with the
amc2c
binary we shall be able to remove theamcbldc
with address CAN1:3 by changing the connections in the following way and still retaining the same xml description.The next step will be to enable the
amc
andamc2c
to use inter core communication (ICC) so that we can simplify the cabling in this way.The ICC however, will be the matter of further imminent PRs,, where I will give more details.
Tests
We have extensively tested the correct behavior running
yarprobotinterface
on a dedicated setup formed by anAMC
board with a single motor and then directly on the wrist with anAMC
board and twoamcbldc
boards.Mergeability
The code of this PR is ready to be merged.