Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 8d2be111f2830301cdcacad82ee5b4c6 > files > 13

libkni3-3.9.2-12.fc12.i686.rpm

########################################################################################
#
#	Configuration file for a Katana1.2 6M90T robot
#
#	This file uses an INI-style like syntax:
#	- Sections are in '[' and ']' brackets
#	- Value-pairs look like ' valuename =	"value"; '
#	  It is important, that the values are in quotation marks
#	  There should always be a semicolon at the end
#	- Empty lines will be ignored
#	- Comments should start with a '#'
#	- The parser is rather tolerant. It ignores unknown formats or styles
#	
#	There is a section for every motor, named "[MOT[n]]", where 'n' is the motor number
#	starting from 0.
#
#	Values marked with an asterisk (*) in the comment should not be changed
#	and doing so may break things!
#
########################################################################################

########################################################################################
[KATANA]

[GENERAL]
addr			=	"24";		#* katana jumper address
motcnt			=	"6";		#  count of motors
sctcnt			=	"1";		#  count of sensor controllers

modelName		=	"Katana6M90T";  # the kinematics model to use
type			=	"400"; 		# the Katana type

[CONNECTORBOX]
output[1]		=	"FALSE";	#  not used yet
output[2]		=	"FALSE";	#  not used yet

[GRIPPER]
isPresent		=	"YES";		#  Tell the model if a gripper is present
openEncoders	=	"30770";	#  Position in encoders in which the gripper is open
closeEncoders	=	"12240";	#  Position in encoders in which the gripper is closed

########################################################################################
[MOT[0]]

[GENERAL]
slvID	=	"1";		#* motors slave identification

[CALIBRATION]
enable				=	"TRUE";		#  Calibration enabled/disabled for this motor
order				=	"5";		#  Order of calibration, range=0..5
dir					=	"DIR_POSITIVE";	#* Search direction for mechanical stopper
mcf					=	"MCF_FREEZE";	#  Motors status after the calibration: MCF_ON, MCF_OFF, MCF_FREEZE
encoderPositionAfter=	"30000";	#  The position the motor will move to after calibration

# Since the robot has incremental position encoders, it needs to search the mechanical stoppers after power on.
# When found, it associates the position with a certain encoder value and angle.
# For the kinematics calculation, the model needs to know:
# - the quotient 360°/encoders (different for each motor)
# - the range between the mechanical stoppers
[INIT]
encoderOffset		=	"31000";	#  The encoder value the firmware is set to when the mechanical stopper is reached
angleOffset			=	"6.65";		#  The angle (in degree) which is associated with the mechanical stopper
encodersPerCycle	=	"47488";	#  Number of encoders in one cycle (360°)
angleRange			=	"346.0";	#  The range between mechanical stoppers (or less if encoder-overflow possible)
rotationDirection	=	"DIR_POSITIVE";	#* This is set DIR_NEGATIVE if angles grow with encoders




[STATIC]
# Old (deprecated) motor parameters:
maxppwm			=	"127";		#* maximum positive PWM
maxnpwm			=	"127";		#* maximum negative PWM
kP				=	"16";		#* position controller
kI				=	"64";		#* position controller: Don't set the I value to high,
						#  otherwise the target positioning is NOT accurate
kD				=	"2";		#* position controller
kARW			=	"0";		#*
kP_speed		=	"8";		#* speed controller
kI_speed		=	"6";		#* speed controller
kD_speed		=	"4";		#* speed controller
# New motor parameters:
maxppwm_nmp		=	"127";		#* Max. value for positive voltage (0 => 0%, +70 => 100%)
maxnpwm_nmp		=	"127";		#* Max. value for negative voltage (0 => 0%, +70 => 100%)
kspeed_nmp		=	"80";		#* Proportional factor of speed compensator
kpos_nmp		=	"10";		#* Proportional factor of position compensator
kI_nmp			=	"50";		#* Integral factor (kI) of control output added to the final control output
crash_limit_nmp		=	"250";		#* Limit of error in position
crash_limit_lin_nmp	=	"250";		#* Limit of error in position in linear movement

[DYNAMIC]
# Old (deprecated) motor parameters:
maxaccel			=	"1";		#
maxdecel			=	"1";		#
minpos				=	"0";		#*
maxpspeed			=	"25";		#
maxnspeed			=	"25";		#
maxcurr				=	"255";		#*
# New motor parameters:
maxaccel_nmp		=	"1";		#  Maximal acceleration and deceleration
maxpspeed_nmp		=	"30";		#  Max. allowed forward speed, please change the speed on runtime
maxnspeed_nmp		=	"30";		#  Max. allowed reverse speed, please change the speed on runtime
maxcurr_nmp			=	"146";		#* Set the maximal current
		
########################################################################################
[MOT[1]]

[GENERAL]
slvID	=	"2";

[INIT]
encoderOffset		=	"-31000";
encodersPerCycle	=	"94976";
angleOffset			=	"124.25";
angleRange			=	"-140.0";
rotationDirection	=	"DIR_POSITIVE";

[CALIBRATION]
enable				=	"TRUE";
order				=	"0";
dir					= 	"DIR_NEGATIVE";
mcf					= 	"MCF_FREEZE";
encoderPositionAfter=	"-30000";

[STATIC]
maxppwm			=	"117";
maxnpwm			=	"117";
kP				=	"16";
kI				=	"64";
kD				=	"2";
kARW			=	"0";
kP_speed		=	"8";
kI_speed		=	"6";
kD_speed		=	"4";

maxppwm_nmp		=	"100";
maxnpwm_nmp		=	"100";
kspeed_nmp		=	"60";
kpos_nmp		=	"10";
kI_nmp			=	"200";
crash_limit_nmp		=	"200";
crash_limit_lin_nmp	=	"200";

[DYNAMIC]
maxaccel		=	"1";
maxdecel		=	"1";
minpos			=	"0";
maxpspeed		=	"30";
maxnspeed		=	"30";
maxcurr			=	"255";

maxaccel_nmp	=	"1";
maxpspeed_nmp	=	"25";
maxnspeed_nmp	=	"25";
maxcurr_nmp		=	"153";

########################################################################################
[MOT[2]]

[GENERAL]
slvID	=	"3";

[CALIBRATION]
enable				=	"TRUE";
order				=	"1";
dir					=	"DIR_NEGATIVE";
mcf					=	"MCF_FREEZE";
encoderPositionAfter=	"-30000";

[INIT]
encoderOffset		= 	"-31000";
encodersPerCycle	= 	"47488";
angleOffset			= 	"52.7";
angleRange			= 	"250.0";
rotationDirection	= 	"DIR_NEGATIVE";

[STATIC]
maxppwm			=	"117";
maxnpwm			=	"117";
kP				=	"16";
kI				=	"64";
kD				=	"2";
kARW			=	"0";
kP_speed		=	"8";
kI_speed		=	"6";
kD_speed		=	"4";

maxppwm_nmp		=	"80";
maxnpwm_nmp		=	"80";
kspeed_nmp		=	"50";
kpos_nmp		=	"10";
kI_nmp			=	"200";
crash_limit_nmp		=	"250";
crash_limit_lin_nmp	=	"250";

[DYNAMIC]
maxaccel		=	"1";
maxdecel		=	"1";
minpos			=	"0";
maxpspeed		=	"30";
maxnspeed		=	"30";
maxcurr			=	"255";

maxaccel_nmp	=	"1";
maxpspeed_nmp	=	"20";
maxnspeed_nmp	=	"20";
maxcurr_nmp		=	"120";

########################################################################################
[MOT[3]]

[GENERAL]
slvID	=	"4";

[CALIBRATION]
enable				=	"TRUE";
order				=	"2";
dir					=	"DIR_POSITIVE";
mcf					=	"MCF_FREEZE";
encoderPositionAfter=	"30000";

[INIT]
encoderOffset		= 	"31000";
encodersPerCycle	= 	"51200";
angleOffset			= 	"63.5";
angleRange			= 	"230.0";
rotationDirection	= 	"DIR_POSITIVE";

[STATIC]
maxppwm			=	"117";
maxnpwm			=	"117";
kP				=	"16";
kI				=	"64";
kD				=	"2";
kARW			=	"0";
kP_speed		=	"8";
kI_speed		=	"6";
kD_speed		=	"4";

maxppwm_nmp		=	"100";
maxnpwm_nmp		=	"100";
kspeed_nmp		=	"60";
kpos_nmp		=	"20";
kI_nmp			=	"250";
crash_limit_nmp		=	"200";
crash_limit_lin	_nmp=	"200";

[DYNAMIC]
maxaccel		=	"1";
maxdecel		=	"1";
minpos			=	"0";
maxpspeed		=	"30";
maxnspeed		=	"30";
maxcurr			=	"255";

maxaccel_nmp	=	"1";
maxpspeed_nmp	=	"25";
maxnspeed_nmp	=	"25";
maxcurr_nmp		=	"110";

########################################################################################
[MOT[4]]

[GENERAL]
slvID	=	"5";

[CALIBRATION]
enable				=	"TRUE";
order				=	"3";
dir					=	"DIR_POSITIVE";
mcf					=	"MCF_FREEZE";
encoderPositionAfter=	"30000";

[INIT]
encoderOffset		= 	"31000";
encodersPerCycle	= 	"51200";
angleOffset			= 	"8.5";
angleRange			= 	"342.0";
rotationDirection	= 	"DIR_POSITIVE";

[STATIC]
maxppwm			=	"117";
maxnpwm			=	"117";
kP				=	"16";
kI				=	"64";
kD				=	"2";
kARW			=	"0";
kP_speed		=	"8";
kI_speed		=	"6";
kD_speed		=	"4";

maxppwm_nmp		=	"127";
maxnpwm_nmp		=	"127";
kspeed_nmp		=	"35";
kpos_nmp		=	"40";
kI_nmp			=	"180";
crash_limit_nmp		=	"100";
crash_limit_lin_nmp	=	"100";

[DYNAMIC]
maxaccel		=	"1";
maxdecel		=	"1";
minpos			=	"0";
maxpspeed		=	"30";
maxnspeed		=	"30";
maxcurr			=	"255";

maxaccel_nmp	=	"1";
maxpspeed_nmp	=	"25";
maxnspeed_nmp	=	"25";
maxcurr_nmp		=	"72";

########################################################################################
[MOT[5]]

[GENERAL]
slvID	=	"6";

[CALIBRATION]
enable				=	"TRUE";
order				=	"4";
dir					=	"DIR_POSITIVE";
mcf					=	"MCF_FREEZE";
encoderPositionAfter=	"30000";

[INIT]
encoderOffset		=	"31000";
encodersPerCycle	=	"51200";
angleOffset			=	"-123.2";
angleRange			=	"337.0";
rotationDirection	=	"DIR_POSITIVE";

[STATIC]
maxppwm			=	"117";
maxnpwm			=	"117";
kP				=	"16";
kI				=	"64";
kD				=	"2";
kARW			=	"0";
kP_speed		=	"8";
kI_speed		=	"6";
kD_speed		=	"4";

maxppwm_nmp		=	"127";
maxnpwm_nmp		=	"127";
kspeed_nmp		=	"50";
kpos_nmp		=	"20";
kI_nmp			=	"150";
crash_limit_nmp		=	"100";
crash_limit_lin_nmp	=	"100";

[DYNAMIC]
maxaccel		=	"1";
maxdecel		=	"1";
minpos			=	"0";
maxpspeed		=	"30";
maxnspeed		=	"30";
maxcurr			=	"255";

maxaccel_nmp	=	"1";
maxpspeed_nmp	=	"25";
maxnspeed_nmp	=	"25";
maxcurr_nmp		=	"72";

########################################################################################
[SCT[0]]

[GENERAL]
ctrlID		=	"15";
sens_res	=	"8";
sens_count	=	"16";

########################################################################################
[ENDEFFECTOR]

[GENERAL]
segment1	=	"190.0";
segment2	=	"139.0";
segment3	=	"147.3";  	
segment4	=	"37.5";

########################################################################################