##################################################################
###################### Tekkotsu config #######################
##################################################################
##################### $Name: tekkotsu-2_3 $ ######################
####################### $Revision: 1.58 $ ########################
################## $Date: 2005/01/27 05:43:38 $ ##################
##################################################################
#
# Format:
#
# * Comments are any line beginning with '#'
#
# * Model specific regions can be denoted with ...
# - Wildcards can also be used: ...
# - Anything not within a model region is read by all models (i.e. <*>..*>)
# - Don't get fancy with the "tags" - one per line, the parser's not that smart
# (feel free to hack it if you want - it's in Config.cc)
#
# * Sections are demarcated with [SECTIONNAME]
# - A section is only ended by another section beginning
# - Section transitions within a model region will only be read by that model
# - Section names are case insensitive
#
# * Otherwise, each line is interpreted as: variable=value
# - this should correspond to Config::curSectionName_config::variable
# - interpretation is up to the code in Config.cc
# - some variables are lists (additional assignments push on the list),
# others are simply overwritten if a new value is assigned.
# - variable names are case insensitive
#
# * You can override these at run time from the Controller using the command:
# !set section_name.variable=value
# - Of course, whether or not the new value will be picked up depends on
# how it is being used...
#
##################################################################
##################################################################
##################################################################
[Wireless]
##################################################################
##################################################################
# unique id for Aibo (not used by Tekkotsu, but you might want it...)
id=1
##################################################################
##################################################################
[Vision]
##################################################################
##################################################################
# white_balance indoor | flourescent | outdoor
white_balance=flourescent
white_balance=indoor
# gain low | mid | high
# higher gain will brighten the image, but increases noise
gain=high
# shutter_speed slow | mid | fast
# slower shutter will brighten image, but increases motion blur
shutter_speed=mid
shutter_speed=slow
# resolution quarter | half | full
# this is the resolution vision's object recognition system will run at
resolution=full
### Camera Parameters ###
# The field of view information should be specified in degrees
horizFOV=57.6
vertFOV=47.8
focal_length=2.18
horizFOV=56.9
vertFOV=45.2
focal_length=3.27
### Color Segmentation Threshold files ###
# Threshold (.tm) files define the mapping from full color to indexed color
# You can uncomment more than one of these - they will be loaded into
# separate channels of the segmenter. The only cost of loading more
# threshold files is memory - the CPU cost of actual segmenting is
# only done when the channel is accessed.
# Included options for color threshold file:
# phb.tm - pink, skin (hand), and blue
# note: "skin" is just of people who work in our lab - not a general sampling... :(
# general.tm - general colors, previously 'default'
# ball.tm - standard Sony pink ball definition
# pb.tm - pink and blue
thresh=/ms/config/phb.tm
#thresh=/ms/config/general.tm
thresh=/ms/config/ball.tm
#thresh=/ms/config/pb.tm
#thresh=/ms/config/ttt.tm
# 7red.tm - just your usual pink/red/purple color detection, nothing too fancy
# ball.tm - standard Sony pink ball definition
#thresh=/ms/config/7red.tm
#thresh=/ms/config/ball.tm
#LTU has Good Orange.. need Yellow
#thresh=/ms/config/ltucolor.tm
#thresh=/ms/config/AJ2.tm
#thresh=/ms/config/AJ3.tm
#0412goodpinkballas orangeball for home
#thresh=/ms/config/0412.tm
thresh=/ms/config/ltu2.tm
# the .col file gives names and a "typical" color for display
# the indexes numbers it contains correspond to indexes in the .tm file
#colors=/ms/config/default.col
#colors=/ms/config/AJ3.col
colors=/ms/config/ltu2.col
#colors=/ms/config/0412.col
### Image Streaming Format ###
# These parameters control the video stream over wireless ethernet
# transport can be either 'udp' or 'tcp'
raw_port=10011
raw_transport=udp
rle_port=10012
rle_transport=udp
# rawcam_encoding color | y_only | uv_only | u_only | v_only | y_dx_only | y_dy_only | y_dxdy_only
rawcam_encoding=color
# compression none | jpeg
rawcam_compression=jpeg
# quality of jpeg compression 0-100
rawcam_compress_quality=85
# apparently someone at sony thinks it's a good idea to replace some
# pixels in each camera image with information like the frame number
# and CDT count. if non-zero, will replace those pixels with the
# actual image pixel value in RawCamGenerator
restore_image=1
# jpeg algorithm: 'islow' (integer, slow, but quality), 'ifast' (integer, fast, but rough), 'float' (floating point)
jpeg_dct_method=ifast
# log_2 of number of pixels to skip, 0 sends reconstructed double
# resolution (mainly useful for Y channel, others are just resampled)
# our eyes are more sensitive to intensity (y channel) so you might
# want to send the UV channels at a lower resolution (higher skip) as
# a form of compression
# rawcam_y_skip is used when in sending single channel, regardless of
# which channel
# valid values are 0-5
rawcam_y_skip=2
rawcam_uv_skip=3
# you can send the original segmented image
# or an RLE compressed version (which includes some noise removal)
#rlecam_compression none | rle
rlecam_compression=rle
# this is the channel of the seg cam which should be sent.
# corresponds to the index of the .tm file you want in thresh
rlecam_channel=0
# this is the log_2 of pixels to skip when sending RLE encoded
# segmented camera images, same idea as rawcam_*_skip
rlecam_skip=1
##################################################################
##################################################################
[Main]
##################################################################
##################################################################
console_port=10001
stderr_port=10002
error_level=0
debug_level=0
verbose_level=0
wsjoints_port=10031
wspids_port=10032
walkControl_port=10050
aibo3d_port=10051
headControl_port=10052
estopControl_port=10053
wmmonitor_port=10061
use_VT100=true
##################################################################
##################################################################
[Behaviors]
##################################################################
##################################################################
### FlashIPAddrBehavior ###
# You probably already know the first 3 bytes for your network
# so you might only want the last byte for brevity
# (valid values are 1 through 4)
flash_bytes=4
# Do you want to automatically trigger this on boot?
# Will use a priority of kEmergencyPriority+1 in order to override
# the emergency stop's status animation
flash_on_start=0
# your-stuff-here?
##################################################################
##################################################################
[Controller]
##################################################################
##################################################################
gui_port=10020
select_snd=whiip.wav
next_snd=toc.wav
prev_snd=tick.wav
read_snd=ping.wav
cancel_snd=whoop.wav
error_snd=fart.wav
##################################################################
##################################################################
[Motion]
##################################################################
##################################################################
# Any motion related paths which are not absolute (i.e. do not
# start with '/') will be assumed to be relative to this directory
root=/ms/data/motion
# This is the default set of walk parameters
walk=walk.prm
# The file specified by "kinematics" should define the kinematic
# chains which form your robot.
# "kinematic_chains" lists the names of the chains which should be
# loaded from that file
kinematics=/ms/config/ers210.kin
kinematic_chains=Body
kinematic_chains=Mouth
kinematics=/ms/config/ers220.kin
kinematic_chains=Body
kinematic_chains=IR
kinematics=/ms/config/ers7.kin
kinematic_chains=Body
kinematic_chains=Mouth
kinematic_chains=NearIR
kinematic_chains=FarIR
kinematic_chains=ChestIR
kinematic_chains=LFr
kinematic_chains=RFr
kinematic_chains=LBk
kinematic_chains=RBk
kinematic_chains=Camera
# These calibration parameters should specify the value to multiply a
# desired position by in order to cause the joint to actually reach
# that position. This is then used both to calibrate joint values
# which are sent to the system, and also sensor values which are
# received back.
# An unspecified joint is by default '1' which will then pass values
# through unmodified. Only PID joints are calibrated (i.e. LEDs and
# ears are not)
#Only the knees and rotors have been calibrated
#This is just kind of a rough calibration since
#I don't know how well it will generalize across
#individual robots anyway.
calibrate:LFr:rotor=0.972
calibrate:LFr:knee~=0.944
calibrate:RFr:rotor=0.972
calibrate:RFr:knee~=0.944
calibrate:LBk:rotor=0.972
calibrate:LBk:knee~=0.944
calibrate:RBk:rotor=0.972
calibrate:RBk:knee~=0.944
#ERS-2xx seems to be fairly well calibrated by system, but
#you can always try to do better...
# Sounds to play when turning estop on and off
estop_on_snd=skid.wav
estop_off_snd=yap.wav
# These values are used by some behaviors to limit the
# speed of the head to reduce wear on the joints
# Units: radians per second
max_head_tilt_speed=2.1
max_head_pan_speed=3.0
max_head_roll_speed=3.0
#the pan speed is revised down from Sony's maximum a bit
max_head_tilt_speed=3.18522588
max_head_pan_speed=5.78140315
max_head_roll_speed=5.78140315
# If non-zero, robot should attempt to change directions instantaniously
# If zero, robot should change directions more fluidly (following some internal acceleration calibration)
inf_walk_accel=0
console_port=10003
stderr_port=10004
##################################################################
##################################################################
[Sound]
##################################################################
##################################################################
root=/ms/data/sound
# volume = mute | level_1 | level_2 | level_3 |
# if you directly set the decibel level, be warned sony recommends against going above 0xF600
# However, I believe the commercial software on the ERS-7 runs at 0xFF00
# going above 0xF800 on a ERS-210 causes distortion (clipping) - full volume on a ERS-7 sounds fine though.
volume=level_3
# Sound playback currently requires all sounds to be the same bit
# rate. Aperios further requires only either 8bit/8KHz or 16bit/16KHz
# formats
sample_rate=16000
sample_bits=16
# Preload is a list of sounds to cache at boot
# can be either root relative or full path
preload=skid.wav
preload=yap.wav
# Audio streaming settings
# Audio from the AIBO's microphones
streaming.mic_port=10070
streaming.mic_sample_rate=16000
streaming.mic_bits=16
streaming.mic_stereo=true
# Audio to the AIBO's speakers
streaming.speaker_port=10071
# Length of the speaker streaming buffer (ms)
# Streamed samples are sent to the sound manager in packets of this length
streaming.speaker_frame_length=64
# Maximum delay (ms) during playback of received samples
# If the playback queue gets longer it is emptied.
streaming.speaker_max_delay=1000