Worked with Paulene to get initialized on the Aibo Project. Reviewed Log files of previous members to get up to speed on the current status of the project. Reviewed OpenR SDK and discuessed the issues on installing OpenR on Cygwin and Linux. Reviewed Master Thesis for UNSF. Read Documentation of Rules for soccer competition.
Downloaded tar files from http://openr.aibo.com/openr/en/viewforum.php?f=8
binutils-2.14.tar.gz, OPEN_R_SDK-1.1.5-r5.tar.gz,
build-devtools-3.3.2-r1.sh, newlib-l.10.0.tar.gz,
gcc-3.3.2.tar.gz, OPEN_R_SDK-docE-1.1.5-r1.tar.gz,
jpegsrc.v6b.tar.gz, OPEN_R_SDK-sample-1.1.5-r2.tar.gz,
* Problem with gcc version 4 and compiling gcc-3.3.2
http://openr.aibo.com/openr/en/viewtopic.php?p=313&sid=75eeda87c25b17532e4dc4ecb28a57eb
Fixed problem with debian by installing gcc-3.4
apt-get install gcc-3.4
This will automagically install cpp-3.4 also
Then I changed the symbolic link in /usr/bin/: to gcc->gcc-3.4
ln -s gcc-3.4 gcc
Next:
chmod build-devtool-3.3.2-r1.sh 755
Run:
./build-devtool-3.3.2-r1.sh
Untar:
tar -xzvf OPEN_R_SDK-1.1.5-r5.tar.gz
Copy files to OPEN_R_SDK directory:
cd OPEN_R_SDK-1.1.5-r5
cp -rf * /usr/local/OPEN_R_SDK
* Ran into problem when compiling runSwift. Compiler looking for 3.3.3 gcc version
but version is 3.3.2 - created symbolic links in two directories to fix problem
/usr/local/OPEN_R_SDK/include/c++$ ln -s 3.3.2 3.3.3
/usr/local/OPEN_R_SDK/lib/gcc-lib/mipsel-linux$ ln -s 3.3.2 3.3.3
After this I was able to compile the runSwift code.
Worked with Paulene installing Australian code on the aibos. Had a problem with filenames using caps. Paulene trained me on installing code using flash drive. Tested code, robots turning in circles still. Paulene noticed an error from color code. Started installing open-r development environment on Ubuntu machine in ISL lab, need administrator account. Worked on configuring my laptop to work with flash cards. Must install usb mass storage module.
Taught Dr. J's 111 Lab, Went over the if-else statement and the case statement. Helped students dubug program and setup programming environment.
Configured Flash Card, worked on install errors. Succesfully installed build on flash card. Tested Build, still circling. Read Part One of Nobuki Thesis. Worked on telnet into the AIBO captured logging file and analyzed data.
Researched java applications, installed java. Checked log files for vision errors. Looked at nnmc.cal and tools related to that. I think there is a problem with the nnmc.cal file which is causing the dogs to go in circles.
Went over the case statement in Dr.J's 111 class. Went throught the process for Subversion. Helped Shaun recompile kernel to allow his wireless device to talk to the Aibo's under linux.
Fixed bugs on subversion for local copy. Worked on vision configuration utilities. Compiled Robolink after installing java and configuring using Paulines classpath. Installed subvision using qt3-dev libraries. Setup SimpleRoboCommander.
Worked on Creating Color Tables Process:
1st: Connect Robolink to dog #4, $robolink 192.168.1.114
2nd: Use 3 = RLNK_YUVPLANE with sendData, $sendData 114 3, this will create log.rlog files for use with runRC
3rd:Run rlog2bfl on the log.rlog file to create .BFL files for use with runRC.
4th: Make sure to run robo alias set in bashrc which will set runswift/base/classpath.linux
5th Use runRC located in runswift/base/colour/rc to configure colours by opening .BFL files and
save as nnmc.cal
6th: Copy new nnmc.cal to ruswitf/robot/cfg/nnmc.cal and then install on memory stick
Tested Aibo Dogs with new color calibration. Setup dogs in different directions to get multiple views of the field. We then imported the BFL files into runRC and calibrated the nnmc.cal. This new color table was inserted into the dogs and the dogs were able to play soccer. Played multiple games of soccer with working code.
Went through process of of using Robolink, sendData, rlog2bfl, and runRC, and installing the new colour tables.
Wrote up documentation on the steps to take to configure the dogs to run runswift code.
Worked on logging and debugging of runswift code:
Output telnet session to log file. $telnet 192.168.1.114 59000 > telnetLog
Searched through telnetLog to determine what and how the logging is done
Found some of the cout statements in PyEmbed.cc these need to be changed to iosysdebug so that cout
cannot be interupted.
Found a statement debugCouts = false. This should be enabled for debugging.
Found Super Debug in Behavior.cc this allows you to crash the dog using goAndCrashTheDog(). This will
send the logging data to emon.log.
Caught up on log files filled out timesheet.Look through folder for csci111 lab
Prepared for csci111 class. Went through assignment and developed answers for two of the three
functions that the students will be developing. Helped students create functions and walked
around and worked with students on projects and learning module.
Finished 3rd function of Learning Module for csci111, went through all three functions in class
Left scope.cpp for students to tackle on their own. Helped students debug programs and write
functions to learn pass by value, pass by reference. In csci381 helped students code their lego
mindstorms, held robot competition to test robots that students created. Map was created with all
turns. Changed the map before the competition to utilize right and left turns. All students robots
were able to navigate 75 percent of map or more. Shaun's robot came in last place.
Walked students through the learning module. Had students work on problems on the white board
Spent the rest of the lab walking around class helping students with american idol lab.
Searched lab for memory card readers. Memory card readers are missing, suspect they were left
in 254 when the soccer field was setup. Cleaned lab and moved monitors to create more space
Began testing wireless communication between dogs. Use tcpdump to test the type of communication
Dogs are sending UDP packets for communication. Used Ethereal to look at packets. It is evident
that the dogs are using wireless communication based on the paterns of UDP packets that were sent
using three dogs. Read through the source code within the wireless directory. Lots of debugging
statements that are commented out. Would like to test debugging messages to learn how dogs switch
rolls.
Caught up on log files and created timesheet
Setup soccer field in 241, moved desks, sweeped floor, prepared for game on Saturday
Picked up Shaun and helped move new soccer field components (walls, goals, beacons)
to school, setup new field at school.
Setup Field for Soccer Game on Saturday, sweeped room, move field etc...
Robot Soccer Game Day: Worked with team making changes and testing Paulenes new code for
reckognizing new goals and beacons. Blue Team was having a problem reckognizing field and would not initialize
to their correct positions. The blue team would work once the ball was introduced. Observerd dog behaviors.
Shaun noticed dogs could not notice where dogs were on field. Paulene worked with Subvision to get it to compile
with new changes. Looked into changing dog behaviors while batteries are charging.
change walk and styles Normal or Canter
Defining new actions
ht = head tilt
hp = head pan
hr = head roll
lfj = left front joint
lfs = left front shoulder
lfk = left front knee
rfj = right front joint
Example:
number of positions
duration ht hp lfj lfs lfk rfj rfs rfk lhj lhs lhk rfj rfs lfk
Found instructions on howto debug in Notes section emonLog.txt
Was able to change formations of dogs by using sendFormation
fAttSupDef- Attacker Supporter Defender
fAttStrDef - Attacker Striker Defender
fAttSupWing - Attacker Supporter Winger
fWirelessDown - fixed Attacker Attacker Defender
Used wireshark to analyze wireless communication. Need to analyze wireless data.
Caught up on logfiles from Saturdays gameday.
Worked on sound effects for dogs found how to play sound files with Behavior actions
To play a sound when penalised I do (in our binary) ->
bool doSound = false;
int tempState = (int)data->state;
if (tempState != state && tempState == PENALISED) doSound = 1;
state = tempState;
if (state==PENALISED && data->teams[!(int)tempTeam].players[*playerIn-1].secsTillUnpenalised <=0) doSound = 2;
if (doSound > 0) {
char* SoundCommand = "400 600";
nubot->subject[sbjSoundCommand]->SetData(SoundCommand, strlen(SoundCommand)+1);
nubot->subject[sbjSoundCommand]->NotifyObservers();
}
Worked in new facility with dog teams. Setup Field and new lighting. Worked on localization with dogs.
Both teams are having troubles initializing still. Paulene found error with where the dogs are localazing in
Constant.py. The blue team is still having major problems localizing. Once game play is initialized dogs can
play by following ball actions. Looked into getting sound files to work. Currently sound is set to a beep
when a foul occurs for the dog. Tone can be changed to a wav file by setting the frequency less then 10, and manually
loading the file with in the SoundCommand.
Judged the Chico Science Fair. Looked for projects relating to intelligent systems. Found one project that qualified for an award on their work in remote control vehicles. Other projects were of interest such as a hover vehicle and gps, but they did not have the scientific method so they were not awarded.
Worked on Log Files, Time Sheet, Cleaned and organized lab.