KR102043403B1 - Motorized moving object and method for controlling the same - Google Patents
Motorized moving object and method for controlling the same Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000001133 acceleration Effects 0.000 claims description 75
- 230000005484 gravity Effects 0.000 claims description 10
- 238000006073 displacement reaction Methods 0.000 claims description 7
- 230000010354 integration Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D13/00—Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover
- G05D13/34—Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover with auxiliary non-electric power
- G05D13/52—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D13/00—Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover
- G05D13/34—Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover with auxiliary non-electric power
- G05D13/60—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2201/00—Application
- G05D2201/02—Control of position of land vehicles
- G05D2201/0216—Vehicle 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
실시예들은 전동식 이동 대차와 같은 이동체의 제어 방법에 관한 것으로, 특히, 가속도 정보에 기반하여 터치 이동체를 제어함으로써 이동체의 이동에 따라 발생되는 원심력/관성에 의한 이동체의 이동 오차를 보상하는 방법과 관련된다.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]
상기 TCL 은 상기 좌측 구동 바퀴에 대한 구동 토크이고, 상기 TCR 은 상기 우측 구동 바퀴에 대한 구동 토크이고, 상기 A 및 B는 각각 상기 모델링 정보에 기반하여 획득된 상수이고, 상기 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]
상기 TCL 은 상기 좌측 구동 바퀴에 대한 구동 토크이고, 상기 TCR 은 상기 우측 구동 바퀴에 대한 구동 토크이고, 상기 A 및 B는 각각 상기 모델링 정보에 기반하여 획득된 상수이고, 상기 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
이동체(100)는 예컨대, 운반하고자 하는 물건을 적재하여 이동할 수 있는 전동식 이동 대차일 수 있다. The
이동체(100)는 운반하고자 하는 물건을 적재하기 위한 적재부(115), 도시된 바와 같이 좌우측에 배치되어 한 쌍을 이루는 구동 바퀴(111a, 111b), 구동 바퀴(111a, 111b)를 구동시키기 위한 모터(112a, 112b)를 포함할 수 있다. The
적재부(115)는 이동체(100)의 본체부일 수 있고 후술될 제어부(140)를 비롯한 구성은 적재부(115) 내에 포함될 수 있다.The stacking
모터(112a, 112b)는 도시된 바와 같이 좌측 구동 바퀴(111a) 및 우측 구동 바퀴(111b)에 대해 각각 마련될 수 있다. 또는, 모터(112a, 112b)는 구동 바퀴들(111a, 111b)에 대해 하나만이 마련될 수도 있다.The
이동체(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
이동체(100)는 센서(161a, 161b)로부터의 데이터를 획득 및 처리하고, 모터(112a, 112b)의 구동을 제어하는 제어부(140)를 포함할 수 있다. 제어부(140)는 이동체(100)의 구성을 관리 및 제어하기 위해 사용하는 프로그램 또는 어플리케이션을 실행하고, 필요한 연산을 처리할 수 있다. 제어부(140)는 프로세서 또는 프로세서 내의 적어도 하나의 코어(core)일 수 있다. The moving
제어부(140)는 이동체(100)와 연관된 동역학 정보에 기반하여, 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산할 수 있고, 구동 바퀴(111a, 111b)와 연관된 모터(112a, 112b)를 제어하기 위한 제어 전류를 계산할 수 있다. 또한, 제어부(140)는 계산된 제어 전류에 기반하여 모터(112a, 112b)를 제어함으로써 구동 바퀴(111a, 111b)를 제어할 수 있다. 말하자면, 제어부(140)는 모터(112a, 112b) 각각을 제어하기 위한 모터 제어부를 포함할 수 있다.The
이동체(100)와 연관된 동역학 정보는 기 정의된 이동체(100)의 모델링 정보 및 센서(161a, 161b)로부터 획득된 속도 정보를 포함할 수 있다. 제어부(140)는 동역학 정보에 포함된 모델링 정보 및 속도 정보에 기반하여 획득된 가속도 정보를 획득할 수 있고, 획득된 가속도 정보를 사용하여 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산할 수 있다. 말하자면, 제어부(140)는 좌측 구동 바퀴(111b) 및 우측 구동 바퀴(111b)에 대한 구동 토크를 각각 계산할 수 있다.The dynamic information associated with the moving
제어부(140)는 계산된 구동 토크에 기반하여 모터(112a, 112b)에 대한 제어 전류를 계산할 수 있고, 계산된 제어 전류를 사용하여 모터(112a, 112b)를 제어함으로써 이동제(100)(즉, 이동체(100)의 구동 바퀴(111a, 111b)를 제어할 수 있다.The
제어부(140)에 의해 계산된 제어 전류에 의해 구동 바퀴(111a, 111b)가 제어됨으로써, 이동체(100)의 이동에 따라 발생되는 원심력 및 관성 중 적어도 하나에 의한 이동체(100)의 이동 오차가 보상될 수 있다. 따라서, 이동체(100)는 안정적으로 이동될 수 있다.As the
구동 바퀴(111a, 111b)에 대한 구동 토크 및 모터(112a, 112b)에 대한 제어 전류를 계산하는 보다 자세한 방법에 대해서는 후술될 도 5를 참조하여 더 자세하게 설명된다.A more detailed method of calculating the drive torque for the
이동체(100)는 모터 또는 기타 동력에 의한 구동 없이 이동체(100)의 이동에 따라 회전하고, 이동체(100)의 이동 방향에 따라 방향이 조절되도록 구성되는 수동 바퀴(151a, 151b)를 더 포함할 수 있다. 수동 바퀴(151a, 151b)는 구동 바퀴(111a, 111b)의 회전 또는 사용자에 의한 외력에 따라 수동적으로 회전하는 바퀴일 수 있다. 수동 바퀴(151a, 151b)는 이동체(100)의 이동 방향에 따라 방향이 조절 가능하도록 구성될 수 있다. 말하자면, 이동체(100)는 수동 바퀴(151a, 151b)의 방향 조절에 따라 소기의 방향으로 조향될 수 있다.The
이동체(100)는 이동체(100)에 대해 사용자에 의한 외력을 가하기 위한 손잡이부(130)를 더 포함할 수 있다. 예컨대, 사용자가 손잡이부(130)를 잡고 이동체(100)를 미는 것을 통해, 이동체(100)에는 외력이 가해질 수 있다. The
이동체(100)는 손잡이부(130)를 통해 가해지는 외력을 측정하기 위한 힘 감지 센서(121, 122)를 더 포함할 수 있다. 힘 감지 센서(121, 122)는 좌측 및 우측에 각각 하나씩 마련될 수 있다. 예컨대, 좌측 힘 감지 센서(121)는 좌측 구동 바퀴(111a)에 전달되는 힘 정보를 획득하도록 구성되고, 우측 힘 감지 센서(122)는 좌측 구동 바퀴(111b)에 전달되는 힘 정보를 획득하도록 구성될 수 있다. 또는, 힘 감지 센서(121, 122)는 손잡이부(130)의 중심에 대응하는 위치에 하나만이 마련될 수도 있다.The moving
힘 감지 센서(121, 122)는 예컨대, 스트레인 게이지(strain gauge)를 포함하여 구성될 수 있으며, 이외에도 로드셀(load cell) 등 인가되는 힘을 적절하게 측정할 수 있는 다양한 장치들이 사용될 수 있다.The
제어부(140)는 힘 감지 센서(121, 122)에 의해 획득된 힘 정보를 더 고려하여 구동 바퀴(111a, 111b)에 대한 구동 토크 및 모터(112a, 112b)에 대한 제어 전류를 계산할 수 있다. 예컨대, 제어부(140)는, 이동체(100)에 외력이 가해질 때, 힘 감지 센서(121, 122)에 의해 획득된 힘 정보를 가속도 정보로 변환할 수 있고, 변환된 가속도 정보를 더 사용하여 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산할 수 있다. The
실시예의 이동체(100)에 의해서는, 사용자가 손잡이(130)에 인가하여 이동체(100)의 본체부로 전달하는 힘이 유지되더라도, 본체부로 전달되는 힘의 크기가 증폭되도록 모터(112a, 112b)의 동작이 제어될 수 있음으로써, 무거운 중량의 물건이 적재부(115)에 적재되더라도 사용자는 손쉽게 해당 물건을 이동체(100)를 조작하여 이동시킬 수 있다.By the
또한, 사용자에 의한 외력을 고려하여 계산된 구동 토크에 기반하여 구동 바퀴(111a, 111b)가 제어됨으로써, 사용자가 이동체(100)를 미는 경우에 있어서, 사용자의 걷는 속도와 이동체(100)의 이동 속도 간의 차이에 의해 발생하는 오차가 적절하게 보상되어 이동체(100)가 제어될 수 있다.In addition, the driving
이동체(100)는 도시된 전동식 이동 대차에 한정되지 않고, 사용자로부터의 인터랙션을 받아들일 수 있거나, 사용자로부터의 가해진 힘을 증폭시킬 수 있는 여하한 종류의 장치 및 로봇에 대응할 수 있다. The moving
이동체(100)와 제어부(140)의 보다 구체적인 동작에 대해서는 후술될 도 3 내지 5를 참조하여 더 자세하게 설명된다.More detailed operations of the
도 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
도 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
도 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
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
구동 바퀴(111a, 111b)에 대한 구동 토크를 계산하기 위해 사용되는 가속도 정보는 이동체(100) 내에서의 모터(112a, 112b)의 위치 및 구동 바퀴(111a, 111b)의 위치에 따라, 이동체(100)의 이동 시에 발생하는 가속도 오차를 나타내는 정보일 수 있다. The acceleration information used to calculate the drive torque for the
도 3은 이동체(100)를 개략적으로만 나타낸 것이고, 도시된 것과는 달리, 구동 바퀴(111a, 111b)와 수동 바퀴(151a, 151b) 중 수동 바퀴(151a, 151b) 만이 방향의 조절이 가능한 것으로서 구동 바퀴(111a, 111b)와 수동 바퀴(151a, 151b)는 그 방향이 도시된 것과는 상이하게 배치될 수 있다.FIG. 3 schematically illustrates the
도 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
이상, 도 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
홀 센서(161a, 161b)는 모터(112a, 112b)에 포함될 수 있고 모터(112a, 112b)는 예컨대, 브러쉬리스 DC 모터(BLDC 모터)일 수 있다. 홀 센서(161a, 161b)로부터 획득된 신호는 주 제어부(520)로 직접 전달되거나, 모터 제어부(530a, 530b)로 전달(또는, 모터 제어부(530a, 530b)를 통해 주 제어부(520)로)될 수 있다. The
모터 제어부(530a, 530b)로는 예컨대, VESC가 사용될 수 있고, 주 제어부(520)로는 Arduino 2560가 사용될 수 있다. 모터 제어부(530a, 530b)는 주 제어부와 직렬 통신을 통해 소정의 시간 간격(예컨대, 10ms)으로 통신할 수 있다. For example, VESC may be used as the
주 제어부(520)는 이동체(100)와 연관된 모델링 정보 및 홀 센서(161a, 161b)로부터 획득된 속도 정보에 기반하여 구동 바퀴(111a, 111b)에 대한 구동 토크 및 모터(112a, 112b)에 대한 제어 전류를 계산할 수 있다. 모터 제어부(530a, 530b)는 계산된 제어 전류를 사용하여 모터(112a, 112b)를 제어할 수 있다. The
주 제어부(520)는 힘 감지 센서(121, 122)로부터 획득된 힘 정보를 더 고려하여 구동 바퀴(111a, 111b)에 대한 구동 토크 및 모터(112a, 112b)에 대한 제어 전류를 계산할 수 있다. 힘 감지 센서(121, 122)로부터의 힘 신호는 증폭기(510a, 510b)를 거쳐 증폭된 후 주 제어부(520)로 전달될 수 있다. 힘 감지 센서(121, 122) 및 증폭기(510a, 510b)는 예컨대, 각각 YZC-1B 및 HX711가 사용될 수 있다.The
아래에서, 주 제어부(520)가 구동 바퀴(111a, 111b)에 대한 구동 토크 및 모터(112a, 112b)에 대한 제어 전류를 계산하는 방법을 보다 자세하게 설명한다. 아래에서 수학식들을 참조하여 설명되는 계산 및 추정은 제어부(140)(또는 주 제어부(520))에 의해 수행될 수 있다. Hereinafter, the
아래 수학식 1 및 2는 각각 좌측 구동 바퀴(111a) 및 우측 구동 바퀴(111b)의 동역학적 모델로 나타내어진 토크 관계식일 수 있다. 구동 바퀴(111a, 111b)의 동역학적 모델로 나타내어진 토크는 쿨롱 마찰 토크(coulomb friction torque), 모멘트의 중심 및 바퀴의 중심에 대한 원심 토크(centrifugal torque) 및 관성 토크(inertia torque)를 포함한다.
[수학식 1][Equation 1]
[수학식 2][Equation 2]
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)의 이동 변위일 수 있다. 는 예컨대, 홀 센서일 수 있는 로우 레벨 센서(161a, 161b)에 의해 획득된 값으로부터 계산될 수 있다. 변수 위의 ·는 해당 변수의 미분 값을 의미할 수 있다. 나머지 변수들에 대해서는 앞서 도 3을 참조하여 설명되었다. T L and T R may be the drive torque (input torque) for the
도 3을 참조하여 전술된 θ와 이동 변위 x를 획득하는 방법을 아래에서 더 자세하게 설명한다. θ와 이동 변위 x는 구동 바퀴(111a, 111b)에 각각 연관하여 존재하는 로우 레벨 센서(161a, 161b)에 의해 획득된 값으로부터 계산될 수 있다. 로우 레벨 센서(161a, 161b)의 각각은 홀 센서일 수 있다. 좌측 구동 바퀴(111a)와 연관된 좌측 홀 센서(161a)로부터 속도 v L 이 획득될 수 있고, 우측 구동 바퀴(111b)와 연관된 좌측 홀 센서(161b)로부터 속도 v R 이 획득될 수 있다. 이 때, 는 (v L +v R )/2로서 계산될 수 있다. 한편, θ의 미분 값인 는 1/d와 (-v L +v R )/2의 곱으로서 계산될 수 있다. 와 를 적분함으로써 θ와 이동 변위 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
앞서 전술된 이동체(100)와 연관된 모델링 정보는, 이동체(100)의 무게, 구동 바퀴(111a, 111b)의 무게, 구동 바퀴(111a, 111b)의 반경, 이동체의 무게 중심에 대한 구동 바퀴(111a, 111b)의 위치 관계 정보(예컨대, d), 및 이동체와 연관된 관성 모멘트(예컨대, I 3 , J 및 k)를 포함할 수 있다. 모델링 정보는 기 정의된 값으로서 이동체(100)의 제조 단계에서 미리 측정되어 정의된 값들로 구성될 수 있다.The above-described modeling information associated with the
수학식 1 및 2는 아래의 수학식 3 및 4로 재작성될 수 있다. 관성 토크에 비해 점성 토크(viscosity torque) 및 중력 토크(gravity torque)는 무시될 수 있다.
[수학식 3][Equation 3]
[수학식 4][Equation 4]
A 및 B 각각은 모델링 정보에 기반하여 획득된 상수일 수 있다. 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
실제 시스템에서의 토크는 아래 수학식 5와 같이 정의될 수 있다.The torque in the actual system can be defined as in
[수학식 5][Equation 5]
τ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
모델링된 시스템에서의 토크는 아래 수학식 6과 같이 정의될 수 있다.The torque in the modeled system can be defined as in
[수학식 6][Equation 6]
τ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
[수학식 7][Equation 7]
θ m 은 실제의 구동 시스템에서의 구동 바퀴(111a, 111b)의 회전 각도일 수 있고, θ des 는 목표로 하는 구동 바퀴(111a, 111b)의 회전 각도일 수 있고, kd는 PD 제어기의 D gain 값일 수 있고, kp는 PD 제어기의 P gain 값일 수 있다. θ m can be the rotation angle of the
수학식 5에서의 실제 시스템에서의 토크와 수학식 6에서의 모델링된 시스템에서의 토크가 동일한 것으로 가정하면, 아래의 수학식 8을 얻을 수 있다.Assuming that the torque in the actual system in
[수학식 8][Equation 8]
수학식 8에 대해, 앞서 추정된 모델링된 시스템의 가속도를 적용함으로써 수학식 9 및 10을 획득할 수 있다. 말하자면, 수학식 6과 수학식 8의 값이 동일한 것으로 가정할 때, 두 식의 차가 0이 될 수 있다. 이 때, 는 0이 될 수 있고, 이를 정리하면 수학식 9가 획득될 수 있다.For
[수학식 9][Equation 9]
수학식 9를 정리하면, 수학식 10을 얻을 수 있다. By arranging Equation 9,
[수학식 10][Equation 10]
수학식 10에서 실제 시스템의 관성과 모델링된 시스템의 관성을 동일한 것으로 가정하면, 아래와 같은 수학식 11을 얻을 수 있다. If the inertia of the actual system and the modeled system are the same in
[수학식 11][Equation 11]
는 가속도 오차에 대응할 수 있다. e는 θdes -θm 를 의미할 수 있다. 수학식 11에서 획득된 가속도 오차는 전술된 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산하기 위해 사용되는 가속도 정보에 대응할 수 있다. 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
시스템의 관성과 모델링된 시스템의 관성을 동일한 것으로 가정하면, 아래와 같은 수학식 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]
아래 수학식 12를 정리하면 수학식 13을 얻을 수 있다. By arranging Equation 12 below, Equation 13 can be obtained.
[수학식 13][Equation 13]
Ax 는 이동체(100)의 이동 변위 x에 대한 가속도 오차일 수 있고, Aθ 는 상기 이동체의 회전 각도 θ에 대한 가속도 오차일 수 있다. Ax 는 일 수 있다. Aθ 는 일 수 있다. 이와 같이, 좌측 구동 바퀴(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
[수학식 14][Equation 14]
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
추정하여 계산되는 가속도 정보는 이동체(100)의 이동에 따라 변화할 수 있다. 제어부(140)는 이동체(100)의 이동에 따라 변화하는 가속도 정보에 따라, 구동 토크를 계산함으로써 계산되는 제어 전류를 사용하여, 구동 바퀴(111a, 111b) 를 연속적으로 제어할 수 있다. The acceleration information calculated by estimating may change according to the movement of the moving
아래에서는, 사용자에 의한 외력이 (예컨대, 손잡이부(130)를 통해) 이동체(100)에 가해지는 경우에 있어서 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산하고, 모터(112a, 112b)에 대한 제어 전류를 생성하는 방법을 보다 상세하게 설명한다. In the following, the drive torque for the
전술된 바와 같이 이동체(100)가 사용자로부터의 가해진 힘을 증폭하여 제어되는 장치인 경우에 있어서, 사용자가 걷는 속도와 이동체(100)가 이동하는 속도가 상이한 경우 이러한 속도차에 의하 반력(reaction force)이 발생할 수 있다. 결과적으로, 이동체(100)는 안정적인 속도를 유지할 수 없게 된다. As described above, in the case where the moving
이러한 문제점을 해결하기 위해, 전술된 수학식 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
예컨대, 구동 바퀴(111a, 111b)에 대한 구동 토크는 아래 수학식 15에 의해 계산될 수 있다. For example, the drive torque for the
[수학식 15][Equation 15]
전술한 바와 같이, TCL 은 좌측 구동 바퀴(111a)에 대한 구동 토크이고, TCR 은 우측 구동 바퀴(111b)에 대한 구동 토크이고, A 및 B는 각각 상기 모델링 정보에 기반하여 획득된 상수일 수 있다. As described above, T CL is the drive torque for the
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
말하자면, 이동체(100)에 외력이 가해진 때, 가속도 정보에 기반하여 구동 바퀴(111a, 111b)에 대한 구동 토크(및 제어 전류)를 제어함으로써, 가속도 정보와 동일한 차원에서 구동 토크(및 제어 전류)가 제어될 수 있다. 따라서, 속도의 차원에서 구동 토크(및 제어 전류)를 제어하는 경우에 비해 안정적이며, 특히, 저속에서도 보다 안정적으로 이동체(100)를 제어할 수 있고, 이동체(100)의 가속 및 감속이 반복되는 문제를 해결할 수 있다. In other words, when an external force is applied to the moving
이상, 도 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
실시예에서는, 브러쉬리스 모터인 모터(112a, 112b)에 엔코더가 부착되지 않고 홀 센서만이 마련되지만 저속에서의 제어가 안정적으로 수행될 수 있다. In the embodiment, only the hall sensor is provided without the encoder attached to the
도시된 도 6(a)는 속도 정보에 기반하여 이동체(100)의 구동 바퀴(111a, 111b)를 제어한 예시를 나타낸다. 좌측 구동 바퀴 및 우측 구동 바퀴(111a, 111b)의 속도가 불안정하고 동요가 심함을 확인할 수 있다. 6A illustrates an example of controlling the
도시된 도 6(b)는 실시예에 따른 가속도 정보에 기반하여 이동체(100)의 구동 바퀴(111a, 111b)를 제어한 예시를 나타낸다. 좌측 구동 바퀴 및 우측 구동 바퀴(111a, 111b)의 속도가 도 6(a)의 예시에 비해 매우 안정적임을 확인할 수 있다. 따라서, 모터(112a, 112b)가 엔코더를 포함하지 않고 모터(112a, 112b)가 홀 센서만을 포함하며, 반력이 존재하는 환경에 있어서도, 실시예의 경우에는 안정된 제어가 이루어짐을 확인할 수 있다. FIG. 6B illustrates an example of controlling the
도 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
유의미한 비교를 위해 좌측/우측에 대해 입력된 힘에 의한 토크 성분의 차이는 고려하지 않았다. 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
한편, 도 8(a) 및 (b)에서는 구동 바퀴들(111a, 111b)의 제어에 있어서 동역학적 정보(즉, 모델링 정보)가 활용됨으로써, 구동 바퀴들(111a, 111b) 간에 위치 오차에 의해 야기되는 무게 중심에 대한 회전의 문제가 해결됨을 확인할 수 있다. Meanwhile, in FIGS. 8A and 8B, dynamic information (that is, modeling information) is used to control the
즉, 실시예와 같이 이동체(100)의 모델링 정보를 포함하는 동역학적 정보를 사용하여 구동 바퀴들(111a, 111b)에 대한 구동 토크(및 모터(112a, 112b)에 대한 제어 전류)를 제어함으로써, 이동체(100)는 반력에 의한 동요가 있는 경우에도 안정적으로 제어될 수 있고, 사용자가 이동체(100)에 대해 힘을 가하거나 릴리즈하는 경우에도 안정적인 제어가 이루어질 수 있다. That is, by controlling the drive torque (and the control current for the
이상, 도 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
단계(S910)에서, 제어부(140)는 이동체(100)와 연관된 동역학 정보에 기반하여, 이동체(100)의 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산할 수 있다. 동역학 정보는 기 정의된 이동체(100)의 모델링 정보 및 로우 레벨(low-level) 센서(161a, 161b)를 통해 획득된 구동 바퀴(111a, 111b)와 연관된 속도 정보를 포함할 수 있다. 제어부(140)는 구동 바퀴(111a, 111b)에 대한 구동 토크를 모델링 정보 및 상기 속도 정보에 기반하여 획득된 가속도 정보를 사용하여 계산할 수 있다. In operation S910, the
단계(S920)에서, 제어부(140)는 이동체(100)의 구동 바퀴(111a, 111b)와 연관된 모터(112a, 112b)를 제어하기 위한 제어 전류를 계산할 수 있다. 제어부(140)는 계산된 제어 전류의 값에 기반하여 제어 전류를 생성할 수 있다. In operation S920, the
또한, 제어부(140)는 이동체(100)에 외력이 가해질 때, 힘 감지 센서(121, 122)에 의해 획득된 힘 정보를 가속도 정보로 변환하고, 변환된 가속도 정보를 더 사용하여 구동 바퀴(111a, 111b)에 대한 구동 토크를 계산함으로써, 제어 전류를 계산/생성할 수 있다. In addition, when the external force is applied to the moving
단계(S930)에서, 제어부(140)는 계산된 제어 전류에 기반하여 모터(112a, 112b)를 제어함으로써 구동 바퀴(111a, 111b)를 제어할 수 있다. 계산된 제어 전류에 기반하여 구동 바퀴(111a, 111b)가 제어됨으로써, 이동체(100)의 이동에 따라 발생되는 원심력 및 관성 중 적어도 하나에 의한 이동체(100)의 이동 오차가 보상될 수 있다. In operation S930, the
이상, 도 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.
상기 로우 레벨 센서는 홀 센서이고,
상기 가속도 정보는 상기 속도 정보와 상기 속도 정보를 적분함에 기반하여 추정되는 상기 이동체와 연관된 위치 정보에 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.
상기 구동 바퀴는 좌측 구동 바퀴 및 우측 구동 바퀴를 포함하고,
상기 구동 토크는 상기 좌측 구동 바퀴 및 상기 우측 구동 바퀴에 대한 구동 토크로서 수학식 1에 의해 계산되고,
[수학식 1]
상기 TCL 은 상기 좌측 구동 바퀴에 대한 구동 토크이고, 상기 TCR 은 상기 우측 구동 바퀴에 대한 구동 토크이고, 상기 A 및 B는 각각 상기 모델링 정보에 기반하여 획득된 상수이고, 상기 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]
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 θ .
상기 제어 전류는 상기 구동 토크에 상기 구동 바퀴 또는 상기 모터와 연관된 토크 상수를 나눔으로써 계산되는, 이동체의 제어 방법.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.
상기 모델링 정보는,
상기 이동체의 무게, 상기 구동 바퀴의 무게, 상기 구동 바퀴의 반경, 상기 이동체의 무게 중심에 대한 상기 구동 바퀴의 위치 관계 정보, 및 상기 이동체와 연관된 관성 모멘트를 포함하는, 이동체의 제어 방법.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.
상기 가속도 정보는 상기 이동체의 이동에 따라 변화하고,
상기 변화하는 가속도 정보에 따라 계산된 상기 구동 토크에 기반하여 계산된 제어 전류를 사용하여, 상기 구동 바퀴는 연속적으로 제어되는, 이동체의 제어 방법.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.
상기 제어 전류를 생성하는 단계는,
상기 이동체에 외력이 가해질 때, 힘 감지 센서에 의해 획득된 힘 정보를 가속도 정보로 변환하고, 상기 변환된 가속도 정보를 더 사용하여 상기 구동 토크를 계산함으로써, 상기 제어 전류를 생성하는, 이동체의 제어 방법.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]
상기 TCL 은 상기 좌측 구동 바퀴에 대한 구동 토크이고, 상기 TCR 은 상기 우측 구동 바퀴에 대한 구동 토크이고, 상기 A 및 B는 각각 상기 모델링 정보에 기반하여 획득된 상수이고, 상기 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]
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. .
모터에 의해 구동되는 구동 바퀴;
상기 구동 바퀴와 연관된 속도 정보를 획득하는 적어도 하나의 로우 레벨(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.
상기 로우 레벨 센서는 홀 센서이고,
상기 제어부는 상기 속도 정보와 상기 속도 정보를 적분함에 기반하여 추정되는 상기 이동체와 연관된 위치 정보에 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.
상기 구동 바퀴는 한 쌍을 이루는 좌측 구동 바퀴 및 우측 구동 바퀴를 포함하고,
상기 제어부는 상기 좌측 구동 바퀴 및 상기 우측 구동 바퀴에 대한 구동 토크로서 상기 구동 토크를 각각 계산하는, 이동체. 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.
상기 이동체에 대해 사용자에 의한 외력을 가하기 위한 손잡이부; 및
상기 손잡이부를 통해 가해지는 상기 외력을 측정하기 위한 힘 감지 센서
를 더 포함하고,
상기 제어부는, 상기 이동체에 외력이 가해질 때, 상기 힘 감지 센서에 의해 획득된 힘 정보를 가속도 정보로 변환하고, 상기 변환된 가속도 정보를 더 사용하여 상기 구동 토크를 계산하는, 이동체. 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.
동력에 의한 구동 없이 상기 이동체의 이동에 따라 회전하고, 상기 이동체의 이동 방향에 따라 방향이 조절되도록 구성되는 수동 바퀴
를 더 포함하는, 이동체.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.
운반하고자 하는 물건을 적재하기 위한 적재부
를 더 포함하는, 이동체.The method of claim 11,
Loading section for loading the goods to be transported
The moving body further comprising.
상기 제어부는 상기 이동체의 이동에 따라 변화하는 상기 가속도 정보에 따라, 상기 구동 토크를 계산함으로써 계산되는 상기 제어 전류를 사용하여, 상기 구동 바퀴를 연속적으로 제어하는, 이동체.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.
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090061478A (en) * | 2007-12-11 | 2009-06-16 | 엘지전자 주식회사 | Motor control apparatus and method thereof |
-
2018
- 2018-03-27 KR KR1020180035318A patent/KR102043403B1/en active IP Right Grant
Patent Citations (2)
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)
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 |