![]() |
RobWorkProject
23.9.11-
|
A simulator for execution of AssemblyTasks. More...
#include <AssemblySimulator.hpp>
Public Types | |
| typedef rw::core::Ptr< AssemblySimulator > | Ptr |
| smart pointer type of this class | |
Public Member Functions | |
| AssemblySimulator (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc, const std::string &engineID, rw::core::Ptr< rwsim::contacts::ContactDetector > contactDetector=NULL, rw::core::Ptr< rwsim::log::SimulatorLogScope > verbose=NULL) | |
| Construct new simulator. More... | |
| virtual | ~AssemblySimulator () |
| Destructor. | |
| double | getDt () const |
| Get the size of the timestep used in simulation. More... | |
| void | setDt (double dt=0.001) |
| Set the size of the timestep to use in simulation. More... | |
| void | start (rw::core::Ptr< rw::common::ThreadTask > task=NULL) |
| Run the simulation. More... | |
| void | stopFinishCurrent () |
| Request stop when current tasks has finished. | |
| void | stopCancelCurrent () |
| Request immediate stop. Current tasks are cancelled. | |
| bool | isRunning () |
| Check if simulator is running. More... | |
| void | setTasks (std::vector< rw::core::Ptr< rwlibs::assembly::AssemblyTask >> tasks) |
| Set the tasks that should be executed in the simulator. More... | |
| std::vector< rw::core::Ptr< rwlibs::assembly::AssemblyResult > > | getResults () |
| Retrieve the results after simulation. More... | |
| void | setStoreExecutionData (bool enable) |
| Enable storing trajectory data in the AssemblyResult. More... | |
| bool | storeExecutionData () |
| Check if trajectory data is currently being stored. More... | |
| double | getMaxSimTime () const |
| Get the currently set limit for the simulation time per task. More... | |
| void | setMaxSimTime (double maxTime) |
| Set the limit for simulation time per task. More... | |
| bool | getStartInApproach () const |
| Test whether or not the simulation is set up to start in the approach pose. More... | |
| void | setStartInApproach (bool val=false) |
| Start simulation directly in the approach position as given by the strategy. More... | |
A simulator for execution of AssemblyTasks.
| AssemblySimulator | ( | rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > | dwc, |
| const std::string & | engineID, | ||
| rw::core::Ptr< rwsim::contacts::ContactDetector > | contactDetector = NULL, |
||
| rw::core::Ptr< rwsim::log::SimulatorLogScope > | verbose = NULL |
||
| ) |
Construct new simulator.
| dwc | [in] the dynamic workcell. |
| engineID | [in] the simulator to use for dynamic simulation (for instance "ODE"). |
| contactDetector | [in] (optional) set a contact detector that should be used by the PhysicsEngine. |
| verbose | [in] (optional) set a logging structure to log to. |
| double getDt | ( | ) | const |
Get the size of the timestep used in simulation.
| double getMaxSimTime | ( | ) | const |
Get the currently set limit for the simulation time per task.
| std::vector<rw::core::Ptr<rwlibs::assembly::AssemblyResult> > getResults | ( | ) |
Retrieve the results after simulation.
| bool getStartInApproach | ( | ) | const |
Test whether or not the simulation is set up to start in the approach pose.
| bool isRunning | ( | ) |
Check if simulator is running.
| void setDt | ( | double | dt = 0.001 | ) |
Set the size of the timestep to use in simulation.
| dt | [in] the stepsize (default is 0.001 seconds). |
| void setMaxSimTime | ( | double | maxTime | ) |
Set the limit for simulation time per task.
| maxTime | [in] the maximum simulated time to spend on a single task. |
| void setStartInApproach | ( | bool | val = false | ) |
Start simulation directly in the approach position as given by the strategy.
| val | [in] true if simulation should start in approach pose (default is false). |
| void setStoreExecutionData | ( | bool | enable | ) |
Enable storing trajectory data in the AssemblyResult.
| enable | [in] true if trajectory data should be stored, false otherwise. |
| void setTasks | ( | std::vector< rw::core::Ptr< rwlibs::assembly::AssemblyTask >> | tasks | ) |
Set the tasks that should be executed in the simulator.
| tasks | [in] the tasks to execute. |
| void start | ( | rw::core::Ptr< rw::common::ThreadTask > | task = NULL | ) |
Run the simulation.
| task | (optional) if this simulator runs in a ThreadTask, pass a pointer to this task to let the simulator add work for parallel processing. |
| bool storeExecutionData | ( | ) |
Check if trajectory data is currently being stored.