: Public Class
Created: 2015-07-31 오후 4:10:03
Modified: 2015-07-31 오후 4:10:03
Project:
Advanced:
Attribute
Public int
  _controlMode
Details:
Notes: 차량의 동작 모드: 0-수동운전, 1-반자동 운전(조향만 자동제어), 2-자동 운전(조향, 속도 자동제어)#lt;p/#gt;
Public double
  _curLinearPos
Details:
 
Public double
  _curLinearVel
Details:
 
Public double
  _curSteerAngle
Details:
 
Public double
  _linearVel
Details:
Notes: Unit: m/s#lt;p/#gt;
Private CDeviceLock
  _lock
Details:
 
Private CMobilityProfile*
  _mp
Details:
 
Public CPosture
  _posture
Details:
Notes: Dead-reckoning으로 계산한 차량의 위치와 방위#lt;p/#gt;
Public DWORD
  _readTime
Details:
 
Public CPosture
  _realPosture
Details:
Notes: !!!시뮬레이션을 위해 임시로 둠#lt;p/#gt;
Public long
  _realRearWheelEncoder
Details:
 
Public long
  _realSteerAbsEncoder
Details:
 
Private long
  _rearWheelEncoderPrev
Details:
 
Private CSerialCOM*
  _serial
Details:
 
Private long
  _steerAbsEncoderPrev
Details:
 
Public double
  _steerAngle
Details:
Notes: Unit: rad#lt;p/#gt;
Operation
Private
CalcNextPosition( currentPos: double,
desiredPos: double,
maxPos: double,
vel: double,
dt: double,
):double
Details:
Sequential
Private
CalcNextVelocity( remainDist: double,
currentVel: double,
desiredVel: double,
maxVel: double,
accel: double,
dt: double,
):double
Details:
Sequential
Private
CmdDrive( rearWheelVel: long,
steerAngle: long,
):bool
Details:
Sequential
Private
CmdNull():void
Details:
Sequential
Private
CmdReadStatus( mode: int*,
steerAbsEncoder: long*,
rearWheelEncoder: long*,
rearWheelVelocity: long*,
):bool
Details:
Sequential
Public
CMobility( mp: CMobilityProfile*,
serial: CSerialCOM*,
):
Details:
Sequential
Tags: initializer=_mp(mp),_serial(serial)
Public
~CMobility():
Details:
Sequential
Private
CorrectSteerAngle( x: double,
):double
Details:
Sequential
Private
DeadReckoning( steerAbsEncoder: long,
rearWheelEncoder: long,
rearWheelVelocity: long,
dt: double,
):void
Details:
Sequential
Public
Drive( linearVel: double,
steerAngle: double,
dt: double,
linearDist: double,
):bool
Details:
Sequential
Private
EmptyRecvBuff():void
Details:
Sequential
Private
FindAndMove( packet: char*,
n: int,
command: char,
):int
Details:
Sequential
Public
QuickStop():bool
Details:
Sequential
Public
ReadEncoder( dt: double,
):bool
Details:
Sequential
Private
ReadMobilityEncoder( rearWheelEncoder: long*,
steerAbsEncoder: long*,
):bool
Details:
Sequential
Private
ReadPacket( packet: char*,
len: int,
stx_char: char,
timeout: DWORD,
):int
Details:
Sequential
Element Source Role Target Role
CDeviceLock
Class  
Name:  
 
Name: _lock
 
Details:
 
CMobilityProfile
Class  
Name:  
 
Name: _mp
 
Details:
 
CPosture
Class  
Name:  
 
Name: _posture
 
Details:
 
«typedef» DWORD
Class  
Name:  
 
Name: _readTime
 
Details:
 
CPosture
Class  
Name:  
 
Name: _realPosture
 
Details:
 
CSerialCOM
Class  
Name:  
 
Name: _serial
 
Details:
 
Element Source Role Target Role
DeviceManager
Class  
Name:  
 
Name: _mobility
 
Details: