| RtcProfile | |||
| ID | RTC:AIST INVENT:Controller:MotorControl:4.0.0 | ||
| Version | 0.2 | ||
| BasicInfo | |||
| Name | MotorControl | ||
| ComponentType | STATIC | ||
| ActivityType | PERIODIC | ||
| ComponentKind | DataFlowComponent | ||
| Category | Controller | ||
| Description | MotorControl | ||
| ExecutionRate | 1000.0 | ||
| ExecutionType | ExtTrigExecutionContext | ||
| MaxInstances | 10 | ||
| Vendor | AIST INVENT | ||
| Version | 4.0.0 | ||
| CreationDate | 2010-03-02T10:57:10.619+09:00 | ||
| UpdateDate | 2010-03-02T13:37:51.351+09:00 | ||
| language | |||
| doc_basic | |||
| reference | |||
| license | Copyright (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 | ||
| creator | Yusuke 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 | |||
| OnInitialize | implemented | true | |
| postCondition | none | ||
| preCondition | none | ||
| description | set Configuration parameters | ||
| OnFinalize | implemented | false | |
| OnStartup | implemented | false | |
| OnShutdown | implemented | false | |
| OnActivated | implemented | true | |
| postCondition | none | ||
| preCondition | none | ||
| description | (1) update INPORT's data (2) open files for debugging (3) initialize (4) get robot's parameter |
||
| OnDeactivated | implemented | true | |
| postCondition | none | ||
| preCondition | none | ||
| description | (1)close files for debugging | ||
| OnAborting | implemented | false | |
| OnError | implemented | false | |
| OnReset | implemented | false | |
| OnExecute | implemented | true | |
| postCondition | none | ||
| preCondition | none | ||
| 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 |
||
| OnStateUpdate | implemented | false | |
| OnRateChanged | implemented | false | |
| OnAction | implemented | false | |
| OnModeChanged | implemented | false | |
| configuration/doc_configuration | |||
| 1 | name | PGainL | |
| unit | |||
| defaultValue | 5.0 | ||
| type | double | ||
| constraint | |||
| range | |||
| unit | |||
| description | Left Wheel's P gain value of PD control | ||
| defaultValue | 5.0 | ||
| dataname | PGainL | ||
| 2 | name | DGainL | |
| unit | |||
| defaultValue | 2.0 | ||
| type | double | ||
| constraint | |||
| range | |||
| unit | |||
| description | Left Wheel's D gain value of PD control | ||
| defaultValue | 2.0 | ||
| dataname | DGainL | ||
| 3 | name | PGainR | |
| unit | |||
| defaultValue | 5.0 | ||
| type | double | ||
| constraint | |||
| range | |||
| unit | |||
| description | Right Wheel's P gain value of PD control | ||
| defaultValue | 5.0 | ||
| dataname | PGainR | ||
| 4 | name | DGainR | |
| unit | |||
| defaultValue | 2.0 | ||
| type | double | ||
| constraint | |||
| range | |||
| unit | |||
| description | Right Wheel's D gain value of PD control | ||
| defaultValue | 2.0 | ||
| dataname | DGainR | ||
| 5 | name | SimulatedOffsetX | |
| unit | |||
| defaultValue | 0.0 | ||
| type | double | ||
| constraint | |||
| range | |||
| unit | |||
| description | distance from CenterOfBody to CenterOfAxle of Model | ||
| defaultValue | 0.0 | ||
| dataname | SimulatedOffsetX | ||
| 6 | name | SimulatedOffsetY | |
| unit | |||
| defaultValue | 0.0 | ||
| type | double | ||
| constraint | |||
| range | |||
| unit | |||
| description | distance from CenterOfBody to CenterOfAxle of Model | ||
| defaultValue | 0.0 | ||
| dataname | SimulatedOffsetY | ||
| 7 | name | SimulatedOffsetAngle | |
| unit | |||
| defaultValue | 0.0 | ||
| type | double | ||
| constraint | |||
| range | |||
| unit | |||
| description | offset for adjustment of initial posture angle | ||
| defaultValue | 0.0 | ||
| dataname | SimulatedOffsetAngle | ||
| 8 | name | leftWheelID | |
| unit | none | ||
| defaultValue | 0 | ||
| type | int | ||
| constraint | none | ||
| range | |||
| unit | none | ||
| description | ID number of left wheel of mobile robot. | ||
| defaultValue | 0 | ||
| dataname | leftWheelID | ||
| 9 | name | rightWheelID | |
| unit | none | ||
| defaultValue | 1 | ||
| type | int | ||
| constraint | none | ||
| range | |||
| unit | none | ||
| description | ID number of right wheel of mobile robot. | ||
| defaultValue | 1 | ||
| dataname | rightWheelID | ||
| 10 | name | radiusOfLeftWheel | |
| unit | [m] | ||
| defaultValue | 0.1 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | [m] | ||
| description | radius of left wheel of mobile robot | ||
| defaultValue | 0.1(RefHard2 model) | ||
| dataname | radiusOfLeftWheel | ||
| 11 | name | radiusOfRightWheel | |
| unit | [m] | ||
| defaultValue | 0.1 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | [m] | ||
| description | radius of right wheel of mobile robot | ||
| defaultValue | 0.1(RefHard2 model) | ||
| dataname | radiusOfRightWheel | ||
| 12 | name | lengthOfAxle | |
| unit | [m] | ||
| defaultValue | 0.441 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | [m] | ||
| description | length of axle (from left wheel to right wheel) | ||
| defaultValue | 0.441(RefHard2 model) | ||
| dataname | lengthOfAxle | ||
| 13 | name | radiusOfBodyArea | |
| unit | [m] | ||
| defaultValue | 0.45 | ||
| type | double | ||
| constraint | |||
| range | |||
| unit | [m] | ||
| description | length of body radius (from center of Axle to corner of Body) | ||
| defaultValue | 0.45(RefHard2 model) | ||
| dataname | radiusOfBodyArea | ||
| dataports/doc_dataport | |||
| 1 | portType | DataInPort | |
| unit | |||
| subscriptionType | |||
| dataflowType | |||
| interfaceType | |||
| idlFile | |||
| type | IIS::TimedVelocity | ||
| name | TargetVelocity | ||
| position | RIGHT | ||
| variableName | TargetVelocity | ||
| operation | |||
| occerrence | |||
| unit | Trans velocity [m/s], Rot velocity [rad/s], timeStamp: [sec],[nanosec] | ||
| semantics | target 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] |
||
| number | Trans velocity data:2, Rot velocity data:1, timeStamp:1 | ||
| type | Trans/Rot velocity data: double, timeStamp:tm | ||
| description | target Trans/Rot Velocity of robot's center data for PD control | ||
| 2 | portType | DataInPort | |
| unit | |||
| subscriptionType | |||
| dataflowType | |||
| interfaceType | |||
| idlFile | |||
| type | TimedDoubleSeq | ||
| name | InCurrentWheelAngle | ||
| position | LEFT | ||
| variableName | InCurrentWheelAngle | ||
| operation | |||
| occerrence | |||
| unit | angle data : [rad], timeStamp: [sec],[nanosec] | ||
| semantics | current Wheel Angle data for PD control [0]: left wheel's current data [1]: right wheel's current data |
||
| number | angle data:2, timeStamp:1 | ||
| type | angle data: double, timeStamp:tm | ||
| description | current Wheel Angle data for PD control | ||
| 3 | portType | DataInPort | |
| unit | |||
| subscriptionType | |||
| dataflowType | |||
| interfaceType | |||
| idlFile | |||
| type | TimedDoubleSeq | ||
| name | InSimulatedPosition | ||
| position | LEFT | ||
| variableName | InSimulatedPosition | ||
| operation | |||
| occerrence | |||
| unit | X,Y,Z data : [m] | ||
| semantics | current 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) |
||
| number | 12 (x,y,z, posture angle matrix:9) | ||
| type | double | ||
| description | current Simulated Position data | ||
| 4 | portType | DataOutPort | |
| unit | |||
| subscriptionType | |||
| dataflowType | |||
| interfaceType | |||
| idlFile | |||
| type | TimedDoubleSeq | ||
| name | OutSimulatedPositionToInventGUI | ||
| position | RIGHT | ||
| variableName | OutSimulatedPositionToInventGUI | ||
| operation | |||
| occerrence | |||
| unit | X,Y,Z data : [m], THETA[rad] , timeStamp: [sec],[nanosec] | ||
| semantics | current Simulated Position data (the position of center of robots model) [0]: X data [1]: Y data [2]: Z data [3]: THETA (posture angle) |
||
| number | simulated position data:4 (x,y,z, posture angle ) , timeStamp:1 | ||
| type | simulated position data: double, timeStamp:tm | ||
| description | current Simulated Position data | ||
| 5 | portType | DataOutPort | |
| unit | |||
| subscriptionType | |||
| dataflowType | |||
| interfaceType | |||
| idlFile | |||
| type | TimedDoubleSeq | ||
| name | Torque | ||
| position | RIGHT | ||
| variableName | Torque | ||
| operation | |||
| occerrence | |||
| unit | torque data : [], timeStamp: [sec],[nanosec] | ||
| semantics | Torque data [0]: left wheel's torque data [1]: right wheel's torque data |
||
| number | Torque data:2, timeStamp:1 | ||
| type | Torque data: double, timeStamp:tm | ||
| description | Torque data | ||
| 6 | portType | DataOutPort | |
| unit | |||
| subscriptionType | |||
| dataflowType | |||
| interfaceType | |||
| idlFile | |||
| type | TimedDoubleSeq | ||
| name | OutCurrentWheelAngle | ||
| position | RIGHT | ||
| variableName | OutCurrentWheelAngle | ||
| operation | |||
| occerrence | |||
| unit | angle data : [rad], timeStamp: [sec],[nanosec] | ||
| semantics | current Wheel Angle data for PD control [0]: left wheel's current data [1]: right wheel's current data |
||
| number | angle data:2, timeStamp:1 | ||
| type | angle data: double, timeStamp:tm | ||
| description | current Wheel Angle data for sending to [OdometryRTC] | ||
| 7 | portType | DataOutPort | |
| unit | |||
| subscriptionType | |||
| dataflowType | |||
| interfaceType | |||
| idlFile | |||
| type | TimedDoubleSeq | ||
| name | OutSimulatedPositionToLocalization | ||
| position | RIGHT | ||
| variableName | OutSimulatedPositionToLocalization | ||
| operation | |||
| occerrence | |||
| unit | X,Y,Z data : [m], THETA[rad] , timeStamp: [sec],[nanosec] | ||
| semantics | current Simulated Position data (the position of center of robots model) [0]: X data [1]: Y data [2]: Z data [3]: THETA (posture angle) |
||
| number | simulated position data:4 (x,y,z, posture angle ) , timeStamp:1 | ||
| type | simulated position data: double, timeStamp:tm | ||
| description | current Simulated Position data | ||
| serviceport/doc_serviceport | |||
| 1 | name | InventGUIProv | |
| position | LEFT | ||
| ifdescription | [Provider] (1) for changing GAIN parameters (2) for receiving start/finish etc.. commands |
||
| description | for InventGUIRTC | ||
| serviceinterface/doc_serviceinterface | |||
| 1 | name | InventGUIMotor | |
| path | /tmp/OpenINVENT-4.0.0/MotorControl_ver4.0.0 | ||
| type | Motor | ||
| idlFile | /tmp/OpenINVENT-4.0.0/MotorControl_ver4.0.0/MotorControlPro.idl | ||
| instanceName | InventGUIMotor | ||
| direction | Provided | ||
| docPostCondition | |||
| docPreCondition | |||
| docException | |||
| docReturn | void | ||
| docArgument | setPDGain() 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 |
||
| 2 | name | BumpProv | |
| position | LEFT | ||
| ifdescription | (1) for receiving bump command | ||
| description | for BumpDetectionRTC | ||
| serviceinterface/doc_serviceinterface | |||
| 1 | name | BumpMotor | |
| path | /tmp/OpenINVENT-4.0.0/MotorControl_ver4.0.0 | ||
| type | Motor | ||
| idlFile | /tmp/OpenINVENT-4.0.0/MotorControl_ver4.0.0/MotorControlPro.idl | ||
| instanceName | BumpMotor | ||
| direction | Provided | ||
| docPostCondition | |||
| docPreCondition | |||
| docException | |||
| docReturn | void | ||
| docArgument | void | ||
| description | If get BumpDetected information, set 0.0 values to Torque data for stopping MOTOR. |
||