UR cobots has below states
Power Off, Power On, Security Stopped,Emergency stopped,Teach button pressed, Power button pressed, Safety Signal on, Connected, Disconnected, Booting, Running, Idle,Fault, Shutdown, Back drive, Ready,Confirm Safety,No Controller,Free Drive,Initialising,Unknown
If we query modbus server, we would get any one of these states as response.
As per RTD documentation (robot_status_bits and safety_status_bits) in Real-Time Data Exchange (RTDE) Guide - 22229, we can collect only these below different robots states.
Bits 0-3: Is power on | Is program running | Is teach button pressed | Is power button pressed
Bits 0-10: Is normal mode | Is reduced mode | Is protective stopped | Is recovery mode | Is safeguard stopped | Is system emergency stopped | Is robot emergency stopped | Is emergency stopped | Is violation | Is fault | Is stopped due to safety
There is a difference, Modbus server has more state information than RTDE server.
Can we map all the states given by Mobbus server to the same of RTDE
Or is there any way in RTDE, we can receive all the states that are supported in Modbus
RTDE does have the “safety_status_bits” function; it is right below the “robot_status_bits” output in the RTDE article you linked and mirrors the same Modbus output.