I'm currently working on a Robotics project. The project objective is to create a nonholonomic robot path finding algorithm to be integrated into an actual STM Controller. I am currently stuck at solving the obstacle detection part using the separating axis theorem.

 def has_collided(self, obj_1: List, obj_2: List):
        polygons = [obj_1, obj_2]
        for polygon in polygons:
            for i1 in range(len(polygon)):
                i2 = (i1 + 1) % len(polygon)
                p1 = polygon[i1]
                p2 = polygon[i2]

                normal = [p2[1] - p1[1], p1[0] - p2[0]]

                min_1, max_1 = self.check_projection(normal, obj_1)
                min_2, max_2 = self.check_projection(normal, obj_2)
                if max_1 < min_2 or max_2 < min_1:
                    return False
        return True

The process currently takes very long to run when I activate the above obstacle detection but the simulation does not detect the obstacles. Would appreciate some guidance on this :) Thanks in advance!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.