======================================================================
  RTComponent: RH2ArmControl specificatioin

  OpenRTM-aist-0.4.2
  Date: $Date$

  @author N.Takekawa (takekawa-777@aist.go.jp)

  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

  This file is generated by rtc-template with the following argments.

#   rtc-template -b --module-name=RH2ArmControl 
#   --module-desc='ArmController' --module-version=3.0.0 --module-vendor=AIST INVENT 
#   --module-category=Controller --module-comp-type=STATIC 
#   --module-act-type=EVENT_DRIVEN --module-max-inst=10 
#   --config=DeviceFileName:std::string:/dev/ttyUSB0 --config=Pgain_1:int:10 --config=Pgain_2:int:10 --config=Pgain_3:int:14 --config=Pgain_4:int:14 --config=Pgain_5:int:10 --config=Pgain_6:int:50 --config=Pgain_7:int:50 --config=Igain_1:int:0 --config=Igain_2:int:0 --config=Igain_3:int:0 --config=Igain_4:int:0 --config=Igain_5:int:0 --config=Igain_6:int:0 --config=Igain_7:int:0 --config=Dgain_1:int:0 --config=Dgain_2:int:0 --config=Dgain_3:int:0 --config=Dgain_4:int:0 --config=Dgain_5:int:0 --config=Dgain_6:int:0 --config=Dgain_7:int:0 --config=VPgain_1:int:20 --config=VPgain_2:int:50 --config=VPgain_3:int:100 --config=VPgain_4:int:150 --config=VPgain_5:int:50 --config=VPgain_6:int:150 --config=VPgain_7:int:250 --config=VIgain_1:int:0 --config=VIgain_2:int:0 --config=VIgain_3:int:0 --config=VIgain_4:int:0 --config=VIgain_5:int:0 --config=VIgain_6:int:0 --config=VIgain_7:int:0 --config=VDgain_1:int:0 --config=VDgain_2:int:0 --config=VDgain_3:int:0 --config=VDgain_4:int:0 --config=VDgain_5:int:0 --config=VDgain_6:int:0 --config=VDgain_7:int:0 --config=VelocLimit_1:double:1.04 --config=VelocLimit_2:double:0.52 --config=VelocLimit_3:double:0.4 --config=VelocLimit_4:double:0.88 --config=VelocLimit_5:double:1.11 --config=VelocLimit_6:double:2.45 --config=VelocLimit_7:double:0.013 --config=AccelLimit_1:double:2.09 --config=AccelLimit_2:double:1.84 --config=AccelLimit_3:double:2.04 --config=AccelLimit_4:double:4.41 --config=AccelLimit_5:double:5.57 --config=AccelLimit_6:double:12.27 --config=AccelLimit_7:double:0.08 --config=GearRatio_1:double:300.0 --config=GearRatio_2:double:333.0 --config=GearRatio_3:double:300.0 --config=GearRatio_4:double:360.0 --config=GearRatio_5:double:300.0 --config=GearRatio_6:double:100.0 --config=GearRatio_7:double:4.4 --config=EncoderCount_1:int:1000 --config=EncoderCount_2:int:1024 --config=EncoderCount_3:int:1024 --config=EncoderCount_4:int:512 --config=EncoderCount_5:int:512 --config=EncoderCount_6:int:512 --config=EncoderCount_7:int:512 
#   --inport=InArmVelocity:TimedDoubleSeq --outport=OutArmAngle:TimedDoubleSeq 


======================================================================
    Basic Information
======================================================================
# <rtc-template block="module">
Module Name: RH2ArmControl
Description: ArmController
Version:     3.0.0
Vendor:      AIST INVENT
Category:    Controller
Comp. Type:  STATIC
Act. Type:   EVENT_DRIVEN
MAX Inst.:   10
Lang:        C++
Lang Type:   

Overview:    The arm is driven. 
In/Out:      in : ArmVelocity  out : ArmAngle
Algorithm:   NA
Reference:   NA
# </rtc-template>


======================================================================
    Activity definition
======================================================================

[on_initialize]    implemented
	Description:   The device port is opened
	PreCondition:  NA
	PostCondition: NA

[on_finalize]

[on_startup]

[on_shutdown]      implemented
	Description:   close of device port
	PreCondition:  NA
	PostCondition: NA

[on_activated]     implemented
	Description:   Initialization of data
	PreCondition:  NA
	PostCondition: NA

[on_deactivated]   implemented
	Description:   Driving stop
	PreCondition:  NA
	PostCondition: NA

[on_execute]       implemented
	Description:   Instruction transmission to motor
	PreCondition:  NA
	PostCondition: NA

[on_aborting]

[on_error]

[on_reset]

[on_state_update]

[on_rate_changed]

======================================================================
    InPorts definition
======================================================================
# <rtc-template block="inport">

	Name:        InArmVelocity
	PortNumber:  0
	Description: Angle of target
	PortType: 
	DataType:    TimedDoubleSeq
	MaxOut: 
	[Data Elements]
		Name:
		Type:            TimedDoubleSeq
		Number:          7
		Semantics:       [0] : No1.axis [rad/sec]
		                 [1] : No2.axis [rad/sec]
		                 [2] : No3.axis [rad/sec]
		                 [3] : No4.axis [rad/sec]
		                 [4] : No5.axis [rad/sec]
		                 [5] : No6.axis [rad/sec]
		                 [6] : No7.axis [m/sec]
		Unit:            NA
		Frequency:       NA
		Operation Cycle: NA
		RangeLow:
		RangeHigh:
		DefaultValue:


# </rtc-template>

======================================================================
    OutPorts definition
======================================================================
# <rtc-template block="outport">

	Name:        OutArmAngle
	PortNumber:  0
	Description: Present angle
	PortType: 
	DataType:    TimedDoubleSeq
	MaxOut: 
	[Data Elements]
		Name:
		Type:            TimedDoubleSeq
		Number:          7
		Semantics:       [0] : No1.axis [rad]
		                 [1] : No2.axis [rad]
		                 [2] : No3.axis [rad]
		                 [3] : No4.axis [rad]
		                 [4] : No5.axis [rad]
		                 [5] : No6.axis [rad]
		                 [6] : No7.axis [m]
		Unit:            NA
		Frequency:       NA
		Operation Cycle: NA
		RangeLow:
		RangeHigh:
		DefaultValue:


# </rtc-template>


======================================================================
    Service Port definition
======================================================================
# <rtc-template block="serviceport">
# </rtc-template> 

======================================================================
    Configuration definition
======================================================================
# <rtc-template block="configuration">
	Configuration:
		Name:            DeviceFileName DeviceFileName
		Description:     Device File Name
		Type:            std::string
		DefaultValue:    /dev/ttyUSB0 /dev/ttyUSB0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Pgain_1 Pgain_1
		Description:     P-Gain of the [No.1] axis motor
		Type:            int
		DefaultValue:    10 10
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Pgain_2 Pgain_2
		Description:     P-Gain of the [No.2] axis motor
		Type:            int
		DefaultValue:    10 10
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Pgain_3 Pgain_3
		Description:     P-Gain of the [No.3] axis motor
		Type:            int
		DefaultValue:    14 14
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Pgain_4 Pgain_4
		Description:     P-Gain of the [No.4] axis motor
		Type:            int
		DefaultValue:    14 14
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Pgain_5 Pgain_5
		Description:     P-Gain of the [No.5] axis motor
		Type:            int
		DefaultValue:    10 10
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Pgain_6 Pgain_6
		Description:     P-Gain of the [No.6] axis motor
		Type:            int
		DefaultValue:    50 50
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Pgain_7 Pgain_7
		Description:     P-Gain of the [No.7] axis motor
		Type:            int
		DefaultValue:    50 50
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Igain_1 Igain_1
		Description:     I-Gain of the [No.1] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Igain_2 Igain_2
		Description:     I-Gain of the [No.2] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Igain_3 Igain_3
		Description:     I-Gain of the [No.3] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Igain_4 Igain_4
		Description:     I-Gain of the [No.4] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Igain_5 Igain_5
		Description:     I-Gain of the [No.5] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Igain_6 Igain_6
		Description:     I-Gain of the [No.6] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Igain_7 Igain_7
		Description:     I-Gain of the [No.7] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Dgain_1 Dgain_1
		Description:     D-Gain of the [No.1] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Dgain_2 Dgain_2
		Description:     D-Gain of the [No.2] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Dgain_3 Dgain_3
		Description:     D-Gain of the [No.3] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Dgain_4 Dgain_4
		Description:     D-Gain of the [No.4] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Dgain_5 Dgain_5
		Description:     D-Gain of the [No.5] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Dgain_6 Dgain_6
		Description:     D-Gain of the [No.6] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            Dgain_7 Dgain_7
		Description:     D-Gain of the [No.7] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VPgain_1 VPgain_1
		Description:     P-Gain of the [No.1] axis motor
		Type:            int
		DefaultValue:    20 20
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VPgain_2 VPgain_2
		Description:     P-Gain of the [No.2] axis motor
		Type:            int
		DefaultValue:    50 50
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VPgain_3 VPgain_3
		Description:     P-Gain of the [No.3] axis motor
		Type:            int
		DefaultValue:    100 100
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VPgain_4 VPgain_4
		Description:     P-Gain of the [No.4] axis motor
		Type:            int
		DefaultValue:    150 150
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VPgain_5 VPgain_5
		Description:     P-Gain of the [No.5] axis motor
		Type:            int
		DefaultValue:    50 50
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VPgain_6 VPgain_6
		Description:     P-Gain of the [No.6] axis motor
		Type:            int
		DefaultValue:    150 150
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VPgain_7 VPgain_7
		Description:     P-Gain of the [No.7] axis motor
		Type:            int
		DefaultValue:    250 250
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VIgain_1 VIgain_1
		Description:     I-Gain of the [No.1] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VIgain_2 VIgain_2
		Description:     I-Gain of the [No.2] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VIgain_3 VIgain_3
		Description:     I-Gain of the [No.3] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VIgain_4 VIgain_4
		Description:     I-Gain of the [No.4] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VIgain_5 VIgain_5
		Description:     I-Gain of the [No.5] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VIgain_6 VIgain_6
		Description:     I-Gain of the [No.6] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VIgain_7 VIgain_7
		Description:     I-Gain of the [No.7] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VDgain_1 VDgain_1
		Description:     D-Gain of the [No.1] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VDgain_2 VDgain_2
		Description:     D-Gain of the [No.2] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VDgain_3 VDgain_3
		Description:     D-Gain of the [No.3] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VDgain_4 VDgain_4
		Description:     D-Gain of the [No.4] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VDgain_5 VDgain_5
		Description:     D-Gain of the [No.5] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VDgain_6 VDgain_6
		Description:     D-Gain of the [No.6] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VDgain_7 VDgain_7
		Description:     D-Gain of the [No.7] axis motor
		Type:            int
		DefaultValue:    0 0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            VelocLimit_1 VelocLimit_1
		Description:     Velocity Limit of the [No.1] axis motor
		Type:            double
		DefaultValue:    1.04 1.04
		Unit:            rad/sec
		Range:           NA
		Constraint:      NA

		Name:            VelocLimit_2 VelocLimit_2
		Description:     Velocity Limit of the [No.2] axis motor
		Type:            double
		DefaultValue:    0.52 0.52
		Unit:            rad/sec
		Range:           NA
		Constraint:      NA

		Name:            VelocLimit_3 VelocLimit_3
		Description:     Velocity Limit of the [No.3] axis motor
		Type:            double
		DefaultValue:    0.4 0.4
		Unit:            rad/sec
		Range:           NA
		Constraint:      NA

		Name:            VelocLimit_4 VelocLimit_4
		Description:     Velocity Limit of the [No.4] axis motor
		Type:            double
		DefaultValue:    0.88 0.88
		Unit:            rad/sec
		Range:           NA
		Constraint:      NA

		Name:            VelocLimit_5 VelocLimit_5
		Description:     Velocity Limit of the [No.5] axis motor
		Type:            double
		DefaultValue:    1.11 1.11
		Unit:            rad/sec
		Range:           NA
		Constraint:      NA

		Name:            VelocLimit_6 VelocLimit_6
		Description:     Velocity Limit of the [No.6] axis motor
		Type:            double
		DefaultValue:    2.45 2.45
		Unit:            rad/sec
		Range:           NA
		Constraint:      NA

		Name:            VelocLimit_7 VelocLimit_7
		Description:     Velocity Limit of the [No.7] axis motor
		Type:            double
		DefaultValue:    0.013 0.013
		Unit:            m/sec
		Range:           NA
		Constraint:      NA

		Name:            AccelLimit_1 AccelLimit_1
		Description:     acceleration limit of the [No.1] axis motor
		Type:            double
		DefaultValue:    2.09 2.09
		Unit:            rad/sec^2
		Range:           NA
		Constraint:      NA

		Name:            AccelLimit_2 AccelLimit_2
		Description:     acceleration limit of the [No.2] axis motor
		Type:            double
		DefaultValue:    1.84 1.84
		Unit:            rad/sec^2
		Range:           NA
		Constraint:      NA

		Name:            AccelLimit_3 AccelLimit_3
		Description:     acceleration limit of the [No.3] axis motor
		Type:            double
		DefaultValue:    2.04 2.04
		Unit:            rad/sec^2
		Range:           NA
		Constraint:      NA

		Name:            AccelLimit_4 AccelLimit_4
		Description:     acceleration limit of the [No.4] axis motor
		Type:            double
		DefaultValue:    4.41 4.41
		Unit:            rad/sec^2
		Range:           NA
		Constraint:      NA

		Name:            AccelLimit_5 AccelLimit_5
		Description:     acceleration limit of the [No.5] axis motor
		Type:            double
		DefaultValue:    5.57 5.57
		Unit:            rad/sec^2
		Range:           NA
		Constraint:      NA

		Name:            AccelLimit_6 AccelLimit_6
		Description:     acceleration limit of the [No.6] axis motor
		Type:            double
		DefaultValue:    12.27 12.27
		Unit:            rad/sec^2
		Range:           NA
		Constraint:      NA

		Name:            AccelLimit_7 AccelLimit_7
		Description:     acceleration limit of the [No.7] axis motor
		Type:            double
		DefaultValue:    0.08 0.08
		Unit:            m/sec^2
		Range:           NA
		Constraint:      NA

		Name:            GearRatio_1 GearRatio_1
		Description:     gear ratio of the [No.1] axis motor
		Type:            double
		DefaultValue:    300.0 300.0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            GearRatio_2 GearRatio_2
		Description:     gear ratio of the [No.2] axis motor
		Type:            double
		DefaultValue:    333.0 333.0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            GearRatio_3 GearRatio_3
		Description:     gear ratio of the [No.3] axis motor
		Type:            double
		DefaultValue:    300.0 300.0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            GearRatio_4 GearRatio_4
		Description:     gear ratio of the [No.4] axis motor
		Type:            double
		DefaultValue:    360.0 360.0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            GearRatio_5 GearRatio_5
		Description:     gear ratio of the [No.5] axis motor
		Type:            double
		DefaultValue:    300.0 300.0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            GearRatio_6 GearRatio_6
		Description:     gear ratio of the [No.6] axis motor
		Type:            double
		DefaultValue:    100.0 100.0
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            GearRatio_7 GearRatio_7
		Description:     gear ratio of the [No.7] axis motor
		Type:            double
		DefaultValue:    4.4 4.4
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            EncoderCount_1 EncoderCount_1
		Description:     Encoder count of the [No.1] axis motor
		Type:            int
		DefaultValue:    1000 1000
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            EncoderCount_2 EncoderCount_2
		Description:     Encoder count of the [No.2] axis motor
		Type:            int
		DefaultValue:    1024 1024
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            EncoderCount_3 EncoderCount_3
		Description:     Encoder count of the [No.3] axis motor
		Type:            int
		DefaultValue:    1024 1024
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            EncoderCount_4 EncoderCount_4
		Description:     Encoder count of the [No.4] axis motor
		Type:            int
		DefaultValue:    512 512
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            EncoderCount_5 EncoderCount_5
		Description:     Encoder count of the [No.5] axis motor
		Type:            int
		DefaultValue:    512 512
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            EncoderCount_6 EncoderCount_6
		Description:     Encoder count of the [No.6] axis motor
		Type:            int
		DefaultValue:    512 512
		Unit:            NA
		Range:           NA
		Constraint:      NA

		Name:            EncoderCount_7 EncoderCount_7
		Description:     Encoder count of the [No.7] axis motor
		Type:            int
		DefaultValue:    512 512
		Unit:            NA
		Range:           NA
		Constraint:      NA

# </rtc-template> 
This area is reserved for future OpenRTM.

