Skip to content
Snippets Groups Projects
Commit 1dd694c9 authored by Daniel Christoph's avatar Daniel Christoph
Browse files

Replace location_monitor_node.py

parent e8c61f78
Branches
No related merge requests found
...@@ -20,9 +20,9 @@ from gazebo_msgs.srv import GetModelState ...@@ -20,9 +20,9 @@ from gazebo_msgs.srv import GetModelState
from gazebo_msgs.srv import GetWorldProperties from gazebo_msgs.srv import GetWorldProperties
BotDist = float(sys.argv[1])#Abstand vom BotKoordinatenursprung zum Kollisions Rand BotDist = float(sys.argv[1])#Abstand vom BotKoordinatenursprung zum Kollisions Rand
BotHeight = float(sys.argv[2])#Hoehe des Bots Waffle:0.14 Burger:0.19 BotHeight = float(sys.argv[2])#Hoehe des Bots
BotSides = float(sys.argv[3])#Distanz Zur Ecke. Waffle:0.12 Burger:0 BotSides = float(sys.argv[3])#Distanz Zur Ecke.
BotSideRad = float(sys.argv[4])#Ausrichtungs Radius. Waffle:55 Burger:0 BotSideRad = float(sys.argv[4])#Ausrichtungs Radius.
SafeDist = float(sys.argv[5])#Sicherheitsabstand SafeDist = float(sys.argv[5])#Sicherheitsabstand
DestinationX = float(sys.argv[6])#Ziellinie DestinationX = float(sys.argv[6])#Ziellinie
Timeout = float(sys.argv[7])#timeout Timeout = float(sys.argv[7])#timeout
...@@ -161,7 +161,7 @@ class Detection: ...@@ -161,7 +161,7 @@ class Detection:
yaw_degrees += 360.0 yaw_degrees += 360.0
boxkdetection(float(block._radius), cordlist, l_x, l_y, yaw_degrees, resp1.sim_time) boxkdetection(float(block._radius), cordlist, l_x, l_y, yaw_degrees, resp1.sim_time)
else: #if "sphere" , "cylinder" , "ball" etc. else: #if "sphere" , "cylinder" , "ball" etc.
objectWithRadiusDetection(float(block._radius), cordlist, l_x, l_y, str(resp1.sim_time)) objectWithRadiusDetection(float(block._radius), cordlist, l_x, l_y, str(resp1.sim_time), blockName)
else: else:
if WriteFlag == 0: if WriteFlag == 0:
logger.info("[T:" + str(resp1.sim_time) + "] " + "Can't detect " + blockName) logger.info("[T:" + str(resp1.sim_time) + "] " + "Can't detect " + blockName)
...@@ -178,7 +178,7 @@ def distance(x1, y1, x2, y2): ...@@ -178,7 +178,7 @@ def distance(x1, y1, x2, y2):
dist = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2) dist = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
return dist return dist
def objectWithRadiusDetection(radius, cordlist, l_x, l_y, simtime): def objectWithRadiusDetection(radius, cordlist, l_x, l_y, simtime, blockname):
global WriteFlag global WriteFlag
global logger global logger
global SafeDist global SafeDist
...@@ -196,22 +196,31 @@ def objectWithRadiusDetection(radius, cordlist, l_x, l_y, simtime): ...@@ -196,22 +196,31 @@ def objectWithRadiusDetection(radius, cordlist, l_x, l_y, simtime):
temp = min(distList) temp = min(distList)
#print(distList) #print(distList)
if "ball" in blockname or "sphere" in blockname:
if radius > BotHeight: if radius > BotHeight:
both = BotHeight both = BotHeight
h = radius-both h = radius-both
f = temp f = temp
g = pow(h,2) + pow(f,2) g = pow(h,2) + pow(f,2)
g = math.sqrt(g) g = math.sqrt(g)
if WriteFlag == 0: if WriteFlag == 0:
logger.info("[T:" + str(simtime) + "] " + "Dist. To nearest Bot Collision point: " + str(g - radius)) logger.info("[T:" + str(simtime) + "] " + "Dist. To nearest Bot Collision point: " + str(g - radius))
rospy.loginfo("Dist to collision point: " + str(g - radius)) rospy.loginfo("Dist to collision point: " + str(g - radius))
if temp < safedist and g < safedist: if temp < safedist and g < safedist:
rospy.loginfo("Collision!") rospy.loginfo("Collision!")
if WriteFlag == 0: if WriteFlag == 0:
logger.info("[T:" + str(simtime) + "] " + "Collision!") logger.info("[T:" + str(simtime) + "] " + "Collision!")
os._exit(1) os._exit(1)
else: else:
if WriteFlag == 0:
logger.info("[T:" + str(simtime) + "] " + "Dist. To nearest Bot Collision point: " + str(temp - radius))
rospy.loginfo("Dist to collision point: " + str(temp - radius))
if temp < safedist:
rospy.loginfo("Collision!")
if WriteFlag == 0:
logger.info("[T:" + str(simtime) + "] " + "Collision!")
os._exit(1)
else:#cylinder
if WriteFlag == 0: if WriteFlag == 0:
logger.info("[T:" + str(simtime) + "] " + "Dist. To nearest Bot Collision point: " + str(temp - radius)) logger.info("[T:" + str(simtime) + "] " + "Dist. To nearest Bot Collision point: " + str(temp - radius))
rospy.loginfo("Dist to collision point: " + str(temp - radius)) rospy.loginfo("Dist to collision point: " + str(temp - radius))
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment