From fabf41fb9456c696af7b60c799b8a25e265c14e8 Mon Sep 17 00:00:00 2001 From: Adrian Brune Date: Mon, 16 Dec 2024 10:12:10 +0100 Subject: [PATCH] src/... | Docstrings have been improved --- docs/src/kinematic.md | 2 +- src/core/functions_on_instance.jl | 36 ++++++------ src/core/steeringkinematics.jl | 42 +++++++------- src/core/suspensionkinematics.jl | 6 +- src/optimization/core_dependencies.jl | 2 +- src/optimization/dependencies.jl | 57 +++++++++---------- .../functions_for_dependencies.jl | 40 ++++++------- src/optimization/objective.jl | 32 +++++------ src/optimization/optim.jl | 52 ++++++++--------- 9 files changed, 133 insertions(+), 136 deletions(-) diff --git a/docs/src/kinematic.md b/docs/src/kinematic.md index 7144244..cbed510 100644 --- a/docs/src/kinematic.md +++ b/docs/src/kinematic.md @@ -5,7 +5,7 @@ Within the kinematic model, the joint positions are primarily calculated, taking The selection of a suitable reference coordinate system is crucial for defining the initial position of key points. Such a coordinate system should easily integrate predefined lengths, widths, and distances and facilitate the calculation of positioning during rotational movements. A suitable point for this purpose is the intersection point of the rotational axes of the steering geometry. Figure illustrates this coordinate system, with the corresponding axes shown in black. Overall, the figure provides a functional representation of the adjustment capability of the steering geometry, with significant information highlighted through color visualization. For determining the initial position of the key reference points, only those vectors represented by a continuous line should be considered. -![Figure 3.2: The functional representation of the setting option rotational component](https://github.com/una-auxme/micromobilitykinematics.jl/blob/main/docs/src/assets/rotational%20component.png?raw=true?raw=true) +![Figure 3.2: The functional representation of the setting option rotational component](https://github.com/una-auxme/micromobilitykinematics.jl/blob/main/docs/src/assets/rotational%20component.png?raw=true?) The radius by which the rotational component can rotate around the x-axis lies in the rest position along the z-axis. diff --git a/src/core/functions_on_instance.jl b/src/core/functions_on_instance.jl index 1f9675d..fa9120e 100644 --- a/src/core/functions_on_instance.jl +++ b/src/core/functions_on_instance.jl @@ -4,10 +4,10 @@ creates a copy of the steering instance # Arguments: --`steering::Steering`: instance of a Steering +- `steering::Steering`: instance of a Steering # Returns: --`copy::Steering`: copy of the given instance +- `copy::Steering`: copy of the given instance """ function copy(steering::Steering) @@ -65,7 +65,7 @@ calculates the outer steering angle of the wheel !only possible after using function kinematics! # Arguments --`steering::Steering`: Instance of a specific steering +- `steering::Steering`: Instance of a specific steering # Returns: - no returns because of in place programming @@ -84,10 +84,10 @@ calculates the outer steering angle of the wheel !only possible after using function kinematics! # Arguments --`steering::Steering`: Instance of a specific steering +- `steering::Steering`: Instance of a specific steering # Returns --`δ`: inner steering angle of the wheel +- `δ`: inner steering angle of the wheel """ function angle_δo(steering::Steering) @@ -111,7 +111,7 @@ calculates the inner steering angle of the wheel !only possible after using function kinematics! # Arguments --`steering::Steering`: Instance of a specific steering +- `steering::Steering`: Instance of a specific steering # Returns: - no returns because of in place programming @@ -130,10 +130,10 @@ calculates the inner steering angle of the wheel !only possible after using function kinematics! # Arguments --`steering::Steering`: Instance of a specific steering +- `steering::Steering`: Instance of a specific steering # Returns --`δ`: inner steering angle of the wheel +- `δ`: inner steering angle of the wheel """ function angle_δi(steering::Steering) @@ -154,11 +154,11 @@ end updates the kinematics of the given steering instance on the new angles and suspension # Arguments --`angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated +- `angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated -`θx`: Angle of rotation of the rotation component around the x-axis -`θz`: Angle of rotation of the rotation component around the z-axis --`steering::Steering`: Instance of a specific steering --`suspension::Suspension`: Instance of a specific suspension +- `steering::Steering`: Instance of a specific steering +- `suspension::Suspension`: Instance of a specific suspension # Returns: - no returns because of in place programming @@ -177,11 +177,11 @@ end updates the kinematics of the given steering instance on the new angles and suspension # Arguments --`angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated - -`θx`: Angle of rotation of the rotation component around the x-axis - -`θz`: Angle of rotation of the rotation component around the z-axis --`steering::Steering`: Instance of a specific steering --`suspension::Suspension`: Instance of a specific suspension +- `angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated + - `θx`: Angle of rotation of the rotation component around the x-axis + - `θz`: Angle of rotation of the rotation component around the z-axis +- `steering::Steering`: Instance of a specific steering +- `suspension::Suspension`: Instance of a specific suspension # Returns -`steering::Steering`: Instance of a specific steering @@ -199,10 +199,10 @@ end Returns important length values of steering components # Arguments --`steering::Steering`: Instance of a specific steering +- `steering::Steering`: Instance of a specific steering # Returns --`(x_rotational_radius, z_rotational_radius, track_lever_length, tie_rod_length)`: important length values of steering components +- `(x_rotational_radius, z_rotational_radius, track_lever_length, tie_rod_length)`: important length values of steering components """ function getValue(steering::Steering) return steering.rotational_component.x_rotational_radius, steering.rotational_component.z_rotational_radius, steering.track_lever.length, steering.tie_rod.length diff --git a/src/core/steeringkinematics.jl b/src/core/steeringkinematics.jl index ccab64a..46055d2 100644 --- a/src/core/steeringkinematics.jl +++ b/src/core/steeringkinematics.jl @@ -4,11 +4,11 @@ For the moving rotational component with the angles (θx, θz), the kinematics of the steering is calculated # Arguments --`angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated - -`θx`: Angle of rotation of the rotation component around the x-axis - -`θz`: Angle of rotation of the rotation component around the z-axis --`steering::Steering`: Instance of a specific steering --`suspension::Suspension`: Instance of a specific suspension +- `angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated + - `θx`: Angle of rotation of the rotation component around the x-axis + - `θz`: Angle of rotation of the rotation component around the z-axis +- `steering::Steering`: Instance of a specific steering +- `suspension::Suspension`: Instance of a specific suspension # Returns: - no returns because of in place programming @@ -129,11 +129,11 @@ end For the rotation component in its rest position with the angles (θx, θz) = (0,0), the kinematics of the steering is calculated # Arguments --`angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated - -`θx`: Angle of rotation of the rotation component around the x-axis - -`θz`: Angle of rotation of the rotation component around the z-axis --`steering::Steering`: Instance of a specific steering --`suspension::Suspension`: Instance of a specific suspension +- `angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated + - `θx`: Angle of rotation of the rotation component around the x-axis + - `θz`: Angle of rotation of the rotation component around the z-axis +- `steering::Steering`: Instance of a specific steering +- `suspension::Suspension`: Instance of a specific suspension # Returns: - no returns because of in place programming @@ -254,11 +254,11 @@ end To fully describe the kinematics of the steering system, both MOVED and NEUTRAL states must be calculated # Arguments --`angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated - -`θx`: Angle of rotation of the rotation component around the x-axis - -`θz`: Angle of rotation of the rotation component around the z-axis --`steering::Steering`: Instance of a specific steering --`suspension::Suspension`: Instance of a specific suspension +- `angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated + - `θx`: Angle of rotation of the rotation component around the x-axis + - `θz`: Angle of rotation of the rotation component around the z-axis +- `steering::Steering`: Instance of a specific steering +- `suspension::Suspension`: Instance of a specific suspension # Returns: - no returns because of in place programming @@ -275,14 +275,14 @@ end To fully describe the kinematics of the steering system, both MOVED and NEUTRAL states must be calculated # Arguments --`angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated - -`θx`: Angle of rotation of the rotation component around the x-axis - -`θz`: Angle of rotation of the rotation component around the z-axis --`steering::Steering`: Instance of a specific steering --`suspension::Suspension`: Instance of a specific suspension +- `angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated + - `θx`: Angle of rotation of the rotation component around the x-axis + - `θz`: Angle of rotation of the rotation component around the z-axis +- `steering::Steering`: Instance of a specific steering +- `suspension::Suspension`: Instance of a specific suspension # Returns: -- "steering::Steering": Instance of a specific steering +- `steering::Steering`: Instance of a specific steering """ function steeringkinematics(angleConfig::Tuple{T,T}, steering::Steering, suspension::Suspension) where {T<:Any} cpy_steering = copy(steering) diff --git a/src/core/suspensionkinematics.jl b/src/core/suspensionkinematics.jl index bff4158..97acc74 100644 --- a/src/core/suspensionkinematics.jl +++ b/src/core/suspensionkinematics.jl @@ -5,7 +5,7 @@ calculates all the movement-dependent positions of the joints in MOVED-Position # Arguments: --`suspension::Suspension`: Suspension of the micromobility vehicle +- `suspension::Suspension`: Suspension of the micromobility vehicle """ @@ -64,7 +64,7 @@ end calculates all the movement-dependent positions of the joints in NEUTRAL-Position # Arguemnts: --`suspension::Suspension`: Suspension of the micromobility vehicle +- `suspension::Suspension`: Suspension of the micromobility vehicle """ @@ -124,7 +124,7 @@ end calculates all the movement-dependent positions of the joints in NEUTRAL- and MOVED-Postion # Arguments: --`suspension::Suspension`: Suspension of the micromobility vehicle +- `suspension::Suspension`: Suspension of the micromobility vehicle """ function suspensionkinematics!(suspension::Suspension) suspensionkinematicsNEUTRAL!(suspension) diff --git a/src/optimization/core_dependencies.jl b/src/optimization/core_dependencies.jl index ad50c72..65f3f93 100644 --- a/src/optimization/core_dependencies.jl +++ b/src/optimization/core_dependencies.jl @@ -286,7 +286,7 @@ calculates the diffrence of the max. ideal outer wheel angle and the current max # Arguments - `steering::Steering`: the last state of the steering kinematics --`measurements::Measurements`: Instance of a specific all relevant Measurements of the vehicle +- `measurements::Measurements`: Instance of a specific all relevant Measurements of the vehicle # Returns - dependency for the minimal track circle diff --git a/src/optimization/dependencies.jl b/src/optimization/dependencies.jl index ce41127..7257b84 100644 --- a/src/optimization/dependencies.jl +++ b/src/optimization/dependencies.jl @@ -7,7 +7,7 @@ checks angle dependency - `steering::Steering`: Instance of a specific steering # Returns: --`::Bool` +- `::Bool` """ function AngleDependency(arge...) try @@ -27,10 +27,10 @@ end checks kinematic dependency # Arguments --`steering::Steering`: Instance of a specific steering +- `steering::Steering`: Instance of a specific steering # Returns: --`::Bool` +- `::Bool` """ function KinematicDependency(arge...) try @@ -65,7 +65,7 @@ checks singularity constraints - `suspension::Suspension`: Instance of a specific suspension # Returns: --`::Bool` +- `::Bool` """ function SingularityConstraint(arge...) try @@ -87,11 +87,11 @@ end checks tracking circle constraint # Arguments --`steering::Steering`: Instance of a specific steering --`measurements::Measurements`: Instance of a specific all relevant Measurements of the vehicle +- `steering::Steering`: Instance of a specific steering +- `measurements::Measurements`: Instance of a specific all relevant Measurements of the vehicle # Returns: --`::Bool` +- `::Bool` """ function TrackingCircleConstraint(arge...) try @@ -111,17 +111,17 @@ checkConstraints(step_size, max_angleConfig::Tuple, steering::Steering, suspensi checks all constraints and dependencies # Arguments --`step_size`: step_size in which the angular area should be checked --`maxangleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated +- `step_size`: step_size in which the angular area should be checked +- `maxangleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated -`θx`: maximal Angle of rotation of the rotation component around the x-axis -`θz`: maximal Angle of rotation of the rotation component around the z-axis --`steering::Steering`: Instance of a specific steering --`suspension::Suspension`: Instance of a specific suspension +- `steering::Steering`: Instance of a specific steering +- `suspension::Suspension`: Instance of a specific suspension # Returns: --`::Bool`: - -`false`: It is not possible to match the constraints in a satisfactory manner - -`true`: It is possible to match the constraints in a satisfactory manner +- `::Bool`: + - `false`: It is not possible to match the constraints in a satisfactory manner + - `true`: It is possible to match the constraints in a satisfactory manner """ function checkConstraints(step_size, max_angleConfig::Tuple, steering::Steering, suspension::Suspension) θx_max, θz_max = max_angleConfig @@ -197,15 +197,15 @@ The wrapper function of the checkConstraints procedure is employed for the purpo ! function°(): symbolises that this function should only be used within the optimisation ! # Arguments --`x_rotational_radius`: Length of the rotational component around the x-axis. (detailed info in doc) --`z_rotational_radius`: Length of the rotational component around the z-axis. (detailed info in doc) --`track_lever_length`: Length of the track lever. (detailed info in doc) --`tie_rod_length`: Length of tie rod. (detailed info in doc) +- `x_rotational_radius`: Length of the rotational component around the x-axis. (detailed info in doc) +- `z_rotational_radius`: Length of the rotational component around the z-axis. (detailed info in doc) +- `track_lever_length`: Length of the track lever. (detailed info in doc) +- `tie_rod_length`: Length of tie rod. (detailed info in doc) # Returns --`binary`: - -`0`: It is not possible to match the constraints in a satisfactory manner. - -`1`: It is possible to match the constraints in a satisfactory manner. +- `binary`: + - `0`: It is not possible to match the constraints in a satisfactory manner. + - `1`: It is possible to match the constraints in a satisfactory manner. """ function checkConstraints°(x_rotational_radius, z_rotational_radius, track_lever_length, tie_rod_length) @@ -235,18 +235,17 @@ end random search with given border for the parameters and given angular area for rotary component # Arguments: --`upper_border::Tuple{Float64, Float64, Float64, Float64}`: upper border Tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) (guidline = (100.0, 140.0,150.0,270.0)) --`lower_border::Tuple{Float64, Float64, Float64, Float64}`: lower border Tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) (guidline = (50.0,100.0, 100.0, 100.0)) --`max_angleConfig`: maximal angular area for rotary component (defult: (0,35)) +- `upper_border::Tuple{Float64, Float64, Float64, Float64}`: upper border Tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) (guidline = (100.0, 140.0,150.0,270.0)) +- `lower_border::Tuple{Float64, Float64, Float64, Float64}`: lower border Tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) (guidline = (50.0,100.0, 100.0, 100.0)) +- `max_angleConfig`: maximal angular area for rotary component (defult: (0,35)) # Keywords: - --`info::Bool`: true if info should be printed --`radius`: desired track circle radius (defult: 3500) --`step_size`: step_size in which the angular area should be checked +- `info::Bool`: true if info should be printed +- `radius`: desired track circle radius (defult: 3500) +- `step_size`: step_size in which the angular area should be checked # Returns: --`compLength`: tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) +- `compLength`: tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) """ function random_search(upper_border::Tuple{T,T,T,T},lower_border::Tuple{T,T,T,T}, max_angleConfig::Tuple{I,I} ; info = false, step_size = 1 ) where {T<:Real, I<:Integer} param = nothing diff --git a/src/optimization/functions_for_dependencies.jl b/src/optimization/functions_for_dependencies.jl index 29c9e96..1cd19c3 100644 --- a/src/optimization/functions_for_dependencies.jl +++ b/src/optimization/functions_for_dependencies.jl @@ -5,11 +5,11 @@ For the moving rotational component with the angles (θx, θz), the kinematics o ! function°(): symbolises that this function should only be used within the optimisation ! # Arguments --`angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated - -`θx`: Angle of rotation of the rotation component around the x-axis - -`θz`: Angle of rotation of the rotation component around the z-axis --`steering::Steering`: Instance of a specific steering --`suspension::Suspension`: Instance of a specific suspension +- `angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated + - `θx`: Angle of rotation of the rotation component around the x-axis + - `θz`: Angle of rotation of the rotation component around the z-axis +- `steering::Steering`: Instance of a specific steering +- `suspension::Suspension`: Instance of a specific suspension # Returns: - No return value due to in-place computation. @@ -115,7 +115,7 @@ For the rotation component with the neutral position, the steering kinematics ar ! function°(): symbolises that this function should only be used within the optimisation ! # Arguments --`steering::Steering`: Instance of a specific steering +- `steering::Steering`: Instance of a specific steering # Returns: - No return value due to in-place computation. @@ -160,11 +160,11 @@ For the moving rotation component with the angles (θx, θz) and the neutral pos ! function°(): symbolises that this function should only be used within the optimisation ! # Arguments --`angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated - -`θx`: Angle of rotation of the rotation component around the x-axis - -`θz`: Angle of rotation of the rotation component around the z-axis --`steering::Steering`: Instance of a specific steering --`suspension::Suspension`: Instance of a specific suspension +- `angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated + - `θx`: Angle of rotation of the rotation component around the x-axis + - `θz`: Angle of rotation of the rotation component around the z-axis +- `steering::Steering`: Instance of a specific steering +- `suspension::Suspension`: Instance of a specific suspension # Returns: - No return value due to in-place computation. @@ -182,14 +182,14 @@ For the moving rotation component with the angles (θx, θz) and the neutral pos ! function°(): symbolises that this function should only be used within the optimisation ! # Arguments --`angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated - -`θx`: Angle of rotation of the rotation component around the x-axis - -`θz`: Angle of rotation of the rotation component around the z-axis --`steering::Steering`: Instance of a specific steering --`suspension::Suspension`: Instance of a specific suspension +- `angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated + - `θx`: Angle of rotation of the rotation component around the x-axis + - `θz`: Angle of rotation of the rotation component around the z-axis +- `steering::Steering`: Instance of a specific steering +- `suspension::Suspension`: Instance of a specific suspension # Returns: --`steering::Steering`: Instance of a steering with calculated kinematics until `track_lever_mounting_points_ucs`. +- `steering::Steering`: Instance of a steering with calculated kinematics until `track_lever_mounting_points_ucs`. """ function kinematicsUNTILmount°(angleConfig::Tuple{T,T}, steering::Steering, suspension::Suspension) where {T<:Any} cpy_steering = copy(steering) @@ -206,7 +206,7 @@ For the moving rotational component with angles (θx, θz) and the neutral posit ! function kinematicsUNTILmountMOVED°! should already be used on the steering instance ! # Arguments --`steering::Steering`: Instance of a specific steering where the function was previously called +- `steering::Steering`: Instance of a specific steering where the function was previously called # Returns: - No return value due to in-place computation. @@ -295,7 +295,7 @@ For the moving rotational component with angles (θx, θz) and the neutral posit ! function kinematicsUNTILmountMOVED°! should already be used on the steering instance ! # Arguments --`steering::Steering`: Instance of a specific steering where the function `kinematicsUNTILmount°!` was previously called +- `steering::Steering`: Instance of a specific steering where the function `kinematicsUNTILmount°!` was previously called # Returns: - No return value due to in-place computation. @@ -316,7 +316,7 @@ end ! function kinematicsUNTILmountMOVED°! should already be used on the steering instance ! # Arguments --`steering::Steering`: Instance of a specific steering where the function `kinematicsUNTILmount°!` was previously called +- `steering::Steering`: Instance of a specific steering where the function `kinematicsUNTILmount°!` was previously called # Returns: - No return value due to in-place computation. diff --git a/src/optimization/objective.jl b/src/optimization/objective.jl index abc0816..7f4d403 100644 --- a/src/optimization/objective.jl +++ b/src/optimization/objective.jl @@ -3,16 +3,16 @@ Calculates the distance between the optimum point of intersection of the wheel axis (normally on the rear wheel axis) and the current point of intersection of the axis. - # Arguments - -`angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated - -`θx`: Angle of rotation of the rotation component around the x-axis - -`θz`: Angle of rotation of the rotation component around the z-axis - -`measurements::Measurements`: Instance of a specific all relevant Measurements of the vehicle - -`steering::Steering`: Instance of a specific steering - -`suspension::Suspension`: Instance of a specific suspension - - # Returns - - Distance between optimal and current intersection point +# Arguments +- `angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated + - `θx`: Angle of rotation of the rotation component around the x-axis + - `θz`: Angle of rotation of the rotation component around the z-axis +- `measurements::Measurements`: Instance of a specific all relevant Measurements of the vehicle +- `steering::Steering`: Instance of a specific steering +- `suspension::Suspension`: Instance of a specific suspension + +# Returns +- Distance between optimal and current intersection point """ function steering_objective(angleConfig::Tuple{T,T},chassis::Chassis, steering::Steering, suspension::Suspension) where {T<:Any} println("Thread $(Threads.threadid()):> objective") @@ -71,12 +71,12 @@ The wrapper function of the steering_objective procedure is employed for the pur # Arguments --`angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated - -`θx`: Angle of rotation of the rotation component around the x-axis - -`θz`: Angle of rotation of the rotation component around the z-axis --`measurements::Measurements`: Instance of a specific all relevant Measurements of the vehicle --`steering::Steering`: Instance of a specific steering --`suspension::Suspension`: Instance of a specific suspension +- `angleConfig::Tuple{T,T}`: angles (θx,θz) in which the rotational component is rotated + - `θx`: Angle of rotation of the rotation component around the x-axis + - `θz`: Angle of rotation of the rotation component around the z-axis +- `measurements::Measurements`: Instance of a specific all relevant Measurements of the vehicle +- `steering::Steering`: Instance of a specific steering +- `suspension::Suspension`: Instance of a specific suspension # Returns - Distance between optimal and current intersection point diff --git a/src/optimization/optim.jl b/src/optimization/optim.jl index 90c10f8..eebf238 100644 --- a/src/optimization/optim.jl +++ b/src/optimization/optim.jl @@ -3,15 +3,13 @@ creates model for optimization with sphere dependencies - #Arguments - -`θ::Tuple{T,T}`: tuple of Angles (θx, θz) - -`start_set`: Parameter start values ["x_rotational_radius";"z_rotational_radius";"track_lever_length";"tie_rod_length"] - - #Returns: - -`model`: returns a jump model - - See Also - """ +# Arguments +- `θ::Tuple{T,T}`: tuple of Angles (θx, θz) +- `start_set`: Parameter start values ["x_rotational_radius";"z_rotational_radius";"track_lever_length";"tie_rod_length"] +# Returns: +- `model`: returns a jump model +See Also +""" function create_model(θ::Tuple{T,T}, steering::Steering) where {T<:Number} θx_, θz_ = θ start_x_rotational_radius,start_z_rotational_radius,start_track_lever_length,start_tie_rod_length = getValue(steering) @@ -64,10 +62,10 @@ end gets the importend informations of the model solution -#Arguments: +# Arguments: -`model`: jump model -#Returns: +# Returns: -`objectiv`: value of the final objective """ function get_model_solution(model) @@ -84,17 +82,17 @@ end optim(θ::Tuple{T,T},upper_border::Tuple{Float64, Float64, Float64, Float64},lower_border::Tuple{Float64, Float64, Float64, Float64},max_angleConfig) -#Arguments: --`θ::Tuple{T,T}`: angle pair to be considered --`upper_border::Tuple{Float64, Float64, Float64, Float64}`: upper border Tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) (guidline = (100.0, 140.0,150.0,270.0)) --`lower_border::Tuple{Float64, Float64, Float64, Float64}`: lower border Tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) (guidline = (50.0,100.0, 100.0, 100.0)) --`max_angleConfig`: maximal angular area for rotary component (default: (0,35)) +# Arguments: +- `θ::Tuple{T,T}`: angle pair to be considered +- `upper_border::Tuple{Float64, Float64, Float64, Float64}`: upper border Tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) (guidline = (100.0, 140.0,150.0,270.0)) +- `lower_border::Tuple{Float64, Float64, Float64, Float64}`: lower border Tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) (guidline = (50.0,100.0, 100.0, 100.0)) +- `max_angleConfig`: maximal angular area for rotary component (default: (0,35)) -#Keywords --`param::Tuple{I,I,I,I}`: If necessary, the components can be initialised individually, otherwise the values are randomised by the function that was checked for kinematic conditions. +# Keywords +- `param::Tuple{I,I,I,I}`: If necessary, the components can be initialised individually, otherwise the values are randomised by the function that was checked for kinematic conditions. -#Returns: --`opda`: instance of OptDa (optimization Data) +# Returns: +- `opda`: instance of OptDa (optimization Data) """ function optim(θ::Tuple{T,T}, args...) where {T<:Integer} @@ -132,14 +130,14 @@ end !(saves Dict in folder) -#Arguments: --`θ::Tuple{T,T}`: angle pair to be considered --`upper_border::Tuple{Float64, Float64, Float64, Float64}`: upper border Tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) (guidline = (100.0, 140.0,150.0,270.0)) --`lower_border::Tuple{Float64, Float64, Float64, Float64}`: lower border Tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) (guidline = (50.0,100.0, 100.0, 100.0)) --`max_angleConfig`: maximal angular area for rotary component (default: (0,35)) +# Arguments: +- `θ::Tuple{T,T}`: angle pair to be considered +- `upper_border::Tuple{Float64, Float64, Float64, Float64}`: upper border Tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) (guidline = (100.0, 140.0,150.0,270.0)) +- `lower_border::Tuple{Float64, Float64, Float64, Float64}`: lower border Tuple (x_rotational_radius, z_rotational_radius, track_lever.length, tie_rod.length) (guidline = (50.0,100.0, 100.0, 100.0)) +- `max_angleConfig`: maximal angular area for rotary component (default: (0,35)) -#Returns: --`sol_dict`: Dict which contains the optimal solutions. +# Returns: +- `sol_dict`: Dict which contains the optimal solutions. """