There are no lectures during the last two weeks of the course. During this time you will be working in teams programming Gracia robots.
The project will pull on all the skills you have developed so far but will provide a set of new skills needed to do cross development and embedded systems programming and debugging. This completes the hackers toolkit that you can be proud of. We will do distributed programming using sockets, mutable threads for embedded Linux.
We have added a mote sensor to the bot that allows it to interact with a sensor network built across the CS department. We have also added a camera to the bot. You will write the controller that runs on your laptop and the server side on the rob - all in C and Linux. Once your ready your bot will go on a treasure hunt. The final task is the CS50 remote controlled bot race.
This web page contains resources and news affiliated with the final project. Please refer to this web page for announcements and clarifications as you develop your project.
The Project Description page contains a high level overview of various aspects of the project, including introduction, goals, major system component decompositions, API functions, gradings and certain rules. Make sure you check it out and are familiar with all the information.
May 23rd
Add FAQs section.
May 21st
Each team now has a SVN account set up, at https://svn.cs.dartmouth.edu/classes/cs50-S12/TeamName/
May 13th
Project teams are announced , useful material links posted, and design review signup sheet is available.
May 12nd
Wireless IP addresses of six bots are now posted.
Link | Notes |
GTK Tutorial Slides (including GDK) |
GTK tutorial. |
Acroname Garcia Website | Acroname's website for the Garcia robot. See the lins in the upper right hand side of the page. |
Portal Binary | Portal base solution to test your robot. |
Garcia Tutorial | Introduction to Garcia robots slides (originally by Pan Wei). |
Garcia Develeopment Tutorial | Pan Wei's tutorial covering compiling for the Garcia and the APIs used to interact with it. |
Garcia Sanity Check | Document describing how to set up robot, ssh into it and run sample controller. |
Groups Leader: Fanghao Chen
=========================
Group 1
Hongyu Chen
Robert L. Marchman
Matthew J. Diephuis
Monkruman B. St Jules
Group 2
Robin Wang
Chandrasekar Ramesh
Max N. Deibel
Group 3: BLISTERING BARNACLES
Chuanqi Sun
Scott L. Brookes
Justice Amoh Jr
Cooper S. Stimson
Group 4
Tianshun Miao
Michael C. Kwa
Graeson C. McMahon
Groups Leader: Lauren E. Litscher
=========================
Group 5: Segfault
Tucker Ward
Roger L. Melick
Graham B. Findlay
Kyle M. Lawson
Group 6: Fanghao Family
Adam Tong
Matthew Ge
Mehdi Oulmakki
Anup Dhamala
Group 7: DROP TABLE Groups
Matthew C. Digman
Michael A. Urbach
Diana L. Salsbury
Matthew S. McNierney
Groups Leader: Melissa S. Queen
=========================
Group 8: free (willy)
Shuyang Fang
Piotr Teterwak
Eugene E. Zheng
William D. Geoghegan III
Group 9: Garcia Can Socket
Samuel Tan Jun Jie
Randy X. Li
Yon Soo Park
Ethan M. Thomas
Group 10
Joseph T. Loftus
Elaine G. Levey
Tewende Anani Sawadogo
Andrew D. Pillsbury
Black robot: 129.170.210.229 (Group1 & Group2)
Orange robot:129.170.210.231 (Group3 & Group4)
Blue robot: 129.170.210.228 (Group5 & Group6)
Red robot:129.170.210.230 (Group7 & Group8)
White robot:129.170.210.227 (Group9 & Group10)
Yellow robot:129.170.210.226
FAQs
Q: How could I run the command on garcia?
A: copy the binary say cs23Garcia_turn to /home/acroname/aBinary; type "./cs23Garcia_turn" to run the binary.
Q: How should I avoid overwritten problem between teams or with other shared teams?
A: It is OK you rename your binary file. Take group1 as example, I recommend the command guy name the binary as "group1_garcia_control" alike with the team name and component within the binary filename. It can easily solve the name conflict problem.
Q: Why robot is not working or cannot ssh or has any weird behavior?
A: Try to use a fully charged battery… Then physically connect using cable if problem still exists.
Q: How could I run the asf as daemon?
A: copy your asf to robot; do a ls -l to check if your asf is excutable; then follow the command in instrunction to run it.