From 00c4c16a4e889e95595338dfd1bfe0b79bf73456 Mon Sep 17 00:00:00 2001 From: TeaPackCZ Date: Wed, 11 Jun 2014 01:24:21 +0200 Subject: [PATCH 1/4] Update fre.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upraveno ukončování jízdy podél řádků -> je třeba překontrolovat syntax a ověřit =) Honza Crha --- fre.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fre.py b/fre.py index 33cee62..0999b29 100644 --- a/fre.py +++ b/fre.py @@ -569,8 +569,9 @@ def crossRows( self, row, num, rowsOnLeft ): print "NEXT ROW" ends.append( B ) # new one lastA, lastB = A, B - if len(ends) > num + 1: + if ((ends[num] != None) && (ends[num][1] < 11)): # Doufam, ze u && plati pravidlo: prvni neplati a dal se nevyhodnocuje break + # takhle by měl fungovat kod se zadavanim cisla odpovídajícího řádku do kterého má zajet. (pokud opravdu nevidí ten zasebou) line = Line(A,B) # going through the ends of rows A2 = combinedPose( (A[0], A[1], line.angle), (0, offset, 0) ) B2 = combinedPose( (B[0], B[1], line.angle), (2.0, offset, 0) ) From 76a1430a281ed6a764a5e5285915d591455f1bc7 Mon Sep 17 00:00:00 2001 From: TeaPackCZ Date: Wed, 11 Jun 2014 07:31:51 +0200 Subject: [PATCH 2/4] Update fre.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Opraveno i pro verzi jízdy po pravé straně --- fre.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fre.py b/fre.py index 0999b29..f00ffae 100644 --- a/fre.py +++ b/fre.py @@ -569,7 +569,8 @@ def crossRows( self, row, num, rowsOnLeft ): print "NEXT ROW" ends.append( B ) # new one lastA, lastB = A, B - if ((ends[num] != None) && (ends[num][1] < 11)): # Doufam, ze u && plati pravidlo: prvni neplati a dal se nevyhodnocuje + if ((ends[num] != None) && ( ((ends[num][1] < 11)&&rowsOnLeft) || ((ends[num][1] > 43) && !rowsOnLeft)) ): + # Doufam, ze u && plati pravidlo: prvni neplati a dal se nevyhodnocuje break # takhle by měl fungovat kod se zadavanim cisla odpovídajícího řádku do kterého má zajet. (pokud opravdu nevidí ten zasebou) line = Line(A,B) # going through the ends of rows From 0ea968825094d0fcd2dd40b5a6c4c7d258db02da Mon Sep 17 00:00:00 2001 From: TeaPackCZ Date: Wed, 11 Jun 2014 08:36:32 +0200 Subject: [PATCH 3/4] Update fre.py Modified points A,B and array endRows -> added automatic updates of points and angle of view to these points. --- fre.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/fre.py b/fre.py index f00ffae..8f81936 100644 --- a/fre.py +++ b/fre.py @@ -560,20 +560,26 @@ def crossRows( self, row, num, rowsOnLeft ): (ax,ai), (bx,bi) = (bx,bi), (ax,ai) p = self.robot.localisation.pose() A = combinedPose( (p[0], p[1], p[2]+math.radians(135-5*ai) ), (ax,0,0) ) + A.appends(ai) B = combinedPose( (p[0], p[1], p[2]+math.radians(135-5*bi) ), (bx,0,0) ) + B.appends(bi) if lastA == None: ends.extend( [A,B] ) lastA, lastB = A, B - print "DIST", distance(lastA, A), distance(lastB, B), distance(lastB,A) - if distance(lastB,A) < 0.2: + print "DIST", distance(lastA[:2], A[:2]), distance(lastB[:2], B[:2]), distance(lastB[:2],A[:2]) + for endrow in ends: ## actualization of ends with angle to the that end + if distance(endrow[:2],A[:2])<0.2: + endrow=A + else if distance(endrow[:2],B[:2])<0.2: + endrow=B + if distance(lastB[:2],A[:2]) < 0.2: print "NEXT ROW" ends.append( B ) # new one + ends[-3][3]=-9 # setting angle to old LastA to -180 deg ((180-135)/5) lastA, lastB = A, B - if ((ends[num] != None) && ( ((ends[num][1] < 11)&&rowsOnLeft) || ((ends[num][1] > 43) && !rowsOnLeft)) ): - # Doufam, ze u && plati pravidlo: prvni neplati a dal se nevyhodnocuje + if ((ends[num] != None) && ( ((ends[num][3] < 11)&&rowsOnLeft) || ((ends[num][3] > 43) && !rowsOnLeft)) ): break - # takhle by měl fungovat kod se zadavanim cisla odpovídajícího řádku do kterého má zajet. (pokud opravdu nevidí ten zasebou) - line = Line(A,B) # going through the ends of rows + line = Line(A[:2],B[:2]) # going through the ends of rows A2 = combinedPose( (A[0], A[1], line.angle), (0, offset, 0) ) B2 = combinedPose( (B[0], B[1], line.angle), (2.0, offset, 0) ) line = Line(A2, B2) From 8520c88afbfd40921393df2dee086575ca15f178 Mon Sep 17 00:00:00 2001 From: TeaPackCZ Date: Wed, 11 Jun 2014 08:48:29 +0200 Subject: [PATCH 4/4] Update fre.py minor changes in if conditions --- fre.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fre.py b/fre.py index 8f81936..38913df 100644 --- a/fre.py +++ b/fre.py @@ -577,8 +577,9 @@ def crossRows( self, row, num, rowsOnLeft ): ends.append( B ) # new one ends[-3][3]=-9 # setting angle to old LastA to -180 deg ((180-135)/5) lastA, lastB = A, B - if ((ends[num] != None) && ( ((ends[num][3] < 11)&&rowsOnLeft) || ((ends[num][3] > 43) && !rowsOnLeft)) ): - break + if len(ends)>num: + if((ends[num][3] < 11)&&rowsOnLeft) || ((ends[num][3] > 43) && !rowsOnLeft)): + break line = Line(A[:2],B[:2]) # going through the ends of rows A2 = combinedPose( (A[0], A[1], line.angle), (0, offset, 0) ) B2 = combinedPose( (B[0], B[1], line.angle), (2.0, offset, 0) )