Пример #1
0
    def draw(self, renderer):
        """Draw controller info"""
        K3Supervisor.draw(self, renderer)

        renderer.set_pose(self.pose_est)
        arrow_length = self.robot_size * 5

        if self.current == self.gtg:
            # Draw arrow to goal
            renderer.set_pen(0x00FF00)
            renderer.draw_arrow(0, 0,
                                arrow_length * cos(self.gtg.heading_angle),
                                arrow_length * sin(self.gtg.heading_angle))

        elif self.current == self.avoidobstacles:
            # Draw arrow away from obstacles
            renderer.set_pen(0xFF0000)
            renderer.draw_arrow(
                0, 0, arrow_length * cos(self.avoidobstacles.heading_angle),
                arrow_length * sin(self.avoidobstacles.heading_angle))

        elif self.current == self.wall:

            # Draw vector to wall:
            renderer.set_pen(0x0000FF)
            renderer.draw_arrow(0, 0, self.wall.to_wall_vector[0],
                                self.wall.to_wall_vector[1])
            # Draw
            renderer.set_pen(0xFF00FF)
            renderer.push_state()
            renderer.translate(self.wall.to_wall_vector[0],
                               self.wall.to_wall_vector[1])
            renderer.draw_arrow(0, 0, self.wall.along_wall_vector[0],
                                self.wall.along_wall_vector[1])
            renderer.pop_state()

            # Draw heading (who knows, it might not be along_wall)
            renderer.set_pen(0xFF00FF)
            renderer.draw_arrow(0, 0,
                                arrow_length * cos(self.wall.heading_angle),
                                arrow_length * sin(self.wall.heading_angle))

            # Important sensors
            renderer.set_pen(0)
            for v in self.wall.vectors:
                x, y, z = v

                renderer.push_state()
                renderer.translate(x, y)
                renderer.rotate(atan2(y, x))

                renderer.draw_line(0.01, 0.01, -0.01, -0.01)
                renderer.draw_line(0.01, -0.01, -0.01, 0.01)

                renderer.pop_state()
        elif self.current == self.path:
            goal_angle = self.path.get_heading_angle(self.parameters)
            renderer.set_pen(0x00FF00)
            renderer.draw_arrow(0, 0, arrow_length * cos(goal_angle),
                                arrow_length * sin(goal_angle))
Пример #2
0
    def draw(self, renderer):
        """Draw controller info"""
        K3Supervisor.draw(self,renderer)

        renderer.set_pose(self.pose_est)
        arrow_length = self.robot_size*5
        
        # Draw arrow to goal
        renderer.set_pen(0x00FF00)
        renderer.draw_arrow(0,0,
            arrow_length*cos(self.blending.goal_angle),
            arrow_length*sin(self.blending.goal_angle))

        # Draw arrow away from obstacles
        renderer.set_pen(0xFF0000)
        renderer.draw_arrow(0,0,
            arrow_length*cos(self.blending.away_angle),
            arrow_length*sin(self.blending.away_angle))

        # Draw heading
        renderer.set_pen(0x0000FF)
        renderer.draw_arrow(0,0,
            arrow_length*cos(self.blending.heading_angle),
            arrow_length*sin(self.blending.heading_angle))
            
Пример #3
0
    def draw(self, renderer):
        K3Supervisor.draw(self, renderer)

        renderer.set_pose(self.pose_est)
        arrow_length = self.robot_size * 5

        away_angle = self.avoidobstacles.get_heading_angle(self.parameters)
        goal_angle = self.gtg.get_heading_angle(self.parameters)

        # Draw arrow to goal
        renderer.set_pen(0x00FF00)
        renderer.draw_arrow(0, 0, arrow_length * cos(goal_angle),
                            arrow_length * sin(goal_angle))

        # Draw arrow away from obstacles
        renderer.set_pen(0xFF0000)
        renderer.draw_arrow(0, 0, arrow_length * cos(away_angle),
                            arrow_length * sin(away_angle))

        # Week 3
        renderer.set_pen(0)
        for v in self.avoidobstacles.vectors:
            x, y, z = v

            renderer.push_state()
            renderer.translate(x, y)
            renderer.rotate(atan2(y, x))

            renderer.draw_line(0.01, 0.01, -0.01, -0.01)
            renderer.draw_line(0.01, -0.01, -0.01, 0.01)

            renderer.pop_state()
Пример #4
0
    def draw(self, renderer):
        K3Supervisor.draw(self,renderer)

        renderer.set_pose(self.pose_est)
        arrow_length = self.robot_size*5

        away_angle = self.avoidobstacles.get_heading_angle(self.parameters)
        goal_angle = self.gtg.get_heading_angle(self.parameters)
        
        # Draw arrow to goal
        renderer.set_pen(0x00FF00)
        renderer.draw_arrow(0,0,
            arrow_length*cos(goal_angle),
            arrow_length*sin(goal_angle))

        # Draw arrow away from obstacles
        renderer.set_pen(0xFF0000)
        renderer.draw_arrow(0,0,
            arrow_length*cos(away_angle),
            arrow_length*sin(away_angle))
            
        # Week 3
        renderer.set_pen(0)
        for v in self.avoidobstacles.vectors:
            x,y,z = v
            
            renderer.push_state()
            renderer.translate(x,y)
            renderer.rotate(atan2(y,x))
        
            renderer.draw_line(0.01,0.01,-0.01,-0.01)
            renderer.draw_line(0.01,-0.01,-0.01,0.01)
            
            renderer.pop_state()            
Пример #5
0
    def draw(self, renderer):
        """Draw controller info"""
        K3Supervisor.draw(self, renderer)

        renderer.set_pose(self.pose_est)
        arrow_length = self.robot_size * 5

        if self.current == self.gtg:
            # Draw arrow to goal
            renderer.set_pen(0x00FF00)
            renderer.draw_arrow(
                0, 0, arrow_length * cos(self.gtg.heading_angle), arrow_length * sin(self.gtg.heading_angle)
            )

        elif self.current == self.avoidobstacles:
            # Draw arrow away from obstacles
            renderer.set_pen(0xFF0000)
            renderer.draw_arrow(
                0,
                0,
                arrow_length * cos(self.avoidobstacles.heading_angle),
                arrow_length * sin(self.avoidobstacles.heading_angle),
            )

        elif self.current == self.wall:

            # Draw vector to wall:
            renderer.set_pen(0x0000FF)
            renderer.draw_arrow(0, 0, self.wall.to_wall_vector[0], self.wall.to_wall_vector[1])
            # Draw
            renderer.set_pen(0xFF00FF)
            renderer.push_state()
            renderer.translate(self.wall.to_wall_vector[0], self.wall.to_wall_vector[1])
            renderer.draw_arrow(0, 0, self.wall.along_wall_vector[0], self.wall.along_wall_vector[1])
            renderer.pop_state()

            # Draw heading (who knows, it might not be along_wall)
            renderer.set_pen(0xFF00FF)
            renderer.draw_arrow(
                0, 0, arrow_length * cos(self.wall.heading_angle), arrow_length * sin(self.wall.heading_angle)
            )

            # Important sensors
            renderer.set_pen(0)
            for v in self.wall.vectors:
                x, y, z = v

                renderer.push_state()
                renderer.translate(x, y)
                renderer.rotate(atan2(y, x))

                renderer.draw_line(0.01, 0.01, -0.01, -0.01)
                renderer.draw_line(0.01, -0.01, -0.01, 0.01)

                renderer.pop_state()
        elif self.current == self.path:
            goal_angle = self.path.get_heading_angle(self.parameters)
            renderer.set_pen(0x00FF00)
            renderer.draw_arrow(0, 0, arrow_length * cos(goal_angle), arrow_length * sin(goal_angle))
Пример #6
0
    def draw(self, renderer):
        K3Supervisor.draw(self, renderer)
        renderer.set_pose(self.pose_est)

        # Draw direction from obstacles
        renderer.set_pen(0xFF0000)
        arrow_length = self.robot_size * 5
        renderer.draw_arrow(0, 0,
                            arrow_length * cos(self.avoidobstacles.away_angle),
                            arrow_length * sin(self.avoidobstacles.away_angle))

        # Draw direction to goal
        renderer.set_pen(0x444444)
        goal_angle = atan2(self.parameters.goal.y - self.pose_est.y,
                           self.parameters.goal.x - self.pose_est.x) \
                     - self.pose_est.theta
        renderer.draw_arrow(0, 0, arrow_length * cos(goal_angle),
                            arrow_length * sin(goal_angle))
Пример #7
0
    def draw(self, renderer):
        """Draw controller info"""
        K3Supervisor.draw(self, renderer)

        renderer.set_pose(self.pose_est)
        arrow_length = self.robot_size * 5

        away_angle = self.avoidobstacles.get_heading_angle(self.parameters)
        goal_angle = self.gtg.get_heading_angle(self.parameters)

        # Draw arrow to goal
        renderer.set_pen(0x00FF00)
        renderer.draw_arrow(0, 0, arrow_length * cos(goal_angle),
                            arrow_length * sin(goal_angle))

        # Draw arrow away from obstacles
        renderer.set_pen(0xFF0000)
        renderer.draw_arrow(0, 0, arrow_length * cos(away_angle),
                            arrow_length * sin(away_angle))
Пример #8
0
    def draw(self, renderer):
        K3Supervisor.draw(self,renderer)
        renderer.set_pose(self.pose_est)

        # Draw direction from obstacles
        renderer.set_pen(0xFF0000)
        arrow_length = self.robot_size*5
        renderer.draw_arrow(0,0,
            arrow_length*cos(self.avoidobstacles.away_angle),
            arrow_length*sin(self.avoidobstacles.away_angle))

        # Draw direction to goal
        renderer.set_pen(0x444444)
        goal_angle = atan2(self.parameters.goal.y - self.pose_est.y,
                           self.parameters.goal.x - self.pose_est.x) \
                     - self.pose_est.theta
        renderer.draw_arrow(0,0,
            arrow_length*cos(goal_angle),
            arrow_length*sin(goal_angle))
                           
Пример #9
0
    def draw(self, renderer):
        """Draw controller info"""
        K3Supervisor.draw(self,renderer)

        renderer.set_pose(self.pose_est)
        arrow_length = self.robot_size*5

        away_angle = self.avoidobstacles.get_heading_angle(self.parameters)
        goal_angle = self.gtg.get_heading_angle(self.parameters)
        
        # Draw arrow to goal
        renderer.set_pen(0x00FF00)
        renderer.draw_arrow(0,0,
            arrow_length*cos(goal_angle),
            arrow_length*sin(goal_angle))

        # Draw arrow away from obstacles
        renderer.set_pen(0xFF0000)
        renderer.draw_arrow(0,0,
            arrow_length*cos(away_angle),
            arrow_length*sin(away_angle))
            
Пример #10
0
    def draw(self, renderer):
        """Draw controller info"""
        K3Supervisor.draw(self, renderer)

        renderer.set_pose(self.pose_est)
        arrow_length = self.robot_size * 5

        # Draw arrow to goal
        renderer.set_pen(0x00FF00)
        renderer.draw_arrow(0, 0, arrow_length * cos(self.blending.goal_angle),
                            arrow_length * sin(self.blending.goal_angle))

        # Draw arrow away from obstacles
        renderer.set_pen(0xFF0000)
        renderer.draw_arrow(0, 0, arrow_length * cos(self.blending.away_angle),
                            arrow_length * sin(self.blending.away_angle))

        # Draw heading
        renderer.set_pen(0x0000FF)
        renderer.draw_arrow(0, 0,
                            arrow_length * cos(self.blending.heading_angle),
                            arrow_length * sin(self.blending.heading_angle))