Comments (5)
The error does not occur with the previous 2FOC version 3.2.1. I suspect it is the initial value of the current control PID. They are set to 0 since the PR robotology/icub-firmware#88 (in the case the 2foc.hex
is aligned with that PR):
https://github.com/robotology/icub-firmware/blob/65abce16fcf92cba0a4e4cbc534aa63cac13f975/emBODY/eBcode/arch-dspic/board/2foc/appl/2FOC-V3/src/2FOC.c#L198-L200
As a side note, this issue is appearing now because previous tests of this PR robotology/icub-firmware#88 probably did not include the correct 2FOC firmware binary file.
This reinforces the idea of automatizing the generation of firmware builds, as it must be a long painstaking and error prone procedure with several binaries to generate.
from icub-firmware-build.
Fixed by robotology/icub-firmware#94.
Please @ale-git can you regenerate a new official build as soon as the PR is approved. Thx
from icub-firmware-build.
@nunoguedelha done.
from icub-firmware-build.
Thanks @ale-git for pushing a new commit 4e0fbc5 including the 2foc.hex
binary. After flashing all the other boards (MC4PLUS, EMS) with the respective builds aligned with c10c146, I get a hardware limit error on all joints, which is wrong since the joints are far from the limits:
4294 4480.856103 ERROR from BOARD 10.0.1.5 (torso-eb5-j0_2), src LOCAL, adr 0, time 330s 366m 570u: (code 0x02000010, par16 0x0000 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4295 4480.856151 ERROR from BOARD 10.0.1.5 (torso-eb5-j0_2), src LOCAL, adr 0, time 330s 366m 684u: (code 0x02000010, par16 0x0001 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4361 4481.150506 ERROR from BOARD 10.0.1.1 (left_arm-eb1-j0_3), src LOCAL, adr 0, time 1703s 816m 876u: (code 0x02000010, par16 0x0000 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4362 4481.150526 ERROR from BOARD 10.0.1.1 (left_arm-eb1-j0_3), src LOCAL, adr 0, time 1703s 816m 992u: (code 0x02000010, par16 0x0001 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4363 4481.150541 ERROR from BOARD 10.0.1.1 (left_arm-eb1-j0_3), src LOCAL, adr 0, time 1703s 817m 101u: (code 0x02000010, par16 0x0002 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4364 4481.160565 ERROR from BOARD 10.0.1.1 (left_arm-eb1-j0_3), src LOCAL, adr 0, time 1703s 817m 216u: (code 0x02000010, par16 0x0003 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4492 4482.117764 ERROR from BOARD 10.0.1.3 (right_arm-eb3-j0_3), src LOCAL, adr 0, time 2416s 116m 851u: (code 0x02000010, par16 0x0000 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4493 4482.117783 ERROR from BOARD 10.0.1.3 (right_arm-eb3-j0_3), src LOCAL, adr 0, time 2416s 116m 966u: (code 0x02000010, par16 0x0001 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4494 4482.117797 ERROR from BOARD 10.0.1.3 (right_arm-eb3-j0_3), src LOCAL, adr 0, time 2416s 117m 78u: (code 0x02000010, par16 0x0002 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4495 4482.127934 ERROR from BOARD 10.0.1.3 (right_arm-eb3-j0_3), src LOCAL, adr 0, time 2416s 117m 192u: (code 0x02000010, par16 0x0003 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4627 4483.092759 ERROR from BOARD 10.0.1.6 (left_leg-eb6-j0_3), src LOCAL, adr 0, time 2417s 92m 628u: (code 0x02000010, par16 0x0001 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4628 4483.092763 ERROR from BOARD 10.0.1.6 (left_leg-eb6-j0_3), src LOCAL, adr 0, time 2417s 92m 748u: (code 0x02000010, par16 0x0002 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4629 4483.092767 ERROR from BOARD 10.0.1.6 (left_leg-eb6-j0_3), src LOCAL, adr 0, time 2417s 92m 861u: (code 0x02000010, par16 0x0003 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4648 4483.264456 ERROR from BOARD 10.0.1.7 (left_leg-eb7-j4_5), src LOCAL, adr 0, time 2417s 269m 826u: (code 0x02000010, par16 0x0000 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4649 4483.264491 ERROR from BOARD 10.0.1.7 (left_leg-eb7-j4_5), src LOCAL, adr 0, time 2417s 269m 940u: (code 0x02000010, par16 0x0001 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4718 4483.539223 ERROR from BOARD 10.0.1.8 (right_leg-eb8-j0_3), src LOCAL, adr 0, time 2417s 521m 373u: (code 0x02000010, par16 0x0000 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4719 4483.539288 ERROR from BOARD 10.0.1.8 (right_leg-eb8-j0_3), src LOCAL, adr 0, time 2417s 521m 493u: (code 0x02000010, par16 0x0001 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4720 4483.539305 ERROR from BOARD 10.0.1.8 (right_leg-eb8-j0_3), src LOCAL, adr 0, time 2417s 521m 606u: (code 0x02000010, par16 0x0002 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4721 4483.539319 ERROR from BOARD 10.0.1.8 (right_leg-eb8-j0_3), src LOCAL, adr 0, time 2417s 521m 720u: (code 0x02000010, par16 0x0003 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4738 4483.701605 ERROR from BOARD 10.0.1.9 (right_leg-eb9-j4_5), src LOCAL, adr 0, time 2417s 690m 532u: (code 0x02000010, par16 0x0000 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4854 4485.862483 ERROR from BOARD 10.0.1.5 (torso-eb5-j0_2), src LOCAL, adr 0, time 335s 367m 571u: (code 0x02000010, par16 0x0000 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4855 4485.862555 ERROR from BOARD 10.0.1.5 (torso-eb5-j0_2), src LOCAL, adr 0, time 335s 367m 685u: (code 0x02000010, par16 0x0001 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4862 4486.158461 ERROR from BOARD 10.0.1.1 (left_arm-eb1-j0_3), src LOCAL, adr 0, time 1708s 817m 877u: (code 0x02000010, par16 0x0000 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4863 4486.158533 ERROR from BOARD 10.0.1.1 (left_arm-eb1-j0_3), src LOCAL, adr 0, time 1708s 817m 993u: (code 0x02000010, par16 0x0001 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4864 4486.158551 ERROR from BOARD 10.0.1.1 (left_arm-eb1-j0_3), src LOCAL, adr 0, time 1708s 818m 103u: (code 0x02000010, par16 0x0002 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4865 4486.158565 ERROR from BOARD 10.0.1.1 (left_arm-eb1-j0_3), src LOCAL, adr 0, time 1708s 818m 218u: (code 0x02000010, par16 0x0003 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4903 4487.118569 ERROR from BOARD 10.0.1.3 (right_arm-eb3-j0_3), src LOCAL, adr 0, time 2421s 117m 853u: (code 0x02000010, par16 0x0000 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4904 4487.118633 ERROR from BOARD 10.0.1.3 (right_arm-eb3-j0_3), src LOCAL, adr 0, time 2421s 117m 968u: (code 0x02000010, par16 0x0001 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4905 4487.118651 ERROR from BOARD 10.0.1.3 (right_arm-eb3-j0_3), src LOCAL, adr 0, time 2421s 118m 79u: (code 0x02000010, par16 0x0002 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4906 4487.128801 ERROR from BOARD 10.0.1.3 (right_arm-eb3-j0_3), src LOCAL, adr 0, time 2421s 118m 194u: (code 0x02000010, par16 0x0003 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4981 4488.097474 ERROR from BOARD 10.0.1.6 (left_leg-eb6-j0_3), src LOCAL, adr 0, time 2422s 93m 629u: (code 0x02000010, par16 0x0001 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4982 4488.097544 ERROR from BOARD 10.0.1.6 (left_leg-eb6-j0_3), src LOCAL, adr 0, time 2422s 93m 749u: (code 0x02000010, par16 0x0002 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4983 4488.097563 ERROR from BOARD 10.0.1.6 (left_leg-eb6-j0_3), src LOCAL, adr 0, time 2422s 93m 862u: (code 0x02000010, par16 0x0003 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4985 4488.260983 ERROR from BOARD 10.0.1.7 (left_leg-eb7-j4_5), src LOCAL, adr 0, time 2422s 270m 827u: (code 0x02000010, par16 0x0000 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4986 4488.261052 ERROR from BOARD 10.0.1.7 (left_leg-eb7-j4_5), src LOCAL, adr 0, time 2422s 270m 940u: (code 0x02000010, par16 0x0001 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4987 4488.536936 ERROR from BOARD 10.0.1.8 (right_leg-eb8-j0_3), src LOCAL, adr 0, time 2422s 522m 374u: (code 0x02000010, par16 0x0000 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4988 4488.537022 ERROR from BOARD 10.0.1.8 (right_leg-eb8-j0_3), src LOCAL, adr 0, time 2422s 522m 494u: (code 0x02000010, par16 0x0001 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4989 4488.537055 ERROR from BOARD 10.0.1.8 (right_leg-eb8-j0_3), src LOCAL, adr 0, time 2422s 522m 608u: (code 0x02000010, par16 0x0002 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4990 4488.547074 ERROR from BOARD 10.0.1.8 (right_leg-eb8-j0_3), src LOCAL, adr 0, time 2422s 522m 721u: (code 0x02000010, par16 0x0003 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
4991 4488.700511 ERROR from BOARD 10.0.1.9 (right_leg-eb9-j4_5), src LOCAL, adr 0, time 2422s 691m 532u: (code 0x02000010, par16 0x0000 par64 0x0000000000000000) -> MC: hard limit reached. The joint position is outside its hardware boundaries. par16 = ID of joint. + .
This issue also happened with a build (done on the Mac environment) done using commit robotology/icub-firmware@4222e0e (generating the proper 2foc.hex
binary), which doesn't include the increase of PWM frequency to 40kHz.
from icub-firmware-build.
The error does not occur with the previous 2FOC version 3.2.1. I suspect it is the initial value of the current control PID. They are set to 0 since the PR robotology/icub-firmware#88 (in the case the
2foc.hex
is aligned with that PR):
After, it's rather caused by the issue described in robotology/icub-firmware#93 (pointing a non aligned memory address with (int*)
).
from icub-firmware-build.
Related Issues (12)
- [iCubParis02] No boards found HOT 2
- EMS v3.75 FW bugged HOT 3
- Document version of bat corresponding to a given icub-firmware-build release and distro release HOT 4
- Document which variant of bat firmware should be used on ergoCub robot HOT 3
- Branch cleanup december 2023
- Add the possibility pass the root of robots-configuration in FirmwareUpdater.script.info.all.sh HOT 9
- Reorganization of EMS folder HOT 4
- proposal for commit log of binary files HOT 3
- New folder for programming of MC4PLUS HOT 5
- Entry point on documentation for updating EMS firmware HOT 6
- devel version of EMS firmware is outated with respect to the master version HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from icub-firmware-build.