Skip to content

Ros Node created at DemoMachine Constructor#40

Merged
justincmfong merged 2 commits intoUniMelbHumanRoboticsLab:ProgrammaticPDOsfrom
ponsLab:ProgrammaticPDOs
Feb 12, 2021
Merged

Ros Node created at DemoMachine Constructor#40
justincmfong merged 2 commits intoUniMelbHumanRoboticsLab:ProgrammaticPDOsfrom
ponsLab:ProgrammaticPDOs

Conversation

@emekBaris
Copy link
Copy Markdown
Contributor

No description provided.

@justincmfong justincmfong merged commit c24d3ce into UniMelbHumanRoboticsLab:ProgrammaticPDOs Feb 12, 2021
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>
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.

2 participants