vcRrsRobotController
vcRrsRobotController allows you to simulate realistic robot motions by using the native controller of a robot. This is known as realistic robot simulation (RRS), which is an interface for using robot controller software (RCS) developed by robot manufacturers. RCS is deployed as a DLL file, which can be loaded and used by a robot in the 3D world.
Properties
Name | Type | Access | Description |
CycleTimeAccuracy | Real | RW | Defines a tolerance for calculating cycle times of motions that use fly-by or rounding.
The value must be greater than or equal to the UpdateInterval. |
InternalController | vcRobotController | RW | Defines the robot controller of robot component.
This is the internal controller of the robot. To use the RCS module as an external controller, set UseRCS to true. |
PrintMethodCalls | Boolean | RW | Turns on/off the logging of RRS method calls in the Output panel. |
Rcs | String | RW | Defines the RCS module to use with the robot.
The default is "VC" meaning the simulated robot controller. All other options refer to a configuration for the needed RCS module. Modules are stored in a folder contained in the program files of the application. The folder name indicates the manufacturer and provider of the RCS module. An RCS module can have multiple configurations defined in this folder, for example one for a six-axis robot and another for a 4-axis robot. A configuration file looks like this. |
RcsLogAsFormatted | Boolean | RW | Turns on/off the formatting of RCS module logged events, for example method calls and input/output data. |
RcsLogInput | Boolean | RW | Turns on/off the RCS module logging input-block data. |
RcsLogInternalModuleDebug | Boolean | RW | Turns on/off the RCS module logging internal debug information. |
RcsLogOutput | Boolean | RW | Turns on/off the RCS module logging output-block data. |
RcsMotionFilter | Integer | RW | Defines a filter factor (integer) for smoothing velocity profiles interpolated by the RCS module. |
RcsShowProcessTerminal | Boolean | RW | Turns on/off the display of window for 32-bit host process that runs the RCS module.
If set to true before launching the RCS module instance, the window is displayed and gives output. |
RobotDataPackFolder | vcPackFolder | RW | Defines the folder of RCS module instance containing the machine data (MADA) of robot and other private files. |
RobotDataGeneration | Boolean | RW | Turns on/off the use of a service to automatically create machine data for a robot including connected external axes. |
UpdateInterval | Real | RW | Defines the interpolation time (milliseconds) of RCS module.
The update is done using SET_INTERPOLATION_TIME service, which is defined in the RRS interface. The RCS module made by a manufacturer may or may not allow you to set the time. For example, the KUKA RCS module forbids this and uses an interpolation time of about 12ms. Note: The RRS Interface Specification explains "true paths will only be generated when the interpolation time of the simulation is the same as the interpolation time of the real robot." That means using an unrealistic time will not give precise motions. |
UseRcs | Boolean | RW | Turns on/off the use of RCS. If false, the robot uses its internal controller. |
Examples
Example. Configuration file for KUKA RCS module
<?xml version="1.0" encoding="utf-8"?> <RCSModuleConfigurationSettings> <configurations> <RCSModuleConfiguration> <ModuleName>KUKA 8.5</ModuleName> <InternalSupportID>KUKA</InternalSupportID> <DllName>V8.5\bin\KUKA_KRC.dll</DllName> <EntryPoint>rcskrc1</EntryPoint> <ModelDataDirectory>V8.5\bin\</ModelDataDirectory> <useTerminateInsteadOfReset>false</useTerminateInsteadOfReset> <setUpdateInterval>false</setUpdateInterval> </RCSModuleConfiguration> </configurations> </RCSModuleConfigurationSettings> |
from vcScript import * # upgrade robot to use RRS robot controller c = getComponent() # create VC_RRSROBOTCONTROLLER behavior RRSRobotController = c.createBehaviour(VC_RRSROBOTCONTROLLER, "RRSRobotController"); # set properties RRSRobotController.Rcs = "KUKA 8.5" #pack robot data robotData = r"C:\RCS\org" RRSRobotController.RobotDataPackFolder.mapFolder(robotData); # associate internal controller RRSRobotController.InternalController = c.findBehaviour("KRC4") # log info RRSRobotController.PrintMethodCalls = True RRSRobotController.RcsLogInput = True RRSRobotController.RcsLogOutput = True |