KR20230056225A - Obstacle avoidance and path tracking method considering the kinetic dynamics of a differential driving robot - Google Patents

Obstacle avoidance and path tracking method considering the kinetic dynamics of a differential driving robot Download PDF

Info

Publication number
KR20230056225A
KR20230056225A KR1020210140015A KR20210140015A KR20230056225A KR 20230056225 A KR20230056225 A KR 20230056225A KR 1020210140015 A KR1020210140015 A KR 1020210140015A KR 20210140015 A KR20210140015 A KR 20210140015A KR 20230056225 A KR20230056225 A KR 20230056225A
Authority
KR
South Korea
Prior art keywords
obstacle
speed
robot
area
target
Prior art date
Application number
KR1020210140015A
Other languages
Korean (ko)
Other versions
KR102563074B1 (en
Inventor
이동현
Original Assignee
금오공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 금오공과대학교 산학협력단 filed Critical 금오공과대학교 산학협력단
Priority to KR1020210140015A priority Critical patent/KR102563074B1/en
Publication of KR20230056225A publication Critical patent/KR20230056225A/en
Application granted granted Critical
Publication of KR102563074B1 publication Critical patent/KR102563074B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

An obstacle avoidance and path tracking method considering the kinematics of a differentially driven mobile robot comprises: a first step of setting a non-obstacle area with the radius being the shortest distance between a robot and a surrounding obstacle; a second step of determining the intersection between a pre-given global path and the non-obstacle area as an non-obstacle target position; a third step of generating a non-obstacle target speed for moving to the non-obstacle target position by considering the allowable range between the linear and angular speeds of a robot; a fourth step of generating a speed window area considering the current speed, maximum allowable speed, and maximum allowable acceleration of the robot; a fifth step of selecting a window target speed considering the speed window area and the non-obstacle target speed; a sixth step of calculating the angular range of an obstacle extension area resulting from the overlap between an area where the obstacle is extended by the radius of the robot (obstacle extension area) and the non-obstacle area; a seventh step of selecting the final control speed to be transmitted to a robot controller by selecting the window target speed as the final control speed when the window target speed of the fifth step does not belong to an obstacle collision speed area where a collision with an obstacle is expected in the angular velocity and velocity coordinate system of the sixth step; and an eighth step of performing local planning by executing a path generation algorithm within a local map to generate a local path with the intersection between the border of the local map and the global path as the target point and the position of the robot as the starting point when the non-obstacle target position of the second step exists within the obstacle extension area or the intersection between the global path and the non-obstacle area does not exist (when the non-obstacle target position is not defined). Accordingly, it is possible to efficiently follow a given global path without colliding with an obstacle.

Description

차동 구동형 이동로봇의 운동역학을 고려한 장애물 회피 및 경로 추종방법{Obstacle avoidance and path tracking method considering the kinetic dynamics of a differential driving robot}Obstacle avoidance and path tracking method considering the kinetic dynamics of a differential driving robot

본 발명은 이동로봇의 경로 추정방법에 관한 것으로서, 더 상세하게는 차동 구동형 이동로봇의 운동역학을 고려한 장애물 회피 및 경로 추종방법에 관한 것이다.The present invention relates to a method for estimating a path of a mobile robot, and more particularly, to a method for avoiding obstacles and following a path considering kinematics of a differential drive type mobile robot.

일반적인 경로 계획 알고리즘 또는 연산량을 최소화하기 위한 경로 계획 알고리즘은 로봇의 운동역학을 고려하지 않으며, 어느 방향으로도 이동이 가능(홀로노믹 제약)하다고 가정하고 경로를 생성한다.A general path planning algorithm or a path planning algorithm for minimizing the amount of computation does not consider the kinematics of the robot and creates a path assuming that movement in any direction is possible (holonomic constraint).

따라서 로봇 제어기에 장애물 충돌이 없는 글로벌 경로가 주어지더라도 이를 추종하는 과정에서 로봇의 운동역학적인 제약으로 인해 에러 없는 경로 추종이 어려우며, 이 과정에서 지도상에 존재한 장애물과 충돌할 수 있다. Therefore, even if the robot controller is given a global path without obstacle collision, it is difficult to follow an error-free path due to kinematic limitations of the robot in the process of following it, and in this process, it may collide with obstacles on the map.

또한 이동 중에 지도상에 없는 동적 장애물이 글로벌 경로 상에 위치하여 글로벌 경로의 추종을 방해할 수도 있다.In addition, dynamic obstacles that are not on the map may be located on the global path during movement and may interfere with following the global path.

KRKR 10-1784500 10-1784500 BB

본 발명은 상기와 같은 기술적 과제를 해결하기 위해 제안된 것으로, 로봇의 제약을 고려하지 않고 생성된 글로벌 경로에 대해 차동 구동형 이동로봇의 운동역학을 고려하여 장애물과 충돌없이 효율적으로 주어진 글로벌 경로를 추종할 수 있는 속도명령을 생성하는 차동 구동형 이동로봇의 운동역학을 고려한 장애물 회피 및 경로 추종방법을 제공한다.The present invention has been proposed to solve the above technical problems, and efficiently provides a given global path without collision with an obstacle by considering the kinematics of a differential drive type mobile robot for a global path generated without considering the constraints of the robot. An obstacle avoidance and path following method considering the kinematics of a differential drive type mobile robot that generates a followable speed command is provided.

상기 문제점을 해결하기 위한 본 발명의 일 실시예에 따르면, 차동 구동형 이동로봇의 운동역학을 고려한 장애물 회피 및 경로 추종방법에 있어서, 로봇과 주변 장애물 간의 최단 거리를 반경으로 한 비장애물 영역을 설정하는 제1 단계와, 미리 주어진 글로벌 경로와 비장애물 영역과의 교점을 비장애물 타겟위치로 결정하는 제2 단계와, 로봇의 선속도와 각속도 간의 허용범위를 고려하여 비장애물 타겟위치로 이동하기 위한 비장애물 타겟속도를 생성하는 제3 단계와, 로봇의 현재 속도와 최대허용 속도 및 최대허용 가속도를 고려한 속도 윈도우 영역을 생성하는 제4 단계와, 속도 윈도우 영역과 비장애물 타겟속도를 고려하여 윈도우 타겟속도를 선택하는 제5 단계와, 장애물을 로봇의 반지름만큼 확장한 영역(장애물 확장영역)과 비장애물 영역 간의 겹침으로 발생하는 장애물 확장영역의 각도 범위를 계산하는 제6 단계와, 제5 단계의 윈도우 타겟속도가 제6 단계의 각속도와 속도 좌표계에서 장애물과 충돌이 예상되는 장애물 충돌 속도영역에 속하지 않을 경우 윈도우 타겟속도를 최종 제어속도로 선택하여 로봇 제어기에 전달하는 최종 제어속도를 선택하는 제7 단계와, 제2 단계의 비장애물 타겟위치가 장애물 확장영역 내에 존재하거나 글로벌 경로와 비장애물 영역과의 교점이 존재하지 않을 경우(비장애물 타겟위치가 정의되지 않은 경우) 로컬 지도 내에서 경로 생성 알고리즘을 실행하여 로컬맵의 테두리와 글로벌 경로 간의 교점을 목표지점, 로봇의 위치를 시작지점으로 하는 로컬 경로를 생성하는 로컬 플래닝을 수행하는 제8 단계를 포함하는 장애물 회피 및 경로 추종방법이 제공된다.According to an embodiment of the present invention for solving the above problem, in the obstacle avoidance and path following method considering the kinematics of a differential drive type mobile robot, an obstacle-free area is set with a radius of the shortest distance between the robot and surrounding obstacles. A first step of doing, a second step of determining the intersection of a given global path and an obstacle-free area as an obstacle-free target position, and a step for moving to an obstacle-free target position considering the allowable range between the linear velocity and the angular velocity of the robot. The third step of generating the target speed without obstacles, the fourth step of generating a speed window area considering the current speed, the maximum allowable speed and the maximum allowable acceleration of the robot, and the window target considering the speed window area and the target speed without obstacles The fifth step of selecting the speed, the sixth step of calculating the angular range of the obstacle extension region generated by the overlap between the obstacle extension region (obstacle extension region) and the non-obstacle region extending the obstacle by the radius of the robot, and the fifth step If the window target speed does not belong to the obstacle collision speed range in which a collision with an obstacle is expected in the angular speed and speed coordinate system of step 6, the window target speed is selected as the final control speed and the final control speed transmitted to the robot controller is selected. Step 2, if the non-obstacle target location of the second step exists within the obstacle extension area or if there is no intersection between the global path and the non-obstacle area (when the non-obstacle target location is not defined), a path generation algorithm within the local map An eighth step of executing local planning to generate a local path with the intersection point between the edge of the local map and the global path as a target point and the location of the robot as a starting point is provided.

또한, 본 발명에서 제1 단계는, 로봇을 중심으로 한 비장애물 영역은 라이다 거리센서를 기반으로 로봇 주변의 장애물과의 거리를 측정하고 그 중 로봇과 가장 가까운 장애물과의 최다 거리를 반경으로 한 원으로 정의 되는 것을 특징으로 한다.In addition, in the first step in the present invention, the obstacle-free area centered on the robot measures the distance to obstacles around the robot based on the LIDAR distance sensor, and among them, the maximum distance between the robot and the nearest obstacle is determined as a radius. It is characterized by being defined as a circle.

또한, 본 발명에서 제7 단계는, 제5 단계의 윈도우 타겟속도가 제6 단계의 장애물 충돌 속도영역에 속할 경우 제4 단계의 속도 윈도우 영역과 제6 단계의 장애물 확장영역의 차집합에 속한 영역 내에서 윈도우 타겟속도와 가장 가까운 각속도와 선속도 쌍을 최종 제어속도로 사용하여 로봇 제어기에 전달하는 것을 특징으로 한다.Further, in the present invention, in the seventh step, when the window target speed of the fifth step belongs to the obstacle collision speed region of the sixth step, the area belonging to the difference between the speed window region of the fourth step and the obstacle extension region of the sixth step It is characterized in that the angular velocity and the linear velocity pair closest to the window target velocity are used as the final control velocity and transmitted to the robot controller.

본 발명의 실시예에 따른 장애물 회피 및 경로 추종방법은 로봇의 제약을 고려하지 않고 생성된 글로벌 경로에 대해 차동 구동형 이동로봇의 운동역학을 고려하여 장애물과 충돌없이 효율적으로 주어진 글로벌 경로를 추종할 수 있는 속도명령을 생성하는 알고리즘이다. 해당 알고리즘이 생성한 속도명령은 차동 구동형 로봇 제어기에 전송되어 로봇의 바퀴를 제어함으로써 로봇을 이동시킨다.An obstacle avoidance and path following method according to an embodiment of the present invention can efficiently follow a given global path without colliding with an obstacle by considering the kinematics of a differential drive type mobile robot for the generated global path without considering the constraints of the robot. It is an algorithm that generates speed commands that can be The speed command generated by the corresponding algorithm is transmitted to the differential drive type robot controller to move the robot by controlling its wheels.

즉, 제안된 장애물 회피 및 경로 추종방법은 차동 구동형 이동로봇의 자율주행 시 장애물 회피 알고리즘으로 활용가능하다. 예를 들어 스마트 팩토리에서 무인 운반차(Automated Guided Vehicle, AGV)를 운용할 경우 작업자 또는 다른 무인 운반차(Automated Guided Vehicle, AGV)와의 충돌을 회피하여 안전하게 이동할 수 있다.That is, the proposed obstacle avoidance and path following method can be used as an obstacle avoidance algorithm during autonomous driving of a differential drive type mobile robot. For example, when an automated guided vehicle (AGV) is operated in a smart factory, it can move safely by avoiding collisions with workers or other automated guided vehicles (AGVs).

도 1은 본 발명의 실시예에 따른 장애물 회피 및 경로 추종방법의 진행과정을 나타낸 도면1 is a diagram showing the progress of an obstacle avoidance and path following method according to an embodiment of the present invention

이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시예를 첨부한 도면을 참조하여 설명하기로 한다.Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings in order to describe in detail enough for those skilled in the art to easily implement the technical idea of the present invention.

제안된 알고리즘(장애물 회피 및 경로 추종방법)의 입력은 6가지 정보((1)미리 설정된 경로 계획 알고리즘이 글로벌 지도를 기반으로 생성한 글로벌 경로, (2)로봇의 현재 속도, (3)로봇의 최대 허용 속도, (4)로봇의 최대 허용 가속도, (5)로봇의 현재 위치, (6)로봇에 장착된 거리 측정 센서(라이다 등) 데이터)이며, 본 알고리즘(장애물 회피 및 경로 추종방법)의 출력은 로봇 제어기로 전송하는 2가지 제어속도명령((1)선속도, (2)각속도)이다.The inputs of the proposed algorithm (obstacle avoidance and path following method) are six types of information ((1) the global path generated by the preset path planning algorithm based on the global map, (2) the current speed of the robot, and (3) the robot’s The maximum allowable speed, (4) the maximum allowable acceleration of the robot, (5) the current position of the robot, (6) the data of the distance measuring sensor (LIDAR, etc.) mounted on the robot), and this algorithm (obstacle avoidance and path following method) The output of is two control speed commands ((1) linear velocity, (2) angular velocity) transmitted to the robot controller.

제안된 알고리즘(장애물 회피 및 경로 추종방법)과 동일한 목적으로 활용되는 기존의 알고리즘으로는 샘플링을 기반으로 한 dynamic window approach(DWA), 주어진 글로벌 경로를 변형시킴으로써 최적화를 수행하는 timed elastic band(TEB), vector field histogram 기반의 알고리즘(VFH+, VFH*) 등이 있다. Existing algorithms used for the same purpose as the proposed algorithm (obstacle avoidance and path following method) include dynamic window approach (DWA) based on sampling and timed elastic band (TEB), which performs optimization by transforming a given global path. , vector field histogram-based algorithms (VFH+, VFH*), etc.

DWA 의 경우 샘플링 개수에 따라 성능의 영향을 크게 받으며, 각 샘플에 대한 비용함수를 계산하기 위한 파라미터의 튜닝이 필요하다. TEB의 경우 비선형 최적화를 위한 그래프 최적화 알고리즘을 적용해야 하며, 이 과정에서 많은 연산량과 파라미터 튜닝이 필요하다. In the case of DWA, the performance is greatly affected by the number of samples, and it is necessary to tune the parameters to calculate the cost function for each sample. In the case of TEB, a graph optimization algorithm for nonlinear optimization must be applied, and in this process, a large amount of computation and parameter tuning are required.

VFH 기반의 알고리즘의 경우 로봇의 최소회전반경을 0보다 큰 값으로 제한함으로써 제자리회전에 대한 명령을 생성할 수 없으며, 또한 로봇의 현재속도, 최대속도, 최대가속도에 대한 고려를 하지 않는다.In the case of the VFH-based algorithm, the robot's minimum rotation radius is limited to a value greater than 0, so it cannot generate commands for stationary rotation, and also does not consider the current speed, maximum speed, and maximum acceleration of the robot.

제안된 알고리즘(장애물 회피 및 경로 추종방법)은 이와 같은 기존의 알고리즘에 비해 낮은 연산량으로 차동 구동 이동로봇의 운동역학을 고려함과 동시에 효율적으로 장애물 회피가 가능한 속도명령을 생성할 수 있다.The proposed algorithm (obstacle avoidance and path following method) can generate a speed command that can efficiently avoid obstacles while considering the kinematics of a differential drive mobile robot with a low computational complexity compared to the existing algorithms.

도 1은 본 발명의 실시예에 따른 장애물 회피 및 경로 추종방법의 진행과정을 나타낸 도면이다.1 is a diagram showing the progress of an obstacle avoidance and path following method according to an embodiment of the present invention.

도 1을 참조하면, 제안된 알고리즘(장애물 회피 및 경로 추종방법)은 아래의 8단계 과정을 반복 수행한다.Referring to FIG. 1, the proposed algorithm (obstacle avoidance and path following method) repeatedly performs the following 8-step process.

1. 로봇과 주변 장애물 간의 최단 거리를 반경으로 한 비장애물 영역을 설정1. Set the obstacle-free area with the radius of the shortest distance between the robot and surrounding obstacles

로봇을 중심으로 한 비장애물 영역은 라이다와 같은 거리센서를 기반으로 로봇 주변의 장애물과의 거리를 측정하고 그 중 로봇과 가장 가까운 장애물과의 최다 거리를 반경으로 한 원이다.The obstacle-free area centered on the robot measures the distance to obstacles around the robot based on a distance sensor such as LIDAR, and is a circle whose radius is the maximum distance between the robot and the nearest obstacle.

비장애물 영역 내부에는 장애물이 없으므로 로봇과 장애물간의 충돌유무를 판단하는 과정에서 연산량을 최소화할 수 있다.Since there is no obstacle inside the obstacle-free area, the amount of calculation can be minimized in the process of determining whether there is a collision between the robot and the obstacle.

2. 미리 주어진 글로벌 경로와 비장애물 영역과의 교점을 비장애물 타겟위치로 결정2. Determine the intersection of the pre-given global path and the non-obstacle area as the non-obstacle target location

글로벌 경로는 미리 설정된 경로 생성 알고리즘을 통해 자율주행 전에 미리 생성되어 제언하는 알고리즘에 제공된다고 가정한다.It is assumed that the global route is generated in advance through a preset route generation algorithm before autonomous driving and is provided to the proposed algorithm.

비장애물 영역 내에는 장애물이 존재하지 않으므로 로봇과 비장애물 타겟위치를 연결하는 글로벌 경로 상에는 장애물이 존재하지 않는다.Since there are no obstacles in the obstacle-free area, there are no obstacles on the global path connecting the robot and the obstacle-free target position.

따라서 로봇은 이동 과정에서 지속적으로 변하는 비장애물 타겟위치를 목적지로 하여 이동하게 된다.Therefore, the robot moves to the non-obstacle target position, which continuously changes during the movement process, as a destination.

3. 차동 구동 로봇의 선속도와 각속도 간의 허용범위를 고려하여 비장애물 타겟위치로 이동하기 위한 비장애물 타겟속도 생성3. Generate the target velocity for moving to the target position without obstacles considering the allowable range between the linear velocity and the angular velocity of the differential drive robot

차동 구동 로봇은 전진하면서 커브 주행을 할 수 있을 뿐 아니라 제자리 회전도 가능하다.Differential drive robots can drive in curves while moving forward, as well as turn in place.

따라서 로봇의 전진방향과 타겟위치와의 거리, 각도 및 선속도와 각속도 간의 제약관계를 고려하여 커브 및 제자리 회전이 가능한 부드러운 타겟속도 생성이 필요하다.Therefore, it is necessary to generate a smooth target velocity capable of curve and rotation in place by considering the distance between the forward direction of the robot and the target position, the angle, and the constraint relationship between linear velocity and angular velocity.

단, 로봇은 후진하지 않는다고 가정한다. 즉 선속도는 0보다 크거나 같다.However, it is assumed that the robot does not move backward. That is, the linear velocity is greater than or equal to zero.

이를 위하여 g(q,qt)를 정의한다.For this, g(q,q t ) is defined.

Figure pat00001
Figure pat00001

선속도 VT(d,θ)는 식(1)을 바탕으로 다음과 같이 계산된다.The linear velocity V T (d, θ) is calculated as follows based on equation (1).

Figure pat00002
Figure pat00002

여기서

Figure pat00003
는 각각 크루징 속도, 목표지점 도달 시의 목표속도, 목표지점과의 거리, 목표지점 도달 시의 속도로 변경하기 위한 임계거리, 타겟과 로봇간의 각도, 속도 조절을 위한 임계각도 이다.here
Figure pat00003
are the cruising speed, the target speed when reaching the target point, the distance from the target point, the critical distance for changing to the speed when reaching the target point, the angle between the target and the robot, and the critical angle for speed control.

단, d는 비장애물 타겟위치가 아닌 최종 목적지와의 거리를 의미하는 반면, θ는 비장애물 타겟위치와의 각도이다.However, d means the distance to the final destination, not the non-obstacle target position, while θ is the angle with the non-obstacle target position.

식(2)에서 v(d)는 로봇과 최종 목적지와의 거리가 dt 이하가 될 경우 Vcruise 의 속도를 Vgoal 로 변환되기 시작하여 최종적으로 Vgoal 의 속도로 최종 목적지에 도착하도록 하는 함수이다.In Equation (2), v(d) is a function that starts converting the speed of V cruise into Vgoal when the distance between the robot and the final destination is less than d t and finally arrives at the final destination at the speed of V goal . .

s(θ)는 스케일러로서 비장애물 타겟위치와 로봇의 전진방향 간의 각도가 θv t 보다 클 경우 0이 되어 선속도를 0으로 만들고, 각도차이가 줄어듦에 따라 1의 값으로 수렴하는 함수이다. 이를 통하여 각도차이가 임계각보다 클 경우 선속도를 제어하여 로봇이 짧은 회전반경과 각속도로 비장애물 타겟위치를 향하도록 하며, 각도차이가 줄어듦에 따라 지속적으로 선속도를 증가시킨다.s(θ) is a scaler function that becomes 0 when the angle between the non-obstacle target position and the forward direction of the robot is greater than θ v t , making the linear velocity 0, and converging to a value of 1 as the angle difference decreases. Through this, if the angular difference is greater than the critical angle, the linear speed is controlled so that the robot is directed to the non-obstacle target position with a short turning radius and angular speed, and the linear speed is continuously increased as the angular difference decreases.

- 각속도 wT(θ)는 다음과 같이 계산된다.- The angular velocity w T (θ) is calculated as:

Figure pat00004
Figure pat00004

여기서, θw b 는 임계 각도로써 θ의 크기가 임계 각도보다 클 경우 θ의 부호에 Wcruise를 곱한 값을 각속도로 하여 빠른 각속도로 로봇이 비장애물 타겟위치로 향하도록 회전하며, θ가 0에 가까워질수록 각속도가 0에 수렴함으로써 로봇의 전진방향을 비장애물 타겟위치 방향으로 고정시키도록 한다.Here, θ w b is a critical angle, and when the magnitude of θ is greater than the critical angle, the value obtained by multiplying the sign of θ by W cruise is used as the angular velocity, and the robot rotates toward the non-obstacle target position at a fast angular velocity, and when θ is 0 As it gets closer, the angular velocity converges to 0, so that the forward direction of the robot is fixed in the direction of the non-obstacle target position.

단 선속도와 각속도 간의 제약조건을 만족시키기 위하여 아래의 부등식을 만족해야 한다.In order to satisfy the constraints between linear velocity and angular velocity, the following inequality must be satisfied.

Figure pat00005
Figure pat00005

또한, 식(4)에서 임계 각도가 π/2 보다 작도록 설정함으로써 로봇의 전진방향과 비장애물 타겟위치 방향과의 각도차의 크기가 π/2보다 클 경우 선속도가 0이 되고, 각속도는 크루징 각속도를 가지게 되어 제자리회전을 하게 된다.In addition, by setting the critical angle to be smaller than π/2 in Equation (4), when the magnitude of the angular difference between the forward direction of the robot and the direction of the non-obstacle target position is greater than π/2, the linear velocity becomes 0, and the angular velocity It has a cruising angular velocity and rotates in place.

4. 로봇의 현재 속도와 최대허용 속도 및 최대허용 가속도를 고려한 속도 윈도우 영역 생성4. Creation of the speed window area considering the robot's current speed, maximum allowable speed, and maximum allowable acceleration

Dynamic Window Approach(DWA)의 방법과 동일하게 각속도-선속도 좌표계에서 로봇의 현재 각속도와 선속도를 중심으로 하며, 로봇의 최대허용 속도, 최대허용 가속도, 제어주기시간 및 차동 구동형 이동로봇의 선속도와 각속도의 허용범위를 고려하여 속도 윈도우 영역을 생성한다.Same as the method of the Dynamic Window Approach (DWA), the current angular velocity and linear velocity of the robot are centered in the angular velocity-linear velocity coordinate system, and the maximum allowable speed of the robot, the maximum allowable acceleration, the control cycle time, and the line of the differential drive type mobile robot A velocity window area is created considering the allowable range of velocity and angular velocity.

속도 윈도우 영역 내에 존재하는 가속도와 속도 쌍을 선택함으로써 로봇의 속도와 가속도에 대한 제약을 고려할 수 있다.By selecting an acceleration and velocity pair that exists within the velocity window region, the constraints on the robot's velocity and acceleration can be considered.

5. 속도 윈도우 영역과 비장애물 타겟속도를 고려하여 윈도우 타겟속도 선택5. Window target speed selection considering the speed window area and non-obstacle target speed

앞서 제3 단계에서 구한 비장애물 타겟속도가 제4 단계의 속도 윈도우 영역 내에 있다면 해당 각속도와 선속도 쌍을 윈도우 타겟속도로 선택한다.If the obstacle-free target velocity obtained in the third step is within the velocity window region of the fourth step, the corresponding angular velocity and linear velocity pair is selected as the window target velocity.

그렇지 않을 경우 속도 윈도우 영역 내에서 비장애물 타겟속도와 가장 가까운 속도를 윈도우 타겟속도로 선택한다.Otherwise, the speed closest to the non-obstacle target speed within the speed window area is selected as the window target speed.

6. 장애물을 로봇의 반지름만큼 확장한 영역(장애물 확장영역)과 비장애물 영역 간의 겹침으로 발생하는 장애물 확장영역의 각도 범위 계산6. Calculation of the angular range of the obstacle expansion area caused by the overlap between the obstacle extension area (obstacle expansion area) and the obstacle-free area

라이다와 같은 거리센서를 사용하여 비장애물 영역과 장애물 확장영역이 겹치는 공간의 시작 각도와 끝 각도를 측정하여 장애물의 각도 범위를 계산한다.Using a distance sensor such as LIDAR, the angle range of the obstacle is calculated by measuring the start angle and end angle of the space where the non-obstacle area and the obstacle extension area overlap.

따라서 비장애물 영역에서 장애물 확장영역의 시작 각도와 끝 각도 사이에 존재하는 호(장애물 호)와 만나는 로봇의 이동경로는 장애물 충돌이 예상되며 이러한 이동경로는 로봇의 속도명령에 의해 결정된다.Therefore, in the obstacle-free area, the robot's movement path that meets the arc (obstacle arc) existing between the start angle and the end angle of the obstacle expansion area is expected to collide with the obstacle, and this movement path is determined by the robot's speed command.

장애물 시작 각도와 끝 각도가 각각 α,β이고 -π/2 < α< β < π/2 의 부등식이 성립된다면 각속도와 속도 좌표계에서 장애물과 충돌이 예상되는 장애물 충돌속도영역은 다음과 같다.If the starting and ending angles of the obstacle are α and β, respectively, and the inequality of -π/2 < α< β < π/2 is established, the collision velocity region of the obstacle in the angular velocity and velocity coordinate system is expected to be as follows.

Figure pat00006
Figure pat00006

여기서 R0는 비장애물 영역의 반지름이며, |α|<ε(ε은 0에 가까운 미소값)인 경우 ω=0, 즉 v축과

Figure pat00007
사이의 공간이 장애물 충돌 속도영역이 된다.Here, R 0 is the radius of the non-obstacle area, and when |α|<ε (ε is a small value close to 0), ω=0, that is, the v-axis and
Figure pat00007
The space between them becomes the obstacle collision speed region.

장애물 시작 각도와 끝 각도의 범위가 -π/2 ~ π/2 인 이유는 식(4)에서 로봇과 타겟간의 각도차이가 π/2보다 크거나 같을 경우 식(2)의 s(θ)가 0이 되므로 제자리회전을 하게 되며, 이 경우 로봇과 장애물 간의 충돌은 발생하지 않기 때문이다. -π/2 ~ π/2 의 범위가 아닌 장애물 시작 각도와 끝 각도는 무시한다.The reason why the range of the obstacle start angle and end angle is -π/2 to π/2 is that when the angle difference between the robot and the target in Equation (4) is greater than or equal to π/2, s(θ) in Equation (2) is Since it becomes 0, it rotates in place, and in this case, collision between the robot and the obstacle does not occur. Obstacle start and end angles outside the range of -π/2 to π/2 are ignored.

7. 최종 제어속도 선택7. Final control speed selection

만약 제5 단계의 윈도우 타겟속도가 제6 단계의 장애물 충돌 속도영역에 속하지 않을 경우 윈도우 타겟속도를 최종 제어속도로 선택하여 로봇 제어기에 전달한다.If the window target speed of step 5 does not belong to the obstacle collision speed range of step 6, the window target speed is selected as the final control speed and transmitted to the robot controller.

만약 제5 단계의 윈도우 타겟속도가 제6 단계의 장애물 충돌 속도영역에 속할 경우 제4 단계의 영역과 제6 단계의 영역의 차집합에 속한 영역 내에서 윈도우 타겟속도와 가장 가까운 각속도와 선속도 쌍을 최종 제어속도로 사용하여 로봇 제어기에 전달한다.If the window target velocity of step 5 belongs to the obstacle collision velocity region of step 6, the angular velocity and linear velocity pair closest to the window target velocity within the region belonging to the difference set between the region of step 4 and the region of step 6 is used as the final control speed and transmitted to the robot controller.

8. 로컬 플래닝 수행8. Do local planning

만약 제2 단계의 비장애물 타겟위치가 장애물 확장영역 내에 존재하거나 글로벌 경로와 비장애물 영역과의 교점이 존재하지 않을 경우(즉, 비장애물 타겟위치가 정의되지 않은 경우) 로컬 지도 내에서 경로 생성 알고리즘을 실행하여 로컬맵의 테두리와 글로벌 경로 간의 교점을 목표지점, 로봇의 위치를 시작지점으로 하는 로컬 경로를 생성한다.If the obstacle-free target location of the second step exists within the obstacle expansion area or if there is no intersection between the global path and the obstacle-free area (ie, when the obstacle-free target location is not defined), the path generation algorithm in the local map Execute to create a local path with the intersection point between the border of the local map and the global path as the target point and the robot's location as the starting point.

로컬 지도는 로봇을 중심으로 하며 거리 센서 정보로부터 지속적으로 업데이트 되는, 글로벌 지도보다 상대적으로 작은 크기의 코스트맵(COSTMAP)이다.The local map is a cost map (COSTMAP) with a relatively smaller size than the global map, centered on the robot and continuously updated from distance sensor information.

로컬 지도에서 경로 계획 알고리즘을 수행하기 때문에 글로벌 지도를 사용하는 것에 비해 연산량이 적으며, 따라서 실시간 경로 생성이 가능하다.Since the route planning algorithm is performed on the local map, the amount of computation is less compared to using the global map, so real-time route generation is possible.

본 발명의 실시예에 따른 장애물 회피 및 경로 추종방법은 로봇의 제약을 고려하지 않고 생성된 글로벌 경로에 대해 차동 구동형 이동로봇의 운동역학을 고려하여 장애물과 충돌없이 효율적으로 주어진 글로벌 경로를 추종할 수 있는 속도명령을 생성하는 알고리즘이다. 해당 알고리즘이 생성한 속도명령은 차동 구동형 로봇 제어기에 전송되어 로봇의 바퀴를 제어함으로써 로봇을 이동시킨다.An obstacle avoidance and path following method according to an embodiment of the present invention can efficiently follow a given global path without colliding with an obstacle by considering the kinematics of a differential drive type mobile robot for the generated global path without considering the constraints of the robot. It is an algorithm that generates speed commands that can be The speed command generated by the corresponding algorithm is transmitted to the differential drive type robot controller to move the robot by controlling its wheels.

즉, 제안된 장애물 회피 및 경로 추종방법은 차동 구동형 이동로봇의 자율주행 시 장애물 회피 알고리즘으로 활용가능하다. 예를 들어 스마트 팩토리에서 무인 운반차(Automated Guided Vehicle, AGV)를 운용할 경우 작업자 또는 다른 무인 운반차(Automated Guided Vehicle, AGV)와의 충돌을 회피하여 안전하게 이동할 수 있다.That is, the proposed obstacle avoidance and path following method can be used as an obstacle avoidance algorithm during autonomous driving of a differential drive type mobile robot. For example, when an automated guided vehicle (AGV) is operated in a smart factory, it can move safely by avoiding collisions with workers or other automated guided vehicles (AGVs).

이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, those skilled in the art to which the present invention pertains will be able to understand that the present invention may be embodied in other specific forms without changing its technical spirit or essential features. Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. The scope of the present invention is indicated by the following claims rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

Claims (3)

차동 구동형 이동로봇의 운동역학을 고려한 장애물 회피 및 경로 추종방법에 있어서,
로봇과 주변 장애물 간의 최단 거리를 반경으로 한 비장애물 영역을 설정하는 제1 단계;
미리 주어진 글로벌 경로와 비장애물 영역과의 교점을 비장애물 타겟위치로 결정하는 제2 단계;
로봇의 선속도와 각속도 간의 허용범위를 고려하여 비장애물 타겟위치로 이동하기 위한 비장애물 타겟속도를 생성하는 제3 단계;
로봇의 현재 속도와 최대허용 속도 및 최대허용 가속도를 고려한 속도 윈도우 영역을 생성하는 제4 단계;
속도 윈도우 영역과 비장애물 타겟속도를 고려하여 윈도우 타겟속도를 선택하는 제5 단계;
장애물을 로봇의 반지름만큼 확장한 영역(장애물 확장영역)과 비장애물 영역 간의 겹침으로 발생하는 장애물 확장영역의 각도 범위를 계산하는 제6 단계;
제5 단계의 윈도우 타겟속도가 제6 단계의 각속도와 속도 좌표계에서 장애물과 충돌이 예상되는 장애물 충돌 속도영역에 속하지 않을 경우 윈도우 타겟속도를 최종 제어속도로 선택하여 로봇 제어기에 전달하는 최종 제어속도를 선택하는 제7 단계; 및
제2 단계의 비장애물 타겟위치가 장애물 확장영역 내에 존재하거나 글로벌 경로와 비장애물 영역과의 교점이 존재하지 않을 경우(비장애물 타겟위치가 정의되지 않은 경우) 로컬 지도 내에서 경로 생성 알고리즘을 실행하여 로컬맵의 테두리와 글로벌 경로 간의 교점을 목표지점, 로봇의 위치를 시작지점으로 하는 로컬 경로를 생성하는 로컬 플래닝을 수행하는 제8 단계;
를 포함하는 장애물 회피 및 경로 추종방법.
In the obstacle avoidance and path following method considering the kinematics of a differential drive type mobile robot,
A first step of setting an obstacle-free area with a radius of the shortest distance between the robot and surrounding obstacles;
a second step of determining an intersection between a pre-given global path and an obstacle-free area as an obstacle-free target position;
A third step of generating an obstacle-free target velocity for moving to a target-free position in consideration of an allowable range between the linear velocity and the angular velocity of the robot;
A fourth step of generating a speed window area considering the current speed, maximum allowable speed, and maximum allowable acceleration of the robot;
a fifth step of selecting a window target velocity in consideration of the velocity window area and the non-obstacle target velocity;
a sixth step of calculating an angular range of an extended obstacle area generated by overlapping an area obtained by extending an obstacle by the radius of the robot (an obstacle extended area) and a non-obstacle area;
If the window target speed in step 5 does not belong to the obstacle collision speed range in which a collision with an obstacle is expected in the angular velocity and speed coordinate system in step 6, the final control speed transmitted to the robot controller by selecting the window target speed as the final control speed a seventh step of selecting; and
When the non-obstacle target location of the second step exists within the obstacle extension area or there is no intersection between the global path and the non-obstacle area (when the non-obstacle target location is not defined), the path creation algorithm is executed in the local map. An eighth step of performing local planning to generate a local path using the intersection of the edge of the local map and the global path as a target point and the location of the robot as a starting point;
Obstacle avoidance and path following method comprising a.
제1항에 있어서,
제1 단계는,
로봇을 중심으로 한 비장애물 영역은 라이다 거리센서를 기반으로 로봇 주변의 장애물과의 거리를 측정하고 그 중 로봇과 가장 가까운 장애물과의 최다 거리를 반경으로 한 원으로 정의 되는 것을 특징으로 하는 장애물 회피 및 경로 추종방법.
According to claim 1,
The first step is
The obstacle-free area centered on the robot measures the distance to obstacles around the robot based on the lidar distance sensor, and is defined as a circle with the maximum distance between the robot and the closest obstacle among them as a radius. Evasion and path following methods.
제1항에 있어서,
제7 단계는,
제5 단계의 윈도우 타겟속도가 제6 단계의 장애물 충돌 속도영역에 속할 경우 제4 단계의 속도 윈도우 영역과 제6 단계의 장애물 확장영역의 차집합에 속한 영역 내에서 윈도우 타겟속도와 가장 가까운 각속도와 선속도 쌍을 최종 제어속도로 사용하여 로봇 제어기에 전달하는 것을 특징으로 하는 장애물 회피 및 경로 추종방법.
According to claim 1,
Step 7 is
If the window target velocity of step 5 belongs to the obstacle collision speed region of step 6, the angular velocity closest to the window target velocity within the region belonging to the difference between the velocity window region of step 4 and the obstacle extension region of step 6 An obstacle avoidance and path following method characterized in that the linear speed pair is used as the final control speed and transmitted to the robot controller.
KR1020210140015A 2021-10-20 2021-10-20 Obstacle avoidance and path tracking method considering the kinetic dynamics of a differential driving robot KR102563074B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210140015A KR102563074B1 (en) 2021-10-20 2021-10-20 Obstacle avoidance and path tracking method considering the kinetic dynamics of a differential driving robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210140015A KR102563074B1 (en) 2021-10-20 2021-10-20 Obstacle avoidance and path tracking method considering the kinetic dynamics of a differential driving robot

Publications (2)

Publication Number Publication Date
KR20230056225A true KR20230056225A (en) 2023-04-27
KR102563074B1 KR102563074B1 (en) 2023-08-02

Family

ID=86099665

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210140015A KR102563074B1 (en) 2021-10-20 2021-10-20 Obstacle avoidance and path tracking method considering the kinetic dynamics of a differential driving robot

Country Status (1)

Country Link
KR (1) KR102563074B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117519151A (en) * 2023-11-02 2024-02-06 霞智科技有限公司 Mobile robot control method based on dynamic window method and dynamic model

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129238A (en) * 1993-11-01 1995-05-19 Fujitsu Ltd Generation system for obstacle avoiding path
KR101784500B1 (en) 2016-06-14 2017-10-12 인하대학교 산학협력단 Distance determination method for normally distributed obstacle avoidance of mobile robots in stochastic environments
KR20190022435A (en) * 2017-03-27 2019-03-06 핑안 테크놀로지 (션젼) 컴퍼니 리미티드 Robot Obstacle Avoidance Control System, Method, Robot and Storage Medium
KR20190093745A (en) * 2018-01-10 2019-08-12 부산대학교 산학협력단 Apparatus and Method for Avoiding Obstacle of Mobile Robot using Line Information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129238A (en) * 1993-11-01 1995-05-19 Fujitsu Ltd Generation system for obstacle avoiding path
KR101784500B1 (en) 2016-06-14 2017-10-12 인하대학교 산학협력단 Distance determination method for normally distributed obstacle avoidance of mobile robots in stochastic environments
KR20190022435A (en) * 2017-03-27 2019-03-06 핑안 테크놀로지 (션젼) 컴퍼니 리미티드 Robot Obstacle Avoidance Control System, Method, Robot and Storage Medium
JP2019516146A (en) * 2017-03-27 2019-06-13 平安科技(深▲せん▼)有限公司Ping An Technology (Shenzhen) Co.,Ltd. Robot obstacle avoidance control system, method, robot and storage medium
KR20190093745A (en) * 2018-01-10 2019-08-12 부산대학교 산학협력단 Apparatus and Method for Avoiding Obstacle of Mobile Robot using Line Information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117519151A (en) * 2023-11-02 2024-02-06 霞智科技有限公司 Mobile robot control method based on dynamic window method and dynamic model

Also Published As

Publication number Publication date
KR102563074B1 (en) 2023-08-02

Similar Documents

Publication Publication Date Title
Li et al. Development of a new integrated local trajectory planning and tracking control framework for autonomous ground vehicles
Morales et al. Pure-pursuit reactive path tracking for nonholonomic mobile robots with a 2D laser scanner
CN113165648A (en) Control system and control method for planning possible trajectories of a motor vehicle on the basis of sampling
CN111830979B (en) Track optimization method and device
Li et al. A practical trajectory planning framework for autonomous ground vehicles driving in urban environments
Pamosoaji et al. PSO-based minimum-time motion planning for multiple vehicles under acceleration and velocity limitations
Yang et al. Smooth trajectory planning along Bezier curve for mobile robots with velocity constraints
CN113625702B (en) Unmanned vehicle simultaneous path tracking and obstacle avoidance method based on quadratic programming
WO2019167511A1 (en) Mobile body control device and mobile body control method
KR102563074B1 (en) Obstacle avoidance and path tracking method considering the kinetic dynamics of a differential driving robot
CN115309163A (en) Local path planning method based on improved direction evaluation function DWA algorithm
Kumagai et al. Achievement of recognition guided teleoperation driving system for humanoid robots with vehicle path estimation
Mathew et al. Development of waypoint tracking controller for differential drive mobile robot
Vilca et al. An overall control strategy based on target reaching for the navigation of an urban electric vehicle
Han et al. The Leader-Follower Formation Control of Nonholonomic Vehicle With Follower-Stabilizing Strategy
Xiao et al. Smooth trajectory tracking using longitudinal distance constraint for a 4WS4WD unmanned ground vehicle
CN112947487A (en) Automatic guide vehicle and curve path tracking method and control device thereof
Li et al. Predictable Trajectory Planner in Time-domain and Hierarchical Motion Controller for Intelligent Vehicles in Structured Road
Heinrich et al. Precise object-relative positioning for car-like robots
Brandao et al. Autonomous navigation with obstacle avoidance for a car-like robot
CN114253241B (en) Path tracking method for industrial intelligent trolley
Dogruer Trajectory tracking with MPC by maximizing the autocorrelation of heading angle
Borrello et al. Trajectory Planning based on Model Predictive Control with Dynamic Obstacle Avoidance in Unstructured Environments
REBAI et al. EKF-DWA for car-like robot navigation in presence of moving obstacles
Campani et al. A minimalist approach to path following among unknown obstacles

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant