Programmatic PDOs - All Demo Test#39
Merged
justincmfong merged 26 commits intoUniMelbHumanRoboticsLab:ProgrammaticPDOsfrom Feb 5, 2021
Merged
Programmatic PDOs - All Demo Test#39justincmfong merged 26 commits intoUniMelbHumanRoboticsLab:ProgrammaticPDOsfrom
justincmfong merged 26 commits intoUniMelbHumanRoboticsLab:ProgrammaticPDOsfrom
Conversation
Back Merge due to changes I'd stashed when I branched
X2 ALEX Implementations
Collaborator
Author
|
Programmatic PDOs implemented. Documentation still to update. |
justincmfong
added a commit
that referenced
this pull request
Mar 4, 2021
* compiler is changed for Linux pc * small fix on Readme. Executable is named EXO_APP not EXO_ROBOT * Adapted M1 platfrom from Tim, to be modified... * Compile and run the code to display joint status in real-time in command line; State transition (e.g., from idle state to demo state) is not working yet * M1 moves with position control. But the actual angle is not tranformed correctly. * M1 can track sin wave trajectory. Still need to figure out the conversion between device unit (encoder count) and joint unit (degree or radian). * Position tracking without posControlConfirmSP; CANOPEN communication crashes occasionally. * Basic velocity and torque/current control, i.e., tracking sine wave target or constant target, were tested. * Correct conversion between joint unit and device unit * before merge with ROS implementation * Segmentation fault! * M1 moves * cleaned up debug outputs * Added safety checks against NaN/Inf at Joint level * enable torque sensor on the axis * add zero calibration * for calibration, move joint to 90 degree, then put weight on the link * Addition of network communication and minimal use demo in M3DemoMachine * Updated M3 to publish endeffector states on network communication * Comments and format of FLNLHelper * demo machine cyclic move between 0 and 90 degree with position, velocity, and torque control * work on system identification and compensation strategy * Updated libFLNL and default time registered in state for network communication * FLNL connection management * Typo * Network communication documentation * Update NetworkCommunication.md * Makefle update for merging * working on demonstration functions * Minimal untested, uncalibrated M2 implementatio * Improved M2 demomachine and Arc Circle state - Not tested * Peak can dedicated initscriipt and some M2 calibration (only torque control) * model compensation and virtual spring piloting * PD torque feedback control and feedforward friction compensation * Created (empty) M2 spasticity test app * Inverted hwUpdate and update in application for delay. Switch to 1kHz. * Testing for Programmatic PDOs (#38) * test: Programmatic OD - not working * Still not working. * Not Working * Programmatic OD: TPDO backend * Programmatic OD - created CO_setRPDO, not functional * Calibration Working. Sit worked once, not completely good still. * setRPDO function working * Working Programmatic RPDO. Two Sensors good. * Programmatic TPDO! Working with sensor * Not functional. Possibly issue with timing of state machine creation. * Logging crutch sensors and calibration operational * Calibration works. Problem with first pos always 0 * Removed Segfault with deleting crutch sensors * RPDO object created and working * Added Continuous Position Control commands * Programmatic TPDOs implemented. * Tidy up and comments on Programmatic PDOs * Programmatic PDOs on Drives... partially working * Improved uploadBB.sh script using rsync (faster) * Improved uploadBB script using rsync (faster) and config files * Fix bug missing header in FLNLHelper * Programmatic PDOs - All Demo Test (#39) * test: Programmatic OD - not working * Still not working. * Not Working * Programmatic OD: TPDO backend * Programmatic OD - created CO_setRPDO, not functional * Calibration Working. Sit worked once, not completely good still. * setRPDO function working * Working Programmatic RPDO. Two Sensors good. * Programmatic TPDO! Working with sensor * Not functional. Possibly issue with timing of state machine creation. * Logging crutch sensors and calibration operational * Calibration works. Problem with first pos always 0 * Removed Segfault with deleting crutch sensors * RPDO object created and working * Added Continuous Position Control commands * Programmatic TPDOs implemented. * Tidy up and comments on Programmatic PDOs * Programmatic PDOs on Drives... partially working * Working Programmatic PDOs - Demo Machines updated * Optimised (a bit) the can PDOs setup * Update Drive.cpp Failed at merging. * Update KincoDrive.cpp Didn't update properly to new generateRPDOConfigSDO/generateTPDOConfigSDO formats * Switched to Velocity control mode 3 (was -3) * Swaped hwUpdate and update and faster control loop * Added drive reset error function and call from init() * change object dictionary for M2 sensors * Ros Node created at DemoMachine Constructor (#40) * fix variable name and tab * ROS Node is created at DemoMachine constructor * Cleanup init scripts (no candump, no increase queulength) * Remove spasticity app for merge * Tidy up for Programmatic PDO * Removed some unncessary entries in the OD * Documentation changes for programmatic PDOs * Tidy up * merging... * Fixed Eigen problem w/ state dynamic creation. M1, M2, M3 running * Added privilege management to avoid logging and running as root * Updated contributors list * Slight cleanup of M1 code * Slight cleanup of M2 code * Merged force sensor versions. X2 force sensor ids to be checked. * Improved M2 (and comments) and fix libFLNL destruction segfault * Check for state machine name in CMake * Updated ROS documentation * application.cpp cleanup * Blame vscode files from repo * Removed f64 in M_PIf64 definitions as they aren't available on Windows Compiler * Correct Simulation bug with ROS X2DemoMachine * Updated ROS documentation * Added code snippet to list can socket parameters * Added code snippet to list can socket parameters * Corrected FourierSensor sensorID/COBID * Changed FourierForceSensor Calibration to no longer need SDO Message. Small tidy up of M1. Co-authored-by: emekB <baris.kucuktabak@gmail.com> Co-authored-by: Yue <ywen3@sralab.org> Co-authored-by: Yue <ywen3@ncsu.edu> Co-authored-by: justinfong-unimelb <49131879+justinfong-unimelb@users.noreply.github.com> Co-authored-by: xinlianggunimelb <guoxinliang1995@gmail.com> Co-authored-by: Emek Barış Küçüktabak <32764586+emekBaris@users.noreply.github.com> Co-authored-by: justinfong-unimelb <fong.j@unimelb.edu.au>
justincmfong
added a commit
to justincmfong/CANOpenRobotController
that referenced
this pull request
Sep 28, 2021
* Changed ExoTestMachine to include calibration * Programmatic PDOs - All Demo Test (UniMelbHumanRoboticsLab#39) * test: Programmatic OD - not working * Still not working. * Not Working * Programmatic OD: TPDO backend * Programmatic OD - created CO_setRPDO, not functional * Calibration Working. Sit worked once, not completely good still. * setRPDO function working * Working Programmatic RPDO. Two Sensors good. * Programmatic TPDO! Working with sensor * Not functional. Possibly issue with timing of state machine creation. * Logging crutch sensors and calibration operational * Calibration works. Problem with first pos always 0 * Removed Segfault with deleting crutch sensors * RPDO object created and working * Added Continuous Position Control commands * Programmatic TPDOs implemented. * Tidy up and comments on Programmatic PDOs * Programmatic PDOs on Drives... partially working * Working Programmatic PDOs - Demo Machines updated * Update Drive.cpp Failed at merging. * Update KincoDrive.cpp Didn't update properly to new generateRPDOConfigSDO/generateTPDOConfigSDO formats * Initial commits and changes to port ALEX software * Initial ALEXMachine Merge * Still not compiling * ALEX 2020 Compiles but segfaults * ALEX comiples and runs (stll not good) * Ros Node created at DemoMachine Constructor (UniMelbHumanRoboticsLab#40) * fix variable name and tab * ROS Node is created at DemoMachine constructor * Tidy up for Programmatic PDO * Removed some unncessary entries in the OD * Documentation changes for programmatic PDOs * Tidy up * Added Crutch to Branch. Fixed PDOs * Working. Need to calibrate. * Change name of crutch software. * Homing Operational * Reset Crutch Functionality Added * Operational * Error Button and Overload Behaviour added * Fixed error button implementation and overload implementation * Updated ForcePlateApp to have more inputs * Fix ForcePlate4 indexing error. Added big force plate to logging robot * Fix State and movement logging * Changes for BBB two force sensor and strain guage monitoring. * CMake for Node ID, BB FP Pin assignment, Sep Zeroing in loggingDevice * Changes to Force Plate to try to get better sampling rates. * ForcePlate now includes 4 sensors * Removed AlexCrutch * Remove ALEX Co-authored-by: justinfong-unimelb <49131879+justinfong-unimelb@users.noreply.github.com> Co-authored-by: Emek Barış Küçüktabak <32764586+emekBaris@users.noreply.github.com>
justincmfong
added a commit
to justincmfong/CANOpenRobotController
that referenced
this pull request
Sep 29, 2021
* Changed ExoTestMachine to include calibration * Programmatic PDOs - All Demo Test (UniMelbHumanRoboticsLab#39) * test: Programmatic OD - not working * Still not working. * Not Working * Programmatic OD: TPDO backend * Programmatic OD - created CO_setRPDO, not functional * Calibration Working. Sit worked once, not completely good still. * setRPDO function working * Working Programmatic RPDO. Two Sensors good. * Programmatic TPDO! Working with sensor * Not functional. Possibly issue with timing of state machine creation. * Logging crutch sensors and calibration operational * Calibration works. Problem with first pos always 0 * Removed Segfault with deleting crutch sensors * RPDO object created and working * Added Continuous Position Control commands * Programmatic TPDOs implemented. * Tidy up and comments on Programmatic PDOs * Programmatic PDOs on Drives... partially working * Working Programmatic PDOs - Demo Machines updated * Update Drive.cpp Failed at merging. * Update KincoDrive.cpp Didn't update properly to new generateRPDOConfigSDO/generateTPDOConfigSDO formats * Initial commits and changes to port ALEX software * Initial ALEXMachine Merge * Still not compiling * ALEX 2020 Compiles but segfaults * ALEX comiples and runs (stll not good) * Ros Node created at DemoMachine Constructor (UniMelbHumanRoboticsLab#40) * fix variable name and tab * ROS Node is created at DemoMachine constructor * Tidy up for Programmatic PDO * Removed some unncessary entries in the OD * Documentation changes for programmatic PDOs * Tidy up * Added Crutch to Branch. Fixed PDOs * Working. Need to calibrate. * Change name of crutch software. * Homing Operational * Reset Crutch Functionality Added * Operational * Error Button and Overload Behaviour added * Fixed error button implementation and overload implementation * Updated ForcePlateApp to have more inputs * Fix ForcePlate4 indexing error. Added big force plate to logging robot * Fix State and movement logging * Changes for BBB two force sensor and strain guage monitoring. * CMake for Node ID, BB FP Pin assignment, Sep Zeroing in loggingDevice * Changes to Force Plate to try to get better sampling rates. * ForcePlate now includes 4 sensors * Removed AlexCrutch * Remove ALEX Co-authored-by: justinfong-unimelb <49131879+justinfong-unimelb@users.noreply.github.com> Co-authored-by: Emek Barış Küçüktabak <32764586+emekBaris@users.noreply.github.com>
justincmfong
added a commit
that referenced
this pull request
Nov 5, 2021
* Not Working * test: Programmatic OD - not working * Still not working. * Programmatic OD: TPDO backend * Programmatic OD - created CO_setRPDO, not functional * setRPDO function working * Working Programmatic RPDO. Two Sensors good. * Programmatic TPDO! Working with sensor * Not functional. Possibly issue with timing of state machine creation. * Logging crutch sensors and calibration operational * Removed Segfault with deleting crutch sensors * RPDO object created and working * Programmatic TPDOs implemented. * Calibration works. Problem with first pos always 0 * Added Continuous Position Control commands * Programmatic PDOs on Drives... partially working * Working Programmatic PDOs - Demo Machines updated * Testing for Programmatic PDOs (#38) * test: Programmatic OD - not working * Still not working. * Not Working * Programmatic OD: TPDO backend * Programmatic OD - created CO_setRPDO, not functional * Calibration Working. Sit worked once, not completely good still. * setRPDO function working * Working Programmatic RPDO. Two Sensors good. * Programmatic TPDO! Working with sensor * Not functional. Possibly issue with timing of state machine creation. * Logging crutch sensors and calibration operational * Calibration works. Problem with first pos always 0 * Removed Segfault with deleting crutch sensors * RPDO object created and working * Added Continuous Position Control commands * Programmatic TPDOs implemented. * Tidy up and comments on Programmatic PDOs * Programmatic PDOs on Drives... partially working * Added HX711 Functionality * Hx711 Multi device test success * Typo in HX711 include * Multi strain gauge HX711 * Zeroing on HX711 * Force plate and Logging Device operational. Possible issue with too many SYNC messages * Start of logging robot * Added motors to logging robot * Added Logging for more motor and state variables * CORC Merge 2021 (#6) * Changed ExoTestMachine to include calibration * Programmatic PDOs - All Demo Test (#39) * test: Programmatic OD - not working * Still not working. * Not Working * Programmatic OD: TPDO backend * Programmatic OD - created CO_setRPDO, not functional * Calibration Working. Sit worked once, not completely good still. * setRPDO function working * Working Programmatic RPDO. Two Sensors good. * Programmatic TPDO! Working with sensor * Not functional. Possibly issue with timing of state machine creation. * Logging crutch sensors and calibration operational * Calibration works. Problem with first pos always 0 * Removed Segfault with deleting crutch sensors * RPDO object created and working * Added Continuous Position Control commands * Programmatic TPDOs implemented. * Tidy up and comments on Programmatic PDOs * Programmatic PDOs on Drives... partially working * Working Programmatic PDOs - Demo Machines updated * Update Drive.cpp Failed at merging. * Update KincoDrive.cpp Didn't update properly to new generateRPDOConfigSDO/generateTPDOConfigSDO formats * Initial commits and changes to port ALEX software * Initial ALEXMachine Merge * Still not compiling * ALEX 2020 Compiles but segfaults * ALEX comiples and runs (stll not good) * Ros Node created at DemoMachine Constructor (#40) * fix variable name and tab * ROS Node is created at DemoMachine constructor * Tidy up for Programmatic PDO * Removed some unncessary entries in the OD * Documentation changes for programmatic PDOs * Tidy up * Added Crutch to Branch. Fixed PDOs * Working. Need to calibrate. * Change name of crutch software. * Homing Operational * Reset Crutch Functionality Added * Operational * Error Button and Overload Behaviour added * Fixed error button implementation and overload implementation * Updated ForcePlateApp to have more inputs * Fix ForcePlate4 indexing error. Added big force plate to logging robot * Fix State and movement logging * Changes for BBB two force sensor and strain guage monitoring. * CMake for Node ID, BB FP Pin assignment, Sep Zeroing in loggingDevice * Changes to Force Plate to try to get better sampling rates. * ForcePlate now includes 4 sensors * Removed AlexCrutch * Remove ALEX Co-authored-by: justinfong-unimelb <49131879+justinfong-unimelb@users.noreply.github.com> Co-authored-by: Emek Barış Küçüktabak <32764586+emekBaris@users.noreply.github.com> * Minor Changes to reduce compile warnings * Fixed compile errors after rebase * Attempt to move spdlog to a submodule * spdlog as submodule * change spdlog to v1.8.1 * Remote Random print statement in PDO generation * YAML-CPP added as submodule rather than just files * Eigen as submodule * Remove old Eigen files * Fixed Eigen include path typo * Updated doc for submodule clone * Updated libFLNL (to be set as submodule) * FLNL as a submodule * Cleanup submodules * Documentation Updates * Fixing Links * SYNC message period to 10ms * Remove M3Chai, Doxygen tidy up * CMakeList, Doxygen tidyup, Co-authored-by: justinfong-unimelb <49131879+justinfong-unimelb@users.noreply.github.com> Co-authored-by: Emek Barış Küçüktabak <32764586+emekBaris@users.noreply.github.com> Co-authored-by: kennyyy <kennyyy24@hotmail.com>
This file contains hidden or 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
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.
No description provided.