Last Edits to Final Report
Author: Patrick Naughton
Date: 5/4/2018
Hours: 1
Brushed up Demo and Results sections
m (Protected "Pi Car Comm Log" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))) |
|||
(149 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | [ | + | <div></div> |
+ | <!-- To make a new post, copy and paste everything between the opening and closing tags (including the tags) --> | ||
+ | <div id="useful-links"> | ||
+ | <h1>Useful Links</h1> | ||
+ | <div style="padding:10px;border:1px solid; background-color:#33FF33;"> | ||
+ | <ul> | ||
+ | <li title="Project Page">[https://classes.engineering.wustl.edu/ese205/core/index.php?title=Pi_Car_Comm Project Page] </li> | ||
+ | <li>[https://github.com/patricknaughton01/comm_scripts Github for scripts]</li> | ||
+ | <li>[https://github.com/xz-group/PiCar Pi Car github]</li> | ||
+ | <li>[http://www.ericerfanian.com/mobile-mesh-networks-with-the-raspberry-pi-part-1/ Mesh Network Tutorial]</li> | ||
+ | <li>[https://www.mathworks.com/help/supportpkg/raspberrypi/ug/getting-the-raspberry_pi-ip-address.html?requestedDomain=true Setting up a static IP address]</li> | ||
+ | <li>[https://www.raspberrypi.org/forums/viewtopic.php?t=14588 Running commands on startup]</li> | ||
+ | <li>[https://www.raspberrypi.org/documentation/remote-access/ip-address.md nmap]</li> | ||
+ | <li>[https://www.raspberrypi.org/forums/viewtopic.php?t=32460 Forum post to ping all pis, multiple solutions]</li> | ||
+ | <li>[http://blog.whaleygeek.co.uk/wp-content/uploads/2013/10/NetworkMessaging-Cribsheet.pdf Set up server-client relationship]</li> | ||
+ | <li>[https://wiki.python.org/moin/UdpCommunication Establish UDP communication]</li> | ||
+ | <li>[http://beej.us/guide/bgnet/html/multi/index.html Beej's guide to sockets]</li> | ||
+ | <li>[https://patricknaughton01-gmail.tinytake.com/sf/MjM2ODY5N183MjEzMjI3 Short tutorial on using Git]</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <h1 id="13">Week 13</h1> | ||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Last Edits to Final Report</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 5/4/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Brushed up Demo and Results sections</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Finishing Touches on Final Report</h2> | ||
+ | <p>Author: Jacob Cytron</p> | ||
+ | <p>Date: 5/4/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Added ethics section to the results segment of our report.</p> | ||
+ | <p>Reformatted the results section to look neater and make more sense.</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Editing Final Report</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 5/3/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Edited the final report to reflect feedback.</p> | ||
+ | <p>Added comments to code where they were lacking.</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Editing Final Report & Reiumbursement</h2> | ||
+ | <p>Author: Yak Fishman</p> | ||
+ | <p>Date: 5/1/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Finished the draft of the final report.</p> | ||
+ | <p>Wrote up reiumbursement spreadsheet and justification document</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <h1 id="12">Week 12</h1> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Final Report</h2> | ||
+ | <p>Author: Jacob Cytron</p> | ||
+ | <p>Date: 4/26/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Edited Final Report</p> | ||
+ | <p>Added new links where necessary</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Review Documentation</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 4/23/2018</p> | ||
+ | <p>Hours: 0.5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Met with Sam and Yak to go over remaining parts of documentation to be done and review what has been done.</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Finalizing Documentation</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 4/22/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Wrote up the Design and Solutions portion of the project page for the final report.</p> | ||
+ | <p>Wrote two tutorials: [https://classes.engineering.wustl.edu/ese205/core/index.php?title=Creating_an_Ad-Hoc_Network_on_the_Raspberry_Pi Creating an Ad Hoc Network on the Raspberry Pi] and [https://classes.engineering.wustl.edu/ese205/core/index.php?title=Socket_Programming Socket Programming].</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <h1 id="11">Week 11</h1> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Demo Day</h2> | ||
+ | <p>Author: Jacob Cytron </p> | ||
+ | <p>Date: 4/19/2018</p> | ||
+ | <p>Hours: 4</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Charged batteries before demo</p> | ||
+ | <p> We set up and successfully ran the planned demo</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Demo trial</h2> | ||
+ | <p>Author: Jacob Cytron </p> | ||
+ | <p>Date: 4/19/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Met in Lopata with Patrick</p> | ||
+ | <p>Troubleshot through message related problems with demo</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Finalize Demo</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 4/19/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Confirm that the demo works and set up the cars to run it.</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Group Meeting, Final Report, and Demo</h2> | ||
+ | <p>Author: Yak Fishman </p> | ||
+ | <p>Date: 4/23/2018</p> | ||
+ | <p>Hours: 8</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Various group meetings to finish our demo</p> | ||
+ | <p>Continued construction on 2nd PiCar</p> | ||
+ | <p>Finished and printed poster</p> | ||
+ | <p>Worked on final project</p> | ||
+ | <p>Final presentation and demo</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Demo trial</h2> | ||
+ | <p>Author: Jacob Cytron </p> | ||
+ | <p>Date: 4/18/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Met to try demo, pi car would not boot despite troubleshooting</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Demo planning, pi car building</h2> | ||
+ | <p>Author: Jacob Cytron </p> | ||
+ | <p>Date: 4/17/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Found remaining missing bearings for pi car</p> | ||
+ | <p>Talked over possible ideas for demos given current state of second pi car</p> | ||
+ | <p>Made decision to plan for the 2nd pi car to not be finished in time</p> | ||
+ | <p>Learned how to set up pis for demo</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Switch Demo</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 4/17/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Switched demo to have two cars independently driven and send information about throttle and steering back to a home base that will display the information.</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Practice demo.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>2nd car</h2> | ||
+ | <p>Author: Jacob Cytron </p> | ||
+ | <p>Date: 4/16/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Worked on second car</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Working on Second Car and Demo</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 4/16/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Continued to work on second car.</p> | ||
+ | <p>Did a practice demo that worked a bit. May end up having to demonstrate cars on the table because of ESC variability.</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Finish second car.</li> | ||
+ | <li>Practice demo</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <h1 id="10">Week 10</h1> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>2nd Pi Car Progress</h2> | ||
+ | <p>Author: Jacob Cytron </p> | ||
+ | <p>Date: 4/15/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Met with Yak in Urbauer</p> | ||
+ | <p>Worked on the 2nd pi car</p> | ||
+ | <p>Fixed 3d printed parts to fit on car better</p> | ||
+ | <p>Worked on the servo 3d printed section specifically</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Group Meeting, Final Report, and PiCar Construction</h2> | ||
+ | <p>Author: Yak Fishman </p> | ||
+ | <p>Date: 4/15/2018</p> | ||
+ | <p>Hours: 7</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Various group meetings</p> | ||
+ | <p>Continued construction on 2nd PiCar</p> | ||
+ | <p>Worked on poster</p> | ||
+ | <p>Cleaned up project page for final report page</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Continuing the Pi Car, Class Meeting</h2> | ||
+ | <p>Author: Jacob Cytron </p> | ||
+ | <p>Date: 4/13/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Met with Sam in Urbauer</p> | ||
+ | <p>Met in class</p> | ||
+ | <p>Attached Ackermann Arms to Car</p> | ||
+ | <p>Acquired more bearings for the Ackermann parts</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Second Pi Car</h2> | ||
+ | <p>Author: Jacob Cytron</p> | ||
+ | <p>Date: 4/11/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Met with Yak to start the second car</p> | ||
+ | <p>Ran into two problems: wrong bearing for a part and wrong saw to cut the axle. The axle will be cut and given to us on Friday. </p> | ||
+ | <p>Met with Jim to troubleshoot Pi Car</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Finish second car.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Documentation and Experimentation</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 4/9/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Met with Dr. Zhang to give status updates.</p> | ||
+ | <p>Documented how to setup and use the classes we created in our `README.md` file.</p> | ||
+ | <p>Made sure all SD cards are configured to run some script on startup so that all we have to do to demo is power the Pis.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Documentation</li> | ||
+ | <li>Finish second car.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Minor Debugging</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 4/7/2018</p> | ||
+ | <p>Hours: 2.5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Configured one car to run the `master` script on startup and another to run the `slave` script. This way the cars will automatically start when powered on.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Documentation</li> | ||
+ | <li>Finish second car.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>TA meeting and documentation</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 4/6/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Met with Sam and started working on poster.</p> | ||
+ | <p>Documented the Message class and subclasses.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Finish second car.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Proof of Concept Complete</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 4/2/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Debugged ESC and established communication between two Pi Cars.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Documentation</li> | ||
+ | <li>Finish second car.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <h1 id="9">Week 9</h1> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Group meeting and beginnings of second car</h2> | ||
+ | <p>Author: Jacob Cytron </p> | ||
+ | <p>Date: 3/30/2018</p> | ||
+ | <p>Hours: 7</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Worked out logistics with parts for second car</p> | ||
+ | <p>Timing test</p> | ||
+ | <p>Kicked off the 3D printing</p> | ||
+ | <p>Various Group Meetings</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Prepping to Debug</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 3/31/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Made some test scripts to prepare for testing.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Debugging ESC communication.</li> | ||
+ | <li>Finish second car.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Group Meeting, 3D Printing, and Ordering Parts</h2> | ||
+ | <p>Author: Yak Fishman </p> | ||
+ | <p>Date: 3/30/2018</p> | ||
+ | <p>Hours: 7</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Various group meetings</p> | ||
+ | <p>Timing test</p> | ||
+ | <p>3D printing</p> | ||
+ | <p>Ordering parts and begin assembling on car</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Full Driving Test</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 3/30/2018</p> | ||
+ | <p>Hours: 4</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Met with TA to discuss progress.</p> | ||
+ | <p>Began 3D printing parts for the second car.</p> | ||
+ | <p>Tested car to car communication. Connection was established and messages were sent. Steering information in particular was transmitted and interpreted correctly. However, ESC information for some reason was much more difficult to communicate and/or interpret.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Debugging ESC communication.</li> | ||
+ | <li>Finish second car.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Driving</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 3/28/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Tested both computer to Arduino and Arduino to computer communication using Python's serial library. Both are very intuitive and appear to function well. One thing to note is that the computer to Arduino communication can be rather slow.</p> | ||
+ | <p>Drove both the steering servo and ESC from a Raspberry Pi mounted on the Pi Car.</p> | ||
+ | <p>Set up and calibrated the ESC, Arduino, and remote control so that the remote control can drive the car. In this mode, the Arduino reads in the remote control signal and then feeds the ESC the corresponding pulse width. Additionally, it will later tell the Raspberry Pi what it is doing so that the Pi can transmit its intentions.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Create a script to read ESC and servo commands from the Arduino and broadcast them.</li> | ||
+ | <li>Test using the remote control to give a stationary Pi Car commands which will be transmitted to and executed by a mobile Pi Car.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Motor Driver Script</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 3/26/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Created an Arduino script that receives Serial inputs and theoretically drives the servo and ESC on the Pi Car.</p> | ||
+ | <p>Looked up a minimal amount about python's serial library which will be used to communicate with the Arduino.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Experiment with driving the cars.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Mobile Timing Test</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 3/26/2018</p> | ||
+ | <p>Hours: 2.5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Performed the mobile timing test with good results. The Pi Car could transmit information even when mobile in less than 100 ms.</p> | ||
+ | <p>In the interim, it was discovered that an additional wifi adapter would be necessary to connect the Pis to the internet as well as to each other. This feature will therefore likely be delayed until a different project.</p> | ||
+ | <p>Met with Dr. Zhang and the rest of the group to discuss how to physically drive the car.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Figure out how to program the cars to drive.</li> | ||
+ | </ul> | ||
+ | [https://classes.engineering.wustl.edu/ese205/core/images/8/80/Mobile_timing.txt Mobile Test Results] | ||
+ | [https://classes.engineering.wustl.edu/ese205/core/images/0/00/Mobile_timing_movie.qt Mobile Timing Movie] | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <h1 id="8">Week 8</h1> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Timing Test (Finally)</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 3/21/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Installed Raspbian on all the SD cards.</p> | ||
+ | <p>Debugged the `setup.sh` script.</p> | ||
+ | <p>Synchronized the clocks across all the Pis (necessary to get timing results).</p> | ||
+ | <p>Performed the timing test. In this test, one Raspberry Pi (with IP address 192.168.1.3) received signals transmitted from two other Pis (with addresses of 192.168.1.2 and 192.168.1.4). The .4 Pi was approximately 1.5 meters from the .3 Pi and the .2 Pi was approximately 3 meters away from the .3 Pi. All of the Pis were sitting atop the same desk. The .4 Pi's signal was halted approximately halfway through the 30s test to ensure that the .3 Pi could still receive messages even with a changing network topology. The results were quite successful with messages being sent overall in well under 1 second (very comfortably under the original goal of ~ 6 seconds).</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Perform a mobile test of the Pi cars.</li> | ||
+ | <li>Look into connecting the Pis to the internet so that they can synchronize their clocks automatically.</li> | ||
+ | <li>Figure out how to program the cars to drive.</li> | ||
+ | </ul> | ||
+ | [https://classes.engineering.wustl.edu/ese205/core/images/9/95/Timing_output.txt Timing Test Results] | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Flashing SD Cards</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 3/20/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Formatted all three SD cards and flashed them with NOOBS.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Actually test the Pi Cars.</li> | ||
+ | <li>Setup the SD cards to test.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Fixing Bugs</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 3/19/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Debugged the setup.sh script.</p> | ||
+ | <p>Modified the Network class to use a Queue.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Actually test the Pi Cars.</li> | ||
+ | <li>Flash the SD cards we were given with the appropriate os.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>New Pi Car</h2> | ||
+ | <p>Author: Jacob Cytron</p> | ||
+ | <p>Date: 3/19/2018</p> | ||
+ | <p>Hours: 4</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p> Met with Dr. Zhang to discuss building a new Pi Car.</p> | ||
+ | <p>Found the parts we had available and ordered the rest</p> | ||
+ | <p>Budgeted the Pi Car over email</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Testing and some bugs.</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 3/19/2018</p> | ||
+ | <p>Hours: 4</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Performed a test to demonstrate that the Network class can transmit and receive data.</p> | ||
+ | <p>Used and debugged the `setup.sh` script. More debugging pending.</p> | ||
+ | <p>Met with Dr. Zhang to discuss progress.</p> | ||
+ | <p>Yak and Jacob will begin assembling a new car.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Actually test the Pi Cars.</li> | ||
+ | <li>Use the [https://docs.python.org/3.4/library/multiprocessing.html?highlight=process#multiprocessing.Queue Queue] object to allow for data transfer in the network class.</li> | ||
+ | <li>Flash the SD cards we were given with the appropriate os.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Group Meeting, Documentation, and Debug Method</h2> | ||
+ | <p>Author: Yak Fishman </p> | ||
+ | <p>Date: 3/19/2018</p> | ||
+ | <p>Hours: 7</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Continued documentation on code</p> | ||
+ | <p>Group Meeting</p> | ||
+ | <p>Started to work on the debug setting</p> | ||
+ | <p>Group assesment</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <h1 id="7">Week 7 (Spring Break)</h1> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Repository Issues</h2> | ||
+ | <p>Author: Jacob Cytron</p> | ||
+ | <p>Date: 3/16/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Looked through issues on the repository</p> | ||
+ | <p>Annotated 3 messaging classes</p> | ||
+ | <p>Started on a debugger</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Setup Script and Minor Edits</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 3/15/2018</p> | ||
+ | <p>Hours: 2.5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Created a `setup.sh` script to automate the setup process of new Raspberry Pis.</p> | ||
+ | <p>Changed the `Network` class so that it reads the machine's internet address so that it knows what to `bind` to (instead of looking in a .conf file). This means we no longer need to use a static ip (maybe).</p> | ||
+ | <p>(Hopefully) Fixed the termination of the listening process.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Actually test the Pi Cars.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <h1 id="6">Week 6</h1> | ||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Group Meeting</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 3/9/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Reviewed progress with Dr. Zhang. It is her opinion that we should begin working with actual cars as soon as possible because there are liable to be unforeseen issues.</p> | ||
+ | <p>The demo would likely be more impressive with more vehicles. Thus, it would be nice to have Jacob and Yak work on actually constructing some cars.</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Actually test the Pi Cars.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Attempted Test</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 3/5/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Tried to test and debugged receiver Pi. Discovered some syntax errors and logged those to GitHub (will resolve in coming days/weeks).</p> | ||
+ | <p>Met with Professor Mell to give a progress update.</p> | ||
+ | <p>Could not find a second working Pi, Professor Mell said he will discuss it with Dr. Zhang.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Actually test the Pi Cars.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <h1 id="5">Week 5</h1> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Group meeting and documentation.</h2> | ||
+ | <p>Author: Jacob Cytron</p> | ||
+ | <p>Date: 3/2/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Went to the PiCar lab for Monday meeting</p> | ||
+ | <p>Met with professor Mell to go over progress</p> | ||
+ | <p>Added some documentation to code</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Group Meeting and Documentation</h2> | ||
+ | <p>Author: Yak Fishman </p> | ||
+ | <p>Date: 3/5/2018</p> | ||
+ | <p>Hours: 4</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Continued documentation on code</p> | ||
+ | <p>Group Meetings</p> | ||
+ | <p>Got git set up and learned how to effectively use repository</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>More documentation.</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 3/2/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Added documentation to the test methods.</p> | ||
+ | <p>Set up Yak with git.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Actually test the Pi Cars.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>More documentation.</h2> | ||
+ | <p>Author: Jacob Cytron</p> | ||
+ | <p>Date: 3/2/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Weekly Friday meeting</p> | ||
+ | <p>Met in Urbauer lab to go over code</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Starting on documentation.</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 2/26/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Added documentation to the tests and to some methods in the messages classes.</p> | ||
+ | <p>Merged all of the branches with master so that they are now up to date.</p> | ||
+ | <p>Met with other PiCar students to discuss progress.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Actually test the Pi Cars.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <h1 id="4">Week 4</h1> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>More work on tests.</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 2/25/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Finished up most of the work for timing tests.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Actually test the Pi Cars.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Presentation and Instructor Meeting</h2> | ||
+ | <p>Author: Jacob Cytron</p> | ||
+ | <p>Date: 2/23/2018</p> | ||
+ | <p>Hours: 3 </p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Had class meeting and gave presentation</p> | ||
+ | <p>Learned more syntax for socket coding</p> | ||
+ | <p>Had meeting with instructor</p> | ||
+ | <p>Worked on doc strings and methods (see repository)</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Class meeting and work on tests</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 2/23/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Met with class to give presentation.</p> | ||
+ | <p>Began work on timing tests to ensure messages send quickly enough.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Finish up writing the tests.</li> | ||
+ | <li>Actually test the Pi Cars.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Meeting and Work on Classes</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 2/19/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Met with Dr. Zhang and rest of the group to give WiFi presentation.</p> | ||
+ | <p>Met with group to discuss way forward.</p> | ||
+ | <p>Set up git repository on Jacob's and Yak's computers.</p> | ||
+ | <p>See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Group Meeting and Documentation</h2> | ||
+ | <p>Author: Yak Fishman </p> | ||
+ | <p>Date: 2/19/2018</p> | ||
+ | <p>Hours: 4.5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>More Python learning</p> | ||
+ | <p>Started documentation on code</p> | ||
+ | <p>Group Meeting</p> | ||
+ | <p>Cleaned up log, website, and presentation</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Repository and Socket Coding</h2> | ||
+ | <p>Author: Jacob Cytron</p> | ||
+ | <p>Date: 2/19/2018</p> | ||
+ | <p>Hours: 4 </p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Set up repository, set up collaboration, and installed PyCharm to be able to push to GitHub</p> | ||
+ | <p>Read up on syntax for socket coding, plan to do more of this later</p> | ||
+ | <p>Group Meeting with TA</p> | ||
+ | <p>Completed the Broadcast method in the network module (see repository)</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <h1 id="3">Week 3</h1> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Message Classes</h2> | ||
+ | <p>Author: Patrick Naughton </p> | ||
+ | <p>Date: 2/18/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Created a small tutorial on git, posted in Useful Links above.</p> | ||
+ | <p>Worked on Message classes. For specifics, see https://github.com/patricknaughton01/comm_scripts/commits/master</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Look at TODOs and build out more of the Network class functions.</li> | ||
+ | <li>Start creating documentation for the functions already written.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Network Functions</h2> | ||
+ | <p>Author: Patrick Naughton </p> | ||
+ | <p>Date: 2/13/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Built out some of the receiving functions in the Network class. Have not tested yet, not documented either.</p> | ||
+ | <p>Decided to use multiprocessing instead of threading because they offer abort capabilities.</p> | ||
+ | <p>Created a config directory to save settings for the Network. May be used in the final product instead of the package.</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Look at TODOs and build out more of the Network class functions.</li> | ||
+ | <li>Start creating documentation for the functions already written.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Threading experiments</h2> | ||
+ | <p>Author: Patrick Naughton </p> | ||
+ | <p>Date: 2/12/2018</p> | ||
+ | <p>Hours: 0.5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Experimented with the threading library and made an example in network.py.</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Three Way communication and the model</h2> | ||
+ | <p>Author: Patrick Naughton </p> | ||
+ | <p>Date: 2/12/2018</p> | ||
+ | <p>Hours: 2.5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Demonstrated 3 way communication successfully.</p> | ||
+ | <p>Created model and added to GitHub: https://www.draw.io/#G1nteipWO6p85XItbLYPe8M1n9dVy68YSa</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Flesh out model</li> | ||
+ | <li>Design and implement RTT test.</li> | ||
+ | </ul> | ||
+ | <p>Challenges:</p> | ||
+ | <ul> | ||
+ | <li>Debugging model.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | |||
+ | <h1 id="2">Week 2</h1> | ||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Group Meeting and More Research</h2> | ||
+ | <p>Author: Yak Fishman </p> | ||
+ | <p>Date: 2/12/2018</p> | ||
+ | <p>Hours: 5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>More Python learning</p> | ||
+ | <p>Continued reading the posted links and other research</p> | ||
+ | <p>Group Meeting</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Raspberry Pi tutorials</h2> | ||
+ | <p>Author: Jacob Cytron </p> | ||
+ | <p>Date: 2/12/2018</p> | ||
+ | <p>Hours: 5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Watched a series of great in-depth tutorials on coding Python on a RaspberryPi</p> | ||
+ | <p>Group Meeting with TA: We experimented with and successfully implemented 3-way communication between PiCars</p> | ||
+ | <p>Worked on model for Python code</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2> Friday Meeting/Python Learning</h2> | ||
+ | <p>Author: Jacob Cytron </p> | ||
+ | <p>Date: 2/09/2018</p> | ||
+ | <p>Hours: 3</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Watched Python tutorials</p> | ||
+ | <p>Made adjustments to the Gantt chart</p> | ||
+ | <p>In-class Meeting</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Broadcasting Two Way Communication</h2> | ||
+ | <p>Author: Patrick Naughton </p> | ||
+ | <p>Date: 2/9/2018</p> | ||
+ | <p>Hours: 2.5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Created two python scripts, send.py and recv.py to send and receive messages using python's built in socket library.</p> | ||
+ | <p>Configured the above scripts to broadcast to any device operating on the same network.</p> | ||
+ | <p>Created and updated a Github for the code.</p> | ||
+ | [[ File : Sending.jpeg | 350px]] [[ File : Receiving.jpeg | 350px]] [[ File : Broadcasting.jpeg | 350px]] [[ File : Receiving_Broadcast.jpeg | 350px]] | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Designing a round-trip-time (RTT) experiment to determine how long packets spend in transit.</li> | ||
+ | <li>Define the model we want to use to send these packets.</li> | ||
+ | <li>Add in another Pi to test how/if that changes the network's capabilities.</li> | ||
+ | <li>Define a standard name for the mesh network.</li> | ||
+ | <li>Experiment with sending to just a subnet rather than any available IP address.</li> | ||
+ | </ul> | ||
+ | <p>Challenges:</p> | ||
+ | <ul> | ||
+ | <li>Effectively testing RTT</li> | ||
+ | <li>Designing an effective, consistent model.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2> Presentation</h2> | ||
+ | <p>Author: Patrick Naughton </p> | ||
+ | <p>Date: 2/5/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Finished up presentation on Wi Fi.</p> | ||
+ | <p>Researched how to send udp packets with python.</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Experiment with socket library</li> | ||
+ | </ul> | ||
+ | <p>Challenges:</p> | ||
+ | <ul> | ||
+ | <li>Debugging socket</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Meeting, NMAP, and Research</h2> | ||
+ | <p>Author: Patrick Naughton </p> | ||
+ | <p>Date: 2/5/2018</p> | ||
+ | <p>Hours: 4</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Met with group to discuss wifi adapter. Decided that we don't need it because it will not improve the success of our simulation. Still important when considering scale-ability to actual cars.</p> | ||
+ | <p>Used nmap to find all Raspberry Pi's in the LAN. Very slow (on the order of 10's of seconds).</p> | ||
+ | <p>Met with Dr. Zhang to discuss progress. Decided it was worthwhile to prepare a primer on Wi Fi both to help other groups get background on the project and to formalize some of our own knowledge.</p> | ||
+ | <p>A grad student mentioned the use of UDP (user datagram protocol) to exchange information. Good because it doesn't require an initialization handshake and transmits quickly. Python has a built in library (socket) that interfaces with this protocol. It also supports broadcasting to an entire subnet, potentially eliminating the need for nmap. Will research further.</p> | ||
+ | <p>Began presentation on Wi Fi.</p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Complete presentation</li> | ||
+ | <li>Experiment with socket library</li> | ||
+ | <li>Calculate maximum allowable delay given car speeds (~5 m/s) and Wi-Fi range</li> | ||
+ | </ul> | ||
+ | <p>Challenges:</p> | ||
+ | <ul> | ||
+ | <li>Debugging socket</li> | ||
+ | <li>Getting reliable latency requirement estimates</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Gantt Chart, Group Meeting, Presentation, and More Research</h2> | ||
+ | <p>Author: Yak Fishman </p> | ||
+ | <p>Date: 2/5/2018</p> | ||
+ | <p>Hours: 5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Finished the presentation and cleaned up the Gantt chart</p> | ||
+ | <p>Continued reading the posted links and other research</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Pinging all Pis and the necessity of a wifi adapter</h2> | ||
+ | <p>Author: Patrick Naughton </p> | ||
+ | <p>Date: 2/4/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Working a little bit out of order but experimented to see how we can ping all Pi's on the LAN efficiently. It appears that using an nmap package (https://www.raspberrypi.org/documentation/remote-access/ip-address.md) might work.</p> | ||
+ | <p>Given the above information, it might be wise to reorder our Gantt chart to make sure we can ping multiple Pi's on the same network before we start trying to send specific information to ensure that our solution is scaleable.</p> | ||
+ | <p>Installed babeld package and found out that there is very little support for it. Likely will not use.</p> | ||
+ | <p>Discovered that the Raspberry Pi's built in WiFi only can support 2.4 GHz (https://liliputing.com/2016/02/raspberry-pi-3-to-feature-on-board-wifi-bluetooth.html), meaning that if we want to be more accurate (adhere more closely to the 802.11p protocol), we should buy an adapter that supports 5 GHz. <strong>Will discuss in meeting</strong></p> | ||
+ | <p>Next Steps:</p> | ||
+ | <ul> | ||
+ | <li>Install nmaps and see how well it works</li> | ||
+ | <li>Set up a mesh network with another Pi to ensure that we can broadcast more than one way</li> | ||
+ | </ul> | ||
+ | <p>Challenges:</p> | ||
+ | <ul> | ||
+ | <li>Debugging nmaps</li> | ||
+ | <li>Minimizing time taken to ping everything.</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Weekly Meeting</h2> | ||
+ | <p>Author: Jacob Cytron </p> | ||
+ | <p>Date: 2/2/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Finished the majority of the Gantt chart during our in-class meeting.</p> | ||
+ | <p>Began work on the presentation.</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Project Info</h2> | ||
+ | <p>Author: Patrick Naughton </p> | ||
+ | <p>Date: 2/2/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Began work on the Gantt Chart to distribute the work load.</p> | ||
+ | <p>Began the presentation for the class presentation.</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <h1 id="1">Week 1</h1> | ||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Started Learning Python</h2> | ||
+ | <p>Author: Jacob Cytron </p> | ||
+ | <p>Date: 2/2/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Watched assorted videos on learning Python</p> | ||
+ | <p>Read through more of the links</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Yak Week 1 Work</h2> | ||
+ | <p>Author: Yak Fishman </p> | ||
+ | <p>Date: 2/2/2018</p> | ||
+ | <p>Hours: 7</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Attended group meeting and discussed group goals.</p> | ||
+ | <p>Continued research into materials and read linked articles.</p> | ||
+ | <p>Began to brush up on Python for future coding we will do</p></div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Pinging Over Ad Hoc Network</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 2/1/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Successfully pinged one Raspberry Pi from the other one over an ad hoc network.</p> | ||
+ | <p>Configured each Pi to create an ad-hoc network on startup and assign itself a static IP address.</p> | ||
+ | <p>Relevant files:</p> | ||
+ | <ul> | ||
+ | <li>etc/network/interface</li> | ||
+ | <li>etc/rc.local</li> | ||
+ | </ul> | ||
+ | <p>Next steps:</p> | ||
+ | <ul> | ||
+ | <li> | ||
+ | Exchanging strings between both Pis. | ||
+ | <ul> | ||
+ | <li>The following link/module may be helpful: https://stackoverflow.com/questions/34548037/two-raspberries-communicating-each-other</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Ad-Hoc Communication</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 1/31/2018</p> | ||
+ | <p>Hours: 0.5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Confirmed that ad-hoc networking is feasible. Used one Raspberry Pi to create a Wi-Fi access point that my phone could detect.</p> | ||
+ | <p>Additionally, no Wi-Fi adapter was necessary because the Raspberry Pi model 3 comes with it's own native Wi-Fi capabilities.</p> | ||
+ | [[ File:Ad-hoc.png | 200px]] | ||
+ | <p>Next steps:</p> | ||
+ | <ul> | ||
+ | <li>Getting both Pi's to create ad-hoc networks</li> | ||
+ | <li>Ping one Pi from the other</li> | ||
+ | </ul> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <h2>Getting Materials</h2> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 1/29/2018</p> | ||
+ | <p>Hours: 2.5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Got a key to the lab so that we can access materials.</p> | ||
+ | <p>Met with group to discuss objectives and potential challenges.</p> | ||
+ | <p>Acquired 2 Raspberry Pis to experiment with in order to see how easy it is to establish ad hoc communication.</p> | ||
+ | <p>Met with Dr. Zhang to discuss progress.</p> | ||
+ | <p>Discussed potential for different demos. A "mirroring" demo may be more feasible if other groups are not as successful as hoped.</p> | ||
+ | <p>Met with other groups to see their progress.</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <p style="font-size:133%;font-weight:bold;">First Weekly Meeting</p> | ||
+ | <p>Author: Jacob Cytron</p> | ||
+ | <p>Date: 1/29/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>I attended the first weekly meeting. We clarified our end goals for the piCar project and talked over how we will accomplish our goals. </p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | |||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <p style="font-size:133%;font-weight:bold;">PiCar Research</p> | ||
+ | <p>Author: Jacob Cytron</p> | ||
+ | <p>Date: 1/28/2018</p> | ||
+ | <p>Hours: 2</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>I read some articles on the 802.11 modules and I also read through the thesis on the DriveIt communication between Raspberry Pi cars. </p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <p style="font-size:133%;font-weight:bold;">Yet Another WiFi Adapter</p> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 1/28/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Found yet another WiFi adapter, this one suggested by a paper specifically about using the Raspberry Pi as an "on board unit" for DSRC in a VANET. This specific adapter, at least upon initial inspection, looks like it would be a good candidate because it has Linux support, can run in ad hoc mode (CTRL-F the documentation for ad hoc, it specifies how to set it up), and runs in the 5GHz band with backwards compatibility for the 802.11a protocol. | ||
+ | Additionally, the authors of the paper successfully used it to establish communication on a Raspberry Pi, meaning this is possible.</p> | ||
+ | |||
+ | <p>Adapter: https://www.amazon.com/TP-Link-Wireless-Adapter-Archer-T1U/dp/B016K088UC</p> | ||
+ | <p>Adapter documentation: https://images-na.ssl-images-amazon.com/images/I/C1BISG1QKyS.pdf</p> | ||
+ | <p>Paper: http://www.ijste.org/articles/IJSTEV2I10148.pdf</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <p style="font-size:133%;font-weight:bold;">A Better WiFi Adapter and a Tutorial</p> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 1/28/2018</p> | ||
+ | <p>Hours: 1</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Just found a Wi-Fi adapter compatible with the 802.11a standard. It does not come with a driver on the latest version of the Raspberry Pi, which could actually be a good thing because it means we can compile the driver ourselves (modifying open source designs to suit our needs). Links to the adapter and tutorial can be found at the end of the post.</p> | ||
+ | |||
+ | <p>http://us.edimax.com/edimax/merchandise/merchandise_detail/data/edimax/us/wireless_adapters_ac600_dual-band/ew-7811utc/</p> | ||
+ | <p>This is available on Amazon (https://www.amazon.com/Edimax-EW-7811UTC-Dual-Band-Connectivity-Exceeding/dp/B00FW6T36Y/ref=sr_1_1?ie=UTF8&qid=1517199327&sr=8-1&keywords=AC600+Wireless+Dual-Band+Mini+USB+Adapter+EW-7811UTC) for about $16</p> | ||
+ | <p>Tutorial: https://layereight.de/raspberry-pi/2016/08/25/raspbian-rtl8812au.html</p> | ||
+ | <p>Link to github for open source driver: https://github.com/gnab/rtl8812au</p> | ||
+ | <p>Reference: adapters that work with Raspberry Pi: https://elinux.org/RPi_USB_Wi-Fi_Adapters</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <p style="font-size:133%;font-weight:bold;">WiFi Adapter and more</p> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 1/27/2018</p> | ||
+ | <p>Hours: 1.5</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Based on this article (http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6060057&tag=1), we should be able to use an 802.11a driver to mimic a worst case scenario 802.11p driver. The paper concludes that with minor software adjustments,</p> | ||
+ | <blockquote>VANET solutions that are validated using this approximation will also work on real hardware with better signal quality. As long as experimenters are aware of the limitations of the presented solution, it can be successfully applied as a cost-effective tool for VANET research. | ||
+ | </blockquote> | ||
+ | <p>We therefore need not find an 802.11p module - a more common 802.11a module will do.</p> | ||
+ | <p>Unfortunately, finding an 802.11a module is also surprisingly difficult. However, an 802.11n module should be able to operate in 802.11a mode because they share the same frequency (5GHz). This means an 802.11n module should suit our needs, as long as we can modify the device driver to make the minor adjustments the above paper discusses. Directly below is an example of such a driver.</p> | ||
+ | <p>https://www.canakit.com/raspberry-pi-wifi.html</p> | ||
+ | <p>In addition to supporting 802.11n operation, the dongle must also support ad hoc mode. This is because that seems to be the best way to set up a network mesh among multiple raspberry pis. Instructions for doing so can be found at the following link:</p> | ||
+ | <p>http://www.ericerfanian.com/mobile-mesh-networks-with-the-raspberry-pi-part-1/</p> | ||
+ | <p>Using an ad-hoc network mesh seems to be the best available solution. DSRC/WAVE, which nearly every source cites as the way to send emergency communications between cars, is an ad hoc network (https://www.hindawi.com/journals/jat/2017/2750452/). Such a network does not rely on external routers, so even if the cars lose internet access, they can still communicate with one another.</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <div class="header" style="background-color:#A0A0A0;border:1px solid;padding:10px;margin:5px;"> | ||
+ | <p style="font-size:133%;font-weight:bold;">Link Dump</p> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 1/26/2018</p> | ||
+ | <p>Hours: ~10-15</p> | ||
+ | </div> | ||
+ | <div class="content"> | ||
+ | <p>Link dump of all the papers/modules I've found regarding this project.</p> | ||
+ | https://www.hindawi.com/journals/jat/2017/2750452/<br/> | ||
+ | http://sandhill.com/wp-content/files_mf/whitepapervehicle_to_vehicle_communicationeinfochips.pdf<br/> | ||
+ | http://www.promiot.com/v2x/vtx-201<br/> | ||
+ | https://www.ietf.org/mail-archive/web/its/current/msg00935.html<br/> | ||
+ | http://dimme.net/tag/raspberry-pi/ <-- This is the master's thesis that's really good/thorough<br/> | ||
+ | https://www.unex.com.tw/products/dsrc-v2x/technology/v2x-on-board-unit/1609x-stack/detail/obu-201u<br/> | ||
+ | https://www.academia.edu/20878754/Accessible_customizable_high-performance_IEEE_802.11p_vehicular_communication_solution?auto=download | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | <!-- OPEN --> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <p>Date: 1/26/2018</p> | ||
+ | <div class="content"> | ||
+ | <p>Link to modification article. Hopefully we can use this to modify an existing 802.11a (WiFi) module to fit our needs.</p> | ||
+ | http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6060057&tag=1 | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
+ | <!-- OPEN --> | ||
+ | </div> | ||
+ | <div class="entry" style="border: 1px solid;box-shadow: 5px 10px;padding:10px;margin:20px;"> | ||
+ | <p>Author: Patrick Naughton</p> | ||
+ | <div class="content"> | ||
+ | <p>First log</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <!-- CLOSE --> | ||
[[Category:Logs]] | [[Category:Logs]] | ||
[[Category:Spring 2018 Logs]] | [[Category:Spring 2018 Logs]] |
Author: Patrick Naughton
Date: 5/4/2018
Hours: 1
Brushed up Demo and Results sections
Author: Jacob Cytron
Date: 5/4/2018
Hours: 1
Added ethics section to the results segment of our report.
Reformatted the results section to look neater and make more sense.
Author: Patrick Naughton
Date: 5/3/2018
Hours: 1
Edited the final report to reflect feedback.
Added comments to code where they were lacking.
Author: Yak Fishman
Date: 5/1/2018
Hours: 2
Finished the draft of the final report.
Wrote up reiumbursement spreadsheet and justification document
Author: Jacob Cytron
Date: 4/26/2018
Hours: 1
Edited Final Report
Added new links where necessary
Author: Patrick Naughton
Date: 4/23/2018
Hours: 0.5
Met with Sam and Yak to go over remaining parts of documentation to be done and review what has been done.
Author: Patrick Naughton
Date: 4/22/2018
Hours: 2
Wrote up the Design and Solutions portion of the project page for the final report.
Wrote two tutorials: Creating an Ad Hoc Network on the Raspberry Pi and Socket Programming.
Author: Jacob Cytron
Date: 4/19/2018
Hours: 4
Charged batteries before demo
We set up and successfully ran the planned demo
Author: Jacob Cytron
Date: 4/19/2018
Hours: 3
Met in Lopata with Patrick
Troubleshot through message related problems with demo
Author: Patrick Naughton
Date: 4/19/2018
Hours: 3
Confirm that the demo works and set up the cars to run it.
Author: Yak Fishman
Date: 4/23/2018
Hours: 8
Various group meetings to finish our demo
Continued construction on 2nd PiCar
Finished and printed poster
Worked on final project
Final presentation and demo
Author: Jacob Cytron
Date: 4/18/2018
Hours: 1
Met to try demo, pi car would not boot despite troubleshooting
Author: Jacob Cytron
Date: 4/17/2018
Hours: 3
Found remaining missing bearings for pi car
Talked over possible ideas for demos given current state of second pi car
Made decision to plan for the 2nd pi car to not be finished in time
Learned how to set up pis for demo
Author: Patrick Naughton
Date: 4/17/2018
Hours: 3
Switched demo to have two cars independently driven and send information about throttle and steering back to a home base that will display the information.
Next Steps:
Author: Jacob Cytron
Date: 4/16/2018
Hours: 2
Worked on second car
Author: Patrick Naughton
Date: 4/16/2018
Hours: 3
Continued to work on second car.
Did a practice demo that worked a bit. May end up having to demonstrate cars on the table because of ESC variability.
Next Steps:
Author: Jacob Cytron
Date: 4/15/2018
Hours: 3
Met with Yak in Urbauer
Worked on the 2nd pi car
Fixed 3d printed parts to fit on car better
Worked on the servo 3d printed section specifically
Author: Yak Fishman
Date: 4/15/2018
Hours: 7
Various group meetings
Continued construction on 2nd PiCar
Worked on poster
Cleaned up project page for final report page
Author: Jacob Cytron
Date: 4/13/2018
Hours: 3
Met with Sam in Urbauer
Met in class
Attached Ackermann Arms to Car
Acquired more bearings for the Ackermann parts
Author: Jacob Cytron
Date: 4/11/2018
Hours: 3
Met with Yak to start the second car
Ran into two problems: wrong bearing for a part and wrong saw to cut the axle. The axle will be cut and given to us on Friday.
Met with Jim to troubleshoot Pi Car
Next Steps:
Author: Patrick Naughton
Date: 4/9/2018
Hours: 2
Met with Dr. Zhang to give status updates.
Documented how to setup and use the classes we created in our `README.md` file.
Made sure all SD cards are configured to run some script on startup so that all we have to do to demo is power the Pis.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Patrick Naughton
Date: 4/7/2018
Hours: 2.5
Configured one car to run the `master` script on startup and another to run the `slave` script. This way the cars will automatically start when powered on.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Patrick Naughton
Date: 4/6/2018
Hours: 3
Met with Sam and started working on poster.
Documented the Message class and subclasses.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Patrick Naughton
Date: 4/2/2018
Hours: 3
Debugged ESC and established communication between two Pi Cars.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Jacob Cytron
Date: 3/30/2018
Hours: 7
Worked out logistics with parts for second car
Timing test
Kicked off the 3D printing
Various Group Meetings
Author: Patrick Naughton
Date: 3/31/2018
Hours: 1
Made some test scripts to prepare for testing.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Yak Fishman
Date: 3/30/2018
Hours: 7
Various group meetings
Timing test
3D printing
Ordering parts and begin assembling on car
Author: Patrick Naughton
Date: 3/30/2018
Hours: 4
Met with TA to discuss progress.
Began 3D printing parts for the second car.
Tested car to car communication. Connection was established and messages were sent. Steering information in particular was transmitted and interpreted correctly. However, ESC information for some reason was much more difficult to communicate and/or interpret.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Patrick Naughton
Date: 3/28/2018
Hours: 3
Tested both computer to Arduino and Arduino to computer communication using Python's serial library. Both are very intuitive and appear to function well. One thing to note is that the computer to Arduino communication can be rather slow.
Drove both the steering servo and ESC from a Raspberry Pi mounted on the Pi Car.
Set up and calibrated the ESC, Arduino, and remote control so that the remote control can drive the car. In this mode, the Arduino reads in the remote control signal and then feeds the ESC the corresponding pulse width. Additionally, it will later tell the Raspberry Pi what it is doing so that the Pi can transmit its intentions.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Patrick Naughton
Date: 3/26/2018
Hours: 3
Created an Arduino script that receives Serial inputs and theoretically drives the servo and ESC on the Pi Car.
Looked up a minimal amount about python's serial library which will be used to communicate with the Arduino.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Patrick Naughton
Date: 3/26/2018
Hours: 2.5
Performed the mobile timing test with good results. The Pi Car could transmit information even when mobile in less than 100 ms.
In the interim, it was discovered that an additional wifi adapter would be necessary to connect the Pis to the internet as well as to each other. This feature will therefore likely be delayed until a different project.
Met with Dr. Zhang and the rest of the group to discuss how to physically drive the car.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Patrick Naughton
Date: 3/21/2018
Hours: 2
Installed Raspbian on all the SD cards.
Debugged the `setup.sh` script.
Synchronized the clocks across all the Pis (necessary to get timing results).
Performed the timing test. In this test, one Raspberry Pi (with IP address 192.168.1.3) received signals transmitted from two other Pis (with addresses of 192.168.1.2 and 192.168.1.4). The .4 Pi was approximately 1.5 meters from the .3 Pi and the .2 Pi was approximately 3 meters away from the .3 Pi. All of the Pis were sitting atop the same desk. The .4 Pi's signal was halted approximately halfway through the 30s test to ensure that the .3 Pi could still receive messages even with a changing network topology. The results were quite successful with messages being sent overall in well under 1 second (very comfortably under the original goal of ~ 6 seconds).
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Patrick Naughton
Date: 3/20/2018
Hours: 1
Formatted all three SD cards and flashed them with NOOBS.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Patrick Naughton
Date: 3/19/2018
Hours: 1
Debugged the setup.sh script.
Modified the Network class to use a Queue.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Jacob Cytron
Date: 3/19/2018
Hours: 4
Met with Dr. Zhang to discuss building a new Pi Car.
Found the parts we had available and ordered the rest
Budgeted the Pi Car over email
Author: Patrick Naughton
Date: 3/19/2018
Hours: 4
Performed a test to demonstrate that the Network class can transmit and receive data.
Used and debugged the `setup.sh` script. More debugging pending.
Met with Dr. Zhang to discuss progress.
Yak and Jacob will begin assembling a new car.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Yak Fishman
Date: 3/19/2018
Hours: 7
Continued documentation on code
Group Meeting
Started to work on the debug setting
Group assesment
Author: Jacob Cytron
Date: 3/16/2018
Hours: 3
Looked through issues on the repository
Annotated 3 messaging classes
Started on a debugger
Author: Patrick Naughton
Date: 3/15/2018
Hours: 2.5
Created a `setup.sh` script to automate the setup process of new Raspberry Pis.
Changed the `Network` class so that it reads the machine's internet address so that it knows what to `bind` to (instead of looking in a .conf file). This means we no longer need to use a static ip (maybe).
(Hopefully) Fixed the termination of the listening process.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Patrick Naughton
Date: 3/9/2018
Hours: 1
Reviewed progress with Dr. Zhang. It is her opinion that we should begin working with actual cars as soon as possible because there are liable to be unforeseen issues.
The demo would likely be more impressive with more vehicles. Thus, it would be nice to have Jacob and Yak work on actually constructing some cars.
Next Steps:
Author: Patrick Naughton
Date: 3/5/2018
Hours: 2
Tried to test and debugged receiver Pi. Discovered some syntax errors and logged those to GitHub (will resolve in coming days/weeks).
Met with Professor Mell to give a progress update.
Could not find a second working Pi, Professor Mell said he will discuss it with Dr. Zhang.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Jacob Cytron
Date: 3/2/2018
Hours: 2
Went to the PiCar lab for Monday meeting
Met with professor Mell to go over progress
Added some documentation to code
Author: Yak Fishman
Date: 3/5/2018
Hours: 4
Continued documentation on code
Group Meetings
Got git set up and learned how to effectively use repository
Author: Patrick Naughton
Date: 3/2/2018
Hours: 2
Added documentation to the test methods.
Set up Yak with git.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Jacob Cytron
Date: 3/2/2018
Hours: 2
Weekly Friday meeting
Met in Urbauer lab to go over code
Author: Patrick Naughton
Date: 2/26/2018
Hours: 2
Added documentation to the tests and to some methods in the messages classes.
Merged all of the branches with master so that they are now up to date.
Met with other PiCar students to discuss progress.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Patrick Naughton
Date: 2/25/2018
Hours: 1
Finished up most of the work for timing tests.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Jacob Cytron
Date: 2/23/2018
Hours: 3
Had class meeting and gave presentation
Learned more syntax for socket coding
Had meeting with instructor
Worked on doc strings and methods (see repository)
Author: Patrick Naughton
Date: 2/23/2018
Hours: 3
Met with class to give presentation.
Began work on timing tests to ensure messages send quickly enough.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Patrick Naughton
Date: 2/19/2018
Hours: 3
Met with Dr. Zhang and rest of the group to give WiFi presentation.
Met with group to discuss way forward.
Set up git repository on Jacob's and Yak's computers.
See code contributions here: https://github.com/patricknaughton01/comm_scripts/commits/master
Author: Yak Fishman
Date: 2/19/2018
Hours: 4.5
More Python learning
Started documentation on code
Group Meeting
Cleaned up log, website, and presentation
Author: Jacob Cytron
Date: 2/19/2018
Hours: 4
Set up repository, set up collaboration, and installed PyCharm to be able to push to GitHub
Read up on syntax for socket coding, plan to do more of this later
Group Meeting with TA
Completed the Broadcast method in the network module (see repository)
Author: Patrick Naughton
Date: 2/18/2018
Hours: 2
Created a small tutorial on git, posted in Useful Links above.
Worked on Message classes. For specifics, see https://github.com/patricknaughton01/comm_scripts/commits/master
Next Steps:
Author: Patrick Naughton
Date: 2/13/2018
Hours: 1
Built out some of the receiving functions in the Network class. Have not tested yet, not documented either.
Decided to use multiprocessing instead of threading because they offer abort capabilities.
Created a config directory to save settings for the Network. May be used in the final product instead of the package.
Next Steps:
Author: Patrick Naughton
Date: 2/12/2018
Hours: 0.5
Experimented with the threading library and made an example in network.py.
Author: Patrick Naughton
Date: 2/12/2018
Hours: 2.5
Demonstrated 3 way communication successfully.
Created model and added to GitHub: https://www.draw.io/#G1nteipWO6p85XItbLYPe8M1n9dVy68YSa
Next Steps:
Challenges:
Author: Yak Fishman
Date: 2/12/2018
Hours: 5
More Python learning
Continued reading the posted links and other research
Group Meeting
Author: Jacob Cytron
Date: 2/12/2018
Hours: 5
Watched a series of great in-depth tutorials on coding Python on a RaspberryPi
Group Meeting with TA: We experimented with and successfully implemented 3-way communication between PiCars
Worked on model for Python code
Author: Jacob Cytron
Date: 2/09/2018
Hours: 3
Watched Python tutorials
Made adjustments to the Gantt chart
In-class Meeting
Author: Patrick Naughton
Date: 2/9/2018
Hours: 2.5
Created two python scripts, send.py and recv.py to send and receive messages using python's built in socket library.
Configured the above scripts to broadcast to any device operating on the same network.
Created and updated a Github for the code.
Next Steps:
Challenges:
Author: Patrick Naughton
Date: 2/5/2018
Hours: 1
Finished up presentation on Wi Fi.
Researched how to send udp packets with python.
Next Steps:
Challenges:
Author: Patrick Naughton
Date: 2/5/2018
Hours: 4
Met with group to discuss wifi adapter. Decided that we don't need it because it will not improve the success of our simulation. Still important when considering scale-ability to actual cars.
Used nmap to find all Raspberry Pi's in the LAN. Very slow (on the order of 10's of seconds).
Met with Dr. Zhang to discuss progress. Decided it was worthwhile to prepare a primer on Wi Fi both to help other groups get background on the project and to formalize some of our own knowledge.
A grad student mentioned the use of UDP (user datagram protocol) to exchange information. Good because it doesn't require an initialization handshake and transmits quickly. Python has a built in library (socket) that interfaces with this protocol. It also supports broadcasting to an entire subnet, potentially eliminating the need for nmap. Will research further.
Began presentation on Wi Fi.
Next Steps:
Challenges:
Author: Yak Fishman
Date: 2/5/2018
Hours: 5
Finished the presentation and cleaned up the Gantt chart
Continued reading the posted links and other research
Author: Patrick Naughton
Date: 2/4/2018
Hours: 2
Working a little bit out of order but experimented to see how we can ping all Pi's on the LAN efficiently. It appears that using an nmap package (https://www.raspberrypi.org/documentation/remote-access/ip-address.md) might work.
Given the above information, it might be wise to reorder our Gantt chart to make sure we can ping multiple Pi's on the same network before we start trying to send specific information to ensure that our solution is scaleable.
Installed babeld package and found out that there is very little support for it. Likely will not use.
Discovered that the Raspberry Pi's built in WiFi only can support 2.4 GHz (https://liliputing.com/2016/02/raspberry-pi-3-to-feature-on-board-wifi-bluetooth.html), meaning that if we want to be more accurate (adhere more closely to the 802.11p protocol), we should buy an adapter that supports 5 GHz. Will discuss in meeting
Next Steps:
Challenges:
Author: Jacob Cytron
Date: 2/2/2018
Hours: 1
Finished the majority of the Gantt chart during our in-class meeting.
Began work on the presentation.
Author: Patrick Naughton
Date: 2/2/2018
Hours: 1
Began work on the Gantt Chart to distribute the work load.
Began the presentation for the class presentation.
Author: Jacob Cytron
Date: 2/2/2018
Hours: 2
Watched assorted videos on learning Python
Read through more of the links
Author: Yak Fishman
Date: 2/2/2018
Hours: 7
Attended group meeting and discussed group goals.
Continued research into materials and read linked articles.
Began to brush up on Python for future coding we will do
Author: Patrick Naughton
Date: 2/1/2018
Hours: 2
Successfully pinged one Raspberry Pi from the other one over an ad hoc network.
Configured each Pi to create an ad-hoc network on startup and assign itself a static IP address.
Relevant files:
Next steps:
Author: Patrick Naughton
Date: 1/31/2018
Hours: 0.5
Confirmed that ad-hoc networking is feasible. Used one Raspberry Pi to create a Wi-Fi access point that my phone could detect.
Additionally, no Wi-Fi adapter was necessary because the Raspberry Pi model 3 comes with it's own native Wi-Fi capabilities.
Next steps:
Author: Patrick Naughton
Date: 1/29/2018
Hours: 2.5
Got a key to the lab so that we can access materials.
Met with group to discuss objectives and potential challenges.
Acquired 2 Raspberry Pis to experiment with in order to see how easy it is to establish ad hoc communication.
Met with Dr. Zhang to discuss progress.
Discussed potential for different demos. A "mirroring" demo may be more feasible if other groups are not as successful as hoped.
Met with other groups to see their progress.
First Weekly Meeting
Author: Jacob Cytron
Date: 1/29/2018
Hours: 1
I attended the first weekly meeting. We clarified our end goals for the piCar project and talked over how we will accomplish our goals.
PiCar Research
Author: Jacob Cytron
Date: 1/28/2018
Hours: 2
I read some articles on the 802.11 modules and I also read through the thesis on the DriveIt communication between Raspberry Pi cars.
Yet Another WiFi Adapter
Author: Patrick Naughton
Date: 1/28/2018
Hours: 1
Found yet another WiFi adapter, this one suggested by a paper specifically about using the Raspberry Pi as an "on board unit" for DSRC in a VANET. This specific adapter, at least upon initial inspection, looks like it would be a good candidate because it has Linux support, can run in ad hoc mode (CTRL-F the documentation for ad hoc, it specifies how to set it up), and runs in the 5GHz band with backwards compatibility for the 802.11a protocol. Additionally, the authors of the paper successfully used it to establish communication on a Raspberry Pi, meaning this is possible.
Adapter: https://www.amazon.com/TP-Link-Wireless-Adapter-Archer-T1U/dp/B016K088UC
Adapter documentation: https://images-na.ssl-images-amazon.com/images/I/C1BISG1QKyS.pdf
A Better WiFi Adapter and a Tutorial
Author: Patrick Naughton
Date: 1/28/2018
Hours: 1
Just found a Wi-Fi adapter compatible with the 802.11a standard. It does not come with a driver on the latest version of the Raspberry Pi, which could actually be a good thing because it means we can compile the driver ourselves (modifying open source designs to suit our needs). Links to the adapter and tutorial can be found at the end of the post.
This is available on Amazon (https://www.amazon.com/Edimax-EW-7811UTC-Dual-Band-Connectivity-Exceeding/dp/B00FW6T36Y/ref=sr_1_1?ie=UTF8&qid=1517199327&sr=8-1&keywords=AC600+Wireless+Dual-Band+Mini+USB+Adapter+EW-7811UTC) for about $16
Tutorial: https://layereight.de/raspberry-pi/2016/08/25/raspbian-rtl8812au.html
Link to github for open source driver: https://github.com/gnab/rtl8812au
Reference: adapters that work with Raspberry Pi: https://elinux.org/RPi_USB_Wi-Fi_Adapters
WiFi Adapter and more
Author: Patrick Naughton
Date: 1/27/2018
Hours: 1.5
Based on this article (http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6060057&tag=1), we should be able to use an 802.11a driver to mimic a worst case scenario 802.11p driver. The paper concludes that with minor software adjustments,
VANET solutions that are validated using this approximation will also work on real hardware with better signal quality. As long as experimenters are aware of the limitations of the presented solution, it can be successfully applied as a cost-effective tool for VANET research.
We therefore need not find an 802.11p module - a more common 802.11a module will do.
Unfortunately, finding an 802.11a module is also surprisingly difficult. However, an 802.11n module should be able to operate in 802.11a mode because they share the same frequency (5GHz). This means an 802.11n module should suit our needs, as long as we can modify the device driver to make the minor adjustments the above paper discusses. Directly below is an example of such a driver.
https://www.canakit.com/raspberry-pi-wifi.html
In addition to supporting 802.11n operation, the dongle must also support ad hoc mode. This is because that seems to be the best way to set up a network mesh among multiple raspberry pis. Instructions for doing so can be found at the following link:
http://www.ericerfanian.com/mobile-mesh-networks-with-the-raspberry-pi-part-1/
Using an ad-hoc network mesh seems to be the best available solution. DSRC/WAVE, which nearly every source cites as the way to send emergency communications between cars, is an ad hoc network (https://www.hindawi.com/journals/jat/2017/2750452/). Such a network does not rely on external routers, so even if the cars lose internet access, they can still communicate with one another.
Link Dump
Author: Patrick Naughton
Date: 1/26/2018
Hours: ~10-15
Link dump of all the papers/modules I've found regarding this project.
https://www.hindawi.com/journals/jat/2017/2750452/
http://sandhill.com/wp-content/files_mf/whitepapervehicle_to_vehicle_communicationeinfochips.pdf
http://www.promiot.com/v2x/vtx-201
https://www.ietf.org/mail-archive/web/its/current/msg00935.html
http://dimme.net/tag/raspberry-pi/ <-- This is the master's thesis that's really good/thorough
https://www.unex.com.tw/products/dsrc-v2x/technology/v2x-on-board-unit/1609x-stack/detail/obu-201u
https://www.academia.edu/20878754/Accessible_customizable_high-performance_IEEE_802.11p_vehicular_communication_solution?auto=download
Author: Patrick Naughton
Date: 1/26/2018
Link to modification article. Hopefully we can use this to modify an existing 802.11a (WiFi) module to fit our needs.
http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6060057&tag=1
Author: Patrick Naughton
First log