RtcProfile
IDRTC:AIST INVENT:Controller:MotorControl:4.0.0
Version0.2
BasicInfo
NameMotorControl
ComponentTypeSTATIC
ActivityTypePERIODIC
ComponentKindDataFlowComponent
CategoryController
DescriptionMotorControl
ExecutionRate1000.0
ExecutionTypeExtTrigExecutionContext
MaxInstances10
VendorAIST INVENT
Version4.0.0
CreationDate2010-03-02T10:57:10.619+09:00
UpdateDate2010-03-02T13:37:51.351+09:00
language
doc_basic
reference
licenseCopyright (c) 2008, National Institute of Advanced Industrial Science and Technology (AIST). All rights reserved. This program is made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
creatorYusuke Nakajima (y.nakajima@aist.go.jp)
algorithm[Calculating Torque values using current/target angle/AngVel values]
[Torque] = Pgain * ([TargetAngle] - [CurrentAngle]) * Dgain * ([TargetAngVel] - [CurrentAngVel])
inout[INPUT]
(1) target Trans/Rot Velocity data
(2) current Angle data (encoder data)
[OUTPUT]
(1) Torque data
(2) current Angle data
description(1)getting target trans/rot Velocity of robot's center data from DriveControlRTC
(2)calculating Torque values
(3)sending Torque data to Simulator or real Motor
(4)getting current Angle data (encoder dadta) from Simulator or Real Robot
(5)sending current Angle data to DriveControlRTC and OdometryRTC
actions
action_status/doc_action
OnInitializeimplementedtrue
postConditionnone
preConditionnone
descriptionset Configuration parameters
OnFinalizeimplementedfalse
OnStartupimplementedfalse
OnShutdownimplementedfalse
OnActivatedimplementedtrue
postConditionnone
preConditionnone
description(1) update INPORT's data
(2) open files for debugging
(3) initialize
(4) get robot's parameter
OnDeactivatedimplementedtrue
postConditionnone
preConditionnone
description(1)close files for debugging
OnAbortingimplementedfalse
OnErrorimplementedfalse
OnResetimplementedfalse
OnExecuteimplementedtrue
postConditionnone
preConditionnone
description(1)getting target trans/rot Velocity of robot's center data from DriveControlRTC
(2)calculating Torque values
(3)sending Torque data to Simulator or real Motor
(4)getting current Angle data (encoder dadta) from Simulator or Real Robot
(5)sending current Angle data to DriveControlRTC or OdometryRTC
OnStateUpdateimplementedfalse
OnRateChangedimplementedfalse
OnActionimplementedfalse
OnModeChangedimplementedfalse
configuration/doc_configuration
1namePGainL
unit
defaultValue5.0
typedouble
constraint
range
unit
descriptionLeft Wheel's P gain value of PD control
defaultValue5.0
datanamePGainL
2nameDGainL
unit
defaultValue2.0
typedouble
constraint
range
unit
descriptionLeft Wheel's D gain value of PD control
defaultValue2.0
datanameDGainL
3namePGainR
unit
defaultValue5.0
typedouble
constraint
range
unit
descriptionRight Wheel's P gain value of PD control
defaultValue5.0
datanamePGainR
4nameDGainR
unit
defaultValue2.0
typedouble
constraint
range
unit
descriptionRight Wheel's D gain value of PD control
defaultValue2.0
datanameDGainR
5nameSimulatedOffsetX
unit
defaultValue0.0
typedouble
constraint
range
unit
descriptiondistance from CenterOfBody to CenterOfAxle of Model
defaultValue0.0
datanameSimulatedOffsetX
6nameSimulatedOffsetY
unit
defaultValue0.0
typedouble
constraint
range
unit
descriptiondistance from CenterOfBody to CenterOfAxle of Model
defaultValue0.0
datanameSimulatedOffsetY
7nameSimulatedOffsetAngle
unit
defaultValue0.0
typedouble
constraint
range
unit
descriptionoffset for adjustment of initial posture angle
defaultValue0.0
datanameSimulatedOffsetAngle
8nameleftWheelID
unitnone
defaultValue0
typeint
constraintnone
range
unitnone
descriptionID number of left wheel of mobile robot.
defaultValue0
datanameleftWheelID
9namerightWheelID
unitnone
defaultValue1
typeint
constraintnone
range
unitnone
descriptionID number of right wheel of mobile robot.
defaultValue1
datanamerightWheelID
10nameradiusOfLeftWheel
unit[m]
defaultValue0.1
typedouble
constraintnone
range
unit[m]
descriptionradius of left wheel of mobile robot
defaultValue0.1(RefHard2 model)
datanameradiusOfLeftWheel
11nameradiusOfRightWheel
unit[m]
defaultValue0.1
typedouble
constraintnone
range
unit[m]
descriptionradius of right wheel of mobile robot
defaultValue0.1(RefHard2 model)
datanameradiusOfRightWheel
12namelengthOfAxle
unit[m]
defaultValue0.441
typedouble
constraintnone
range
unit[m]
descriptionlength of axle (from left wheel to right wheel)
defaultValue0.441(RefHard2 model)
datanamelengthOfAxle
13nameradiusOfBodyArea
unit[m]
defaultValue0.45
typedouble
constraint
range
unit[m]
descriptionlength of body radius (from center of Axle to corner of Body)
defaultValue0.45(RefHard2 model)
datanameradiusOfBodyArea
dataports/doc_dataport
1portTypeDataInPort
unit
subscriptionType
dataflowType
interfaceType
idlFile
typeIIS::TimedVelocity
nameTargetVelocity
positionRIGHT
variableNameTargetVelocity
operation
occerrence
unitTrans velocity [m/s], Rot velocity [rad/s], timeStamp: [sec],[nanosec]
semanticstarget Trans/Rot Velocity of robot's center data for PD control
[Trans Velocity]: translational velocity of robot's center [m/sec]
[Rot Velocity]: rotation velocity (swing velocity) of robot's center [rad/sec]
numberTrans velocity data:2, Rot velocity data:1, timeStamp:1
typeTrans/Rot velocity data: double, timeStamp:tm
descriptiontarget Trans/Rot Velocity of robot's center data for PD control
2portTypeDataInPort
unit
subscriptionType
dataflowType
interfaceType
idlFile
typeTimedDoubleSeq
nameInCurrentWheelAngle
positionLEFT
variableNameInCurrentWheelAngle
operation
occerrence
unitangle data : [rad], timeStamp: [sec],[nanosec]
semanticscurrent Wheel Angle data for PD control
[0]: left wheel's current data
[1]: right wheel's current data
numberangle data:2, timeStamp:1
typeangle data: double, timeStamp:tm
descriptioncurrent Wheel Angle data for PD control
3portTypeDataInPort
unit
subscriptionType
dataflowType
interfaceType
idlFile
typeTimedDoubleSeq
nameInSimulatedPosition
positionLEFT
variableNameInSimulatedPosition
operation
occerrence
unitX,Y,Z data : [m]
semanticscurrent Simulated Position data (the position of center of robots model)
[0]: X data
[1]: Y data
[2]: Z data
[3]-[11]: 3x3 Matrix data (posture angle)
number12 (x,y,z, posture angle matrix:9)
typedouble
descriptioncurrent Simulated Position data
4portTypeDataOutPort
unit
subscriptionType
dataflowType
interfaceType
idlFile
typeTimedDoubleSeq
nameOutSimulatedPositionToInventGUI
positionRIGHT
variableNameOutSimulatedPositionToInventGUI
operation
occerrence
unitX,Y,Z data : [m], THETA[rad] , timeStamp: [sec],[nanosec]
semanticscurrent Simulated Position data (the position of center of robots model)
[0]: X data
[1]: Y data
[2]: Z data
[3]: THETA (posture angle)
numbersimulated position data:4 (x,y,z, posture angle ) , timeStamp:1
typesimulated position data: double, timeStamp:tm
descriptioncurrent Simulated Position data
5portTypeDataOutPort
unit
subscriptionType
dataflowType
interfaceType
idlFile
typeTimedDoubleSeq
nameTorque
positionRIGHT
variableNameTorque
operation
occerrence
unittorque data : [], timeStamp: [sec],[nanosec]
semanticsTorque data
[0]: left wheel's torque data
[1]: right wheel's torque data
numberTorque data:2, timeStamp:1
typeTorque data: double, timeStamp:tm
descriptionTorque data
6portTypeDataOutPort
unit
subscriptionType
dataflowType
interfaceType
idlFile
typeTimedDoubleSeq
nameOutCurrentWheelAngle
positionRIGHT
variableNameOutCurrentWheelAngle
operation
occerrence
unitangle data : [rad], timeStamp: [sec],[nanosec]
semanticscurrent Wheel Angle data for PD control
[0]: left wheel's current data
[1]: right wheel's current data
numberangle data:2, timeStamp:1
typeangle data: double, timeStamp:tm
descriptioncurrent Wheel Angle data for sending to [OdometryRTC]
7portTypeDataOutPort
unit
subscriptionType
dataflowType
interfaceType
idlFile
typeTimedDoubleSeq
nameOutSimulatedPositionToLocalization
positionRIGHT
variableNameOutSimulatedPositionToLocalization
operation
occerrence
unitX,Y,Z data : [m], THETA[rad] , timeStamp: [sec],[nanosec]
semanticscurrent Simulated Position data (the position of center of robots model)
[0]: X data
[1]: Y data
[2]: Z data
[3]: THETA (posture angle)
numbersimulated position data:4 (x,y,z, posture angle ) , timeStamp:1
typesimulated position data: double, timeStamp:tm
descriptioncurrent Simulated Position data
serviceport/doc_serviceport
1nameInventGUIProv
positionLEFT
ifdescription[Provider]
(1) for changing GAIN parameters
(2) for receiving start/finish etc.. commands
descriptionfor InventGUIRTC
serviceinterface/doc_serviceinterface
1nameInventGUIMotor
path/tmp/OpenINVENT-4.0.0/MotorControl_ver4.0.0
typeMotor
idlFile/tmp/OpenINVENT-4.0.0/MotorControl_ver4.0.0/MotorControlPro.idl
instanceNameInventGUIMotor
directionProvided
docPostCondition
docPreCondition
docException
docReturnvoid
docArgumentsetPDGain()
PGainL : P gain (LeftWheel) of PD control
PGainR : P gain (RightWheel) of PD control
DGainL : D gain (LeftWheel) of PD control
DGainR : D gain (RightWheel) of PD control
description[Provider]
(1) for changing GAIN parameters
(2) for receiving start/finish etc.. commands
2nameBumpProv
positionLEFT
ifdescription(1) for receiving bump command
descriptionfor BumpDetectionRTC
serviceinterface/doc_serviceinterface
1nameBumpMotor
path/tmp/OpenINVENT-4.0.0/MotorControl_ver4.0.0
typeMotor
idlFile/tmp/OpenINVENT-4.0.0/MotorControl_ver4.0.0/MotorControlPro.idl
instanceNameBumpMotor
directionProvided
docPostCondition
docPreCondition
docException
docReturnvoid
docArgumentvoid
descriptionIf get BumpDetected information,
set 0.0 values to Torque data
for stopping MOTOR.