since the operating systems of such devices as controllers, robots, ICSs and PCLs are quite diverse you won't find an agent for most of those systems (maybe for some of them that run Linux). But you can identify them in your inventory software if they have an IP-Adress!
To identify them it is easiest if you have a PC with a working agent in the same subnet that is allowed to IP-Discover the subnet or use SNMP if configured. It will give you a list of all discovered devices in the subnet with MAC-Adress, IP, FQDN, Subnet-Mask and Date of Discovery that is not in your inventory.
You then can identify them with a click and give the device a description and set a customizable "Type" to them from a customizable dropdown Menu. I use this do identify devices like routers, gateways, switches and other devices that won't run agents on themselves. Identified devices can then be shown for either specific subnets or all your subnets and thus keep track of them. Super useful if you want to make sure there is no discovered device that is not either identified or inventorized with an agent (this would be the ideal state).
So you most likely won't be able to get all those fancy details like an agent can give you if the operating system won't allow the installation of an agent BUT you can keep track of them all!
I hope this is an answer you were looking for.