Possibility to adjust the "level" system parameter used by Externally Guided Motion.
Mariunil opened this issue · 2 comments
Reading in the Applicaiton manual - Controller software IRC5 I find the table below presenting an EGM system parameter called "level". As we are working towards real-time control of an ABB IRB14000 we are looking for ways to reduce latency. In this context, it would be interesting to experiment with level 0 control.
Is it possible to configure for EGM level 0 control, if so, how can it be done?
Apologies if this issue belongs at abb_libegm
You specify the EGM motion level in the system configurations. E.g. in RobotStudio -> Configuration -> Motion -> External Motion Interface Data -> Update the level of the instance you are using.
I usually have two instances specified, just for convenience. I.e. one for level 0 (raw) and one for level 1 (filtering) like this:
The instance that is used is then specified in the RAPID instruction EGMSetup
.
Sidenote:
If you are using the StateMachine Add-In, then these system configurations are set up by default. And the RWSStateMachineInterface class can be used to select the desired instance. For example, using level 0 (raw) can be set similar to this:
abb::rws::RWSStateMachineInterface::EGMSettings egm_settings;
abb::rws::RWSStateMachineInterface rws_interface("127.0.0.1");
if (rws_interface.services().egm().getSettings("T_ROB1", &egm_settings))
{
egm_settings.setup_uc.use_filtering.value = false;
rws_interface.services().egm().setSettings("T_ROB1", egm_settings);
}