RobWorkProject
23.9.11-
|
Test for the motion when an undamped linear spring is used. More...
#include <IntegratorSpringTest.hpp>
Inherits IntegratorTest.
Public Member Functions | |
IntegratorSpringTest () | |
Constructor. | |
virtual | ~IntegratorSpringTest () |
Destructor. | |
virtual void | run (TestHandle::Ptr handle, const std::string &engineID, const rw::core::PropertyMap ¶meters, rw::core::Ptr< rwsim::log::SimulatorLogScope > verbose=NULL) |
Run the test. More... | |
virtual double | getRunTime () const |
Get the length of the simulation. More... | |
virtual rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > | makeIntegratorDWC (const std::string &integratorType="") |
Create new dynamic workcell. More... | |
Public Member Functions inherited from IntegratorTest | |
IntegratorTest () | |
Constructor. | |
virtual | ~IntegratorTest () |
Destructor. | |
virtual bool | isEngineSupported (const std::string &engineID) const |
Check if engine with specific name is supported by the test. More... | |
virtual rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > | getDWC (const rw::core::PropertyMap &map) |
Get the dynamic workcell used by the test. More... | |
virtual rw::core::Ptr< rw::core::PropertyMap > | getDefaultParameters () const |
Get the default parameters used by the test. More... | |
Public Member Functions inherited from EngineTest | |
EngineTest () | |
Construct new test. | |
virtual | ~EngineTest () |
Destructor. | |
virtual TestHandle::Ptr | runThread (const std::string &engineID, const rw::core::PropertyMap ¶meters, rw::core::Ptr< rwsim::log::SimulatorLogScope > verbose, rw::core::Ptr< rw::common::ThreadTask > task) |
Run the test in a separate thread. More... | |
virtual void | run (TestHandle::Ptr handle, const std::string &engineID, const rw::core::PropertyMap ¶meters, rw::core::Ptr< rwsim::log::SimulatorLogScope > verbose=NULL)=0 |
Run the test. More... | |
virtual std::vector< rw::core::Ptr< rw::core::PropertyMap > > | getPredefinedParameters () const |
Get a vector of predefined parameters. More... | |
Static Public Member Functions | |
static double | referencePosition (double t) |
Get analytical reference position. More... | |
static double | referenceVelocity (double t) |
Get analytical reference velocity. More... | |
Additional Inherited Members | |
Public Types inherited from EngineTest | |
typedef rw::core::Ptr< EngineTest > | Ptr |
Smart pointer to EngineTest. | |
typedef std::function< void(double time, bool failed, bool done)> | TimeCallback |
The callback type for the current simulation time. | |
Protected Types inherited from EngineTest | |
typedef std::function< void(rw::core::Ptr< const rwsim::dynamics::DynamicWorkCell >, rw::kinematics::State &)> | InitCallback |
Type for a function initializing the state. | |
typedef std::function< void(const EngineLoopInfo &)> | TestCallback |
Type for a callback function. | |
Protected Member Functions inherited from EngineTest | |
void | runEngineLoop (double dt, TestHandle::Ptr handle, const std::string &engineID, const rw::core::PropertyMap ¶meters, rw::core::Ptr< rwsim::log::SimulatorLogScope > verbose, TestCallback callback=0, InitCallback initialize=0) |
A standard stepping loop provided as a convenience for test implementations. More... | |
Test for the motion when an undamped linear spring is used.
The simulation is illustrated below:
An analytical solution is given for this type of motion, which makes it possible to test how well the engines solve for undamped springs.
|
virtual |
|
virtual |
Create new dynamic workcell.
integratorType | [in] (optional) the integrator to use. |
Reimplemented from IntegratorTest.
|
static |
Get analytical reference position.
t | [in] the time. |
|
static |
Get analytical reference velocity.
t | [in] the time. |
|
virtual |
Run the test.
handle | [in/out] a TestHandle where the results of the test will be added to. |
engineID | [in] the id of the engine to run test for. |
parameters | [in] the parameters for the test run. |
verbose | [in] (optional) record detailed internal debug information in the engine during simulation. |