KR102043403B1 - Motorized moving object and method for controlling the same - Google Patents

Motorized moving object and method for controlling the same Download PDF

Info

Publication number
KR102043403B1
KR102043403B1 KR1020180035318A KR20180035318A KR102043403B1 KR 102043403 B1 KR102043403 B1 KR 102043403B1 KR 1020180035318 A KR1020180035318 A KR 1020180035318A KR 20180035318 A KR20180035318 A KR 20180035318A KR 102043403 B1 KR102043403 B1 KR 102043403B1
Authority
KR
South Korea
Prior art keywords
information
drive
driving wheel
driving
torque
Prior art date
Application number
KR1020180035318A
Other languages
Korean (ko)
Other versions
KR20190113102A (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 KR1020180035318A priority Critical patent/KR102043403B1/en
Publication of KR20190113102A publication Critical patent/KR20190113102A/en
Application granted granted Critical
Publication of KR102043403B1 publication Critical patent/KR102043403B1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D13/00Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover
    • G05D13/34Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover with auxiliary non-electric power
    • G05D13/52Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover with auxiliary non-electric power using regulating devices with proportional band and derivative action, i.e. PD regulating devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D13/00Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover
    • G05D13/34Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover with auxiliary non-electric power
    • G05D13/60Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover with auxiliary non-electric power using regulating devices with proportional band, derivative and integral action, i.e. PID regulating devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2201/00Application
    • G05D2201/02Control of position of land vehicles
    • G05D2201/0216Vehicle for transporting goods in a warehouse, factory or similar

Abstract

전동식 이동 대차와 같은 이동체와 연관된 동역학 정보에 기반하여, 이동체의 구동 바퀴에 대한 구동 토크를 계산함으로써 해당 구동 바퀴와 연관된 모터를 제어하기 위한 제어 전류를 계산하고, 이에 따라 구동 바퀴를 제어하고, 이러한 구동 바퀴의 제어를 통해 이동체의 이동에 따라 발생되는 원심력 및 관성 중 적어도 하나에 의한 상기 이동체의 이동 오차를 보상하는, 이동체의 제어 방법이 제공된다. Based on the kinetic information associated with the moving body, such as an electric moving bogie, calculating the drive torque for the driving wheel of the moving body to calculate the control current for controlling the motor associated with that driving wheel, and thereby controlling the driving wheel, Provided is a control method of a mobile body, which compensates for a movement error of the mobile body by at least one of centrifugal force and inertia generated according to the movement of the mobile body through control of a driving wheel.

Description

모터로 구동되는 이동체 및 그 제어 방법{MOTORIZED MOVING OBJECT AND METHOD FOR CONTROLLING THE SAME}MOTORIZED MOVING OBJECT AND METHOD FOR CONTROLLING THE SAME}

실시예들은 전동식 이동 대차와 같은 이동체의 제어 방법에 관한 것으로, 특히, 가속도 정보에 기반하여 터치 이동체를 제어함으로써 이동체의 이동에 따라 발생되는 원심력/관성에 의한 이동체의 이동 오차를 보상하는 방법과 관련된다.Embodiments relate to a method of controlling a moving object such as an electric moving cart, and more particularly, to a method of compensating for a moving error of a moving object due to centrifugal force / inertia generated by moving a moving object by controlling a touch moving object based on acceleration information. do.

최근, 일상 환경이나 산업 현장 등의 다양한 용도에 있어서 물건을 운반 및 운송하기 위한 용도로 이동 대차(moving vehicle)나 카트(cart)와 같은 이동체가 널리 사용되고 있다. 이러한, 이동체에 무거운 물건을 적재하는 경우 이동체를 통해 해당 물건을 운반함에 있어서 이동체의 이동(즉, 속도 및 방향)을 올바르게 제어하기가 어렵다. Background Art Recently, a mobile vehicle such as a moving vehicle or a cart has been widely used for carrying and transporting an object in various applications such as daily environments and industrial sites. In the case of loading a heavy object on the moving object, it is difficult to correctly control the movement (ie, speed and direction) of the moving object in carrying the object through the moving object.

이에 따라, 이동체에 바퀴에 모터를 구비하여 구동 바퀴를 구성하고 구동 바퀴의 동작에 의해 이동체가 이동될 수 있도록 하는 전동식 이동체가 개발되고 있다. 이러한 전동식 이동체를 사용하는 경우, 사용자가 이동체에 대해 작은 힘만을 가하더라도, 모터에 의해 구동되는 구동 바퀴를 통해 이동체가 용이하게 이동할 수 있다. Accordingly, a motor-driven mobile body has been developed that includes a motor in a wheel to form a driving wheel and to move the mobile body by the operation of the driving wheel. In the case of using such an electric movable body, even if a user applies only a small force to the movable body, the movable body can be easily moved through the driving wheel driven by the motor.

그러나, 이러한 전동식 이동체의 안정적인 사용을 위해서는 지면의 상태나 그 이동 속도 및 방향에 따라서 이러한 전동식 이동체의 자세 및 이동 속도를 적절하게 제어할 필요가 있다. However, for the stable use of such a motorized moving object, it is necessary to appropriately control the posture and the moving speed of the electric moving object in accordance with the state of the ground and its moving speed and direction.

전동식 이동체의 자세 및 이동 속도를 제어하기 위해서는 관성 측정 유닛(Inertial Measurement Unit) 및 엔코더(encoder)와 같은 하이 레벨의 센서를 통해 측정된 데이터를 사용할 수 있다. 그러나, 이러한 IMU 및 엔코더와 같은 부품은 고가이며, 이를 사용하여 전동식 이동체의 자세 및 이동 속도를 제어하는 경우에도 저속에서 이동체를 안정적으로 제어하기가 어려운 문제가 있다. In order to control the posture and the moving speed of the motorized moving object, data measured by high level sensors such as an inertial measurement unit and an encoder may be used. However, such components such as IMUs and encoders are expensive, and there is a problem that it is difficult to stably control the moving object at low speed even when controlling the posture and the moving speed of the motorized moving object using the same.

따라서, IMU 및 엔코더와 같은 고가이며 복잡한 센서를 요구하지 않고, 저속에서도 전동식 이동체의 자세 및 이동 속도를 안정적으로 제어할 수 있도록 하는 전동식 이동체의 제어 방법이 요구된다. Therefore, there is a need for a method of controlling a motorized moving object that can stably control the posture and the moving speed of the electric moving object even at a low speed without requiring expensive and complicated sensors such as an IMU and an encoder.

공개실용신안공보 제20-2012-0001845호(공개일 2012년 03월 12일)는 한 쌍의 좌우 조작 핸들을 구비하고, 좌우 조작 핸들에 인가되는 힘을 감지한 후, 이에 따라 한 쌍의 좌우 구동 모터를 구동하여 주행할 수 있는 전동식 카트를 개시하고 있다.Published Utility Model Publication No. 20-2012-0001845 (published March 12, 2012) includes a pair of left and right manipulation handles, and after detecting a force applied to the left and right manipulation handles, An electric cart capable of driving by driving a drive motor is disclosed.

상기에서 설명된 정보는 단지 이해를 돕기 위한 것이며, 종래 기술의 일부를 형성하지 않는 내용을 포함할 수 있으며, 종래 기술이 통상의 기술자에게 제시할 수 있는 것을 포함하지 않을 수 있다.The information described above is merely for the sake of understanding, and may include content that does not form part of the prior art, and may not include what the prior art may suggest to those skilled in the art.

일 실시예는, 기 정의된 이동체의 모델링 정보 및 로우 레벨(low-level) 센서를 통해 획득된 이동체의 구동 바퀴와 연관된 속도 정보를 포함하는 동역학 정보에 기반하여, 구동 바퀴에 대한 구동 토크를 계산하고 이에 기반하여 구동 바퀴를 제어하는 방법을 제공할 수 있다.In one embodiment, the driving torque for the driving wheel is calculated based on the dynamic information including the modeling information of the moving body and the speed information associated with the driving wheel of the moving body obtained through a low-level sensor. And it can provide a method for controlling the driving wheel based on this.

일 실시예는, 이동체의 모델링 정보와 레벨 센서를 통해 획득된 속도 정보에 기반하여 획득된 가속도 정보를 사용하여 구동 바퀴에 대한 구동 토크 및 모터에 대한 제어 전류를 계산하고, 구동 바퀴를 제어하는 방법을 제공할 수 있다.According to an embodiment of the present disclosure, a driving torque for a driving wheel and a control current for a motor are calculated using the acceleration information obtained based on the modeling information of the moving body and the speed information obtained through the level sensor, and the driving wheel is controlled. Can be provided.

일 실시예는, 이동체에 외력이 가해질 때, 힘 감지 센서에 의해 획득된 힘 정보를 가속도 정보로 변환하고, 변환된 가속도 정보를 사용하여 구동 바퀴에 대한 구동 토크 및 모터에 대한 제어 전류를 계산하여 구동 바퀴를 제어하는 방법을 제공할 수 있다.In one embodiment, when an external force is applied to the moving body, the force information obtained by the force sensor is converted into acceleration information, and the drive torque for the driving wheel and the control current for the motor are calculated by using the converted acceleration information. It is possible to provide a method of controlling the drive wheels.

일 측면에 있어서, 이동체의 움직임을 제어하는 방법이 있어서, 상기 이동체와 연관된 동역학 정보에 기반하여, 상기 이동체의 구동 바퀴에 대한 구동 토크를 계산함으로써, 상기 이동체의 구동 바퀴와 연관된 모터를 제어하기 위한 제어 전류를 계산하는 단계 및 상기 계산된 제어 전류에 기반하여 상기 모터를 제어함으로써 상기 구동 바퀴를 제어하는 단계를 포함하고, 상기 동역학 정보는 기 정의된 상기 이동체의 모델링 정보 및 로우 레벨(low-level) 센서를 통해 획득된 상기 구동 바퀴와 연관된 속도 정보를 포함하고, 상기 구동 토크는 상기 모델링 정보 및 상기 속도 정보에 기반하여 획득된 가속도 정보를 사용하여 계산되고, 상기 제어 전류에 의해 상기 구동 바퀴가 제어됨으로써, 상기 이동체의 이동에 따라 발생되는 원심력 및 관성 중 적어도 하나에 의한 상기 이동체의 이동 오차가 보상되는, 이동체의 제어 방법이 제공된다. In one aspect, there is a method for controlling the movement of a moving body, the method comprising: controlling a motor associated with a driving wheel of the moving body by calculating a driving torque for the driving wheel of the moving body based on dynamic information associated with the moving body. Calculating a control current and controlling the driving wheel by controlling the motor based on the calculated control current, wherein the dynamics information includes a modeling information and a low-level of the predefined moving object. And the speed information associated with the driving wheel obtained through the sensor, wherein the driving torque is calculated using the acceleration information obtained based on the modeling information and the speed information, and the driving wheel is driven by the control current. By controlling, at least one of the centrifugal force and the inertia generated by the movement of the movable body Provided is a control method of a mobile body, by which a movement error of the mobile body is compensated for.

상기 로우 레벨 센서는 홀 센서일 수 있다. The low level sensor may be a hall sensor.

상기 가속도 정보는 상기 속도 정보와 상기 속도 정보를 적분함에 기반하여 추정되는 상기 이동체와 연관된 위치 정보에 PD (Prpportional-Derivative) 또는 PID (Proportional Integral Derivative) 제어기를 적용함으로써 추정되는 값에 기반할 수 있다.The acceleration information may be based on a value estimated by applying a Proportional-Derivative (PD) or Proportional Integral Derivative (PID) controller to position information associated with the moving object estimated based on the integration of the speed information and the speed information. .

상기 가속도 정보는 상기 이동체 내에서의 상기 모터의 위치 및 상기 구동 바퀴의 위치에 따라, 상기 이동체의 이동 시에 발생하는 가속도 오차를 나타내는 정보일 수 있다.The acceleration information may be information indicating an acceleration error occurring when the moving body moves, depending on the position of the motor and the position of the driving wheel in the moving body.

상기 구동 바퀴는 좌측 구동 바퀴 및 우측 구동 바퀴를 포함할 수 있다. The drive wheels may include left drive wheels and right drive wheels.

상기 구동 토크는 상기 좌측 구동 바퀴 및 상기 우측 구동 바퀴에 대한 구동 토크로서 수학식 1에 의해 계산될 수 있다. The driving torque may be calculated by Equation 1 as driving torques for the left driving wheel and the right driving wheel.

[수학식 1][Equation 1]

Figure 112018030478623-pat00001
Figure 112018030478623-pat00001

상기 TCL 은 상기 좌측 구동 바퀴에 대한 구동 토크이고, 상기 TCR 은 상기 우측 구동 바퀴에 대한 구동 토크이고, 상기 AB는 각각 상기 모델링 정보에 기반하여 획득된 상수이고, 상기 d는 상기 좌측 구동 바퀴 및 상기 우측 구동 바퀴의 중심으로부터 상기 좌측 구동 바퀴 또는 상기 우측 구동 바퀴까지의 거리이고, 상기 Ax 는 상기 이동체의 이동 변위 x에 대한 상기 가속도 오차이고, 상기 Aθ 는 상기 이동체의 회전 각도 θ에 대한 상기 가속도 오차일 수 있다. T CL is a drive torque for the left drive wheel, T CR is a drive torque for the right drive wheel, A and B are constants obtained based on the modeling information, respectively, and d is the left side. Distance from the center of the driving wheel and the right driving wheel to the left driving wheel or the right driving wheel, A x is the acceleration error with respect to the moving displacement x of the moving body, and A θ is the rotation angle of the moving body It may be the acceleration error with respect to θ .

상기 제어 전류는 상기 구동 토크에 상기 구동 바퀴 또는 상기 모터와 연관된 토크 상수를 나눔으로써 계산될 수 있다. The control current can be calculated by dividing the torque constant associated with the drive wheel or the motor by the drive torque.

상기 모델링 정보는, 상기 이동체의 무게, 상기 구동 바퀴의 무게, 상기 구동 바퀴의 반경, 상기 이동체의 무게 중심에 대한 상기 구동 바퀴의 위치 관계 정보, 및 상기 이동체와 연관된 관성 모멘트를 포함할 수 있다. The modeling information may include weight of the movable body, weight of the driving wheel, radius of the driving wheel, positional relationship information of the driving wheel with respect to the center of gravity of the movable body, and an inertia moment associated with the movable body.

상기 가속도 정보는 상기 이동체의 이동에 따라 변화할 수 있다. The acceleration information may change according to the movement of the moving body.

상기 변화하는 가속도 정보에 따라 계산된 상기 구동 토크에 기반하여 계산된 제어 전류를 사용하여, 상기 구동 바퀴는 연속적으로 제어될 수 있다. Using the control current calculated based on the drive torque calculated according to the changing acceleration information, the drive wheels can be continuously controlled.

상기 제어 전류를 생성하는 단계는, 상기 이동체에 외력이 가해질 때, 힘 감지 센서에 의해 획득된 힘 정보를 가속도 정보로 변환하고, 상기 변환된 가속도 정보를 더 사용하여 상기 구동 토크를 계산함으로써, 상기 제어 전류를 생성할 수 있다. The generating of the control current may include converting the force information obtained by the force sensing sensor into acceleration information when the external force is applied to the moving object, and calculating the driving torque by further using the converted acceleration information. Control current can be generated.

상기 구동 바퀴는 좌측 구동 바퀴 및 우측 구동 바퀴를 포함할 수 있다. 상기 구동 토크는 상기 좌측 구동 바퀴 및 상기 우측 구동 바퀴에 대한 구동 토크로서 수학식 2에 의해 계산될 수 있다. The drive wheels may include left drive wheels and right drive wheels. The driving torque may be calculated by Equation 2 as driving torques for the left driving wheel and the right driving wheel.

[수학식 2][Equation 2]

Figure 112018030478623-pat00002
Figure 112018030478623-pat00002

상기 TCL 은 상기 좌측 구동 바퀴에 대한 구동 토크이고, 상기 TCR 은 상기 우측 구동 바퀴에 대한 구동 토크이고, 상기 AB는 각각 상기 모델링 정보에 기반하여 획득된 상수이고, 상기 FL 상기 외력 중 상기 좌측 구동 바퀴에 전달되는 힘이고, 상기 FR 는 상기 외력 중 상기 우측 구동 바퀴에 전달되는 힘이고, 상기 Aa Ab 는 상기 외력을 가속도로 변환하기 위한 상수일 수 있다. The T CL is a drive torque for the left drive wheels, the T CR is a drive torque for the right drive wheels, A and B are constants obtained based on the modeling information, respectively, and the F L external force. Among the forces transmitted to the left driving wheel, F R is the force transmitted to the right driving wheel of the external force, A A and A b may be a constant for converting the external force into acceleration.

다른 일 측면에 있어서, 전동식으로 구동되는 이동체에 있어서, 모터에 의해 구동되는 구동 바퀴, 상기 구동 바퀴와 연관된 속도 정보를 획득하는 적어도 하나의 로우 레벨(low-level) 센서, 및 상기 이동체와 연관된 동역학 정보에 기반하여, 상기 구동 바퀴에 대한 구동 토크를 계산함으로써, 상기 구동 바퀴와 연관된 모터를 제어하기 위한 제어 전류를 계산하고, 상기 계산된 제어 전류에 기반하여 상기 모터를 제어함으로써 상기 구동 바퀴를 제어하는 제어부를 포함하고, 상기 동역학 정보는 기 정의된 상기 이동체의 모델링 정보 및 상기 속도 정보를 포함하고, 상기 제어부는 상기 모델링 정보 및 상기 속도 정보에 기반하여 획득된 가속도 정보를 사용하여 상기 구동 토크를 계산하고, 상기 제어 전류에 의해 상기 구동 바퀴가 제어됨으로써, 상기 이동체의 이동에 따라 발생되는 원심력 및 관성 중 적어도 하나에 의한 상기 이동체의 이동 오차가 보상되는, 이동체가 제공된다. In another aspect, an electrically driven mobile body, comprising: a drive wheel driven by a motor, at least one low-level sensor for obtaining speed information associated with the drive wheel, and dynamics associated with the mobile body Based on the information, calculating the drive torque for the drive wheel, calculating a control current for controlling the motor associated with the drive wheel, and controlling the drive wheel by controlling the motor based on the calculated control current. And a control unit, wherein the dynamic information includes predefined modeling information and the speed information of the moving object, and the control unit uses the acceleration information obtained based on the modeling information and the speed information to adjust the driving torque. Calculate, and the drive wheel is controlled by the control current, thereby the movement The movement of the centrifugal force and inertia caused by the moving object, at least one being a movement compensation error of the mobile body according to is provided.

상기 로우 레벨 센서는 홀 센서일 수 있다. The low level sensor may be a hall sensor.

상기 제어부는 상기 속도 정보와 상기 속도 정보를 적분함에 기반하여 추정되는 상기 이동체와 연관된 위치 정보에 PD (Prpportional-Derivative) 또는 PID (Proportional Integral Derivative) 제어기를 적용한 값에 기반하여 상기 가속도 정보를 추정할 수 있다. The control unit may estimate the acceleration information based on a value of applying a Proportional-Derivative (PD) or Proportional Integral Derivative (PID) controller to position information associated with the moving object estimated based on the integration of the speed information and the speed information. Can be.

상기 구동 바퀴는 한 쌍을 이루는 좌측 구동 바퀴 및 우측 구동 바퀴를 포함할 수 있다. The drive wheels may include a pair of left drive wheels and right drive wheels.

상기 제어부는 상기 좌측 구동 바퀴 및 상기 우측 구동 바퀴에 대한 구동 토크로서 상기 구동 토크를 각각 계산할 수 있다. The controller may calculate the driving torque as driving torque for the left driving wheel and the right driving wheel, respectively.

상기 이동체는 상기 이동체에 대해 사용자에 의한 외력을 가하기 위한 손잡이부 및 상기 손잡이부를 통해 가해지는 상기 외력을 측정하기 위한 힘 감지 센서를 더 포함할 수 있다. The movable body may further include a handle part for applying an external force by the user to the movable body and a force sensing sensor for measuring the external force applied through the handle part.

상기 제어부는, 상기 이동체에 외력이 가해질 때, 상기 힘 감지 센서에 의해 획득된 힘 정보를 가속도 정보로 변환하고, 상기 변환된 가속도 정보를 더 사용하여 상기 구동 토크를 계산할 수 있다. When the external force is applied to the moving body, the controller may convert the force information obtained by the force sensing sensor into acceleration information and further calculate the driving torque using the converted acceleration information.

상기 이동체는 동력에 의한 구동 없이 상기 이동체의 이동에 따라 회전하고, 상기 이동체의 이동 방향에 따라 방향이 조절되도록 구성되는 수동 바퀴를 더 포함할 수 있다.The movable body may further include a manual wheel configured to rotate according to the movement of the movable body without driving by the power and to adjust the direction according to the moving direction of the movable body.

상기 이동체는 운반하고자 하는 물건을 적재하기 위한 적재부를 더 포함할 수 있다.The movable body may further include a loading unit for loading an object to be transported.

상기 제어부는 상기 이동체의 이동에 따라 변화하는 상기 가속도 정보에 따라, 상기 구동 토크를 계산함으로써 계산되는 상기 제어 전류를 사용하여, 상기 구동 바퀴를 연속적으로 제어할 수 있다. The control unit may continuously control the driving wheel by using the control current calculated by calculating the driving torque according to the acceleration information that changes according to the movement of the moving body.

기 정의된 이동체의 모델링 정보 및 로우 레벨(low-level) 센서를 통해 획득된 이동체의 구동 바퀴와 연관된 속도 정보를 포함하는 동역학 정보에 기반하여, 구동 바퀴에 대한 구동 토크를 계산하고 이에 기반하여 구동 바퀴를 제어함으로써, IMU 및 엔코더와 같은 고가의 부품을 구비하지 않고도 이동체의 자세 및 이동 속도를 안정적으로 제어할 수 있다.Based on the dynamic information including the modeling information of the moving object and the speed information associated with the driving wheel of the moving object obtained through the low-level sensor, the driving torque for the driving wheel is calculated and driven based on the dynamic information. By controlling the wheels, it is possible to stably control the posture and the moving speed of the moving body without having expensive parts such as an IMU and an encoder.

이동체와 연관된 속도 정보가 아닌 가속도 정보를 사용하여 구동 바퀴에 대한 구동 토크 및 모터에 대한 제어 전류를 계산하고, 구동 바퀴를 제어함으로써 저속에서도 이동체의 자세 및 이동 속도를 안정적으로 제어할 수 있다.It is possible to stably control the attitude and the moving speed of the moving body even at low speed by calculating the driving torque for the driving wheel and the control current for the motor by using the acceleration information rather than the speed information associated with the moving body.

이동체에 사용자가 미는 것에 의한 외력이 가해질 때, 해당 외력과 관련된 힘 정보를 가속도 정보로 변환하고 변환된 가속도 정보를 사용하여 구동 바퀴에 대한 구동 토크 및 모터에 대한 제어 전류를 계산하여 구동 바퀴를 제어함으로써, 사용자의 걷는 속도와 이동체의 이동 속도 간의 차이에 의해 발생하는 오차를 적절하게 보상하여 이동체를 제어할 수 있다. When an external force is applied to the moving object by the user, the driving wheel is controlled by converting the force information related to the external force into acceleration information and using the converted acceleration information to calculate the drive torque for the drive wheel and the control current for the motor. Thus, the moving object can be controlled by appropriately compensating for an error caused by the difference between the walking speed of the user and the moving speed of the moving object.

도 1은 일 실시예에 따른, 모터로 구동되는(전동식) 이동체를 나타낸다.
도 2는 일 실시예에 따른, 전동식 이동체의 구성들을 나타내는 구조도이다.
도 3은 일 실시예에 따른, 전동식 이동체의 구성들 간의 위치 관계 및 이동체의 이동에 있어서의 구성들의 동작을 나타낸다.
도 4는 일 예에 따른, 사용자에 의해 외력이 가해지는 경우에 있어서의 전동식 이동체의 측면 뷰 및 상면 뷰를 나타낸다.
도 5는 일 예에 따른, 전동식 이동체의 구동 바퀴와 연관된 모터의 제어 방법을 나타낸다.
도 6 내지 8은 일 예에 따른 가속도 정보를 사용한 이동체의 제어, 및 속도 정보를 사용한 이동체의 제어 간의 비교 결과를 나타낸다.
도 9는 일 실시예에 따른, 이동체와 연관된 동역학 정보에 기반하여 이동체를 제어하는 방법을 나타내는 흐름도이다.
1 illustrates a motor driven (electric) moving body, according to one embodiment.
2 is a structural diagram showing configurations of the motorized moving body according to one embodiment.
3 shows the positional relationship between the configurations of the motorized mobile body and the operation of the components in the movement of the mobile body according to one embodiment.
4 illustrates a side view and a top view of the motorized moving body when an external force is applied by a user according to an example.
5 illustrates a control method of a motor associated with driving wheels of an electric movable body, according to an embodiment.
6 to 8 illustrate a comparison result between control of a mobile body using acceleration information and control of a mobile body using speed information according to an example.
9 is a flowchart illustrating a method of controlling a moving object based on dynamic information associated with the moving object, according to an embodiment.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.

도 1은 일 실시예에 따른, 모터로 구동되는(전동식) 이동체를 나타낸다. 한편, 도 2는 도 1에서 도시된 전동식 이동체의 구체적인 구성들을 나타내는 구조도이다.1 illustrates a motor driven (electric) moving body, according to one embodiment. On the other hand, Figure 2 is a structural diagram showing the specific configuration of the motorized moving body shown in FIG.

후술될 상세한 설명에서, 설명의 편의상 "이동체(100)"는 손잡이부(130)를 포함하는 이동 대차와 같은 형태로 도시되었으나, 실시예들은 모터에 의해 구동되는 구동 바퀴를 포함하는 여하한 형태의 대차 또는 카트, 혹은 로봇에 대해 적용될 수 있다. In the following description, for convenience of description, the "moving body 100" is shown in the form of a moving cart including a handle 130, but the embodiments are in any form including a driving wheel driven by a motor. It can be applied to a truck, cart, or robot.

이동체(100)는 예컨대, 운반하고자 하는 물건을 적재하여 이동할 수 있는 전동식 이동 대차일 수 있다. The movable body 100 may be, for example, an electric trolley which can load and move an object to be carried.

이동체(100)는 운반하고자 하는 물건을 적재하기 위한 적재부(115), 도시된 바와 같이 좌우측에 배치되어 한 쌍을 이루는 구동 바퀴(111a, 111b), 구동 바퀴(111a, 111b)를 구동시키기 위한 모터(112a, 112b)를 포함할 수 있다. The movable body 100 includes a loading unit 115 for loading an object to be transported, a driving wheel 111a and 111b, which are disposed on the left and right sides as shown, for driving a pair of driving wheels 111a and 111b. It may include the motor (112a, 112b).

적재부(115)는 이동체(100)의 본체부일 수 있고 후술될 제어부(140)를 비롯한 구성은 적재부(115) 내에 포함될 수 있다.The stacking unit 115 may be a main body of the mobile unit 100, and a configuration including the controller 140 to be described later may be included in the stacking unit 115.

모터(112a, 112b)는 도시된 바와 같이 좌측 구동 바퀴(111a) 및 우측 구동 바퀴(111b)에 대해 각각 마련될 수 있다. 또는, 모터(112a, 112b)는 구동 바퀴들(111a, 111b)에 대해 하나만이 마련될 수도 있다.The motors 112a and 112b may be provided with respect to the left driving wheel 111a and the right driving wheel 111b as shown. Alternatively, only one motor 112a or 112b may be provided for the driving wheels 111a and 111b.

이동체(100)는 구동 바퀴(111a, 111b)와 연관된 속도 정보를 획득하는 적어도 하나의 로우 레벨(low-level) 센서(161a, 161b)를 포함할 수 있다. 로우 레벨 센서(161a, 161b)는 그 구조가 복잡한 IMU나 엔코더와는 달리 그 구조가 단순한 센서를 의미할 수 있다. 예컨대, 로우 레벨 센서(161a, 161b)는 홀 센서(hall sensor)일 수 있다. 홀 센서(161a, 161b)는 예컨대, 브러쉬리스 모터(brushless motor)인 모터(112a, 112b)의 내부에 포함될 수 있고, 별도의 엔코더가 없더라도 연관된 모터의 회전각에 관한 정보를 획득할 수 있다. 획득된 회전각에 관한 정보는 구동 바퀴(111a, 111b)와 연관된 속도 정보에 대응될 수 있다. 또는, 획득된 회전각에 관한 정보에 기반하여 구동 바퀴(111a, 111b)와 연관된 속도 정보가 계산될 수 있다.The moving object 100 may include at least one low-level sensor 161a or 161b for obtaining speed information associated with the driving wheels 111a and 111b. The low level sensors 161a and 161b may refer to sensors having a simple structure, unlike an IMU or an encoder having a complicated structure. For example, the low level sensors 161a and 161b may be hall sensors. The hall sensors 161a and 161b may be included in, for example, the motors 112a and 112b which are brushless motors, and may acquire information regarding the rotation angle of the associated motor even without a separate encoder. The obtained information about the rotation angle may correspond to speed information associated with the driving wheels 111a and 111b. Alternatively, speed information associated with the driving wheels 111a and 111b may be calculated based on the obtained information about the rotation angle.

이동체(100)는 센서(161a, 161b)로부터의 데이터를 획득 및 처리하고, 모터(112a, 112b)의 구동을 제어하는 제어부(140)를 포함할 수 있다. 제어부(140)는 이동체(100)의 구성을 관리 및 제어하기 위해 사용하는 프로그램 또는 어플리케이션을 실행하고, 필요한 연산을 처리할 수 있다. 제어부(140)는 프로세서 또는 프로세서 내의 적어도 하나의 코어(core)일 수 있다. The moving object 100 may include a controller 140 that acquires and processes data from the sensors 161a and 161b and controls driving of the motors 112a and 112b. The controller 140 may execute a program or application used to manage and control the configuration of the moving object 100, and may process necessary operations. The controller 140 may be a processor or at least one core in the processor.

제어부(140)는 이동체(100)와 연관된 동역학 정보에 기반하여, 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산할 수 있고, 구동 바퀴(111a, 111b)와 연관된 모터(112a, 112b)를 제어하기 위한 제어 전류를 계산할 수 있다. 또한, 제어부(140)는 계산된 제어 전류에 기반하여 모터(112a, 112b)를 제어함으로써 구동 바퀴(111a, 111b)를 제어할 수 있다. 말하자면, 제어부(140)는 모터(112a, 112b) 각각을 제어하기 위한 모터 제어부를 포함할 수 있다.The controller 140 may calculate driving torques for the driving wheels 111a and 111b based on the dynamic information associated with the moving object 100 and control the motors 112a and 112b associated with the driving wheels 111a and 111b. The control current can be calculated. In addition, the controller 140 may control the driving wheels 111a and 111b by controlling the motors 112a and 112b based on the calculated control current. In other words, the controller 140 may include a motor controller for controlling each of the motors 112a and 112b.

이동체(100)와 연관된 동역학 정보는 기 정의된 이동체(100)의 모델링 정보 및 센서(161a, 161b)로부터 획득된 속도 정보를 포함할 수 있다. 제어부(140)는 동역학 정보에 포함된 모델링 정보 및 속도 정보에 기반하여 획득된 가속도 정보를 획득할 수 있고, 획득된 가속도 정보를 사용하여 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산할 수 있다. 말하자면, 제어부(140)는 좌측 구동 바퀴(111b) 및 우측 구동 바퀴(111b)에 대한 구동 토크를 각각 계산할 수 있다.The dynamic information associated with the moving object 100 may include modeling information of the moving object 100 and velocity information obtained from the sensors 161a and 161b. The controller 140 may obtain the obtained acceleration information based on the modeling information and the speed information included in the dynamic information, and calculate the driving torque for the driving wheels 111a and 111b using the obtained acceleration information. . In other words, the controller 140 may calculate driving torques for the left driving wheel 111b and the right driving wheel 111b, respectively.

제어부(140)는 계산된 구동 토크에 기반하여 모터(112a, 112b)에 대한 제어 전류를 계산할 수 있고, 계산된 제어 전류를 사용하여 모터(112a, 112b)를 제어함으로써 이동제(100)(즉, 이동체(100)의 구동 바퀴(111a, 111b)를 제어할 수 있다.The controller 140 may calculate the control currents for the motors 112a and 112b based on the calculated driving torque, and control the motors 112a and 112b using the calculated control currents (ie, the moving agents 100). The driving wheels 111a and 111b of the movable body 100 can be controlled.

제어부(140)에 의해 계산된 제어 전류에 의해 구동 바퀴(111a, 111b)가 제어됨으로써, 이동체(100)의 이동에 따라 발생되는 원심력 및 관성 중 적어도 하나에 의한 이동체(100)의 이동 오차가 보상될 수 있다. 따라서, 이동체(100)는 안정적으로 이동될 수 있다.As the driving wheels 111a and 111b are controlled by the control current calculated by the controller 140, the movement error of the movable body 100 due to at least one of the centrifugal force and the inertia generated by the movement of the movable body 100 is compensated for. Can be. Therefore, the movable body 100 can be stably moved.

구동 바퀴(111a, 111b)에 대한 구동 토크 및 모터(112a, 112b)에 대한 제어 전류를 계산하는 보다 자세한 방법에 대해서는 후술될 도 5를 참조하여 더 자세하게 설명된다.A more detailed method of calculating the drive torque for the drive wheels 111a and 111b and the control current for the motors 112a and 112b will be described in more detail with reference to FIG. 5 to be described later.

이동체(100)는 모터 또는 기타 동력에 의한 구동 없이 이동체(100)의 이동에 따라 회전하고, 이동체(100)의 이동 방향에 따라 방향이 조절되도록 구성되는 수동 바퀴(151a, 151b)를 더 포함할 수 있다. 수동 바퀴(151a, 151b)는 구동 바퀴(111a, 111b)의 회전 또는 사용자에 의한 외력에 따라 수동적으로 회전하는 바퀴일 수 있다. 수동 바퀴(151a, 151b)는 이동체(100)의 이동 방향에 따라 방향이 조절 가능하도록 구성될 수 있다. 말하자면, 이동체(100)는 수동 바퀴(151a, 151b)의 방향 조절에 따라 소기의 방향으로 조향될 수 있다.The movable body 100 may further include manual wheels 151a and 151b configured to rotate according to the movement of the movable body 100 without being driven by a motor or other power, and to adjust a direction according to the moving direction of the movable body 100. Can be. The manual wheels 151a and 151b may be wheels that rotate manually according to the rotation of the driving wheels 111a and 111b or an external force by the user. The manual wheels 151a and 151b may be configured to be adjustable in direction according to the moving direction of the movable body 100. In other words, the movable body 100 may be steered in a desired direction according to the direction adjustment of the manual wheels 151a and 151b.

이동체(100)는 이동체(100)에 대해 사용자에 의한 외력을 가하기 위한 손잡이부(130)를 더 포함할 수 있다. 예컨대, 사용자가 손잡이부(130)를 잡고 이동체(100)를 미는 것을 통해, 이동체(100)에는 외력이 가해질 수 있다. The movable body 100 may further include a handle 130 for applying an external force by the user to the movable body 100. For example, an external force may be applied to the movable body 100 by the user holding the handle 130 and pushing the movable body 100.

이동체(100)는 손잡이부(130)를 통해 가해지는 외력을 측정하기 위한 힘 감지 센서(121, 122)를 더 포함할 수 있다. 힘 감지 센서(121, 122)는 좌측 및 우측에 각각 하나씩 마련될 수 있다. 예컨대, 좌측 힘 감지 센서(121)는 좌측 구동 바퀴(111a)에 전달되는 힘 정보를 획득하도록 구성되고, 우측 힘 감지 센서(122)는 좌측 구동 바퀴(111b)에 전달되는 힘 정보를 획득하도록 구성될 수 있다. 또는, 힘 감지 센서(121, 122)는 손잡이부(130)의 중심에 대응하는 위치에 하나만이 마련될 수도 있다.The moving body 100 may further include force detection sensors 121 and 122 for measuring an external force applied through the handle 130. One force sensor 121 and 122 may be provided on each of the left and right sides. For example, the left force detection sensor 121 is configured to acquire force information transmitted to the left driving wheel 111a, and the right force detection sensor 122 is configured to acquire force information transmitted to the left driving wheel 111b. Can be. Alternatively, only one force sensor 121 or 122 may be provided at a position corresponding to the center of the handle 130.

힘 감지 센서(121, 122)는 예컨대, 스트레인 게이지(strain gauge)를 포함하여 구성될 수 있으며, 이외에도 로드셀(load cell) 등 인가되는 힘을 적절하게 측정할 수 있는 다양한 장치들이 사용될 수 있다.The force sensors 121 and 122 may include, for example, strain gauges, and various devices capable of appropriately measuring the applied force such as a load cell may be used.

제어부(140)는 힘 감지 센서(121, 122)에 의해 획득된 힘 정보를 더 고려하여 구동 바퀴(111a, 111b)에 대한 구동 토크 및 모터(112a, 112b)에 대한 제어 전류를 계산할 수 있다. 예컨대, 제어부(140)는, 이동체(100)에 외력이 가해질 때, 힘 감지 센서(121, 122)에 의해 획득된 힘 정보를 가속도 정보로 변환할 수 있고, 변환된 가속도 정보를 더 사용하여 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산할 수 있다. The controller 140 may calculate driving torques for the driving wheels 111a and 111b and control currents for the motors 112a and 112b by further considering force information obtained by the force sensors 121 and 122. For example, when an external force is applied to the moving object 100, the controller 140 may convert force information obtained by the force sensing sensors 121 and 122 into acceleration information, and drive using the converted acceleration information further. The drive torque for the wheels 111a and 111b can be calculated.

실시예의 이동체(100)에 의해서는, 사용자가 손잡이(130)에 인가하여 이동체(100)의 본체부로 전달하는 힘이 유지되더라도, 본체부로 전달되는 힘의 크기가 증폭되도록 모터(112a, 112b)의 동작이 제어될 수 있음으로써, 무거운 중량의 물건이 적재부(115)에 적재되더라도 사용자는 손쉽게 해당 물건을 이동체(100)를 조작하여 이동시킬 수 있다.By the movable body 100 of the embodiment, even if the user is applied to the handle 130 and the force transmitted to the body portion of the movable body 100 is maintained, the magnitude of the force transmitted to the body portion is amplified so that the motor 112a, 112b Since the operation can be controlled, the user can easily move the object by manipulating the moving object 100 even when a heavy weight is loaded on the loading unit 115.

또한, 사용자에 의한 외력을 고려하여 계산된 구동 토크에 기반하여 구동 바퀴(111a, 111b)가 제어됨으로써, 사용자가 이동체(100)를 미는 경우에 있어서, 사용자의 걷는 속도와 이동체(100)의 이동 속도 간의 차이에 의해 발생하는 오차가 적절하게 보상되어 이동체(100)가 제어될 수 있다.In addition, the driving wheels 111a and 111b are controlled based on the driving torque calculated in consideration of the external force by the user, so that when the user pushes the moving object 100, the walking speed of the user and the movement of the moving object 100 are performed. The error generated by the difference between the speeds can be properly compensated so that the moving object 100 can be controlled.

이동체(100)는 도시된 전동식 이동 대차에 한정되지 않고, 사용자로부터의 인터랙션을 받아들일 수 있거나, 사용자로부터의 가해진 힘을 증폭시킬 수 있는 여하한 종류의 장치 및 로봇에 대응할 수 있다. The moving object 100 is not limited to the electric moving cart shown, and may correspond to any kind of apparatus and robot capable of accepting an interaction from a user or amplifying a force applied from the user.

이동체(100)와 제어부(140)의 보다 구체적인 동작에 대해서는 후술될 도 3 내지 5를 참조하여 더 자세하게 설명된다.More detailed operations of the movable body 100 and the controller 140 will be described in more detail with reference to FIGS. 3 to 5 to be described later.

도 3은 일 실시예에 따른, 전동식 이동체의 구성들 간의 위치 관계 및 이동체의 이동에 있어서의 구성들의 동작을 나타내고, 도 4는 일 예에 따른, 사용자에 의해 외력이 가해지는 경우에 있어서의 전동식 이동체의 측면 뷰 및 상면 뷰를 나타낸다.3 is a view illustrating a positional relationship between components of a motorized mobile body and operations of the components in the movement of the mobile body according to an embodiment, and FIG. 4 is a motorized type when an external force is applied by a user according to an example. The side view and the top view of the moving body are shown.

도 3 및 4에서는, 도 1 및 2를 참조하여 전술된 이동체(100)의 보다 구체적인 예시가 설명된다. 3 and 4, more specific examples of the movable body 100 described above with reference to FIGS. 1 and 2 are described.

도 3에서는, 이동하는 이동체(100)의 구성들 간의 위치 관계를 나타낸다. 도시된 예시에서는 x, yθ의 글로벌 축(global axis)을 나타내는 데카르트 좌표계(Cartesian coordinate)가 사용된다. 도시된 예시에서, N 1 , N 2 는 각각 x, y축에 대응할 수 있다. θN 1 과 이동체(100)의 이동 방향이 이루는 각도를 의미할 수 있다. θ 이동체의 회전 각도일 수 있다. In FIG. 3, the positional relationship between the components of the moving body 100 is shown. In the example shown, Cartesian coordinates are used that represent the global axes of x , y and θ . In the example shown, N 1 , N 2 may correspond to the x and y axes, respectively. θ may mean an angle formed by the moving direction of N 1 and the moving object 100. θ is It may be a rotation angle of the moving body.

도 3에서 도시된 예시에서, d는 좌측 구동 바퀴(111a) 및 우측 구동 바퀴(111b)의 중심(I)으로부터 좌측 구동 바퀴(111a) 또는 우측 구동 바퀴(111b)까지의 거리일 수 있다. 말하자면, d는 구동 바퀴(111a, 111b)의 중심 거리로 정의될 수 있다. r은 구동 바퀴(111a, 111b)의 반경을 나타낼 수 있다. L은 이동체(100)의 무게 중심으로부터 구동 바퀴(111a, 111b)의 중심(I)까지의 거리를 나타낼 수 있다. 일례로, 모터(112a, 112b)는 중심(I)에 마련될 수 있다.In the example shown in FIG. 3, d may be a distance from the center I of the left driving wheel 111a and the right driving wheel 111b to the left driving wheel 111a or the right driving wheel 111b. In other words, d may be defined as the center distance of the driving wheels 111a and 111b. r may represent the radius of the drive wheels 111a and 111b. L may represent a distance from the center of gravity of the movable body 100 to the center I of the driving wheels 111a and 111b. For example, the motors 112a and 112b may be provided at the center I.

d, L r과 중심(I) 및 이동체(100)의 무게 중심의 위치는 이동체(100)와 연관된 모델링 정보의 일부일 수 있고, 기 정의된 값으로서 제어부(140)가 미리 알고 있는 값일 수 있다. The positions of d , L and r and the center I and the center of gravity of the moving object 100 may be part of modeling information associated with the moving object 100, and may be values previously known by the controller 140 as a predefined value. .

구동 바퀴(111a, 111b)에 대한 구동 토크를 계산하기 위해 사용되는 가속도 정보는 이동체(100) 내에서의 모터(112a, 112b)의 위치 및 구동 바퀴(111a, 111b)의 위치에 따라, 이동체(100)의 이동 시에 발생하는 가속도 오차를 나타내는 정보일 수 있다. The acceleration information used to calculate the drive torque for the drive wheels 111a and 111b depends on the position of the motors 112a and 112b and the position of the drive wheels 111a and 111b in the movable body 100. It may be information indicating an acceleration error occurring when the 100 is moved.

도 3은 이동체(100)를 개략적으로만 나타낸 것이고, 도시된 것과는 달리, 구동 바퀴(111a, 111b)와 수동 바퀴(151a, 151b) 중 수동 바퀴(151a, 151b) 만이 방향의 조절이 가능한 것으로서 구동 바퀴(111a, 111b)와 수동 바퀴(151a, 151b)는 그 방향이 도시된 것과는 상이하게 배치될 수 있다.FIG. 3 schematically illustrates the movable body 100, and unlike the illustrated example, only the manual wheels 151a and 151b of the driving wheels 111a and 111b and the manual wheels 151a and 151b are driven as the direction can be adjusted. The wheels 111a and 111b and the manual wheels 151a and 151b may be arranged differently from those shown in the directions.

도 4에서 도시된 바와 같이, 사용자는 손잡이부(130)를 미는 것을 통해 이동체(100)에 외력을 가할 수 있다. 손잡이부(130)는 도 1을 참조하여 전술된 것과 같이 구동 바퀴(111a, 111b) 측에 마련될 수 있으나, 도 4에서 도시된 것과 같이 수동 바퀴(151a, 151b) 측에 마련될 수도 있고, 구동 바퀴(111a, 111b) 및 바퀴(151a, 151b) 양측 모두에 마련될 수도 있다. 또한, 사용자가 이동체(100)를 이동시키고자 하는 방향에 따라 사용자는 손잡이부(130)를 미는 것뿐만 아니라, 손잡이부(130)를 당기는 것을 통해 이동체(100)에 외력을 가할 수 있다. 가해지는 외력의 방향에 따라 제어부(140)는 구동 바퀴(111a, 111b)의 회전 방향(즉, 모터(112a, 112b)의 회전 방향)을 (사용자로부터의 외력을 증폭시키도록 하는 방향으로) 결정할 수 있다. As shown in FIG. 4, the user may apply external force to the movable body 100 by pushing the handle 130. The handle 130 may be provided at the driving wheels 111a and 111b as described above with reference to FIG. 1, but may be provided at the side of the manual wheels 151a and 151b as shown in FIG. 4. The driving wheels 111a and 111b and the wheels 151a and 151b may be provided at both sides. In addition, according to the direction in which the user wants to move the movable body 100, the user may apply external force to the movable body 100 by pulling the handle 130 as well as pushing the handle 130. According to the direction of the external force applied, the controller 140 determines the direction of rotation of the driving wheels 111a and 111b (that is, the direction of rotation of the motors 112a and 112b) (in a direction to amplify the external force from the user). Can be.

이상, 도 1 및 도 2를 참조하여 전술된 기술적 특징에 대한 설명은, 도 3 및 도 4에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.As described above, the description of the technical features described above with reference to FIGS. 1 and 2 may be applied as it is to FIGS. 3 and 4, and thus redundant descriptions thereof will be omitted.

도 5는 일 예에 따른, 전동식 이동체의 구동 바퀴와 연관된 모터의 제어 방법을 나타낸다. 5 illustrates a control method of a motor associated with driving wheels of an electric movable body, according to an embodiment.

도 1을 참조하여 전술된 제어부(140)는 주 제어부(520) 및 모터 제어부(530a, 530b)를 포함할 수 있다. 모터 제어부(530a)는 좌측 구동 바퀴(111a)와 연관된 모터(112a)의 구동을 제어하고, 모터 제어부(530b)는 좌측 구동 바퀴(111b)와 연관된 모터(112b)의 구동을 제어할 수 있다. The controller 140 described above with reference to FIG. 1 may include a main controller 520 and motor controllers 530a and 530b. The motor controller 530a may control driving of the motor 112a associated with the left driving wheel 111a, and the motor controller 530b may control driving of the motor 112b associated with the left driving wheel 111b.

홀 센서(161a, 161b)는 모터(112a, 112b)에 포함될 수 있고 모터(112a, 112b)는 예컨대, 브러쉬리스 DC 모터(BLDC 모터)일 수 있다. 홀 센서(161a, 161b)로부터 획득된 신호는 주 제어부(520)로 직접 전달되거나, 모터 제어부(530a, 530b)로 전달(또는, 모터 제어부(530a, 530b)를 통해 주 제어부(520)로)될 수 있다. The hall sensors 161a and 161b may be included in the motors 112a and 112b and the motors 112a and 112b may be, for example, brushless DC motors (BLDC motors). The signal obtained from the hall sensors 161a and 161b is directly transmitted to the main controller 520 or to the motor controllers 530a and 530b (or to the main controller 520 through the motor controllers 530a and 530b). Can be.

모터 제어부(530a, 530b)로는 예컨대, VESC가 사용될 수 있고, 주 제어부(520)로는 Arduino 2560가 사용될 수 있다. 모터 제어부(530a, 530b)는 주 제어부와 직렬 통신을 통해 소정의 시간 간격(예컨대, 10ms)으로 통신할 수 있다. For example, VESC may be used as the motor controllers 530a and 530b, and Arduino 2560 may be used as the main controller 520. The motor controllers 530a and 530b may communicate with the main controller at a predetermined time interval (eg, 10 ms) through serial communication.

주 제어부(520)는 이동체(100)와 연관된 모델링 정보 및 홀 센서(161a, 161b)로부터 획득된 속도 정보에 기반하여 구동 바퀴(111a, 111b)에 대한 구동 토크 및 모터(112a, 112b)에 대한 제어 전류를 계산할 수 있다. 모터 제어부(530a, 530b)는 계산된 제어 전류를 사용하여 모터(112a, 112b)를 제어할 수 있다. The main controller 520 is configured to drive torques for the driving wheels 111a and 111b and motors 112a and 112b based on the modeling information associated with the moving object 100 and the speed information obtained from the hall sensors 161a and 161b. The control current can be calculated. The motor controllers 530a and 530b may control the motors 112a and 112b using the calculated control current.

주 제어부(520)는 힘 감지 센서(121, 122)로부터 획득된 힘 정보를 더 고려하여 구동 바퀴(111a, 111b)에 대한 구동 토크 및 모터(112a, 112b)에 대한 제어 전류를 계산할 수 있다. 힘 감지 센서(121, 122)로부터의 힘 신호는 증폭기(510a, 510b)를 거쳐 증폭된 후 주 제어부(520)로 전달될 수 있다. 힘 감지 센서(121, 122) 및 증폭기(510a, 510b)는 예컨대, 각각 YZC-1B 및 HX711가 사용될 수 있다.The main controller 520 may calculate the driving torque for the driving wheels 111a and 111b and the control current for the motors 112a and 112b by further considering the force information obtained from the force detection sensors 121 and 122. The force signals from the force detection sensors 121 and 122 may be amplified through the amplifiers 510a and 510b and then transferred to the main controller 520. For example, YZC-1B and HX711 may be used as the force sensing sensors 121 and 122 and the amplifiers 510a and 510b, respectively.

아래에서, 주 제어부(520)가 구동 바퀴(111a, 111b)에 대한 구동 토크 및 모터(112a, 112b)에 대한 제어 전류를 계산하는 방법을 보다 자세하게 설명한다. 아래에서 수학식들을 참조하여 설명되는 계산 및 추정은 제어부(140)(또는 주 제어부(520))에 의해 수행될 수 있다. Hereinafter, the main controller 520 will be described in more detail how to calculate the drive torque for the drive wheels 111a and 111b and the control current for the motors 112a and 112b. The calculation and estimation described below with reference to equations may be performed by the controller 140 (or the main controller 520).

아래 수학식 1 및 2는 각각 좌측 구동 바퀴(111a) 및 우측 구동 바퀴(111b)의 동역학적 모델로 나타내어진 토크 관계식일 수 있다. 구동 바퀴(111a, 111b)의 동역학적 모델로 나타내어진 토크는 쿨롱 마찰 토크(coulomb friction torque), 모멘트의 중심 및 바퀴의 중심에 대한 원심 토크(centrifugal torque) 및 관성 토크(inertia torque)를 포함한다. Equations 1 and 2 below may be torque relations represented by dynamic models of the left driving wheel 111a and the right driving wheel 111b, respectively. The torques represented by the kinetic models of the drive wheels 111a and 111b include coulomb friction torque, centrifugal torque and inertia torque for the center of moment and the center of the wheel. .

[수학식 1][Equation 1]

Figure 112018030478623-pat00003
Figure 112018030478623-pat00003

[수학식 2][Equation 2]

Figure 112018030478623-pat00004
Figure 112018030478623-pat00004

T L T R 는 각각 좌측 구동 바퀴(111a) 및 우측 구동 바퀴(111b)에 대한 구동 토크(입력 토크)일 수 있고, C ml C mr 는 각각 좌측 구동 바퀴(111a) 및 우측 구동 바퀴(111b)의 쿨롱 마찰일 수 있고, M c 는 이동체(100)의 무게일 수 있고, M w 는 구동 바퀴(111a, 111b)의 무게일 수 있고, I 3 은 이동체(100)의 z축 방향으로의 관성 모멘트일 수 있고, J는 구동 바퀴(111a, 111b)의 관성 모멘트로서 회전축에 대한 관성 모멘트일 수 있고, k는 구동 바퀴(111a, 111b)의 관성 모멘트로서 상기 회전축이 아닌 축에 대한 관성 모멘트일 수 있다. x는 이동체(100)의 이동 변위일 수 있다.

Figure 112018030478623-pat00005
는 예컨대, 홀 센서일 수 있는 로우 레벨 센서(161a, 161b)에 의해 획득된 값으로부터 계산될 수 있다. 변수 위의 ·는 해당 변수의 미분 값을 의미할 수 있다. 나머지 변수들에 대해서는 앞서 도 3을 참조하여 설명되었다. T L and T R may be the drive torque (input torque) for the left drive wheel 111a and the right drive wheel 111b, respectively, and C ml And C mr may be Coulomb friction of the left driving wheel 111a and the right driving wheel 111b, M c may be the weight of the movable body 100, and M w is the weight of the driving wheels 111a and 111b. May be, and I 3 of the moving object 100 It may be the moment of inertia in the z-axis direction, J may be the moment of inertia of the drive wheels (111a, 111b) relative to the axis of rotation, k is the moment of inertia of the drive wheels (111a, 111b), not the rotation axis It may be a moment of inertia about the axis. x may be a displacement of the moving object 100.
Figure 112018030478623-pat00005
May be calculated from a value obtained by the low level sensors 161a, 161b, which may be, for example, hall sensors. · On a variable can mean the derivative of the variable. The remaining variables have been described above with reference to FIG. 3.

도 3을 참조하여 전술된 θ와 이동 변위 x를 획득하는 방법을 아래에서 더 자세하게 설명한다. θ와 이동 변위 x는 구동 바퀴(111a, 111b)에 각각 연관하여 존재하는 로우 레벨 센서(161a, 161b)에 의해 획득된 값으로부터 계산될 수 있다. 로우 레벨 센서(161a, 161b)의 각각은 홀 센서일 수 있다. 좌측 구동 바퀴(111a)와 연관된 좌측 홀 센서(161a)로부터 속도 v L 이 획득될 수 있고, 우측 구동 바퀴(111b)와 연관된 좌측 홀 센서(161b)로부터 속도 v R 이 획득될 수 있다. 이 때,

Figure 112018030478623-pat00006
는 (v L +v R )/2로서 계산될 수 있다. 한편, θ의 미분 값인
Figure 112018030478623-pat00007
는 1/d와 (-v L +v R )/2 곱으로서 계산될 수 있다.
Figure 112018030478623-pat00008
Figure 112018030478623-pat00009
를 적분함으로써 θ와 이동 변위 x 획득될 수 있다.The method of obtaining the above-described θ and the movement displacement x is described in more detail below with reference to FIG. 3. [theta] and the movement displacement x can be calculated from the values obtained by the low level sensors 161a, 161b present in association with the drive wheels 111a, 111b, respectively. Each of the low level sensors 161a and 161b may be a hall sensor. The speed v L can be obtained from the left hall sensor 161a associated with the left drive wheel 111a and the speed v R can be obtained from the left hall sensor 161b associated with the right drive wheel 111b. At this time,
Figure 112018030478623-pat00006
Can be calculated as ( v L + v R ) / 2 . On the other hand, the derivative of θ
Figure 112018030478623-pat00007
Is 1 / d and ( -v L + v R ) / 2 Can be calculated as a product.
Figure 112018030478623-pat00008
Wow
Figure 112018030478623-pat00009
By integrating θ and the displacement x Can be obtained.

앞서 전술된 이동체(100)와 연관된 모델링 정보는, 이동체(100)의 무게, 구동 바퀴(111a, 111b)의 무게, 구동 바퀴(111a, 111b)의 반경, 이동체의 무게 중심에 대한 구동 바퀴(111a, 111b)의 위치 관계 정보(예컨대, d), 및 이동체와 연관된 관성 모멘트(예컨대, I 3 , J 및 k)를 포함할 수 있다. 모델링 정보는 기 정의된 값으로서 이동체(100)의 제조 단계에서 미리 측정되어 정의된 값들로 구성될 수 있다.The above-described modeling information associated with the movable body 100 includes the weight of the movable body 100, the weight of the driving wheels 111a and 111b, the radius of the driving wheels 111a and 111b, and the driving wheel 111a for the center of gravity of the movable body. , Position relation information (eg, d ) of 111b), and moments of inertia associated with the moving body (eg, I 3 , J, and k) . The modeling information may be configured as values that are previously measured and defined as a predefined value at the manufacturing stage of the moving object 100.

수학식 1 및 2는 아래의 수학식 3 및 4로 재작성될 수 있다. 관성 토크에 비해 점성 토크(viscosity torque) 및 중력 토크(gravity torque)는 무시될 수 있다. Equations 1 and 2 may be rewritten by Equations 3 and 4 below. Viscosity torque and gravity torque as compared to inertial torque can be ignored.

[수학식 3][Equation 3]

Figure 112018030478623-pat00010
Figure 112018030478623-pat00010

[수학식 4][Equation 4]

Figure 112018030478623-pat00011
Figure 112018030478623-pat00011

AB 각각은 모델링 정보에 기반하여 획득된 상수일 수 있다. x와 θ 로우 레벨 센서(161a, 161b)(예컨대, 홀 센서)로부터 획득된 값이거나 획득된 값으로부터 추정/계산될 수 있는 값일 수 있다. G(x)는 중력과 관계된 term을 나타낼 수 있다. 평지에서 이동체(100)가 운용되는 경우에 있어서, G(x)는 0이 될 수 있다.Each of A and B may be a constant obtained based on modeling information. x and θ are It may be a value obtained from the low level sensors 161a and 161b (eg, a hall sensor) or a value that can be estimated / calculated from the obtained value. G (x) may represent a term related to gravity. In the case where the moving object 100 is operated on a flat surface, G (x) may be zero.

실제 시스템에서의 토크는 아래 수학식 5와 같이 정의될 수 있다.The torque in the actual system can be defined as in Equation 5 below.

[수학식 5][Equation 5]

Figure 112018030478623-pat00012
Figure 112018030478623-pat00012

τm은 실제 시스템에서의 토크를 나타낼 수 있다. M(θ)는 관성력과 관계된 term을 나타낼 수 있다. G(θ)는 중력과 관게된 term을 나타낼 수 있다. θ m 은 이동체(100)의 실제의 구동 시스템에서의 상태 변수를 나타낼 수 있다. τ m can represent the torque in the actual system. M (θ) may represent a term related to the inertia force. G (θ) may represent the term related to gravity. θ m may represent a state variable in the actual driving system of the moving object 100.

모델링된 시스템에서의 토크는 아래 수학식 6과 같이 정의될 수 있다.The torque in the modeled system can be defined as in Equation 6 below.

[수학식 6][Equation 6]

Figure 112018030478623-pat00013
Figure 112018030478623-pat00013

τv은 모델링된 시스템에서의 토크를 나타낼 수 있다. M v (θ)는 모델링된 시스템에서의 관성력과 관련된 term을 나타낼 수 있다. G v (θ)는 모델링된 시스템에서의 관성력과 관련된 term을 나타낼 수 있다. θ v 는 아래 수학식 7과 같이 정의될 수 있다. θ v 는 모델링된 시스템에서의 상태 변수를 나타낼 수 있다. 모델링된 시스템의 가속도를 추정하기 위해 PD(Prpportional-Derivative) 제어기(또는 PID (Proportional Integral Derivative) 제어기)를 수학식 7에 적용할 수 있다. τ v may represent the torque in the modeled system. M v (θ) may represent a term related to the inertia force in the modeled system. G v (θ) may represent a term related to the inertia force in the modeled system. θ v may be defined as in Equation 7 below. θ v may represent state variables in the modeled system. A proportional-derivative (PD) controller (or a proportional integral derivative) controller (PID) may be applied to Equation 7 to estimate the acceleration of the modeled system.

예컨대, 실시예의 이동체(100)는 IMU 및 엔코더와 같은 부품을 포함하지 않고, 홀 센서와 같은 로우 레벨 센서(161a, 161b) 만을 포함하고 있는 바 정확한 이동체(100)의 위치를 알 수 없고, 따라서 이동체(100)의 위치는 홀 센서로부터 획득된 속도 정보로부터 추정될 수 있고, 이로부터 가속도를 추정할 수 있다. 제어부(140)는 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산하기 위해 사용되는 가속도 정보를, 홀 센서를 통해 획득되는 속도 정보와 속도 정보를 적분함에 기반하여 추정되는 이동체(100)와 연관된 위치 정보에 대해 PD (Prpportional-Derivative) 또는 PID (Proportional Integral Derivative) 제어기를 적용한 값에 기반하여 추정할 수 있다. 예컨대, 홀 센서를 통해서는 홀 센서가 부착된 구동 바퀴(111a, 111b)와 연관된 모터의 회전각이 측정될 수 있고 이에 기반하여 상기 속도 정보와 상기 위치 정보가 추정될 수 있다. For example, the movable body 100 of the embodiment does not include components such as an IMU and an encoder, and includes only low level sensors 161a and 161b such as hall sensors, so that the exact position of the movable body 100 may not be known. The position of the moving object 100 may be estimated from the speed information obtained from the hall sensor, and the acceleration may be estimated therefrom. The controller 140 is associated with the moving object 100 estimated based on the integration of the acceleration information used to calculate the driving torque for the driving wheels 111a and 111b based on the speed information and the speed information obtained through the Hall sensor. The position information may be estimated based on a value obtained by applying a Proportional-Derivative (PD) or Proportional Integral Derivative (PID) controller. For example, the rotation angle of the motor associated with the driving wheels 111a and 111b to which the hall sensors are attached may be measured through the hall sensor, and the speed information and the position information may be estimated based on the hall sensor.

[수학식 7][Equation 7]

Figure 112018030478623-pat00014
Figure 112018030478623-pat00014

θ m 은 실제의 구동 시스템에서의 구동 바퀴(111a, 111b)의 회전 각도일 수 있고, θ des 는 목표로 하는 구동 바퀴(111a, 111b)의 회전 각도일 수 있고, kd는 PD 제어기의 D gain 값일 수 있고, kp는 PD 제어기의 P gain 값일 수 있다. θ m can be the rotation angle of the drive wheels 111a and 111b in the actual drive system, θ des can be the rotation angle of the target drive wheels 111a and 111b and k d is the D of the PD controller. It may be a gain value, and k p may be a P gain value of the PD controller.

수학식 5에서의 실제 시스템에서의 토크와 수학식 6에서의 모델링된 시스템에서의 토크가 동일한 것으로 가정하면, 아래의 수학식 8을 얻을 수 있다.Assuming that the torque in the actual system in Equation 5 and the torque in the modeled system in Equation 6 are the same, Equation 8 below can be obtained.

[수학식 8][Equation 8]

Figure 112018030478623-pat00015
Figure 112018030478623-pat00015

수학식 8에 대해, 앞서 추정된 모델링된 시스템의 가속도를 적용함으로써 수학식 9 및 10을 획득할 수 있다. 말하자면, 수학식 6과 수학식 8의 값이 동일한 것으로 가정할 때, 두 식의 차가 0이 될 수 있다. 이 때,

Figure 112018030478623-pat00016
는 0이 될 수 있고, 이를 정리하면 수학식 9가 획득될 수 있다.For Equation 8, Equations 9 and 10 can be obtained by applying the acceleration of the modeled system estimated above. In other words, assuming that values of Equations 6 and 8 are the same, the difference between the two equations may be zero. At this time,
Figure 112018030478623-pat00016
May be 0, and in summary, Equation 9 may be obtained.

[수학식 9][Equation 9]

Figure 112018030478623-pat00017
Figure 112018030478623-pat00017

수학식 9를 정리하면, 수학식 10을 얻을 수 있다. By arranging Equation 9, Equation 10 can be obtained.

[수학식 10][Equation 10]

Figure 112018030478623-pat00018
Figure 112018030478623-pat00018

수학식 10에서 실제 시스템의 관성과 모델링된 시스템의 관성을 동일한 것으로 가정하면, 아래와 같은 수학식 11을 얻을 수 있다. If the inertia of the actual system and the modeled system are the same in Equation 10, Equation 11 can be obtained.

[수학식 11][Equation 11]

Figure 112018030478623-pat00019
Figure 112018030478623-pat00019

Figure 112019087942330-pat00020
는 가속도 오차에 대응할 수 있다. eθdes -θm 를 의미할 수 있다. 수학식 11에서 획득된 가속도 오차는 전술된 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산하기 위해 사용되는 가속도 정보에 대응할 수 있다.
Figure 112019087942330-pat00020
May correspond to an acceleration error. e may mean θ des θ m . The acceleration error obtained in Equation 11 may correspond to the acceleration information used to calculate the driving torque for the driving wheels 111a and 111b described above.

시스템의 관성과 모델링된 시스템의 관성을 동일한 것으로 가정하면, 아래와 같은 수학식 11을 얻을 수 있다.Assuming that the inertia of the system and the inertia of the modeled system are the same, Equation 11 can be obtained.

수학식 11의 가속도 오차를 전술된 수학식 3에 대해 적용하고, 이를 데카르트 좌표계로 변환하여 나타내면 아래 수학식 12를 얻을 수 있다. If the acceleration error of Equation 11 is applied to Equation 3 described above and converted to the Cartesian coordinate system, the following Equation 12 may be obtained.

[수학식 12][Equation 12]

Figure 112018030478623-pat00021
Figure 112018030478623-pat00021

아래 수학식 12를 정리하면 수학식 13을 얻을 수 있다. By arranging Equation 12 below, Equation 13 can be obtained.

[수학식 13][Equation 13]

Figure 112018030478623-pat00022
Figure 112018030478623-pat00022

Ax 는 이동체(100)의 이동 변위 x에 대한 가속도 오차일 수 있고, Aθ 는 상기 이동체의 회전 각도 θ에 대한 가속도 오차일 수 있다. Ax

Figure 112019087942330-pat00023
일 수 있다. Aθ
Figure 112019087942330-pat00024
일 수 있다. 이와 같이, 좌측 구동 바퀴(111a) 및 우측 구동 바퀴(111b)에 대한 구동 토크는 추정된 가속도 정보에 기반하여 계산될 수 있다. 구동 바퀴(111a, 111b)와 연관된 모터(112a, 112b)를 제어하기 위한 제어 전류는 수학식 13에 의해 구동 토크에 구동 바퀴(111a, 111b) 또는 모터(112a, 112b)와 연관된 토크 상수를 나눔으로써 계산될 수 있다(아래 수학식 14 참조). A x may be an acceleration error with respect to the movement displacement x of the moving object 100, and A θ may be an acceleration error with respect to the rotation angle θ of the moving object. A x is
Figure 112019087942330-pat00023
Can be. A θ is
Figure 112019087942330-pat00024
Can be. As such, the driving torques for the left driving wheel 111a and the right driving wheel 111b may be calculated based on the estimated acceleration information. The control current for controlling the motors 112a and 112b associated with the drive wheels 111a and 111b divides the torque constant associated with the drive wheels 111a and 111b or the motors 112a and 112b by the equation (13). It can be calculated as (see Equation 14 below).

[수학식 14][Equation 14]

Figure 112018030478623-pat00025
Figure 112018030478623-pat00025

K τl 은 좌측 구동 바퀴(111a)(또는 모터(112a))와 연관된 토크 상수일 수 있고, K τr 은 우측 구동 바퀴(111b)(또는 모터(112b))와 연관된 토크 상수일 수 있다. I cl 은 모터(112a)제어하기 위한 제어 전류 값일 수 있다. I cr 은 모터(112b)를 제어하기 위한 제어 전류 값일 수 있다. K τl may be a left driving wheel (111a) (or the motor (112a)) may be associated with a torque constant, K τr is right drive wheels (111b) (or motor (112b)) are associated with constant torque. I cl may be a control current value for controlling the motor 112a. I cr may be a control current value for controlling the motor 112b.

추정하여 계산되는 가속도 정보는 이동체(100)의 이동에 따라 변화할 수 있다. 제어부(140)는 이동체(100)의 이동에 따라 변화하는 가속도 정보에 따라, 구동 토크를 계산함으로써 계산되는 제어 전류를 사용하여, 구동 바퀴(111a, 111b) 를 연속적으로 제어할 수 있다. The acceleration information calculated by estimating may change according to the movement of the moving object 100. The controller 140 may continuously control the driving wheels 111a and 111b by using the control current calculated by calculating the driving torque according to the acceleration information that changes according to the movement of the movable body 100.

아래에서는, 사용자에 의한 외력이 (예컨대, 손잡이부(130)를 통해) 이동체(100)에 가해지는 경우에 있어서 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산하고, 모터(112a, 112b)에 대한 제어 전류를 생성하는 방법을 보다 상세하게 설명한다. In the following, the drive torque for the driving wheels 111a and 111b is calculated when an external force by the user is applied to the movable body 100 (eg, via the handle 130), and the motors 112a and 112b are calculated. A method of generating a control current for the following is described in more detail.

전술된 바와 같이 이동체(100)가 사용자로부터의 가해진 힘을 증폭하여 제어되는 장치인 경우에 있어서, 사용자가 걷는 속도와 이동체(100)가 이동하는 속도가 상이한 경우 이러한 속도차에 의하 반력(reaction force)이 발생할 수 있다. 결과적으로, 이동체(100)는 안정적인 속도를 유지할 수 없게 된다. As described above, in the case where the moving object 100 is a device that is controlled by amplifying the applied force from the user, when the speed at which the user walks and the moving speed of the moving object 100 are different, a reaction force is generated by this speed difference. ) May occur. As a result, the movable body 100 cannot maintain a stable speed.

이러한 문제점을 해결하기 위해, 전술된 수학식 12의 관계식을 응용하여 구동 바퀴(111a, 111b)에 대한 구동 토크를 결정하고, 모터(112a, 112b)를 제어하기 위한 제어 전류를 계산할 수 있다.In order to solve this problem, it is possible to determine the driving torque for the driving wheels (111a, 111b) by applying the relationship of the equation (12) described above, and to calculate the control current for controlling the motor (112a, 112b).

제어부(140)는 이동체(110)에 외력이 가해질 때, 힘 감지 센서(121, 122)에 의해 획득된 힘 정보를 가속도 정보로 변환하고, 변환된 가속도 정보를 더 사용하여 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산할 수 있다. When the external force is applied to the moving body 110, the controller 140 converts the force information acquired by the force sensors 121 and 122 into acceleration information, and further uses the converted acceleration information to drive wheels 111a and 111b. Drive torque can be calculated.

예컨대, 구동 바퀴(111a, 111b)에 대한 구동 토크는 아래 수학식 15에 의해 계산될 수 있다. For example, the drive torque for the drive wheels 111a and 111b may be calculated by Equation 15 below.

[수학식 15][Equation 15]

Figure 112018030478623-pat00026
Figure 112018030478623-pat00026

전술한 바와 같이, TCL 은 좌측 구동 바퀴(111a)에 대한 구동 토크이고, TCR 은 우측 구동 바퀴(111b)에 대한 구동 토크이고, AB는 각각 상기 모델링 정보에 기반하여 획득된 상수일 수 있다. As described above, T CL is the drive torque for the left drive wheels 111a, T CR is the drive torque for the right drive wheels 111b, and A and B are constants obtained based on the modeling information, respectively. Can be.

F L 외력 중 상기 좌측 구동 바퀴(111a)에 전달되는 힘일 수 있다. 예컨대, F L 은 힘 감지 센서(121)에 의해 획득된 값에 대응할 수 있다. F R 는 외력 중 우측 구동 바퀴(111b)에 전달되는 힘일 수 있다. 예컨대, F R 은 힘 감지 센서(122)에 의해 획득된 값에 대응할 수 있다. A a A b 는 외력을 가속도로 변환하기 위한 상수 값일 수 있다. A a A b 는 실험을 통해 획득되는 값으로서, 예컨대, Trial-error 방식의 실험을 통해 획득될 수 있다. It may be a force transmitted to the left driving wheel 111a of the F L external force. For example, F L may correspond to the value obtained by the force sensor 121. F R may be a force transmitted to the right driving wheel 111b of the external force. For example, F R may correspond to the value obtained by the force sensing sensor 122. A a and A b may be constant values for converting external force into acceleration. A a and A b are values obtained through experiments. For example, A a and A b may be obtained through experiments of a trial-error method.

말하자면, 이동체(100)에 외력이 가해진 때, 가속도 정보에 기반하여 구동 바퀴(111a, 111b)에 대한 구동 토크(및 제어 전류)를 제어함으로써, 가속도 정보와 동일한 차원에서 구동 토크(및 제어 전류)가 제어될 수 있다. 따라서, 속도의 차원에서 구동 토크(및 제어 전류)를 제어하는 경우에 비해 안정적이며, 특히, 저속에서도 보다 안정적으로 이동체(100)를 제어할 수 있고, 이동체(100)의 가속 및 감속이 반복되는 문제를 해결할 수 있다. In other words, when an external force is applied to the moving object 100, the driving torque (and control current) for the driving wheels 111a and 111b is controlled based on the acceleration information, thereby driving torque (and control current) in the same dimension as the acceleration information. Can be controlled. Accordingly, the moving body 100 is more stable than the driving torque (and control current) in terms of speed, and in particular, the moving body 100 can be controlled more stably even at a low speed, and the acceleration and deceleration of the moving body 100 is repeated. You can solve the problem.

이상, 도 1 내지 도 4을 참조하여 전술된 기술적 특징에 대한 설명은, 도 5에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.As described above, the description of the technical features described above with reference to FIGS. 1 to 4 may be applied to FIG. 5 as it is, and thus redundant descriptions thereof will be omitted.

도 6 내지 8은 일 예에 따른 가속도 정보를 사용한 이동체의 제어, 및 속도 정보를 사용한 이동체의 제어 간의 비교 결과를 나타낸다.6 to 8 illustrate a comparison result between control of a mobile body using acceleration information and control of a mobile body using speed information according to an example.

이동체(100)는 전술된 수학식 12와 관련하여 이동체(100)의 제어가 수행되는 논-인터랙션 모드(즉, 사용자에 의한 외력이 없음)와, 수학식 15와 관련하여 이동체(100)의 제어가 수행되는 인터랙션 모드(사용자의 외력이 있음)로 구분될 수 있다. 실시예를 통해서는 논-인터랙션 모드에서 외부의 동요(지면 및 기타 외력)에 대해 강인한(rubust) 이동체(100)의 제어가 이루어질 수 있다. 또한, 실시예를 통해서는 인터랙션 모드에서 사용자의 외력(밀거나 당기는 힘)에 대해 사용자가 이질감을 느끼지 않도록 이동체(100)가 제어될 수 있다.The moving object 100 is a non-interaction mode in which the control of the moving object 100 is performed in relation to Equation 12 described above (ie, no external force by the user), and the control of the moving object 100 in relation to Equation 15. It can be divided into the interaction mode (the external force of the user) is performed. According to the embodiment, the control of the mobile 100 that is robust against external fluctuations (ground and other external forces) in the non-interaction mode can be achieved. In addition, according to the embodiment, the moving object 100 may be controlled so that the user does not feel heterogeneity with respect to the external force (pushing or pulling force) of the user in the interaction mode.

실시예에서는, 브러쉬리스 모터인 모터(112a, 112b)에 엔코더가 부착되지 않고 홀 센서만이 마련되지만 저속에서의 제어가 안정적으로 수행될 수 있다. In the embodiment, only the hall sensor is provided without the encoder attached to the motors 112a and 112b which are brushless motors, but the control at low speed can be performed stably.

도시된 도 6(a)는 속도 정보에 기반하여 이동체(100)의 구동 바퀴(111a, 111b)를 제어한 예시를 나타낸다. 좌측 구동 바퀴 및 우측 구동 바퀴(111a, 111b)의 속도가 불안정하고 동요가 심함을 확인할 수 있다. 6A illustrates an example of controlling the driving wheels 111a and 111b of the moving object 100 based on the speed information. It can be seen that the speeds of the left driving wheels and the right driving wheels 111a and 111b are unstable and fluctuating.

도시된 도 6(b)는 실시예에 따른 가속도 정보에 기반하여 이동체(100)의 구동 바퀴(111a, 111b)를 제어한 예시를 나타낸다. 좌측 구동 바퀴 및 우측 구동 바퀴(111a, 111b)의 속도가 도 6(a)의 예시에 비해 매우 안정적임을 확인할 수 있다. 따라서, 모터(112a, 112b)가 엔코더를 포함하지 않고 모터(112a, 112b)가 홀 센서만을 포함하며, 반력이 존재하는 환경에 있어서도, 실시예의 경우에는 안정된 제어가 이루어짐을 확인할 수 있다. FIG. 6B illustrates an example of controlling the driving wheels 111a and 111b of the moving object 100 based on the acceleration information according to the embodiment. It can be seen that the speeds of the left driving wheels and the right driving wheels 111a and 111b are very stable compared to the example of FIG. 6 (a). Accordingly, it can be seen that the motors 112a and 112b do not include encoders, the motors 112a and 112b include only hall sensors, and even in an environment in which reaction force exists, stable control is achieved in the embodiment.

도 7 및 8은 이동체(100)를 사용자가 1초 동안 더 큰 힘으로 손잡이부(130)를 통해 밀고, 1.5초 동안 릴리즈한 경우에 있어서, 실시예와 같은 동역학적 정보(즉, 모델링 정보)를 사용하지 않은 경우(도 7)와, 실시예와 같은 동역학적 정보(즉, 모델링 정보)를 사용한 경우(도 8)를 비교한 것이다. 7 and 8 show the same dynamic information as that of the embodiment (ie, modeling information) when the user pushes the moving object 100 through the handle 130 with a greater force for 1 second and releases for 1.5 seconds. 7 is compared with the case where no dynamic information (ie, modeling information) is used as shown in the example (FIG. 8).

유의미한 비교를 위해 좌측/우측에 대해 입력된 힘에 의한 토크 성분의 차이는 고려하지 않았다. The difference in torque components due to the input force for the left / right side is not considered for significant comparison.

관성에 의한 영향으로 두 바퀴 사이에서 속도 차이가 나타났으며 따라서, 도 7(b)에서는 구동 바퀴들(111a, 111b) 간에 위치 오차가 결과로서 나타났다. 이 때, 이동체(100)는 무게 중심에 대해 회전하게 될 것이다. Due to the influence of inertia, a difference in speed appeared between the two wheels. Thus, in FIG. 7 (b), a position error between the driving wheels 111a and 111b was shown as a result. At this time, the movable body 100 will rotate about the center of gravity.

한편, 도 8(a) 및 (b)에서는 구동 바퀴들(111a, 111b)의 제어에 있어서 동역학적 정보(즉, 모델링 정보)가 활용됨으로써, 구동 바퀴들(111a, 111b) 간에 위치 오차에 의해 야기되는 무게 중심에 대한 회전의 문제가 해결됨을 확인할 수 있다. Meanwhile, in FIGS. 8A and 8B, dynamic information (that is, modeling information) is used to control the driving wheels 111a and 111b, so that the positional error between the driving wheels 111a and 111b may be reduced. It can be seen that the problem of rotation about the center of gravity caused is solved.

즉, 실시예와 같이 이동체(100)의 모델링 정보를 포함하는 동역학적 정보를 사용하여 구동 바퀴들(111a, 111b)에 대한 구동 토크(및 모터(112a, 112b)에 대한 제어 전류)를 제어함으로써, 이동체(100)는 반력에 의한 동요가 있는 경우에도 안정적으로 제어될 수 있고, 사용자가 이동체(100)에 대해 힘을 가하거나 릴리즈하는 경우에도 안정적인 제어가 이루어질 수 있다. That is, by controlling the drive torque (and the control current for the motor 112a, 112b) for the drive wheels (111a, 111b) by using the dynamic information including the modeling information of the moving object 100 as in the embodiment In addition, the moving object 100 may be stably controlled even when there is a fluctuation caused by the reaction force, and stable control may be performed even when the user exerts a force or releases the moving object 100.

이상, 도 1 내지 도 5를 참조하여 전술된 기술적 특징에 대한 설명은, 도 6 내지 8에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.As described above, the description of the technical features described above with reference to FIGS. 1 to 5 may be applied as it is to FIGS. 6 to 8, and thus redundant descriptions thereof will be omitted.

도 9는 일 실시예에 따른, 이동체와 연관된 동역학 정보에 기반하여 이동체를 제어하는 방법을 나타내는 흐름도이다.9 is a flowchart illustrating a method of controlling a moving object based on dynamic information associated with the moving object, according to an embodiment.

도 9에서는, 도 1 내지 8을 참조하여 설명한 이동체(100)의 제어 방법을 흐름도를 참조하여 설명한다. In FIG. 9, the control method of the moving object 100 described with reference to FIGS. 1 to 8 will be described with reference to a flowchart.

단계(S910)에서, 제어부(140)는 이동체(100)와 연관된 동역학 정보에 기반하여, 이동체(100)의 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산할 수 있다. 동역학 정보는 기 정의된 이동체(100)의 모델링 정보 및 로우 레벨(low-level) 센서(161a, 161b)를 통해 획득된 구동 바퀴(111a, 111b)와 연관된 속도 정보를 포함할 수 있다. 제어부(140)는 구동 바퀴(111a, 111b)에 대한 구동 토크를 모델링 정보 및 상기 속도 정보에 기반하여 획득된 가속도 정보를 사용하여 계산할 수 있다. In operation S910, the controller 140 may calculate driving torques for the driving wheels 111a and 111b of the movable body 100 based on the dynamic information associated with the movable body 100. The dynamic information may include predefined modeling information of the moving object 100 and speed information associated with the driving wheels 111a and 111b obtained through the low-level sensors 161a and 161b. The controller 140 may calculate the driving torque for the driving wheels 111a and 111b using the acceleration information obtained based on the modeling information and the speed information.

단계(S920)에서, 제어부(140)는 이동체(100)의 구동 바퀴(111a, 111b)와 연관된 모터(112a, 112b)를 제어하기 위한 제어 전류를 계산할 수 있다. 제어부(140)는 계산된 제어 전류의 값에 기반하여 제어 전류를 생성할 수 있다. In operation S920, the controller 140 may calculate a control current for controlling the motors 112a and 112b associated with the driving wheels 111a and 111b of the moving object 100. The controller 140 may generate the control current based on the calculated value of the control current.

또한, 제어부(140)는 이동체(100)에 외력이 가해질 때, 힘 감지 센서(121, 122)에 의해 획득된 힘 정보를 가속도 정보로 변환하고, 변환된 가속도 정보를 더 사용하여 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산함으로써, 제어 전류를 계산/생성할 수 있다. In addition, when the external force is applied to the moving object 100, the control unit 140 converts the force information obtained by the force sensors 121 and 122 into acceleration information, and further uses the converted acceleration information to drive wheels 111a. By calculating the drive torque for, 111b), the control current can be calculated / generated.

단계(S930)에서, 제어부(140)는 계산된 제어 전류에 기반하여 모터(112a, 112b)를 제어함으로써 구동 바퀴(111a, 111b)를 제어할 수 있다. 계산된 제어 전류에 기반하여 구동 바퀴(111a, 111b)가 제어됨으로써, 이동체(100)의 이동에 따라 발생되는 원심력 및 관성 중 적어도 하나에 의한 이동체(100)의 이동 오차가 보상될 수 있다. In operation S930, the controller 140 may control the driving wheels 111a and 111b by controlling the motors 112a and 112b based on the calculated control current. By controlling the driving wheels 111a and 111b based on the calculated control current, the movement error of the movable body 100 due to at least one of the centrifugal force and the inertia generated by the movement of the movable body 100 may be compensated for.

이상, 도 1 내지 도 8을 참조하여 전술된 기술적 특징에 대한 설명은, 도 9에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.As described above, the description of the technical features described above with reference to FIGS. 1 to 8 may be applied to FIG. 9 as it is, and thus redundant descriptions thereof will be omitted.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments may be, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable arrays (FPAs), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For the convenience of understanding, a processing device may be described as one being used, but a person skilled in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they are stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Method according to the embodiment is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine code, such as produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

Claims (17)

이동체의 움직임을 제어하는 방법이 있어서,
상기 이동체와 연관된 동역학 정보에 기반하여, 상기 이동체의 구동 바퀴에 대한 구동 토크를 계산함으로써, 상기 이동체의 구동 바퀴와 연관된 모터를 제어하기 위한 제어 전류를 계산하는 단계; 및
상기 계산된 제어 전류에 기반하여 상기 모터를 제어함으로써 상기 구동 바퀴를 제어하는 단계
를 포함하고,
상기 동역학 정보는 기 정의된 상기 이동체의 모델링 정보 및 로우 레벨(low-level) 센서를 통해 획득된 상기 구동 바퀴와 연관된 속도 정보를 포함하고,
상기 구동 토크는 상기 모델링 정보 및 상기 속도 정보에 기반하여 획득된 가속도 정보를 사용하여 계산되고,
상기 가속도 정보는 상기 이동체 내에서의 상기 모터의 위치 및 상기 구동 바퀴의 위치에 따라, 상기 이동체의 이동 시에 발생하는 가속도 오차를 나타내는 정보이고,
상기 제어 전류에 의해 상기 구동 바퀴가 제어됨으로써, 상기 이동체의 이동에 따라 발생되는 원심력 및 관성 중 적어도 하나에 의한 상기 이동체의 이동 오차가 보상되는, 이동체의 제어 방법.
There is a method of controlling the movement of the moving object,
Calculating a control current for controlling a motor associated with a drive wheel of the mobile body by calculating a drive torque for the drive wheel of the mobile body based on the kinetic information associated with the mobile body; And
Controlling the drive wheel by controlling the motor based on the calculated control current
Including,
The dynamics information includes predefined modeling information of the moving object and speed information associated with the driving wheels obtained through a low-level sensor,
The driving torque is calculated using the acceleration information obtained based on the modeling information and the speed information,
The acceleration information is information indicating an acceleration error occurring when the moving body moves, depending on the position of the motor and the position of the driving wheel in the moving body,
By controlling the driving wheel by the control current, the movement error of the movable body by at least one of the centrifugal force and the inertia generated in accordance with the movement of the movable body is compensated for.
제1항에 있어서,
상기 로우 레벨 센서는 홀 센서이고,
상기 가속도 정보는 상기 속도 정보와 상기 속도 정보를 적분함에 기반하여 추정되는 상기 이동체와 연관된 위치 정보에 PD (Prpportional-Derivative) 또는 PID (Proportional Integral Derivative) 제어기를 적용함으로써 추정되는 값에 기반하는, 이동체의 제어 방법.
The method of claim 1,
The low level sensor is a Hall sensor,
The acceleration information is based on a value estimated by applying a Proportional-Derivative (PD) or Proportional Integral Derivative (PID) controller to position information associated with the moving object estimated based on the integration of the speed information and the speed information. Control method.
삭제delete 제1항에 있어서,
상기 구동 바퀴는 좌측 구동 바퀴 및 우측 구동 바퀴를 포함하고,
상기 구동 토크는 상기 좌측 구동 바퀴 및 상기 우측 구동 바퀴에 대한 구동 토크로서 수학식 1에 의해 계산되고,
[수학식 1]
Figure 112019087942330-pat00027

상기 TCL 은 상기 좌측 구동 바퀴에 대한 구동 토크이고, 상기 TCR 은 상기 우측 구동 바퀴에 대한 구동 토크이고, 상기 AB는 각각 상기 모델링 정보에 기반하여 획득된 상수이고, 상기 d는 상기 좌측 구동 바퀴 및 상기 우측 구동 바퀴의 중심으로부터 상기 좌측 구동 바퀴 또는 상기 우측 구동 바퀴까지의 거리이고, 상기 Ax 는 상기 이동체의 이동 변위 x에 대한 상기 가속도 오차이고, 상기 Aθ 는 상기 이동체의 회전 각도 θ에 대한 상기 가속도 오차인, 이동체의 제어 방법.
The method of claim 1,
The driving wheel includes a left driving wheel and a right driving wheel,
The drive torque is calculated by Equation 1 as the drive torque for the left drive wheel and the right drive wheel,
[Equation 1]
Figure 112019087942330-pat00027

T CL is a drive torque for the left drive wheel, T CR is a drive torque for the right drive wheel, A and B are constants obtained based on the modeling information, respectively, and d is the left side. Distance from the center of the driving wheel and the right driving wheel to the left driving wheel or the right driving wheel, A x is the acceleration error with respect to the moving displacement x of the moving body, and A θ is the rotation angle of the moving body A control method for a moving object, which is the acceleration error with respect to θ .
제1항에 있어서,
상기 제어 전류는 상기 구동 토크에 상기 구동 바퀴 또는 상기 모터와 연관된 토크 상수를 나눔으로써 계산되는, 이동체의 제어 방법.
The method of claim 1,
And the control current is calculated by dividing the torque constant associated with the drive wheel or the motor by the drive torque.
제1항에 있어서,
상기 모델링 정보는,
상기 이동체의 무게, 상기 구동 바퀴의 무게, 상기 구동 바퀴의 반경, 상기 이동체의 무게 중심에 대한 상기 구동 바퀴의 위치 관계 정보, 및 상기 이동체와 연관된 관성 모멘트를 포함하는, 이동체의 제어 방법.
The method of claim 1,
The modeling information,
And the weight of the movable body, the weight of the driving wheel, the radius of the driving wheel, the positional relationship information of the driving wheel relative to the center of gravity of the movable body, and the moment of inertia associated with the movable body.
제1항에 있어서,
상기 가속도 정보는 상기 이동체의 이동에 따라 변화하고,
상기 변화하는 가속도 정보에 따라 계산된 상기 구동 토크에 기반하여 계산된 제어 전류를 사용하여, 상기 구동 바퀴는 연속적으로 제어되는, 이동체의 제어 방법.
The method of claim 1,
The acceleration information is changed according to the movement of the moving body,
And the driving wheels are continuously controlled using the control current calculated based on the driving torque calculated according to the changing acceleration information.
제1항에 있어서,
상기 제어 전류를 생성하는 단계는,
상기 이동체에 외력이 가해질 때, 힘 감지 센서에 의해 획득된 힘 정보를 가속도 정보로 변환하고, 상기 변환된 가속도 정보를 더 사용하여 상기 구동 토크를 계산함으로써, 상기 제어 전류를 생성하는, 이동체의 제어 방법.
The method of claim 1,
Generating the control current,
When the external force is applied to the movable body, the control information of the movable body is generated by converting the force information obtained by the force sensing sensor into acceleration information and calculating the drive torque using the converted acceleration information further. Way.
이동체의 움직임을 제어하는 방법이 있어서,
상기 이동체와 연관된 동역학 정보에 기반하여, 상기 이동체의 구동 바퀴에 대한 구동 토크를 계산함으로써, 상기 이동체의 구동 바퀴와 연관된 모터를 제어하기 위한 제어 전류를 계산하는 단계; 및
상기 계산된 제어 전류에 기반하여 상기 모터를 제어함으로써 상기 구동 바퀴를 제어하는 단계
를 포함하고,
상기 동역학 정보는 기 정의된 상기 이동체의 모델링 정보 및 로우 레벨(low-level) 센서를 통해 획득된 상기 구동 바퀴와 연관된 속도 정보를 포함하고,
상기 구동 토크는 상기 모델링 정보 및 상기 속도 정보에 기반하여 획득된 가속도 정보를 사용하여 계산되고,
상기 제어 전류에 의해 상기 구동 바퀴가 제어됨으로써, 상기 이동체의 이동에 따라 발생되는 원심력 및 관성 중 적어도 하나에 의한 상기 이동체의 이동 오차가 보상되고,
상기 제어 전류를 생성하는 단계는,
상기 이동체에 외력이 가해질 때, 힘 감지 센서에 의해 획득된 힘 정보를 가속도 정보로 변환하고, 상기 변환된 가속도 정보를 더 사용하여 상기 구동 토크를 계산함으로써, 상기 제어 전류를 생성하고,
상기 구동 바퀴는 좌측 구동 바퀴 및 우측 구동 바퀴를 포함하고,
상기 구동 토크는 상기 좌측 구동 바퀴 및 상기 우측 구동 바퀴에 대한 구동 토크로서 수학식 2에 의해 계산되고,
[수학식 2]
Figure 112019087942330-pat00028

상기 TCL 은 상기 좌측 구동 바퀴에 대한 구동 토크이고, 상기 TCR 은 상기 우측 구동 바퀴에 대한 구동 토크이고, 상기 AB는 각각 상기 모델링 정보에 기반하여 획득된 상수이고, 상기 FL 상기 외력 중 상기 좌측 구동 바퀴에 전달되는 힘이고, 상기 FR 는 상기 외력 중 상기 우측 구동 바퀴에 전달되는 힘이고, 상기 Aa Ab 는 상기 외력을 가속도로 변환하기 위한 상수인, 이동체의 제어 방법.
There is a method of controlling the movement of the moving object,
Calculating a control current for controlling a motor associated with a drive wheel of the mobile body by calculating a drive torque for the drive wheel of the mobile body based on the kinetic information associated with the mobile body; And
Controlling the drive wheel by controlling the motor based on the calculated control current
Including,
The dynamics information includes predefined modeling information of the moving object and speed information associated with the driving wheels obtained through a low-level sensor,
The driving torque is calculated using the acceleration information obtained based on the modeling information and the speed information,
By controlling the driving wheel by the control current, the movement error of the movable body by at least one of the centrifugal force and the inertia generated by the movement of the movable body is compensated for,
Generating the control current,
When the external force is applied to the movable body, the control current is generated by converting the force information obtained by the force sensing sensor into acceleration information and calculating the driving torque using the converted acceleration information further,
The driving wheel includes a left driving wheel and a right driving wheel,
The drive torque is calculated by Equation 2 as the drive torque for the left drive wheel and the right drive wheel,
[Equation 2]
Figure 112019087942330-pat00028

The T CL is a drive torque for the left drive wheels, the T CR is a drive torque for the right drive wheels, A and B are constants obtained based on the modeling information, respectively, and the F L external force. Is a force transmitted to the left driving wheel, F R is a force transmitted to the right driving wheel among the external forces, and A a and A b are constants for converting the external force into acceleration. .
제1항, 제2항, 및 제4항 내지 제9항 중 어느 한 항의 방법을 수행하는 컴퓨터 판독 가능 기록 매체에 기록된 프로그램.A program recorded on a computer-readable recording medium which performs the method of any one of claims 1, 2, and 4-9. 전동식으로 구동되는 이동체에 있어서,
모터에 의해 구동되는 구동 바퀴;
상기 구동 바퀴와 연관된 속도 정보를 획득하는 적어도 하나의 로우 레벨(low-level) 센서; 및
상기 이동체와 연관된 동역학 정보에 기반하여, 상기 구동 바퀴에 대한 구동 토크를 계산함으로써, 상기 구동 바퀴와 연관된 모터를 제어하기 위한 제어 전류를 계산하고, 상기 계산된 제어 전류에 기반하여 상기 모터를 제어함으로써 상기 구동 바퀴를 제어하는 제어부
를 포함하고,
상기 동역학 정보는 기 정의된 상기 이동체의 모델링 정보 및 상기 속도 정보를 포함하고, 상기 제어부는 상기 모델링 정보 및 상기 속도 정보에 기반하여 획득된 가속도 정보를 사용하여 상기 구동 토크를 계산하고,
상기 가속도 정보는 상기 이동체 내에서의 상기 모터의 위치 및 상기 구동 바퀴의 위치에 따라, 상기 이동체의 이동 시에 발생하는 가속도 오차를 나타내는 정보이고,
상기 제어 전류에 의해 상기 구동 바퀴가 제어됨으로써, 상기 이동체의 이동에 따라 발생되는 원심력 및 관성 중 적어도 하나에 의한 상기 이동체의 이동 오차가 보상되는, 이동체.
In the electrically driven mobile body,
Drive wheels driven by a motor;
At least one low-level sensor for obtaining speed information associated with the drive wheels; And
By calculating a drive torque for the drive wheel based on the kinetic information associated with the moving body, by calculating a control current for controlling the motor associated with the drive wheel, and controlling the motor based on the calculated control current. Control unit for controlling the driving wheel
Including,
The dynamics information includes predefined modeling information of the moving object and the speed information, and the controller calculates the driving torque using the acceleration information obtained based on the modeling information and the speed information.
The acceleration information is information indicating an acceleration error occurring when the moving body moves, depending on the position of the motor and the position of the driving wheel in the moving body,
And the driving wheel is controlled by the control current, thereby compensating for a movement error of the movable body due to at least one of a centrifugal force and an inertia generated according to the movement of the movable body.
제11항에 있어서,
상기 로우 레벨 센서는 홀 센서이고,
상기 제어부는 상기 속도 정보와 상기 속도 정보를 적분함에 기반하여 추정되는 상기 이동체와 연관된 위치 정보에 PD (Prpportional-Derivative) 또는 PID (Proportional Integral Derivative) 제어기를 적용한 값에 기반하여 상기 가속도 정보를 추정하는, 이동체.
The method of claim 11,
The low level sensor is a Hall sensor,
The controller estimates the acceleration information based on a value of applying a Proportional-Derivative (PD) or Proportional Integral Derivative (PID) controller to position information associated with the moving object estimated based on the integration of the speed information and the speed information. , Moving object.
제11항에 있어서,
상기 구동 바퀴는 한 쌍을 이루는 좌측 구동 바퀴 및 우측 구동 바퀴를 포함하고,
상기 제어부는 상기 좌측 구동 바퀴 및 상기 우측 구동 바퀴에 대한 구동 토크로서 상기 구동 토크를 각각 계산하는, 이동체.
The method of claim 11,
The drive wheels include a pair of left drive wheels and right drive wheels,
And the control unit calculates the drive torque as drive torque for the left drive wheel and the right drive wheel, respectively.
제12항에 있어서,
상기 이동체에 대해 사용자에 의한 외력을 가하기 위한 손잡이부; 및
상기 손잡이부를 통해 가해지는 상기 외력을 측정하기 위한 힘 감지 센서
를 더 포함하고,
상기 제어부는, 상기 이동체에 외력이 가해질 때, 상기 힘 감지 센서에 의해 획득된 힘 정보를 가속도 정보로 변환하고, 상기 변환된 가속도 정보를 더 사용하여 상기 구동 토크를 계산하는, 이동체.
The method of claim 12,
A handle for applying an external force by the user to the movable body; And
Force sensing sensor for measuring the external force applied through the handle portion
More,
The control unit, when the external force is applied to the moving object, converts the force information obtained by the force sensor to the acceleration information, and further calculates the drive torque using the converted acceleration information.
제11항에 있어서,
동력에 의한 구동 없이 상기 이동체의 이동에 따라 회전하고, 상기 이동체의 이동 방향에 따라 방향이 조절되도록 구성되는 수동 바퀴
를 더 포함하는, 이동체.
The method of claim 11,
Manual wheel configured to rotate according to the movement of the movable body without driving by the power, the direction is adjusted according to the moving direction of the movable body
The moving body further comprising.
제11항에 있어서,
운반하고자 하는 물건을 적재하기 위한 적재부
를 더 포함하는, 이동체.
The method of claim 11,
Loading section for loading the goods to be transported
The moving body further comprising.
제11항에 있어서,
상기 제어부는 상기 이동체의 이동에 따라 변화하는 상기 가속도 정보에 따라, 상기 구동 토크를 계산함으로써 계산되는 상기 제어 전류를 사용하여, 상기 구동 바퀴를 연속적으로 제어하는, 이동체.
The method of claim 11,
And the control unit continuously controls the drive wheels using the control current calculated by calculating the drive torque in accordance with the acceleration information that changes with the movement of the mover.
KR1020180035318A 2018-03-27 2018-03-27 Motorized moving object and method for controlling the same KR102043403B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180035318A KR102043403B1 (en) 2018-03-27 2018-03-27 Motorized moving object and method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180035318A KR102043403B1 (en) 2018-03-27 2018-03-27 Motorized moving object and method for controlling the same

Publications (2)

Publication Number Publication Date
KR20190113102A KR20190113102A (en) 2019-10-08
KR102043403B1 true KR102043403B1 (en) 2019-11-11

Family

ID=68209040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180035318A KR102043403B1 (en) 2018-03-27 2018-03-27 Motorized moving object and method for controlling the same

Country Status (1)

Country Link
KR (1) KR102043403B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102400803B1 (en) * 2021-12-13 2022-05-23 인버터기술(주) Remote controlling apparatus of mover for moving trailer

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101304665B1 (en) * 2013-05-08 2013-09-06 영남대학교 산학협력단 Method for controlling ac motor
KR101797050B1 (en) * 2016-10-28 2017-11-14 네이버 주식회사 Electrically driven moving vehicle

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090061478A (en) * 2007-12-11 2009-06-16 엘지전자 주식회사 Motor control apparatus and method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101304665B1 (en) * 2013-05-08 2013-09-06 영남대학교 산학협력단 Method for controlling ac motor
KR101797050B1 (en) * 2016-10-28 2017-11-14 네이버 주식회사 Electrically driven moving vehicle

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102400803B1 (en) * 2021-12-13 2022-05-23 인버터기술(주) Remote controlling apparatus of mover for moving trailer

Also Published As

Publication number Publication date
KR20190113102A (en) 2019-10-08

Similar Documents

Publication Publication Date Title
Kim et al. Dynamic analysis of a nonholonomic two-wheeled inverted pendulum robot
US9114524B2 (en) Method of operating a wearable robot
US6654665B2 (en) Method and system for controlling cooperative object-transporting robot
Li et al. Neural-adaptive output feedback control of a class of transportation vehicles based on wheeled inverted pendulum models
US9604697B2 (en) Mobility vehicle and power-assisting system
Sidek et al. Dynamic modeling and control of nonholonomic mobile robot with lateral slip
De La Cruz et al. Adaptive motion control law of a robotic wheelchair
Ghaffari et al. A modified dynamical formulation for two-wheeled self-balancing robots
Choi et al. Motion control of joystick interfaced electric wheelchair for improvement of safety and riding comfort
Hirpo et al. Design and control for differential drive mobile robot
Stonier et al. Nonlinear slip dynamics for an omniwheel mobile robot platform
KR102043403B1 (en) Motorized moving object and method for controlling the same
Oh et al. Operation state observation and condition recognition for the control of power-assisted wheelchair
Geist et al. The wheelbot: A jumping reaction wheel unicycle
Engin Embedded LQR controller design for self-balancing robot
Li et al. Controller design of a two-wheeled inverted pendulum mobile robot
JP5907037B2 (en) Moving body
JP2012250569A (en) Method for estimating centroid angle, and inverted-wheel-type traveling body controlled by the method
JP4526073B2 (en) Conveying means control system
CN110371170A (en) Intelligent power assisting device, system and the method for controlling its offer power-assisted
Shirafuji et al. Mechanism allowing a mobile robot to apply a large force to the environment
Kitayoshi et al. Human-friendly acceleration control for mobile cart with torque sensor built in driving shaft
Stöger et al. Parameter identification and model-based control of redundantly actuated, non-holonomic, omnidirectional vehicles
Xi et al. Force sensorless power assist control for wheelchair on flat road using recursive least square with multiple forgetting
Andersson et al. DIFFERENTIAL DRIVE ROBOTPLATFORM WITH EXTERNALFORCE SENSING CAPABILITIES INTENDED FOR LOGISTICAL TASKS SET IN A HOSPITAL ENVIRONMENT

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant