구동계#

소개#

drivetrain 클래스는 로봇의 주행 및 회전 방식을 제어합니다. 드라이브트레인은 로봇을 움직이기 위해 함께 작동하는 모터와 바퀴로 구성됩니다.

drivetrain 방향 기반 또는 회전 기반 회전을 위해 자이로 센서 또는 관성 센서를 사용하지 않습니다. 전진 또는 후진 주행과 좌회전 또는 우회전은 가능하지만 특정 방향이나 회전으로 회전할 수는 없습니다. 방향 기반 및 회전 기반 회전을 위해서는 smartdrive 클래스를 사용하십시오.

이 페이지에서는 예시 구동계 이름으로 myDrivetrain 을 사용합니다. 필요에 따라 구성된 이름으로 교체하십시오.

파생 클래스#

drivetrain 클래스는 다음 파생 클래스의 기본 클래스 역할을 합니다.

  • smartdrive - 자이로 센서 또는 관성 센서 지원이 포함된 구동계를 생성합니다.

클래스 생성자#

1 - 기존의 motor_group 객체를 사용하여 좌우측 구동계를 생성합니다.

drivetrain(
    motor_group      &l,
    motor_group      &r,
    double           wheelTravel = 320,
    double           trackWidth = 320,
    double           wheelBase = 130,
    distanceUnits    unit = mm,
    double           externalGearRatio = 1.0 );

2 - 기존의 motor 객체를 사용하여 좌우측 구동계를 생성합니다.

drivetrain(
    motor            &l,
    motor            &r,
    double           wheelTravel = 320,
    double           trackWidth = 320,
    double           wheelBase = 130,
    distanceUnits    unit = mm,
    double           externalGearRatio = 1.0 );

클래스 소멸자#

drivetrain 객체를 파괴하고 관련 리소스를 해제합니다.

virtual ~drivetrain();

매개변수#

매개변수

유형

설명

&l / &r

motor_group / motor

왼쪽 및 오른쪽 모터 또는 모터 그룹입니다. 두 매개변수는 모두 동일한 유형을 사용해야 합니다. 즉, 두 개의 motor_group 객체 또는 두 개의 motor 객체 중 하나를 사용해야 합니다.

wheelTravel

double

구동계 휠의 원주입니다. 기본값은 320 입니다.

trackWidth

double

왼쪽 바퀴와 오른쪽 바퀴 사이의 거리입니다. 기본값은 320 입니다.

wheelBase

double

앞바퀴와 뒷바퀴 사이의 거리입니다. 기본값은 130 입니다.

unit

distanceUnits

wheelTravel, trackWidth, wheelBase의 단위는 mm (기본값) 또는 inches.

externalGearRatio

double

기어를 사용하는 경우 주행 거리를 조정하는 데 사용되는 기어비입니다. 기본값은 1.0 입니다.

예#

// Create the left and right motor objects.
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);

// Create the drivetrain object.
drivetrain myDrivetrain = drivetrain(
    leftMotor,  // left motor
    rightMotor, // right motor
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

회원 기능#

drivetrain 클래스에는 다음과 같은 멤버 함수가 포함됩니다.

동작 - 로봇을 움직이고 회전시키세요.

  • drive - 로봇을 무한히 전진 또는 후진으로 이동시킵니다.

  • driveFor - 로봇을 특정 거리만큼 앞뒤로 이동시킵니다.

  • turn - 로봇을 왼쪽 또는 오른쪽으로 계속 회전시킵니다.

  • turnFor - 로봇을 특정 각도 또는 회전 수만큼 왼쪽 또는 오른쪽으로 회전시킵니다.

  • stop - 로봇의 움직임을 멈춥니다.

설정 - 구동계 설정을 조정합니다.

  • setDriveVelocity - 로봇에게 얼마나 빨리 운전해야 하는지 알려줍니다.

  • setTurnVelocity - 로봇에게 회전 속도를 알려줍니다.

  • setStopping - 로봇이 어떻게 움직임을 멈출지 알려줍니다. 브레이크, 관성 주행 또는 정지.

  • setTimeout - 로봇이 동작을 완료하려고 시도하는 시간을 설정합니다.

값 - 이동 상태를 확인하세요.

  • isDone - 로봇이 이동을 완료했는지 여부를 부울 값으로 반환합니다.

  • isMoving - 로봇이 움직이는지 여부를 부울 값으로 반환합니다.

  • velocity - 로봇이 얼마나 빠르게 주행하는지 반환합니다.

  • current - 구동계가 사용하는 전기 전류량을 반환합니다.

  • power - 구동계가 에너지를 사용하는 속도를 반환합니다.

  • torque - 구동계가 사용하는 토크량을 반환합니다.

  • efficiency - 구동계가 전력을 얼마나 효율적으로 사용하는지 반환합니다.

  • temperature - 구동계의 온도를 반환합니다.

  • voltage - 구동계의 전기 전압을 반환합니다.

drivetrain 멤버 함수를 호출하기 전에 drivetrain 객체를 생성해야 합니다.

/* This constructor is required when using VS Code.
Drivetrain configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the left and right motor objects.
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);

// Create the drivetrain object.
drivetrain myDrivetrain = drivetrain(
    leftMotor,  // left motor
    rightMotor, // right motor
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

행위#

운전하다#

drive 로봇을 전진 또는 후진으로 무한히 움직이게 합니다. 로봇은 방향 전환이나 정지와 같은 다른 동작이 주어질 때까지 계속 움직입니다.

Available Functions

1 - 현재 구동 속도를 사용하는 드라이브입니다.

void drive(
    directionType dir );

2 - 지정된 속도로 주행합니다.

void drive(
    directionType dir,
    double        velocity,
    velocityUnits units );

Parameters

매개변수

유형

설명

dir

directionType

로봇의 이동 방향: forward 또는 reverse.

velocity

double

velocityUnits::pct사용할 경우 주행 속도는 0%에서 100%까지, rpm사용할 경우 0에서 120 rpm까지, 또는 dps를 사용할 경우 0에서 720도/초까지 설정할 수 있습니다. 속도가 제공되지 않으면 로봇은 현재 주행 속도로 주행합니다.

units

velocityUnits

속도 단위: velocityUnits::pct (퍼센트), rpm (분당 회전수), 또는 dps (초당 도수).

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • drive 대기 모드가 아닙니다. 프로젝트는 다음 코드 줄을 즉시 실행합니다.

  • 로봇은 stop가 호출되거나 다른 구동계 이동 기능이 실행될 때까지 계속 움직입니다.

  • isDone 이동, isMoving drive 와 함께 사용되지 않습니다. 왜냐하면 drive 목표 거리가 없기 때문입니다.

Examples
// Drive forward and back.
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();

드라이브#

driveFor 로봇을 특정 거리만큼 앞뒤로 이동시킵니다. 프로젝트는 로봇의 이동이 완료될 때까지 기다린 후 다음 코드를 실행합니다.

Available Functions

1 - 현재 주행 속도를 이용하여 지정된 방향으로 일정 거리만큼 주행합니다.

bool driveFor(
    directionType dir,
    double        distance,
    distanceUnits units,
    bool          waitForCompletion = true );

2 - 현재 주행 속도를 이용하여 거리 값에 따라 주행 방향을 결정합니다.

bool driveFor(
    double        distance,
    distanceUnits units,
    bool          waitForCompletion = true );

3 - 지정된 속도로 거리 값에 따라 방향을 이동합니다.

bool driveFor(
    double        distance,
    distanceUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

4 - 지정된 방향으로 지정된 속도로 지정된 거리를 이동합니다.

bool driveFor(
    directionType dir,
    double        distance,
    distanceUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

Parameters

매개변수

유형

설명

dir

directionType

로봇의 이동 방향: forward 또는 reverse.

distance

double

로봇이 주행하는 거리.

units

distanceUnits

거리 단위: mm (밀리미터), inches또는 cm (센티미터).

velocity

double

velocityUnits::pct사용할 경우 주행 속도는 0%에서 100%까지, rpm사용할 경우 0에서 120 rpm까지, 또는 dps를 사용할 경우 0에서 720도/초까지 설정할 수 있습니다. 속도가 제공되지 않으면 로봇은 현재 주행 속도로 주행합니다.

units_v

velocityUnits

속도 단위: velocityUnits::pct (퍼센트), rpm (분당 회전수), 또는 dps (초당 도수).

waitForCompletion

bool

true (기본값)은 로봇의 움직임이 완료될 때까지 다음 코드 줄이 실행되지 않도록 합니다. false 은 다음 코드 줄이 즉시 실행되도록 합니다.

Return Values

로봇이 목표 거리에 도달했는지 여부를 부울 값으로 반환합니다.

  • true - 로봇이 목표 거리에 도달했습니다.

  • false - 로봇이 동작을 완료하지 못했거나, false waitForCompletion 로 설정되었기 때문에 동작이 완료되기 전에 함수가 반환되었습니다.

Notes
  • driveFor 이 실행 중인 동안 다른 구동계 동작 기능을 실행하면 현재 동작이 중단됩니다.

  • driveFor 은 목표 거리를 사용하므로 isDone 및 isMoving을 함께 사용할 수 있습니다.

Examples
// Drive 200 mm, then back 200 mm.
myDrivetrain.driveFor(forward, 200, mm);
myDrivetrain.driveFor(reverse, 200, mm);

회전하다#

turn 턴은 로봇을 왼쪽 또는 오른쪽으로 계속 회전시킵니다. 로봇은 주행이나 정지와 같은 다른 동작을 명령받을 때까지 계속 회전합니다.

Available Functions

1 - 현재 회전 속도를 이용하여 회전합니다.

void turn(
    turnType dir );

2 - 지정된 속도로 회전합니다.

void turn(
    turnType     dir,
    double       velocity,
    velocityUnits units );

Parameters

매개변수

유형

설명

dir

turnType

로봇이 회전하는 방향: left 또는 right.

velocity

double

회전 속도는 velocityUnits::pct사용할 경우 0%에서 100%까지, rpm rpm사용할 경우 0에서 120rpm까지, dps dps사용할 경우 0에서 720도/초까지 지정할 수 있습니다. 속도를 지정하지 않으면 로봇은 현재 회전 속도로 회전합니다.

units

velocityUnits

속도 단위: velocityUnits::pct (퍼센트), rpm (분당 회전수), 또는 dps (초당 도수).

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • turn 은 대기하지 않습니다. 프로젝트는 다음 코드 줄을 즉시 실행합니다.

  • 로봇은 stop가 호출되거나 다른 구동계 이동 기능이 실행될 때까지 계속 회전합니다.

  • isDone 과 isMoving turn 와 함께 사용되지 않습니다. 왜냐하면 turn 에는 목표 각도가 없기 때문입니다.

Examples
// Turn right, then left, then stop.
myDrivetrain.turn(right);
wait(2, seconds);
myDrivetrain.turn(left);
wait(2, seconds);
myDrivetrain.stop();

턴포#

turnFor 은 로봇을 지정된 각도, 회전 수 또는 단위만큼 왼쪽 또는 오른쪽으로 회전시킵니다. 회전은 로봇의 현재 위치를 기준으로 합니다. 프로젝트는 로봇이 회전을 완료할 때까지 기다린 후 다음 코드를 실행합니다.

Available Functions

1 - 현재 회전 속도를 이용하여 지정된 각도로 회전합니다.

bool turnFor(
    double        angle,
    rotationUnits units,
    bool          waitForCompletion = true );

2 - 현재 회전 속도를 이용하여 지정된 방향으로 지정된 각도만큼 회전합니다.

bool turnFor(
    turnType      dir,
    double        angle,
    rotationUnits units,
    bool          waitForCompletion = true );

3 - 지정된 속도로 지정된 각도만큼 회전합니다.

bool turnFor(
    double        angle,
    rotationUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

4 - 지정된 속도로 지정된 방향으로 지정된 각도만큼 회전합니다.

bool turnFor(
    turnType      dir,
    double        angle,
    rotationUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

Parameters

매개변수

유형

설명

dir

turnType

로봇이 회전하는 방향: left 또는 right.

angle

double

로봇이 회전하는 양.

units

rotationUnits

회전 단위는 deg 도, rev 회전, 또는 raw 회전(raw units)입니다. 1회전은 360도입니다.

velocity

double

회전 속도는 velocityUnits::pct사용할 경우 0%에서 100%까지, rpm rpm사용할 경우 0에서 120rpm까지, dps dps사용할 경우 0에서 720도/초까지 지정할 수 있습니다. 속도를 지정하지 않으면 로봇은 현재 회전 속도로 회전합니다.

units_v

velocityUnits

속도 단위: velocityUnits::pct (퍼센트), rpm (분당 회전수), 또는 dps (초당 도수).

waitForCompletion

bool

true (기본값)은 로봇이 회전을 완료할 때까지 다음 코드 줄이 실행되지 않도록 합니다. false 은 다음 코드 줄이 즉시 실행되도록 합니다.

Return Values

로봇이 목표 각도에 도달했는지 여부를 부울 값으로 반환합니다.

  • true - 로봇이 목표 각도에 도달했습니다.

  • false - 로봇이 턴을 완료하지 못했거나, waitForCompletion false 로 설정되었기 때문에 턴이 완료되기 전에 함수가 반환되었습니다.

Notes
  • turnFor 실행 중인 동안 다른 구동계 동작 기능을 실행하면 현재 동작이 중단됩니다.

  • turnFor 목표 각도를 사용하므로 isDone 및 isMoving을 함께 사용할 수 있습니다.

Examples
// Turn right, then left.
myDrivetrain.turnFor(right, 90, degrees);
wait(1, seconds);
myDrivetrain.turnFor(left, 90, degrees);

멈추다#

stop 로봇의 움직임을 멈춥니다. 정지 모드가 제공된 경우, 해당 모드는 이 함수 호출 시 로봇이 멈추는 방식을 제어합니다.

Available Functions

1 - 현재 정지 모드를 사용하여 구동계를 정지합니다.

void stop();

2 - 지정된 정지 모드를 사용하여 구동계를 정지시킵니다.

void stop(
    brakeType mode );

Parameters

매개변수

유형

설명

mode

brakeType

로봇 정지 방법:

  • brake - 즉시 정지합니다.
  • coast - 속도를 줄여 정지합니다.
  • hold - 즉시 정지하고 바퀴 위치를 유지합니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Examples
// Drive forward, then coast to a stop.
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);

돌연변이체#

주행 속도 설정#

setDriveVelocity 로봇이 얼마나 빠르게 주행해야 하는지를 알려줍니다. 백분율이 높을수록 로봇은 더 빠르게 주행하고, 백분율이 낮을수록 더 느리게 주행합니다.

모든 프로젝트는 로봇이 기본적으로 50% 속도로 주행하는 것으로 시작합니다.

참고: 속도가 높을수록 로봇의 주행 속도는 빨라지지만 정밀도는 떨어질 수 있습니다. 속도가 낮을수록 로봇의 주행 속도는 느려지지만 정밀도는 높아질 수 있습니다.

Available Functions
void setDriveVelocity(
  double velocity,
  velocityUnits units );

Parameters

매개변수

유형

설명

velocity

double

velocityUnits::pct사용할 경우 0%~100%의 속도로 구동하고, rpm사용할 경우 0~120 rpm으로 구동하며, dps 를 사용할 경우 0~720도/초로 구동합니다.

units

velocityUnits

속도 단위: velocityUnits::pct (퍼센트), rpm (분당 회전수), 또는 dps (초당 도수).

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 함수 호출 시 특정 속도가 제공되지 않는 한, 구동 속도는 이후의 구동계 작동 함수에서 사용됩니다.

Examples
// Drive forward, then coast to a stop.
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);

회전 속도 설정#

setTurnVelocity 로봇이 회전하는 속도를 지정합니다. 백분율이 높을수록 로봇은 더 빠르게 회전하고, 백분율이 낮을수록 로봇은 더 느리게 회전합니다.

모든 프로젝트는 로봇이 기본적으로 50% 속도로 회전하는 것으로 시작합니다.

참고: 속도가 높을수록 로봇의 회전 속도는 빨라지지만 정밀도는 떨어질 수 있습니다. 속도가 낮을수록 로봇의 회전 속도는 느려지지만 정밀도는 높아질 수 있습니다.

Available Functions
void setTurnVelocity(
  double velocity,
  velocityUnits units );

Parameters

매개변수

유형

설명

velocity

double

velocityUnits::pct사용할 때 0%에서 100%까지 회전하는 속도, rpm사용할 때 0에서 120 rpm까지 회전하는 속도, 또는 dps 사용할 때 0에서 720도/초까지 회전하는 속도입니다.

units

velocityUnits

속도 단위: velocityUnits::pct (퍼센트), rpm (분당 회전수), 또는 dps (초당 도수).

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 함수 호출 시 특정 속도가 제공되지 않는 한, 회전 속도는 이후 구동계 회전 기능에서 사용됩니다.

Examples
// Try default, slow, then fast.
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(20, percent);
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(100, percent);
myDrivetrain.turnFor(right, 360, degrees);

설정 중지#

setStopping 로봇이 정지하는 방법을 설정합니다. 브레이크, 관성 주행 또는 정지 중에서 선택할 수 있습니다.

Available Functions
void setStopping(
  brakeType mode );

Parameters

매개변수

유형

설명

mode

brakeType

로봇 정지 방법:

  • brake - 즉시 정지합니다.
  • coast - 속도를 줄여 정지합니다.
  • hold - 즉시 정지하고 바퀴 위치를 유지합니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 함수 호출에서 특정 정지 모드가 제공되지 않는 한, 정지 모드는 이후 stop 호출에서 사용됩니다.

  • 이 기능을 사용하지 않으면 로봇은 정지할 때 brake 사용합니다.

setTimeout#

setTimeout 로봇이 동작을 완료하려고 시도하는 시간을 설정합니다. 로봇이 해당 시간 내에 동작을 완료하지 못하면 시도를 중단하고 다음 코드 줄로 넘어갑니다. 이렇게 하면 로봇이 동작 중에 멈추는 것을 방지할 수 있습니다.

Available Functions
void setTimeout(
  int32_t time,
  timeUnits units );

Parameters

매개변수

유형

설명

time

int32_t

로봇이 동작을 완료하려고 시도할 수 있는 시간입니다. 이 값은 양의 정수여야 합니다.

units

timeUnits

시간 단위: sec (초)이고, msec (밀리초)입니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 타임아웃은 driveFor 및 turnFor와 같이 대상을 향해 이동하는 구동계 기능에만 적용됩니다.

Examples
// Turn right after driving forward.
myDrivetrain.setTimeout(1, seconds);
myDrivetrain.driveFor(forward, 25, inches);
myDrivetrain.turnFor(right, 90, degrees);

게터스#

완료되었습니다#

isDone 로봇의 이동 완료 여부를 부울 값으로 반환합니다. 이 값은 로봇의 움직임에 따라 다른 동작의 타이밍을 제어하는 ​​데 사용할 수 있습니다.

Available Functions
bool isDone( void );

Parameters

이 함수는 매개변수를 받지 않습니다.

Return Values
  • true - 로봇의 이동이 완료되었습니다.

  • false - 로봇이 아직 움직이고 있습니다.

Notes
  • isDone driveFor 및 turnFor과 같은 목표 기반 구동계 이동 기능과 함께 작동합니다.

  • isDone drive 또는 turn과 함께 사용되지 않습니다. 왜냐하면 이러한 함수는 대상으로 이동하지 않기 때문입니다.

이동 중입니다#

isMoving 부울 값으로 반환합니다. 이 값은 로봇의 움직임에 따라 다른 동작의 타이밍을 제어하는 ​​데 사용할 수 있습니다.

Available Functions
virtual bool isMoving( void );

Parameters

이 함수는 매개변수를 받지 않습니다.

Return Values
  • true - 로봇이 움직이고 있습니다.

  • false - 로봇이 움직이지 않습니다.

Notes
  • isMoving driveFor 및 turnFor과 같은 목표 기반 구동계 이동 기능과 함께 작동합니다.

  • isMoving drive 또는 turn과 함께 사용되지 않습니다. 왜냐하면 이러한 함수는 대상으로 이동하지 않기 때문입니다.

속도#

velocity 로봇의 주행 속도를 반환합니다.

이 기능은 속도를 백분율, rpm또는 dps로 표시할 수 있습니다. 양수 값은 로봇이 전진 주행 중임을 의미하고, 음수 값은 로봇이 후진 주행 중임을 의미합니다.

Available Functions
double velocity(
  velocityUnits units );

Parameters

매개변수

유형

설명

units

velocityUnits

반환 속도를 나타내는 단위는 percent, pct, 4rpm rpm, 또는 dps.

Return Values

선택한 단위로 구동계 속도를 double 로 구성된 double형 값으로 반환합니다.

Examples
// Show velocity before and during motion.
Brain.Screen.print("Resting: %f", myDrivetrain.velocity(percent));
myDrivetrain.drive(forward, 100, velocityUnits::pct);
wait(1, seconds);
Brain.Screen.newLine();
Brain.Screen.print("Moving: %f", myDrivetrain.velocity(percent));
myDrivetrain.stop();

현재의#

current 구동계가 사용하는 전류량을 반환합니다. 전류는 구동계를 통해 흐르는 전기의 양입니다. 단위에 따라 암페어(amps) 또는 백분율로 반환될 수 있습니다.

전류 값이 높다는 것은 구동계가 더 많은 전류를 사용하고 있다는 의미입니다. 이는 로봇이 물체를 밀거나 갇힌 상태에서 움직이려고 할 때 발생할 수 있습니다.

이는 동작 중에 구동계가 제대로 작동하지 못하는지 확인하는 데 사용할 수 있습니다. 전류가 높은 상태로 유지되면 구동계가 과열되거나 전력 효율이 떨어질 수 있습니다.

Available Functions

1 - 구동계의 전류를 암페어 단위로 반환합니다.

double current(
    currentUnits units = currentUnits::amp );

2 - 구동계의 전류를 백분율로 반환합니다.

double current(
    percentUnits units );

Parameters

매개변수

유형

설명

units

currentUnits

반환 전류를 위한 장치: amp.

units

percentUnits

반환 전류 단위: percent 또는 pct.

Return Values

선택한 단위로 구동계 전류를 double 로 이루어진 double형 값으로 반환합니다.

힘#

power 구동계가 사용하는 전력량을 와트 단위로 반환합니다. 전력은 구동계가 에너지를 얼마나 빠르게 사용하는지를 보여줍니다.

출력값이 높다는 것은 구동계가 에너지를 더 빠르게 소모한다는 의미입니다. 이는 로봇이 물체를 밀거나 갇힌 상태에서 움직이려고 할 때 발생할 수 있습니다.

이 기능은 움직임을 비교하거나 구동계가 제대로 작동하지 않는지 확인하는 데 사용할 수 있습니다. 출력이 높은 상태로 유지되면 구동계가 과열되거나 에너지 효율이 떨어질 수 있습니다.

Available Functions
double power(
  powerUnits units = powerUnits::watt );

Parameters

매개변수

유형

설명

units

powerUnits

전력 단위: watt.

Return Values

구동계 동력을 와트 단위로 double 두 번 반복된 형태로 반환합니다.

토크#

토크는 바퀴가 회전하는 동안 구동계가 얼마나 세게 밀거나 당길 수 있는지를 보여줍니다.

torque 구동계가 사용하는 토크량을 뉴턴미터(Nm) 또는 인치파운드(InLb) 단위로 반환합니다.

토크 값이 높다는 것은 구동계가 더 강하게 밀거나 당긴다는 것을 의미합니다. 이는 로봇이 물체를 밀거나, 움직이지 못하는 상황에서 움직이려고 할 때 발생할 수 있습니다.

이는 구동계가 제대로 작동하는지 확인하거나, 각 동작에 필요한 추진력을 비교하는 데 사용할 수 있습니다.

Available Functions
double torque(
  torqueUnits units = torqueUnits::nm );

Parameters

매개변수

유형

설명

units

torqueUnits

토크 값을 반환하는 단위는 Nm (뉴턴 미터, 기본값) 또는 InLb )입니다.

Return Values

선택한 단위로 구동계 토크를 double 의 이중체로 반환합니다.

능률#

efficiency 구동계가 동력을 얼마나 효율적으로 사용하는지를 0%에서 100% 사이의 백분율로 나타냅니다.

효율은 구동계의 동력 중 얼마나 많은 부분이 움직임에 사용되는지를 나타냅니다. 효율 값이 높을수록 구동계의 동력이 더 많이 움직이고 있다는 의미입니다. 반대로 로봇이 멈춰 있거나 물체에 부딪혔을 때처럼 구동계가 힘겹게 작동하지만 움직임이 미미할 경우 효율 값이 낮아질 수 있습니다.

이는 움직임을 비교하거나 구동계가 동력을 움직임에 사용하지 않고 낭비하는지 여부를 확인하는 데 사용할 수 있습니다.

Available Functions
double efficiency(
  percentUnits units = percentUnits::pct );

Parameters

매개변수

유형

설명

units

percentUnits

단위당 효율 반환: percent 퍼센트 또는 pct 퍼센트.

Return Values

선택한 단위로 구동계 효율을 double 의 합으로 반환합니다.

온도#

temperature 구동계의 평균 온도를 0%에서 100% 사이의 백분율로 반환합니다.

온도는 구동계 모터의 온도를 나타냅니다. 온도가 높을수록 모터가 작동 중에 뜨거워지고 있다는 의미입니다. 모터는 최적의 성능을 유지하려면 55°C 이하로 유지되어야 합니다.

모터가 과열되면 자체 보호를 위해 최대 전류를 낮춥니다. 70°C에 도달하면 모터는 식을 때까지 작동을 멈춥니다.

이는 반복적인 움직임, 장시간 주행 또는 물체를 밀어낼 때 구동계가 과열되는지 여부를 확인하는 데 사용할 수 있습니다.

Available Functions
double temperature(
  percentUnits units );

Parameters

매개변수

유형

설명

units

percentUnits

반환 온도 단위: percent % 또는 pct.

Return Values

선택한 단위로 평균 구동계 온도를 double 로 구성된 double형 값으로 반환합니다.

Notes
  • 반환 값 50% 평균 모터 온도가 약 45°C (113°F )임을 의미합니다.

  • 구동계의 일반적인 작동 온도 범위는 약 20°C (68°F) ~ 70°C (158°F )입니다.

전압#

voltage 구동계의 전기 전압을 반환합니다.

전압은 구동계 모터에 공급되는 전기적 압력입니다. 이는 전류 및 전력 값과 함께 사용하여 구동계가 전기 에너지를 어떻게 사용하는지 이해하는 데 사용할 수 있습니다.

Available Functions
double voltage(
  voltageUnits units = voltageUnits::volt );

Parameters

매개변수

유형

설명

units

voltageUnits

반환 전압의 단위: volt 볼트(기본값), voltageUnits::mV볼트 voltageUnits::mV 볼트(밀리볼트)

Return Values

선택한 단위로 구동계 전압을 double 의 이중체로 반환합니다.