| RtcProfile | |||
| ID | RTC:AIST INVENT:Controller:DriveControl:4.0.0 | ||
| Version | 0.2 | ||
| BasicInfo | |||
| Name | DriveControl | ||
| ComponentType | STATIC | ||
| ActivityType | PERIODIC | ||
| ComponentKind | DataFlowComponent | ||
| Category | Controller | ||
| Description | DriveControl | ||
| ExecutionRate | 1000.0 | ||
| ExecutionType | PeriodicExecutionContext | ||
| MaxInstances | 10 | ||
| Vendor | AIST INVENT | ||
| Version | 4.0.0 | ||
| CreationDate | 2010-03-02T10:57:10.619+09:00 | ||
| UpdateDate | 2010-03-02T13:42:57.008+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 | |||
| inout | [INPUT] (1) current localized position data [OUTPUT] (1) Target Trans/Rot Velocity data (2) Current distance data |
||
| description | (1)getting current localized position from LocalizationRTC (2)calculating Target Trans/Rot velocity values for controlling robot's velocity (3)sending target Trans/Rot Velocity data to MotorControlRTC (4)sending distance data between current position and target point to LocalPathPlanningRTC |
||
| 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 current localized position from LocalizationRTC (2)calculating Target Trans/Rot velocity values for controlling robot's velocity (3)sending target Trans/Rot Velocity data to MotorControlRTC (4)sending distance data between current position and target point to LocalPathPlanningRTC |
||
| OnStateUpdate | implemented | false | |
| OnRateChanged | implemented | false | |
| OnAction | implemented | false | |
| OnModeChanged | implemented | false | |
| configuration/doc_configuration | |||
| 1 | name | TransMaxVelocity | |
| unit | [m/sec] | ||
| defaultValue | 0.5 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | [m/sec] | ||
| description | Max trans velocity of center of RobotMax trans velocity of center of Robot | ||
| defaultValue | 0.5 | ||
| dataname | TransMaxVelocity | ||
| 2 | name | TransMaxAcceleration | |
| unit | [m/sec^2] | ||
| defaultValue | 1.0 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | [m/sec^2] | ||
| description | Max trans acceleration of center of Robot | ||
| defaultValue | 1.0 | ||
| dataname | TransMaxAcceleration | ||
| 3 | name | RotMaxVelocity | |
| unit | [rad/sec] | ||
| defaultValue | 0.7 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | [rad/sec] | ||
| description | Max rotation velocity of center of Robot | ||
| defaultValue | 0.7 | ||
| dataname | RotMaxVelocity | ||
| 4 | name | RotMaxAcceleration | |
| unit | [rad/sec^2] | ||
| defaultValue | 1.0 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | [rad/sec^2] | ||
| description | Max rotation acceleration of center of Robot | ||
| defaultValue | 1.0 | ||
| dataname | RotMaxAcceleration | ||
| 5 | name | velGainByLength | |
| unit | none | ||
| defaultValue | 3.0 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | none | ||
| description | The LENGTH element's gain for controlling velocity ([LENGTH] is the distance from Current position to Target path) | ||
| defaultValue | 3.0 | ||
| dataname | velGainByLength | ||
| 6 | name | velGainByDeltaLength | |
| unit | none | ||
| defaultValue | 30.0 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | none | ||
| description | The DELTA LENGTH element's gain for controlling velocity ([LENGTH] is the distance from Current position to Target path) | ||
| defaultValue | 30.0 | ||
| dataname | velGainByDeltaLength | ||
| 7 | name | velGainByTheta | |
| unit | none | ||
| defaultValue | 1.8 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | none | ||
| description | The THETA element's gain for controlling velocity ([THETA] is the differential Angle from Current posture angle to Target path's angle) | ||
| defaultValue | 1.8 | ||
| dataname | velGainByTheta | ||
| 8 | name | velGainByDeltaTheta | |
| unit | none | ||
| defaultValue | 18.0 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | none | ||
| description | The DELTA THETA element's gain for controlling velocity ([THETA] is the differential Angle from Current posture angle to Target path's angle) | ||
| defaultValue | 18.0 | ||
| dataname | velGainByDeltaTheta | ||
| 9 | name | RotFinBorder | |
| unit | [rad] | ||
| defaultValue | 0.05232 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | [rad] | ||
| description | the border of [ROTATION ANGLE] (the value of tolerance margin) 1[deg] = 0.01744[rad] | ||
| defaultValue | 0.05232 (=3deg) | ||
| dataname | RotFinBorder | ||
| 10 | name | RotDecBorder | |
| unit | [rad] | ||
| defaultValue | 0.1744 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | [rad] | ||
| description | the border of [ROTATION ANGLE] for start decreasing RotVel depend on rest angle | ||
| defaultValue | 0.1744 (=10deg) | ||
| dataname | RotDecBorder | ||
| 11 | name | GoalFinBorder | |
| unit | [m] | ||
| defaultValue | 0.05 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | [m] | ||
| description | the border value [m] of GOAL (the value of tolerance margin) (this value needs to be less than "Deviatinglen" in LocalPathPlanngRTC) | ||
| defaultValue | 0.05 | ||
| dataname | GoalFinBorder | ||
| 12 | name | GoalDecBorder | |
| unit | [m] | ||
| defaultValue | 0.5 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | [m] | ||
| description | the border value [m] for decreasing velocty | ||
| defaultValue | 0.5 | ||
| dataname | GoalDecBorder | ||
| 13 | name | ObstacleFinBorder | |
| unit | [m] | ||
| defaultValue | 0.25 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | [m] | ||
| description | the border of controlling velocity by Obstacle | ||
| defaultValue | 0.25 | ||
| dataname | ObstacleFinBorder | ||
| 14 | name | ObstacleDecBorder | |
| unit | [m] | ||
| defaultValue | 3.0 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | [m] | ||
| description | the border of controlling velocity by Obstacle | ||
| defaultValue | 3.0 | ||
| dataname | ObstacleDecBorder | ||
| 15 | name | obstacleWeight | |
| unit | none | ||
| defaultValue | 0.6 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | none | ||
| description | The OBSTACLE element's weight for controlling velocity (If Obstacles are close to myself, change Max velocity to multiplied this value.) | ||
| defaultValue | 0.6 | ||
| dataname | obstacleWeight | ||
| 16 | name | goalWeight | |
| unit | none | ||
| defaultValue | 0.4 | ||
| type | double | ||
| constraint | none | ||
| range | |||
| unit | none | ||
| description | The GOAL element's weight for controlling velocity (If GOAL is close to myself, change Max velocity to multiplied this value.) | ||
| defaultValue | 0.4 | ||
| dataname | goalWeight | ||
| 17 | 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 | ||
| 18 | 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 | ||
| 19 | 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 | ||
| 20 | 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 | ||
| 21 | 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 | ||
| 22 | 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::TimedPosition | ||
| name | LocalizedPosition | ||
| position | LEFT | ||
| variableName | LocalizedPosition | ||
| operation | |||
| occerrence | |||
| unit | X,Y data : [m], Angle : [rad], timeStamp: [sec],[nanosec] | ||
| semantics | current Localized Position data (the position of center of robots model) [0]: X data [1]: Y data [2]: posture angle[rad] |
||
| number | 4 (x,y, posture angle) , timeStamp:1, error[] | ||
| type | localized Position data: double, timeStamp:tm | ||
| description | current Localized Position data | ||
| 2 | portType | DataOutPort | |
| 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 | ||
| 3 | portType | DataOutPort | |
| unit | |||
| subscriptionType | |||
| dataflowType | |||
| interfaceType | |||
| idlFile | |||
| type | TimedDouble | ||
| name | DeviantDistance | ||
| position | RIGHT | ||
| variableName | DeviantDistance | ||
| operation | |||
| occerrence | |||
| unit | distance data : [m], timeStamp: [sec],[nanosec] | ||
| semantics | diviant distance from current position to the target point on the PATH [0]: distance ([current position] -- [the point on the palnned PATH]) |
||
| number | distance data:1 , timeStamp:1 | ||
| type | distance data: double, timeStamp:tm | ||
| description | diviant distance from current position to the target point on the PATH | ||
| serviceport/doc_serviceport | |||
| 1 | name | MapBuilderProv | |
| position | LEFT | ||
| ifdescription | [Provider] (1) for receiving MapData |
||
| description | for MapBuilderRTC | ||
| serviceinterface/doc_serviceinterface | |||
| 1 | name | MapBuilderDrive | |
| path | /tmp/OpenINVENT-4.0.0/DriveControl_ver4.0.0 | ||
| type | Drive | ||
| idlFile | /tmp/OpenINVENT-4.0.0/DriveControl_ver4.0.0/DriveControlPro.idl | ||
| instanceName | MapBuilderDrive | ||
| direction | Provided | ||
| docPostCondition | |||
| docPreCondition | |||
| docException | |||
| docReturn | void | ||
| docArgument | SetMap() MapData : map data (0,1..) MapLengthX : X length of MAP [m] MapLengthY : Y length of MAP [m] GridSizeX : size of X GRID [m] GridSizeY : size of Y GRID [m] |
||
| description | [Provider] (1) for receiving MapData |
||
| 2 | name | MapMaintenanceProv | |
| position | LEFT | ||
| ifdescription | [Provider] (1) for receiving Map update data (including ObstacleData) |
||
| description | for MapMaintenanceRTC | ||
| serviceinterface/doc_serviceinterface | |||
| 1 | name | MapMaintenanceDrive | |
| path | /tmp/OpenINVENT-4.0.0/DriveControl_ver4.0.0 | ||
| type | Drive | ||
| idlFile | /tmp/OpenINVENT-4.0.0/DriveControl_ver4.0.0/DriveControlPro.idl | ||
| instanceName | MapMaintenanceDrive | ||
| direction | Provided | ||
| docPostCondition | |||
| docPreCondition | |||
| docException | |||
| docReturn | void | ||
| docArgument | MapUpdate() X : array number of X Map grid data Y : array number of Y Map grid data value: Presence of obstacle [0= not exists : 1= exists] num : the number of array data sec : Made time [sec] nsec : Made time |
||
| description | [Provider] (1) for receiving Map update data (including ObstacleData) |
||
| 3 | name | LocalPathProv | |
| position | LEFT | ||
| ifdescription | [Provider] (1) for receiving LocalPathData |
||
| description | for LocalPathPlanningRTC | ||
| serviceinterface/doc_serviceinterface | |||
| 1 | name | LocalPathDrive | |
| path | /tmp/OpenINVENT-4.0.0/DriveControl_ver4.0.0 | ||
| type | Drive | ||
| idlFile | /tmp/OpenINVENT-4.0.0/DriveControl_ver4.0.0/DriveControlPro.idl | ||
| instanceName | LocalPathDrive | ||
| direction | Provided | ||
| docPostCondition | |||
| docPreCondition | |||
| docException | |||
| docReturn | void | ||
| docArgument | LocalPathCourse() PathX : physical value of X path data PathY : physical value of Y path data num : the number of array data direction : 1=[Ahead] 2=[Back] |
||
| description | [Provider] (1) for receiving LocalPathData |
||
| 4 | name | InventGUIProv | |
| position | LEFT | ||
| ifdescription | [Provider] (1) for changing MAX parameters (2) for receiving start/finish etc.. commands (3) for receiving start/goal position data (4) for setting SafeMode |
||
| description | for InventGUIRTC | ||
| serviceinterface/doc_serviceinterface | |||
| 1 | name | InventGUIDrive | |
| path | /tmp/OpenINVENT-4.0.0/DriveControl_ver4.0.0 | ||
| type | Drive | ||
| idlFile | /tmp/OpenINVENT-4.0.0/DriveControl_ver4.0.0/DriveControlPro.idl | ||
| instanceName | InventGUIDrive | ||
| direction | Provided | ||
| docPostCondition | |||
| docPreCondition | |||
| docException | |||
| docReturn | void | ||
| docArgument | (1) SetMaxValues() TransMaxV : trans max velocity of robot TransMaxA : trans max acceleration of robot RotMaxV : rotation max velocity of robot RotMaxA : rotation max acceleration of robot (2) SetSafeMode() mode : the number of safe mode (TODO: 0:??, 1:??, 2:??) (3) SetPosition() StartX : Start position X StartY : Start position Y StartAngle : Start Angle GoalX : Goal position X GoalY : Goal position Y GoalAngle : Goal Angle Direction : 1=[Ahead] 2=[Back] |
||
| description | [Provider] (1) for changing MAX parameters (2) for receiving start/finish etc.. commands (3) for receiving start/goal position data (4) for setting SafeMode |
||
| 5 | name | BumpProv | |
| position | LEFT | ||
| ifdescription | (1) for receiving bump command | ||
| description | for BumpDetectionRTC | ||
| serviceinterface/doc_serviceinterface | |||
| 1 | name | BumpDrive | |
| path | /tmp/OpenINVENT-4.0.0/DriveControl_ver4.0.0 | ||
| type | Drive | ||
| idlFile | /tmp/OpenINVENT-4.0.0/DriveControl_ver4.0.0/DriveControlPro.idl | ||
| instanceName | BumpDrive | ||
| direction | Provided | ||
| docPostCondition | |||
| docPreCondition | |||
| docException | |||
| docReturn | void | ||
| docArgument | void | ||
| description | (1) for receiving bump command | ||
| 6 | name | InventGUICons | |
| position | LEFT | ||
| ifdescription | [Consumer] (1) for sending information of arriving to Goal. |
||
| description | for InventGUIRTC | ||
| serviceinterface/doc_serviceinterface | |||
| 1 | name | DriveInventGUI | |
| path | /tmp/OpenINVENT-4.0.0/DriveControl_ver4.0.0 | ||
| type | InventGUI | ||
| idlFile | /tmp/OpenINVENT-4.0.0/DriveControl_ver4.0.0/DriveControlCons.idl | ||
| instanceName | DriveInventGUI | ||
| direction | Required | ||
| docPostCondition | |||
| docPreCondition | |||
| docException | |||
| docReturn | (1)Goal(): void |
||
| docArgument | (1)Goal(): void |
||
| description | [Consumer] (1) for sending information of arriving to Goal. |
||