| Chrono::R3D Introduction to the main features | ![]() |
|
An extensive toolset of simulation features, which allow you to
set up realistic animations of your physical systems. |
|
In Chrono::R3D, mechanical systems are basically
made of rigid bodies (the parts), each body can
contain markers (auxiliary
geometric references), and links can be entered
to constraint the relative movements of markers.
There is no need to identify skeletons or kinematical chains, like in other software, so you wont ever worry about closed-loops chains: you just create constraints between separate bodies. You can delete, create, load, save, cut and paste all these objects, even while the simulation is running. Complex mechanisms can be arranged into parts and subparts, with hierarchical organization of parts. Thank to the Realsoft3D 'model-view' concept, the modifications of constraints, forces and objects are instantly displayed in the 3D views, and the simulation can be modified interactively, with a 'man in the loop' approach. |
An example of how the user can set up an articulated mechanism ant test its
kinematics, using interactive Chrono::R3D tools.
|
Some examples of constraints which are available in Chrono::R3D
|
There is a wide set of constraints: revolute, ball joint,
rack-pin, cylindrical, prismatic, gears,
Oldham, hook, screws, parallelism, perpendicularity, distance, point on a spline,
point on a plane, Birfield joint, welding, forced trajectory, and much others.
Constraints have advanced non-linear settings to simulate non-linear behaviours (link limits, non-linear damping and stiffness, impulsive restitution, internal forces, rheonomic forces, etc.) Each link has a mnemonic 3d picture and a custom wireframe representation. |
|
If needed, motion can be imposed to constrained links (ex: to build actuators,
imposing the relative motion of two bodies. You can use X-Y-Z-Angle motion functions,
with user friendly GUI for functions such as imposed speed, ramp, sine wave, motion capture,
polynomial function, hand-drawn curve, sigma ramp, formula, etc.)
Link internal forces can be added (for each degree of freedom, the user can set a force, a spring and a damper. These parameters can be nonlinear in space and in time. For example, a prismatic link can have a nonlinear spring along the Z axis to simulate a Mac-Pherson suspension in a car simulation, where the spring becomes very stiff when the end of the guide is reached, and so on..). The user can also impose link limits (upper-lower limits for all the degrees of freedom of the link. This feature is useful for building mechanisms such as linear guides with end stops, or elbows with angular limits in ragdolls or crash test dummies. There are many specialized links to build engines, linear actuators, brakes etc. For example, the user can set torque-speed diagrams for engine constraints. Here are some of the specialized links: :: Special link objects to make gears (internal, external, conical) :: Spring-damper systems, with non-linear properties :: Brakes and clutches, with stick-slip effects, etc. :: Motors, with reducers, efficiency, etc. :: Linear actuators and pneumatic actuators with valves. |
Example of object properties: here the user can modify the settings of
a 'motor' constraint.
|
Generic non-linear functions (ex: motion laws, time-dependant
forces, etc.) can be easily modified with the 'ChFunction editor'
interface.
|
Motor actuators can be easily added, with imposed speed or imposed rotation or imposed torque.
The user can modify the torque-speed curves or apply specific motion laws.
A reducer can be applied, with specific transmission ratio and efficiency. The motor can learn the motion, when switched off. There are also linear actuators, with user imposed motion or force. The actuator can ‘learn’ the motion, when switched off. Pneumatic linear actuators. The user can set pressure, valve opening, stroke length, diameter, etc. Effects caused by air compression and outlet conductance are taken into account. |
|
Rigid bodies have many settings, for example: mass, inertia (diagonal and mixed), position,
alignment (different rotational coordinates can be used to enter data or to output
simulation results, for example Eulero angles, Eulero paramenters/quaternions, Cardano
angles, etc.), speed, angular speed, acceleration, etc.
Rigid bodies can perform collision detection, hence the properties of static/dynamic friction and restitution coefficient. Artificial clamping can be imposed on the maximum angular speed and linear speed, to improve numerical stability in real-time simulations. |
Chrono::R3D can simulate complex gears
|
Chrono::R3D can simulate pneumatic actuators. Here the user is modifying
the properties of a cylinder.
|
Collision detection uses fast and modern algorithms to perform
simulations of hundreds of colliding objects in real-time.
The simulation engine of Chrono::R3D handles automatically the switching between a colliding contact which becomes a sliding or resting contact, and viceversa. Markers (i.e. auxiliary coordinates into bodies) have many settings. Among these, the most important is the ability of imposed motion of marker about body (with X-Y-Z-Angle motion functions, using user-friendly functions such as imposed speed, ramp, sine wave, sequence of sub-functions, javascript functions or formulas, etc.) |
|
Forces and torques can be applied everywhere, even time- and position-varying. Also
spring-dampers systems can be applied. Positional and force actuators can be placed
where you need them.
By using ChFunctions and their graphical editor, it is easy to set up non-linear forces (for example to have a force which smoothly vanishes as the time passes) The ChFunctions components are modular user functions which can be easily modified thorough intuitive graphical interfaces. Such ChFunctions are extensively used in all the Chrono::R3D software. There is a wide choiche of basic functions, which can be easily sequenced, differentiated, mixed, nested, etc. |
One of the most exciting applications if Chrono::R3D, vehicle simulation. On fast
computers, the user can steer and brake in real time, like in a videogame.
|
Chrono::R3D offers drag-and-drop sliders and buttons, which you can use
to build custom 'panels' to interact with mechanism variables and
Javascript control programs. Here, the off-line control panel of a robot is tested.
|
Virtual prototyping is easy with Chrono::R3D: the animations can be recorded, reviewed,
fine tuned, modified by key-framing, saved as VRML for WEB publishing or
team-work, rendered on videotapes for presentations with true photorealistic quality (i.e.
true raytraced animations with the power of Realsoft3D multithreaded rendering engine,
exploiting advanced features like volumetric materials, programmable shaders, complex
optical effects, etc. All available in the same environment).
Note that all the variables of Chrono::R3D can be recorded into graphs as the simulation proceeds. Graphs can be edited, fine-tuned, filtered and printed if necessary, or exported into ASCII or Matlab tabbed files. |
|
Chrono::R3D offers many simulation tools, for example:
:: Inverse Kinematics. The IK can be run as an animation, or it can be performed interactively by the user (for example the user turns a wheel with the mouse in the 3d view and a mechanism gets the movement). :: System assembly. Redundant or misplaced links are automatically removed. ::Non-linear static analysis. :: Full multibody dynamical simulation. |
The EXTREME version of Chrono::R3D has additional features, such as
a genetic optimizator, graph plotting, etc.
|