sends tree structure of frames and tools to clients

This commit is contained in:
2024-08-27 11:26:05 +02:00
parent e24126b64f
commit 9af3d992d4
4 changed files with 79 additions and 66 deletions

View File

@@ -1,58 +1,59 @@
#Tue Oct 31 16:26:56 CET 2023
autoSaveScanData=true
dataLayout=default
dataPath={data}/{year}_{month}/{date}/{date}_{time}_{name}
dataProvider=h5
dataScanFlushRecords=false
dataScanLazyTableCreation=false
dataScanPreserveTypes=false
dataScanReleaseRecords=false
dataScanSaveOutput=false
dataScanSaveScript=false
dataScanSaveSetpoints=false
dataServerPort=-1
dataTransferMode=Off
dataTransferPath=
dataTransferUser=
depthDimension=0
disableDataFileLogs=false
disableEmbeddedAttributes=false
fdaSerialization=false
filePermissionsConfig=Public
filePermissionsData=Default
filePermissionsLogs=Public
filePermissionsScripts=Public
hideServerMessages=false
hostName=
instanceName=
logDaysToLive=-1
logLevel=Info
logLevelConsole=Off
logPath={logs}/{date}_{time}
noBytecodeFiles=false
notificationLevel=Off
notifiedTasks=
parallelInitialization=false
saveCommandStatistics=false
saveConsoleSessionFiles=false
scanStreamerPort=-1
serverEnabled=true
serverPort=8080
sessionHandling=Off
simulation=false
terminalEnabled=true
terminalPort=3579
userAuthenticator=
userManagement=false
versionTrackingEnabled=true
versionTrackingLogin={context}/svcusr-hlapp_robot
versionTrackingManual=true
versionTrackingRemote=git@git.psi.ch\:pshell_config/bernina_robot.git
xscanAppendSuffix=true
xscanContinuousUpdate=false
xscanCrlogicAbortable=true
xscanCrlogicChannel=null
xscanCrlogicIoc=null
xscanCrlogicPrefix=null
xscanCrlogicSimulated=false
xscanMoveTimeout=600
#Tue Aug 27 08:44:59 CEST 2024
xscanMoveTimeout=600
autoSaveScanData=true
simulation=false
logDaysToLive=-1
xscanCrlogicChannel=null
dataScanSaveOutput=false
xscanCrlogicSimulated=false
userAuthenticator=
logLevelConsole=Off
filePermissionsConfig=Public
scanStreamerPort=-1
dataScanSaveScript=false
dataScanSaveSetpoints=false
notifiedTasks=
parallelInitialization=false
fdaSerialization=false
dataTransferPath=
saveConsoleSessionFiles=false
xscanAppendSuffix=true
versionTrackingManual=true
dataTransferMode=Off
hostName=
userManagement=false
disableEmbeddedAttributes=false
instanceName=
dataServerPort=-1
hideServerMessages=false
serverPort=8080
versionTrackingEnabled=true
dataPath={data}/{year}_{month}/{date}/{date}_{time}_{name}
serverEnabled=true
dataScanReleaseRecords=false
depthDimension=0
dataScanPreserveTypes=false
logLevel=Info
dataScanFlushRecords=false
filePermissionsLogs=Public
logPath={logs}/{date}_{time}
dataLayout=default
disableDataFileLogs=false
sessionHandling=Off
terminalEnabled=true
filePermissionsScripts=Public
notificationLevel=Off
terminalPort=3579
xscanCrlogicPrefix=null
dataTransferUser=
filePermissionsData=Default
xscanContinuousUpdate=false
xscanCrlogicAbortable=true
versionTrackingLogin={context}/svcusr-hlapp_robot
noBytecodeFiles=false
versionTrackingRemote=git@git.psi.ch\:pshell_config/bernina_robot.git
dataProvider=h5
xscanCrlogicIoc=null
dataScanLazyTableCreation=false
saveCommandStatistics=false
pythonHome=

View File

@@ -17,6 +17,9 @@ ROBOT_JOINT_MOTORS = ["j1" , "j2", "j3", "j4", "j5", "j6"]
ROBOT_CARTESIAN_MOTORS = ["x" , "y", "z", "rx", "ry", "rz"]
ROBOT_SPHERICAL_MOTORS = ["r" , "gamma", "delta"]
FRAME_HIRARCHY = ["world.f_SwissFELCoord.f_ESBWorld.f_linearAxis." + k for k in ["f_direct.", "f_2mRad.", "f_4mRad.", "f_6mRad.", "f_8mRad.",]]
FRAME_HIRARCHY += ["t_flange.t_Adapter." + k for k in ["t_JF01T03det.t_JF01T03.", "t_JF07T32det.t_JF07T32."]]
run("devices/RobotTCP")
override_remote_safety = False
@@ -40,7 +43,15 @@ class RobotBernina(RobotTCP):
}
self.remote_allowed_recorded = AdjustableFS(name="remote_allowed", default_value = default_remote_allowed_recorded)
self.remote_allowed_deltas = AdjustableFS(name="remote_allowed_deltas", default_value = default_remote_allowed_deltas)
def get_frame_tree(self, frame):
"""frame can be a string of a tool or a frame"""
for f in FRAME_HIRARCHY:
if frame in f:
return f.split("." + frame + ".")[0]+"." + frame
return frame
def set_override_remote_safety(self, value):
self.override_remote_safety = bool(value)

View File

@@ -777,9 +777,9 @@ class RobotTCP(TcpDevice, Stoppable):
"task": self.current_task,
"mode": self.working_mode,
"status": self.status,
"frame": self.frame(),
"frame": self.get_frame_tree(self.frame()),
"frame_coordinates": self.frame_trsf,
"tool": self.tool(),
"tool": self.get_frame_tree(self.tool()),
"tool_coordinates": self.tool_trsf,
"cartesian_motors_enabled": self.cartesian_motors_enabled,
"spherical_motors_enabled": self.spherical_motors_enabled,
@@ -814,9 +814,9 @@ class RobotTCP(TcpDevice, Stoppable):
self.getLogger().info(ev)
self.on_event(ev)
self.setCache({
"pos": self.get_current_point_cached() if self.state==State.Ready else None #TODO: make it calculated in robot by polling funtion
}, None)
#self.setCache({
# "pos": self.get_current_point_cached() if self.state==State.Ready else None #TODO: make it calculated in robot by polling funtion
# }, None)
pos = self.cartesian_pos.copy()
pos.update(self.spherical_pos)
pos.update(self.joint_pos)

View File

@@ -2,7 +2,8 @@ from json import load, dump
from os import path
import os
BASEPATH = "C:/dev/pshell/config/bernina_robot/adjustables_fs/"
#BASEPATH = "C:/dev/pshell/config/bernina_robot/adjustables_fs/"
BASEPATH = "/sf/bernina/config/src/python/bernina_robot/adjustables_fs/"
class AdjustableFS:
def __init__(self, name=None, default_value=None, file_path=None):
@@ -31,4 +32,4 @@ class AdjustableFS:
return self.get_current_value()
def __repr__(self):
return "Current value of {} at: ".format(self.name) + str(self.get_current_value())
return "Current value of {} at: ".format(self.name) + str(self.get_current_value())