Package: aurt
Aarhus University Robotics Toolbox (AURT) OverviewInstallationTo install the tool, type:pip install aurtor, if plotting and visualization features are needed,pip install aurt[vis]Command Line InterfaceThe following shows the different use cases that aurt supports.
In order to improve performance, the model is compiled in different stages,
in a way that allows the user to try alternative joint dynamics models without having to re-create the full model,
which is a computationally demanding procedure.Compile Rigid Body Dynamics Modelaurt compile-rbd --mdh mdh.csv --out rigid_body_dynamicsReads the Modified Denavit-Hartenberg (MDH) parameters in filemdh.csvand outputs rigid-body dynamics model to filerigid_body_dynamics.
The generated model does not include the joint dynamics.
To visualize the kinematics of the robot, make sure theroboticstoolbox-pythonis installed, and add the argument--plotto thecompile-rbdcommand.Compile Robot Dynamics Modelaurt compile-rd --model-rbd rigid_body_dynamics --friction-torque-model square --friction-viscous-powers 2 1 4 --out robot_dynamicsReads the rigid-body dynamics model created with thecompile-rbdcommand, and generates the robot dynamics model,
taking into account the joint dynamics configuration.The friction configuration options are:--friction-torque-model TYPEwhereTYPE in {none, square, absolute}are depicted in the figure below for, respectively, parts (a), (b), and (c).--friction-viscous-powers POWERSwherePOWERSis a setof integers having the formatP1 P2 ...used to define the odd polynomial functionin the angular velocityof any joint aswiththe viscous coefficient of friction corresponding to the integer elementof,ifis even
andotherwise.Calibrateaurt calibrate --model robot_dynamics --data measured_data.csv --gravity 0 0 -9.81 --out-params calibrated_parameters.csv --out-calibrated-model rd_calibrated --plotReads; 1) the model produced by thecompile-rdcommand, 2) the measured data inmeasured_data.csv, and 3) the gravity componentsGX GY GZand writes; 1) the values of the calibrated base parameters tocalibrated_parameters.csvand 2) the calibrated robot dynamics model tord_calibrated.
The gravity vector determines the orientation of the robot base for which the parameters will be calibrated.
For showing the calibration plot, use the argument--plot.The measured data should contain the following fields:timestampof type float, representing the number of seconds passed from a given reference point.target_qd_jof type float, representing thejth joint target angular velocity, as computed by the robot controller, wherejis an integer in{0, 1, ..., N}.actual_q_jof type float, representing thejth joint angle, as measured by the robot controller, wherejis an integer in{0, 1, ..., N}.actual_current_jof type float, representing thejth joint current, as measured by the robot controller, wherejis an integer in{0, 1, ..., N}.Predictaurt predict --model rd_calibrated --data measured_data.csv --gravity 0 0 -9.81 --out predicted_output.csvReads; 1) the model produced by thecalibratecommand,
2) the measured data inmeasured_data.csv, and
3) the gravity componentsGX GY GZ,
and writes the predicted output topredicted_output.csv.The prediction fields are:timestampof type float, referring to the time of the measured data, as inCalibrate.predicted_current_jof type float, representing thejth joint current, as predicted by the robot model, wherejis an integer in{0, 1, ..., N}.Calibrate and Validateaurt calibrate-validate --model robot_dynamics --data measured_data.csv --gravity 0 0 -9.81 --calibration-data-rel FRACTION --out-params calibrated_parameters.csv --out-calibrated-model rd_calibrated --out-prediction predicted_output.csv --plotSimultaneously calibrates and validates the robot dynamics model using the datasetmeasured_data.csv.
The command implements the functionalities of the commandscalibrateandpredict.
The data ofmeasured_data.csvis separated into two consecutive parts 1) calibration data and 2) validation data.
The calibration data has a duration of 0.1 <FRACTION< 0.9 times the duration ofmeasured_data.csvwhile the remaining part of the data is used for validation.ContributingDevelopment environmentTo setup the development environment:Open terminal in the current folder.Install all packages for development:pip install -e .[vis].Unpack the datasets (seeDataset management)To run all non live tests, open a command prompt or powershell in the repository root, and runpython build.py --run-tests all-non-live.
If you are using Linux, usepython3instead ofpython.NOTE: Run tests before commits. If they don't pass, fix them before committing.Publishing this package on pypiUpdate version insetup.pyMake sure all tests, except the live ones, are passing.Delete foldersdistbuildif they exist.Activate virtual environment.Install twine and wheel:pip install twine wheelCreate a source distribution:python setup.py sdistCreate the binary distribution:python setup.py bdist_wheelUpload distribution to PyPI:python -m twine upload dist/*When asked for username and password, use the token and password created with your PyPI account.Dataset managementSmall dataset (< 100MB compressed)If the data is small, then:Each round of experiments should be placed in a folder with an informative name, inside the Dataset folder.There should be a readme file in there explaining the steps to reproduce the experiment, parameters, etc...The csv files should be 7ziped and committed. Do not commit the csv file.There should be tests that use the data there.Large Datasets (>= 100MB compressed)If the data is large, then:A "lite" version of the dataset should be in the dataset folder (following the same guidelines as before)This is important to run the tests.the larger version should be placed in the shared drive (see below).There is a shared drive for large datasets.
The shared driveNat_robot-datasetshas been created withEmil Madsenas owner.Shared DriveOwnerE-mailDepartmentNat_robot-datasetsau504769 (Emil Madsen)ema@ece.au.dkElectrical and Computer Engineering (ECE)Read/write access is assigned to:UsernameNameE-mailDepartmentau602135ClÃ¡udio Ã‚ngelo GonÃ§alves Gomesclaudio.gomes@ece.au.dkElectrical and Computer Engineering (ECE)au522101Christian MÃ¸ldrup Legaardcml@ece.au.dkElectrical and Computer Engineering (ECE)au513437Daniella Toladt@ece.au.dkElectrical and Computer Engineering (ECE)For more information on access, self-service and management of files:https://medarbejdere.au.dk/en/administration/it/guides/datastorage/data-storage/