You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/wheels.jl
+41-11Lines changed: 41 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -347,14 +347,19 @@ end
347
347
theta2_0 = 0,
348
348
der_theta1_0 = 0,
349
349
der_theta2_0 = 0,
350
-
render = true
350
+
render = true,
351
+
iscut = false,
351
352
)
353
+
352
354
Joint (no mass, no inertia) that describes an ideal rolling wheel set (two ideal rolling wheels connected together by an axis)
353
355
354
356
An assembly joint for a wheelset rolling on the x-z plane of the world frame. The frames `frame1` and `frame2` are connected to rotating wheels; the `frame_middle` moves in a plane parallel to the x-z plane of the world and should be connected to the vehicle body.
355
357
356
358
To work properly, the gravity acceleration vector g of the world must point in the negative y-axis (default)
357
359
360
+
# Arguments and parameters:
361
+
- `iscut`: if more than one wheel set is connected to the same rigid body, `iscut` must be set to true for all but one set. This avoids overconstraining the system by replacing the planar joint giving the set coordinates by an unconstrained FreeMotion joint.
362
+
358
363
# Connectors:
359
364
- `frame_middle`: Frame fixed in middle of axis connecting both wheels (z-axis: along wheel axis, y-axis: upwards)
360
365
- `frame1`: Frame fixed in center point of left wheel (z-axis: along wheel axis, y-axis: upwards)
@@ -393,9 +398,6 @@ function RollingWheelSetJoint(;
393
398
frame2 =Frame()
394
399
fixed =Fixed(; r = [0, radius, 0], render)
395
400
rod1 =FixedTranslation(; r = [0, 0, track /2], render, color)
Ideal rolling wheel set consisting of two ideal rolling wheels connected together by an axis
471
498
472
499
Two wheels are connected by an axis and can rotate around this axis. The wheels are rolling on the x-z plane of the world frame. The coordinate system attached to the center of the wheel axis (`frame_middle`) is constrained so that it is always parallel to the x-z plane. If all generalized coordinates are zero, `frame_middle` is parallel to the world frame.
473
500
501
+
# Arguments and parameters:
502
+
- `iscut`: if more than one wheel set is connected to the same rigid body, `iscut` must be set to true for all but one set. This avoids overconstraining the system by replacing the planar joint giving the set coordinates by an unconstrained FreeMotion joint.
503
+
474
504
# Connectors
475
505
- `frame_middle`: Frame fixed in middle of axis connecting both wheels (z-axis: along wheel axis, y-axis: upwards)
476
506
- `frame1`: Frame fixed in center point of left wheel (z-axis: along wheel axis, y-axis: upwards)
0 commit comments