https://reu.cs.mu.edu/api.php?action=feedcontributions&user=Muhsin.King&feedformat=atomREU@MU - User contributions [en]2024-03-28T15:43:18ZUser contributionsMediaWiki 1.23.13https://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-07-15T16:28:22Z<p>Muhsin.King: /* Week 7 - July 13-17 */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Code==<br />
Find all the code for my project on its [https://github.com/muhsinking/heirlab-robocup-2015 GitHub repository]<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
::* Found out how to roll back drivers on Windows<br />
::* This removes the product ID, making the Linux drivers not work<br />
::* Found a utility to restore product ID<br />
: Exploring methods of transmitting and receiving data via LN-101<br />
: Learning about dynamixel error codes<br />
<br />
'''Tuesday'''<br />
: Updating RoboPlus task file aimed at testing CM-700 tx/rx<br />
: Researched various methods of screening into a serial port<br />
: Successfully connected to the CM-700 via terminal<br />
: Went to a talk on research papers/presentations<br />
: Created a program that reads data from CM-700<br />
<br />
'''Wednesday'''<br />
: Created a program that writes data to the CM-700<br />
: Created/compiled a library that properly encodes the data such that the CM-700 understands it<br />
: Tested out various commands on the task file I set up earlier: SUCCESS<br />
: Created a tutorial on git for setting up and repairing the LN-101/FTDI drivers<br />
: Spent the rest of the day debugging/cleaning codebase<br />
<br />
'''Thursday'''<br />
: Attended talk on plagiarism & the IRB<br />
: Working on task/motion files for the final product<br />
<br />
'''Friday'''<br />
: Made new task file for a read test from CM-700<br />
: Attempting to decode motor angles from CM-700 data<br />
: Helping Ryan Walsh with vision/tracking<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
: Attempting to read from motors<br />
: Setting up teammates with Github (again)<br />
<br />
'''Tuesday'''<br />
: Debugging motor reading code<br />
: Exploring methods of achieving vision/head tracking<br />
<br />
'''Wednesday'''<br />
: Working on RoboPlus task files<br />
: Defining motion mappings in tx header<br />
: Created test file for walking<br />
<br />
'''Thursday'''<br />
: Finished motion mappings<br />
: Vision and tracking of a single ball achieved (sweet)<br />
: Explored BioloidCControl<br />
::* Creates a new firmware, erases old<br />
::* Converts motion files from RoboPlus to C<br />
<br />
'''Friday'''<br />
: Continued to explore BioloidCControl<br />
: Compiling C libraries with C++ to play nice with vision/tracking<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
: Converting controller to C++<br />
::* Added class structure <br />
: Write instructions for creating/compiling controller<br />
<br />
'''Tuesday'''<br />
: Creating midway presentation<br />
<br />
'''Wednesday'''<br />
: Create a test class for vision integration into control<br />
::* Compile test class as a library<br />
::* Create further tests in main controller for interpreting vision data<br />
<br />
'''Thursday'''<br />
: Midway presentations<br />
::* [https://docs.google.com/presentation/d/1CGiUVMLlZM46vh3Jp6aF3RHLiXzwrwjlhuIWjja_Q68/edit?usp=sharing See mine here]<br />
: Mockups for team logo<br />
<br />
'''Friday'''<br />
: Off day.<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
: Created a skeleton methods for main controller<br />
: Designed a state structure for the MU-L8<br />
::* States: Init, Ready, Set, Play, Finish, Penalty<br />
<br />
'''Tuesday'''<br />
: More mockups for team logos<br />
: Designed actions for the primary controller<br />
<br />
'''Wednesday'''<br />
: Created a test for executing motion files<br />
: Created a task file for the bioloid type A motion file<br />
: Made sure motions run continuously upon receiving serial commands from the PC<br />
<br />
<br />
'''Thursday'''<br />
: Created an Arduino button for starting the controller on the field<br />
::* Created Arduino code to relay the state of the button across a serial cable<br />
::* Created C code to read this serial data and relay it to the primary controller<br />
<br />
'''Friday'''<br />
: Completed Arduino button code<br />
: Began final vision/control integration<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
: Continuing to integrate vision and control<br />
::* Running into dependency issues<br />
::* Troubleshooting OpenCV<br />
::* Reworking vision to improve compatibility and stability<br />
<br />
'''Tuesday'''<br />
: Continuing to troubleshoot integration issues<br />
::* Considering switching to Eclipse (idea ultimately abandoned)<br />
::* Finalized makefiles for Vision<br />
::* <br />
: Set up code environment on the second MiniPC<br />
: Packing for the flight to China<br />
<br />
'''Wednesday'''<br />
: Catching up on the wiki<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''</div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-07-15T16:04:52Z<p>Muhsin.King: /* Week 6 - July 6-10 */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Code==<br />
Find all the code for my project on its [https://github.com/muhsinking/heirlab-robocup-2015 GitHub repository]<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
::* Found out how to roll back drivers on Windows<br />
::* This removes the product ID, making the Linux drivers not work<br />
::* Found a utility to restore product ID<br />
: Exploring methods of transmitting and receiving data via LN-101<br />
: Learning about dynamixel error codes<br />
<br />
'''Tuesday'''<br />
: Updating RoboPlus task file aimed at testing CM-700 tx/rx<br />
: Researched various methods of screening into a serial port<br />
: Successfully connected to the CM-700 via terminal<br />
: Went to a talk on research papers/presentations<br />
: Created a program that reads data from CM-700<br />
<br />
'''Wednesday'''<br />
: Created a program that writes data to the CM-700<br />
: Created/compiled a library that properly encodes the data such that the CM-700 understands it<br />
: Tested out various commands on the task file I set up earlier: SUCCESS<br />
: Created a tutorial on git for setting up and repairing the LN-101/FTDI drivers<br />
: Spent the rest of the day debugging/cleaning codebase<br />
<br />
'''Thursday'''<br />
: Attended talk on plagiarism & the IRB<br />
: Working on task/motion files for the final product<br />
<br />
'''Friday'''<br />
: Made new task file for a read test from CM-700<br />
: Attempting to decode motor angles from CM-700 data<br />
: Helping Ryan Walsh with vision/tracking<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
: Attempting to read from motors<br />
: Setting up teammates with Github (again)<br />
<br />
'''Tuesday'''<br />
: Debugging motor reading code<br />
: Exploring methods of achieving vision/head tracking<br />
<br />
'''Wednesday'''<br />
: Working on RoboPlus task files<br />
: Defining motion mappings in tx header<br />
: Created test file for walking<br />
<br />
'''Thursday'''<br />
: Finished motion mappings<br />
: Vision and tracking of a single ball achieved (sweet)<br />
: Explored BioloidCControl<br />
::* Creates a new firmware, erases old<br />
::* Converts motion files from RoboPlus to C<br />
<br />
'''Friday'''<br />
: Continued to explore BioloidCControl<br />
: Compiling C libraries with C++ to play nice with vision/tracking<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
: Converting controller to C++<br />
::* Added class structure <br />
: Write instructions for creating/compiling controller<br />
<br />
'''Tuesday'''<br />
: Creating midway presentation<br />
<br />
'''Wednesday'''<br />
: Create a test class for vision integration into control<br />
::* Compile test class as a library<br />
::* Create further tests in main controller for interpreting vision data<br />
<br />
'''Thursday'''<br />
: Midway presentations<br />
::* [https://docs.google.com/presentation/d/1CGiUVMLlZM46vh3Jp6aF3RHLiXzwrwjlhuIWjja_Q68/edit?usp=sharing See mine here]<br />
: Mockups for team logo<br />
<br />
'''Friday'''<br />
: Off day.<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
: Created a skeleton methods for main controller<br />
: Designed a state structure for the MU-L8<br />
::* States: Init, Ready, Set, Play, Finish, Penalty<br />
<br />
'''Tuesday'''<br />
: More mockups for team logos<br />
: Designed actions for the primary controller<br />
<br />
'''Wednesday'''<br />
: Created a test for executing motion files<br />
: Created a task file for the bioloid type A motion file<br />
: Made sure motions run continuously upon receiving serial commands from the PC<br />
<br />
<br />
'''Thursday'''<br />
: Created an Arduino button for starting the controller on the field<br />
::* Created Arduino code to relay the state of the button across a serial cable<br />
::* Created C code to read this serial data and relay it to the primary controller<br />
<br />
'''Friday'''<br />
: Completed Arduino button code<br />
: Began final vision/control integration<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''</div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-07-15T16:04:43Z<p>Muhsin.King: /* Week 6 - July 6-10 */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Code==<br />
Find all the code for my project on its [https://github.com/muhsinking/heirlab-robocup-2015 GitHub repository]<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
::* Found out how to roll back drivers on Windows<br />
::* This removes the product ID, making the Linux drivers not work<br />
::* Found a utility to restore product ID<br />
: Exploring methods of transmitting and receiving data via LN-101<br />
: Learning about dynamixel error codes<br />
<br />
'''Tuesday'''<br />
: Updating RoboPlus task file aimed at testing CM-700 tx/rx<br />
: Researched various methods of screening into a serial port<br />
: Successfully connected to the CM-700 via terminal<br />
: Went to a talk on research papers/presentations<br />
: Created a program that reads data from CM-700<br />
<br />
'''Wednesday'''<br />
: Created a program that writes data to the CM-700<br />
: Created/compiled a library that properly encodes the data such that the CM-700 understands it<br />
: Tested out various commands on the task file I set up earlier: SUCCESS<br />
: Created a tutorial on git for setting up and repairing the LN-101/FTDI drivers<br />
: Spent the rest of the day debugging/cleaning codebase<br />
<br />
'''Thursday'''<br />
: Attended talk on plagiarism & the IRB<br />
: Working on task/motion files for the final product<br />
<br />
'''Friday'''<br />
: Made new task file for a read test from CM-700<br />
: Attempting to decode motor angles from CM-700 data<br />
: Helping Ryan Walsh with vision/tracking<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
: Attempting to read from motors<br />
: Setting up teammates with Github (again)<br />
<br />
'''Tuesday'''<br />
: Debugging motor reading code<br />
: Exploring methods of achieving vision/head tracking<br />
<br />
'''Wednesday'''<br />
: Working on RoboPlus task files<br />
: Defining motion mappings in tx header<br />
: Created test file for walking<br />
<br />
'''Thursday'''<br />
: Finished motion mappings<br />
: Vision and tracking of a single ball achieved (sweet)<br />
: Explored BioloidCControl<br />
::* Creates a new firmware, erases old<br />
::* Converts motion files from RoboPlus to C<br />
<br />
'''Friday'''<br />
: Continued to explore BioloidCControl<br />
: Compiling C libraries with C++ to play nice with vision/tracking<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
: Converting controller to C++<br />
::* Added class structure <br />
: Write instructions for creating/compiling controller<br />
<br />
'''Tuesday'''<br />
: Creating midway presentation<br />
<br />
'''Wednesday'''<br />
: Create a test class for vision integration into control<br />
::* Compile test class as a library<br />
::* Create further tests in main controller for interpreting vision data<br />
<br />
'''Thursday'''<br />
: Midway presentations<br />
::* [https://docs.google.com/presentation/d/1CGiUVMLlZM46vh3Jp6aF3RHLiXzwrwjlhuIWjja_Q68/edit?usp=sharing See mine here]<br />
: Mockups for team logo<br />
<br />
'''Friday'''<br />
: Off day.<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
: Created a skeleton methods for main controller<br />
: Designed a state structure for the MU-L8<br />
::* States: Init, Ready, Set, Play, Finish, Penalty<br />
<br />
'''Tuesday'''<br />
: More mockups for team logos<br />
: Designed actions for the primary controller<br />
<br />
'''Wednesday'''<br />
: Created a test for executing motion files<br />
: Created a task file for the bioloid type A motion file<br />
: Made sure motions run continuously upon receiving serial commands from the PC<br />
<br />
<br />
'''Thursday'''<br />
: Created an Arduino button for starting the controller on the field<br />
::* Created Arduino code to relay the state of the button across a serial cable<br />
::* Created C code to read this serial data and relay it to the primary controller<br />
<br />
'''Friday'''<br />
: Completed Arduino button code<br />
: Beginning final vision/control integration<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''</div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-07-15T15:59:53Z<p>Muhsin.King: /* Week 6 - July 6-10 */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Code==<br />
Find all the code for my project on its [https://github.com/muhsinking/heirlab-robocup-2015 GitHub repository]<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
::* Found out how to roll back drivers on Windows<br />
::* This removes the product ID, making the Linux drivers not work<br />
::* Found a utility to restore product ID<br />
: Exploring methods of transmitting and receiving data via LN-101<br />
: Learning about dynamixel error codes<br />
<br />
'''Tuesday'''<br />
: Updating RoboPlus task file aimed at testing CM-700 tx/rx<br />
: Researched various methods of screening into a serial port<br />
: Successfully connected to the CM-700 via terminal<br />
: Went to a talk on research papers/presentations<br />
: Created a program that reads data from CM-700<br />
<br />
'''Wednesday'''<br />
: Created a program that writes data to the CM-700<br />
: Created/compiled a library that properly encodes the data such that the CM-700 understands it<br />
: Tested out various commands on the task file I set up earlier: SUCCESS<br />
: Created a tutorial on git for setting up and repairing the LN-101/FTDI drivers<br />
: Spent the rest of the day debugging/cleaning codebase<br />
<br />
'''Thursday'''<br />
: Attended talk on plagiarism & the IRB<br />
: Working on task/motion files for the final product<br />
<br />
'''Friday'''<br />
: Made new task file for a read test from CM-700<br />
: Attempting to decode motor angles from CM-700 data<br />
: Helping Ryan Walsh with vision/tracking<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
: Attempting to read from motors<br />
: Setting up teammates with Github (again)<br />
<br />
'''Tuesday'''<br />
: Debugging motor reading code<br />
: Exploring methods of achieving vision/head tracking<br />
<br />
'''Wednesday'''<br />
: Working on RoboPlus task files<br />
: Defining motion mappings in tx header<br />
: Created test file for walking<br />
<br />
'''Thursday'''<br />
: Finished motion mappings<br />
: Vision and tracking of a single ball achieved (sweet)<br />
: Explored BioloidCControl<br />
::* Creates a new firmware, erases old<br />
::* Converts motion files from RoboPlus to C<br />
<br />
'''Friday'''<br />
: Continued to explore BioloidCControl<br />
: Compiling C libraries with C++ to play nice with vision/tracking<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
: Converting controller to C++<br />
::* Added class structure <br />
: Write instructions for creating/compiling controller<br />
<br />
'''Tuesday'''<br />
: Creating midway presentation<br />
<br />
'''Wednesday'''<br />
: Create a test class for vision integration into control<br />
::* Compile test class as a library<br />
::* Create further tests in main controller for interpreting vision data<br />
<br />
'''Thursday'''<br />
: Midway presentations<br />
::* [https://docs.google.com/presentation/d/1CGiUVMLlZM46vh3Jp6aF3RHLiXzwrwjlhuIWjja_Q68/edit?usp=sharing See mine here]<br />
: Mockups for team logo<br />
<br />
'''Friday'''<br />
: Off day.<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
: Created a skeleton methods for main controller<br />
: Designed a state structure for the MU-L8<br />
::* States: Init, Ready, Set, Play, Finish, Penalty<br />
<br />
'''Tuesday'''<br />
: More mockups for team logos<br />
: Designed actions for the primary controller<br />
<br />
'''Wednesday'''<br />
: Created a test for executing motion files<br />
: Created a task file for the bioloid type A motion file<br />
: Made sure motions run continuously upon receiving serial commands from the PC<br />
<br />
<br />
'''Thursday'''<br />
: Created an Arduino button for starting the controller on the field<br />
::* Created Arduino code to relay the state of the button across a serial cable<br />
::* Created C code to read this serial data and relay it to the primary controller<br />
<br />
'''Friday'''<br />
: Completed Arduino button code<br />
:<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''</div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-07-15T15:36:11Z<p>Muhsin.King: /* Week 5 - June 29-July 3 */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Code==<br />
Find all the code for my project on its [https://github.com/muhsinking/heirlab-robocup-2015 GitHub repository]<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
::* Found out how to roll back drivers on Windows<br />
::* This removes the product ID, making the Linux drivers not work<br />
::* Found a utility to restore product ID<br />
: Exploring methods of transmitting and receiving data via LN-101<br />
: Learning about dynamixel error codes<br />
<br />
'''Tuesday'''<br />
: Updating RoboPlus task file aimed at testing CM-700 tx/rx<br />
: Researched various methods of screening into a serial port<br />
: Successfully connected to the CM-700 via terminal<br />
: Went to a talk on research papers/presentations<br />
: Created a program that reads data from CM-700<br />
<br />
'''Wednesday'''<br />
: Created a program that writes data to the CM-700<br />
: Created/compiled a library that properly encodes the data such that the CM-700 understands it<br />
: Tested out various commands on the task file I set up earlier: SUCCESS<br />
: Created a tutorial on git for setting up and repairing the LN-101/FTDI drivers<br />
: Spent the rest of the day debugging/cleaning codebase<br />
<br />
'''Thursday'''<br />
: Attended talk on plagiarism & the IRB<br />
: Working on task/motion files for the final product<br />
<br />
'''Friday'''<br />
: Made new task file for a read test from CM-700<br />
: Attempting to decode motor angles from CM-700 data<br />
: Helping Ryan Walsh with vision/tracking<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
: Attempting to read from motors<br />
: Setting up teammates with Github (again)<br />
<br />
'''Tuesday'''<br />
: Debugging motor reading code<br />
: Exploring methods of achieving vision/head tracking<br />
<br />
'''Wednesday'''<br />
: Working on RoboPlus task files<br />
: Defining motion mappings in tx header<br />
: Created test file for walking<br />
<br />
'''Thursday'''<br />
: Finished motion mappings<br />
: Vision and tracking of a single ball achieved (sweet)<br />
: Explored BioloidCControl<br />
::* Creates a new firmware, erases old<br />
::* Converts motion files from RoboPlus to C<br />
<br />
'''Friday'''<br />
: Continued to explore BioloidCControl<br />
: Compiling C libraries with C++ to play nice with vision/tracking<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
: Converting controller to C++<br />
::* Added class structure <br />
: Write instructions for creating/compiling controller<br />
<br />
'''Tuesday'''<br />
: Creating midway presentation<br />
<br />
'''Wednesday'''<br />
: Create a test class for vision integration into control<br />
::* Compile test class as a library<br />
::* Create further tests in main controller for interpreting vision data<br />
<br />
'''Thursday'''<br />
: Midway presentations<br />
::* [https://docs.google.com/presentation/d/1CGiUVMLlZM46vh3Jp6aF3RHLiXzwrwjlhuIWjja_Q68/edit?usp=sharing See mine here]<br />
: Mockups for team logo<br />
<br />
'''Friday'''<br />
: Off day.<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''</div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-07-15T15:35:31Z<p>Muhsin.King: /* Week 5 - June 29-July 3 */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Code==<br />
Find all the code for my project on its [https://github.com/muhsinking/heirlab-robocup-2015 GitHub repository]<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
::* Found out how to roll back drivers on Windows<br />
::* This removes the product ID, making the Linux drivers not work<br />
::* Found a utility to restore product ID<br />
: Exploring methods of transmitting and receiving data via LN-101<br />
: Learning about dynamixel error codes<br />
<br />
'''Tuesday'''<br />
: Updating RoboPlus task file aimed at testing CM-700 tx/rx<br />
: Researched various methods of screening into a serial port<br />
: Successfully connected to the CM-700 via terminal<br />
: Went to a talk on research papers/presentations<br />
: Created a program that reads data from CM-700<br />
<br />
'''Wednesday'''<br />
: Created a program that writes data to the CM-700<br />
: Created/compiled a library that properly encodes the data such that the CM-700 understands it<br />
: Tested out various commands on the task file I set up earlier: SUCCESS<br />
: Created a tutorial on git for setting up and repairing the LN-101/FTDI drivers<br />
: Spent the rest of the day debugging/cleaning codebase<br />
<br />
'''Thursday'''<br />
: Attended talk on plagiarism & the IRB<br />
: Working on task/motion files for the final product<br />
<br />
'''Friday'''<br />
: Made new task file for a read test from CM-700<br />
: Attempting to decode motor angles from CM-700 data<br />
: Helping Ryan Walsh with vision/tracking<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
: Attempting to read from motors<br />
: Setting up teammates with Github (again)<br />
<br />
'''Tuesday'''<br />
: Debugging motor reading code<br />
: Exploring methods of achieving vision/head tracking<br />
<br />
'''Wednesday'''<br />
: Working on RoboPlus task files<br />
: Defining motion mappings in tx header<br />
: Created test file for walking<br />
<br />
'''Thursday'''<br />
: Finished motion mappings<br />
: Vision and tracking of a single ball achieved (sweet)<br />
: Explored BioloidCControl<br />
::* Creates a new firmware, erases old<br />
::* Converts motion files from RoboPlus to C<br />
<br />
'''Friday'''<br />
: Continued to explore BioloidCControl<br />
: Compiling C libraries with C++ to play nice with vision/tracking<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
: Converting controller to C++<br />
::* Added class structure <br />
: Write instructions for creating/compiling controller<br />
<br />
'''Tuesday'''<br />
: Creating midway presentation<br />
<br />
'''Wednesday'''<br />
: Create a test class for vision integration into control<br />
::* Compile test class as a library<br />
::* Create further tests in main controller for interpreting vision data<br />
<br />
'''Thursday'''<br />
: Midway presentations<br />
::* [https://docs.google.com/presentation/d/1CGiUVMLlZM46vh3Jp6aF3RHLiXzwrwjlhuIWjja_Q68/edit?usp=sharing See mine here]<br />
<br />
'''Friday'''<br />
: Off day.<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''</div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-07-15T15:34:14Z<p>Muhsin.King: /* Week 5 - June 29-July 3 */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Code==<br />
Find all the code for my project on its [https://github.com/muhsinking/heirlab-robocup-2015 GitHub repository]<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
::* Found out how to roll back drivers on Windows<br />
::* This removes the product ID, making the Linux drivers not work<br />
::* Found a utility to restore product ID<br />
: Exploring methods of transmitting and receiving data via LN-101<br />
: Learning about dynamixel error codes<br />
<br />
'''Tuesday'''<br />
: Updating RoboPlus task file aimed at testing CM-700 tx/rx<br />
: Researched various methods of screening into a serial port<br />
: Successfully connected to the CM-700 via terminal<br />
: Went to a talk on research papers/presentations<br />
: Created a program that reads data from CM-700<br />
<br />
'''Wednesday'''<br />
: Created a program that writes data to the CM-700<br />
: Created/compiled a library that properly encodes the data such that the CM-700 understands it<br />
: Tested out various commands on the task file I set up earlier: SUCCESS<br />
: Created a tutorial on git for setting up and repairing the LN-101/FTDI drivers<br />
: Spent the rest of the day debugging/cleaning codebase<br />
<br />
'''Thursday'''<br />
: Attended talk on plagiarism & the IRB<br />
: Working on task/motion files for the final product<br />
<br />
'''Friday'''<br />
: Made new task file for a read test from CM-700<br />
: Attempting to decode motor angles from CM-700 data<br />
: Helping Ryan Walsh with vision/tracking<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
: Attempting to read from motors<br />
: Setting up teammates with Github (again)<br />
<br />
'''Tuesday'''<br />
: Debugging motor reading code<br />
: Exploring methods of achieving vision/head tracking<br />
<br />
'''Wednesday'''<br />
: Working on RoboPlus task files<br />
: Defining motion mappings in tx header<br />
: Created test file for walking<br />
<br />
'''Thursday'''<br />
: Finished motion mappings<br />
: Vision and tracking of a single ball achieved (sweet)<br />
: Explored BioloidCControl<br />
::* Creates a new firmware, erases old<br />
::* Converts motion files from RoboPlus to C<br />
<br />
'''Friday'''<br />
: Continued to explore BioloidCControl<br />
: Compiling C libraries with C++ to play nice with vision/tracking<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
: Converting controller to C++<br />
::* Added class structure <br />
: Write instructions for creating/compiling controller<br />
<br />
'''Tuesday'''<br />
: Creating midway presentation<br />
<br />
'''Wednesday'''<br />
: Create a test class for vision integration into control<br />
::* Compile test class as a library<br />
::* Create further tests in main controller for interpreting vision data<br />
<br />
'''Thursday'''<br />
: Midway presentations<br />
: See here (link)<br />
<br />
'''Friday'''<br />
: Off day.<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''</div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-07-15T15:09:57Z<p>Muhsin.King: /* Research Log */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Code==<br />
Find all the code for my project on its [https://github.com/muhsinking/heirlab-robocup-2015 GitHub repository]<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
::* Found out how to roll back drivers on Windows<br />
::* This removes the product ID, making the Linux drivers not work<br />
::* Found a utility to restore product ID<br />
: Exploring methods of transmitting and receiving data via LN-101<br />
: Learning about dynamixel error codes<br />
<br />
'''Tuesday'''<br />
: Updating RoboPlus task file aimed at testing CM-700 tx/rx<br />
: Researched various methods of screening into a serial port<br />
: Successfully connected to the CM-700 via terminal<br />
: Went to a talk on research papers/presentations<br />
: Created a program that reads data from CM-700<br />
<br />
'''Wednesday'''<br />
: Created a program that writes data to the CM-700<br />
: Created/compiled a library that properly encodes the data such that the CM-700 understands it<br />
: Tested out various commands on the task file I set up earlier: SUCCESS<br />
: Created a tutorial on git for setting up and repairing the LN-101/FTDI drivers<br />
: Spent the rest of the day debugging/cleaning codebase<br />
<br />
'''Thursday'''<br />
: Attended talk on plagiarism & the IRB<br />
: Working on task/motion files for the final product<br />
<br />
'''Friday'''<br />
: Made new task file for a read test from CM-700<br />
: Attempting to decode motor angles from CM-700 data<br />
: Helping Ryan Walsh with vision/tracking<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
: Attempting to read from motors<br />
: Setting up teammates with Github (again)<br />
<br />
'''Tuesday'''<br />
: Debugging motor reading code<br />
: Exploring methods of achieving vision/head tracking<br />
<br />
'''Wednesday'''<br />
: Working on RoboPlus task files<br />
: Defining motion mappings in tx header<br />
: Created test file for walking<br />
<br />
'''Thursday'''<br />
: Finished motion mappings<br />
: Vision and tracking of a single ball achieved (sweet)<br />
: Explored BioloidCControl<br />
::* Creates a new firmware, erases old<br />
::* Converts motion files from RoboPlus to C<br />
<br />
'''Friday'''<br />
: Continued to explore BioloidCControl<br />
: Compiling C libraries with C++ to play nice with vision/tracking<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
: Converting controller to C++<br />
::* Added class structure <br />
: Write instructions for creating/compiling controller<br />
<br />
'''Tuesday'''<br />
:<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''</div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-29T14:51:30Z<p>Muhsin.King: /* Week 10 - August 3-7 */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Code==<br />
Find all the code for my project on its [https://github.com/muhsinking/heirlab-robocup-2015 GitHub repository]<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
::* Found out how to roll back drivers on Windows<br />
::* This removes the product ID, making the Linux drivers not work<br />
::* Found a utility to restore product ID<br />
: Exploring methods of transmitting and receiving data via LN-101<br />
: Learning about dynamixel error codes<br />
<br />
'''Tuesday'''<br />
: Updating RoboPlus task file aimed at testing CM-700 tx/rx<br />
: Researched various methods of screening into a serial port<br />
: Successfully connected to the CM-700 via terminal<br />
: Went to a talk on research papers/presentations<br />
: Created a program that reads data from CM-700<br />
<br />
'''Wednesday'''<br />
: Created a program that writes data to the CM-700<br />
: Created/compiled a library that properly encodes the data such that the CM-700 understands it<br />
: Tested out various commands on the task file I set up earlier: SUCCESS<br />
: Created a tutorial on git for setting up and repairing the LN-101/FTDI drivers<br />
: Spent the rest of the day debugging/cleaning codebase<br />
<br />
'''Thursday'''<br />
: Attended talk on plagiarism & the IRB<br />
: Working on task/motion files for the final product<br />
<br />
'''Friday'''<br />
: Made new task file for a read test from CM-700<br />
: Attempting to decode motor angles from CM-700 data<br />
: Helping Ryan Walsh with vision/tracking<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
: Attempting to read from motors<br />
: Setting up teammates with Github (again)<br />
<br />
'''Tuesday'''<br />
: Debugging motor reading code<br />
: Exploring methods of achieving vision/head tracking<br />
<br />
'''Wednesday'''<br />
: Working on RoboPlus task files<br />
: Defining motion mappings in tx header<br />
: Created test file for walking<br />
<br />
'''Thursday'''<br />
: Finished motion mappings<br />
: Vision and tracking of a single ball achieved (sweet)<br />
: Explored BioloidCControl<br />
::* Creates a new firmware, erases old<br />
::* Converts motion files from RoboPlus to C<br />
<br />
'''Friday'''<br />
: Continued to explore BioloidCControl<br />
: Compiling C libraries with C++ to play nice with vision/tracking<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''</div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-29T14:50:20Z<p>Muhsin.King: /* Research Log */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Code==<br />
Find all the code for my project on its [https://github.com/muhsinking/heirlab-robocup-2015 GitHub repository]<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
::* Found out how to roll back drivers on Windows<br />
::* This removes the product ID, making the Linux drivers not work<br />
::* Found a utility to restore product ID<br />
: Exploring methods of transmitting and receiving data via LN-101<br />
: Learning about dynamixel error codes<br />
<br />
'''Tuesday'''<br />
: Updating RoboPlus task file aimed at testing CM-700 tx/rx<br />
: Researched various methods of screening into a serial port<br />
: Successfully connected to the CM-700 via terminal<br />
: Went to a talk on research papers/presentations<br />
: Created a program that reads data from CM-700<br />
<br />
'''Wednesday'''<br />
: Created a program that writes data to the CM-700<br />
: Created/compiled a library that properly encodes the data such that the CM-700 understands it<br />
: Tested out various commands on the task file I set up earlier: SUCCESS<br />
: Created a tutorial on git for setting up and repairing the LN-101/FTDI drivers<br />
: Spent the rest of the day debugging/cleaning codebase<br />
<br />
'''Thursday'''<br />
: Attended talk on plagiarism & the IRB<br />
: Working on task/motion files for the final product<br />
<br />
'''Friday'''<br />
: Made new task file for a read test from CM-700<br />
: Attempting to decode motor angles from CM-700 data<br />
: Helping Ryan Walsh with vision/tracking<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
: Attempting to read from motors<br />
: Setting up teammates with Github (again)<br />
<br />
'''Tuesday'''<br />
: Debugging motor reading code<br />
: Exploring methods of achieving vision/head tracking<br />
<br />
'''Wednesday'''<br />
: Working on RoboPlus task files<br />
: Defining motion mappings in tx header<br />
: Created test file for walking<br />
<br />
'''Thursday'''<br />
: Finished motion mappings<br />
: Vision and tracking of a single ball achieved (sweet)<br />
: Explored BioloidCControl<br />
::* Creates a new firmware, erases old<br />
::* Converts motion files from RoboPlus to C<br />
<br />
'''Friday'''<br />
: Continued to explore BioloidCControl<br />
: Compiling C libraries with C++ to play nice with vision/tracking<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-19T17:04:06Z<p>Muhsin.King: /* Week 3 - June 15-19 */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Code==<br />
Find all the code for my project on its [https://github.com/muhsinking/heirlab-robocup-2015 GitHub repository]<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
::* Found out how to roll back drivers on Windows<br />
::* This removes the product ID, making the Linux drivers not work<br />
::* Found a utility to restore product ID<br />
: Exploring methods of transmitting and receiving data via LN-101<br />
: Learning about dynamixel error codes<br />
<br />
'''Tuesday'''<br />
: Updating RoboPlus task file aimed at testing CM-700 tx/rx<br />
: Researched various methods of screening into a serial port<br />
: Successfully connected to the CM-700 via terminal<br />
: Went to a talk on research papers/presentations<br />
: Created a program that reads data from CM-700<br />
<br />
'''Wednesday'''<br />
: Created a program that writes data to the CM-700<br />
: Created/compiled a library that properly encodes the data such that the CM-700 understands it<br />
: Tested out various commands on the task file I set up earlier: SUCCESS<br />
: Created a tutorial on git for setting up and repairing the LN-101/FTDI drivers<br />
: Spent the rest of the day debugging/cleaning codebase<br />
<br />
'''Thursday'''<br />
: Attended talk on plagiarism & the IRB<br />
: Working on task/motion files for the final product<br />
<br />
'''Friday'''<br />
: Made new task file for a read test from CM-700<br />
: Attempting to decode motor angles from CM-700 data<br />
: Helping Ryan Walsh with vision/tracking<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-18T21:27:01Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Code==<br />
Find all the code for my project on its [https://github.com/muhsinking/heirlab-robocup-2015 GitHub repository]<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
::* Found out how to roll back drivers on Windows<br />
::* This removes the product ID, making the Linux drivers not work<br />
::* Found a utility to restore product ID<br />
: Exploring methods of transmitting and receiving data via LN-101<br />
: Learning about dynamixel error codes<br />
<br />
'''Tuesday'''<br />
: Updating RoboPlus task file aimed at testing CM-700 tx/rx<br />
: Researched various methods of screening into a serial port<br />
: Successfully connected to the CM-700 via terminal<br />
: Went to a talk on research papers/presentations<br />
: Created a program that reads data from CM-700<br />
<br />
'''Wednesday'''<br />
: Created a program that writes data to the CM-700<br />
: Created/compiled a library that properly encodes the data such that the CM-700 understands it<br />
: Tested out various commands on the task file I set up earlier: SUCCESS<br />
: Created a tutorial on git for setting up and repairing the LN-101/FTDI drivers<br />
: Spent the rest of the day debugging/cleaning codebase<br />
<br />
'''Thursday'''<br />
: Attended talk on plagiarism & the IRB<br />
: Working on task/motion files for the final product<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-18T21:23:54Z<p>Muhsin.King: /* Research Log */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
::* Found out how to roll back drivers on Windows<br />
::* This removes the product ID, making the Linux drivers not work<br />
::* Found a utility to restore product ID<br />
: Exploring methods of transmitting and receiving data via LN-101<br />
: Learning about dynamixel error codes<br />
<br />
'''Tuesday'''<br />
: Updating RoboPlus task file aimed at testing CM-700 tx/rx<br />
: Researched various methods of screening into a serial port<br />
: Successfully connected to the CM-700 via terminal<br />
: Went to a talk on research papers/presentations<br />
: Created a program that reads data from CM-700<br />
<br />
'''Wednesday'''<br />
: Created a program that writes data to the CM-700<br />
: Created/compiled a library that properly encodes the data such that the CM-700 understands it<br />
: Tested out various commands on the task file I set up earlier: SUCCESS<br />
: Created a tutorial on git for setting up and repairing the LN-101/FTDI drivers<br />
: Spent the rest of the day debugging/cleaning codebase<br />
<br />
'''Thursday'''<br />
: Attended talk on plagiarism & the IRB<br />
: Working on task/motion files for the final product<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-18T21:10:08Z<p>Muhsin.King: /* Week 3 - June 15-19 */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
: USB troubleshooting<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T16:26:58Z<p>Muhsin.King: /* Week 2 - June 8-12 */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
: REU group meeting on research presentations<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T16:24:45Z<p>Muhsin.King: /* Week 2 - June 8-12 */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
: Installed FTDI drivers on Linux<br />
: RoboPlus tutorials<br />
: Created RoboPlus motion/task files to move a simple motor given a button push (Windows)<br />
: RoboPlus troubleshooting<br />
<br />
'''Friday'''<br />
: Created wiki page<br />
: New issue: LN-101 doesn't show up in /dev on Linux<br />
: Investigated different FTDI drivers<br />
::* VCP vs. D2XX<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T16:21:30Z<p>Muhsin.King: /* Week 2 - June 8-12 */</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
: Still waiting on LN-101 cables<br />
: Set up software environments to run the PySerial and Zigbee code<br />
::* Installing dependencies for Mac (Python, PySerial, Tkinter, etc.)<br />
::* Set up Zigbee SDK<br />
: Helped teammate deconstruct the old humanoid platform<br />
<br />
'''Wednesday'''<br />
: LN-101s arrived!<br />
::* New issue: LN-101 does not connect correctly<br />
::* Does not automatically install drivers (as on Windows)<br />
::* Found FTDI drivers<br />
::* Not compatible with current version of OSX...<br />
: Updated OSX<br />
: Setup runtime environment on Linux MiniPC<br />
<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T16:13:46Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::* Created a Github repository for his vision code<br />
::* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T16:13:30Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::* Found methods using Embedded C<br />
::* These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::* Turns out this is impossible/unsupported by Robotis<br />
::* Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::* Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::* Very poorly documented; might not be viable.<br />
::* Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::* https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
*** Created a Github repository for his vision code<br />
*** Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::* Zigbee SDK: wireless communication with CM-700<br />
::* Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T16:12:53Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::: Found methods using Embedded C<br />
::: These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::: Turns out this is impossible/unsupported by Robotis<br />
::: Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::: Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::: Very poorly documented; might not be viable.<br />
::: Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::: https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
*** Created a Github repository for his vision code<br />
*** Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::* Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::* Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::: Zigbee SDK: wireless communication with CM-700<br />
::: Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T16:11:50Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::: Found methods using Embedded C<br />
::: These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::: Turns out this is impossible/unsupported by Robotis<br />
::: Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::: Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::: Very poorly documented; might not be viable.<br />
::: Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::: https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
*** Created a Github repository for his vision code<br />
*** Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::: * Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::: * Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::: Zigbee SDK: wireless communication with CM-700<br />
::: Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T16:11:31Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::: Found methods using Embedded C<br />
::: These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::: Turns out this is impossible/unsupported by Robotis<br />
::: Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::: Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::: Very poorly documented; might not be viable.<br />
::: Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::: https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
* Created a Github repository for his vision code<br />
* Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::: * Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::: * Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::: Zigbee SDK: wireless communication with CM-700<br />
::: Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T16:11:10Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::: Found methods using Embedded C<br />
::: These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::: Turns out this is impossible/unsupported by Robotis<br />
::: Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::: Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::: Very poorly documented; might not be viable.<br />
::: Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::: https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::: * Created a Github repository for his vision code<br />
::: * Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::: * Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::: * Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::: Zigbee SDK: wireless communication with CM-700<br />
::: Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T16:10:26Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::: Found methods using Embedded C<br />
::: These wipe the factory firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::: Turns out this is impossible/unsupported by Robotis<br />
::: Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::: Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
::: Very poorly documented; might not be viable.<br />
::: Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
::: https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
: Waiting for new LN101 cables so I can connect to CM-700<br />
: Set up teammate Ryan Walsh with source control<br />
::: Created a Github repository for his vision code<br />
::: Created a git cheatsheet for him so he can maintain it himself<br />
: Began designing hardware and software control structure for a soccer-playing robot<br />
::: Hardware: webcam sends image data to Linux, Linux relays commands serially to CM-700, CM-700 actuates motors<br />
::: Software: vision code detects objects, relays commands to Linux controller, Linux controller sends command signals to the CM-700 task file, task file interprets signals and initializes the appropriate motion page<br />
: Investigated dynamixel documentation<br />
: Investigated further methods of reading data into RoboPlus Task files<br />
::: Zigbee SDK: wireless communication with CM-700<br />
::: Not as good as a wired connection, but more officially supported<br />
: Ran through a few RoboPlus tutorials<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T16:01:20Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
::: Found methods using Embedded C<br />
::: These wipe the factor firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
::: Turns out this is impossible/unsupported by Robotis<br />
::: Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
::: Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
:: Very poorly documented; might not be viable.<br />
:: Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
:: https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T16:00:36Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br />
: Orientation part 1<br />
'''Tuesday''' <br />
: Orientation part 2<br />
'''Wednesday''' <br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday''' <br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
** Found methods using Embedded C<br />
** These wipe the factor firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
** Turns out this is impossible/unsupported by Robotis<br />
** Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
** Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
:: Very poorly documented; might not be viable.<br />
:: Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
:: https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T15:59:15Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday''' <br><br />
Orientation part 1<br />
'''Tuesday''' <br><br />
Orientation part 2<br />
'''Wednesday''' <br><br />
Familiarized myself with the HEIRlab<br />
Set up workstation<br />
'''Thursday''' <br><br />
Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
:: Found methods using Embedded C<br />
:: These wipe the factor firmware, which we need<br />
Exploring methods of exporting RoboPlus motion files to C/C++<br />
:: Turns out this is impossible/unsupported by Robotis<br />
:: Moving forward: how to call roboplus files programmatically?<br />
Attempted to explore Darwin OP2 code from source<br />
:: Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
:: Very poorly documented; might not be viable.<br />
:: Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
:: https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T15:58:28Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday'''<br />
Orientation part 1<br />
'''Tuesday'''<br />
Orientation part 2<br />
'''Wednesday'''<br />
Familiarized myself with the HEIRlab<br />
Set up workstation<br />
'''Thursday'''<br />
Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
:: Found methods using Embedded C<br />
:: These wipe the factor firmware, which we need<br />
Exploring methods of exporting RoboPlus motion files to C/C++<br />
:: Turns out this is impossible/unsupported by Robotis<br />
:: Moving forward: how to call roboplus files programmatically?<br />
Attempted to explore Darwin OP2 code from source<br />
:: Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
:: Very poorly documented; might not be viable.<br />
:: Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
:: https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T15:57:19Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
'''Monday'''<br />
: Orientation part 1<br />
'''Tuesday'''<br />
: Orientation part 2<br />
'''Wednesday'''<br />
: Familiarized myself with the HEIRlab<br />
: Set up workstation<br />
'''Thursday'''<br />
: Began exploring methods of communicating with the CM-700 microcontroller from a Linux PC<br />
:: Found methods using Embedded C<br />
:: These wipe the factor firmware, which we need<br />
: Exploring methods of exporting RoboPlus motion files to C/C++<br />
:: Turns out this is impossible/unsupported by Robotis<br />
:: Moving forward: how to call roboplus files programmatically?<br />
: Attempted to explore Darwin OP2 code from source<br />
:: Can't mount files on windows, installing Linux virtualbox<br />
'''Friday'''<br />
: Found Python code to issue commands to a Bioloid (CM-510) from a Mac<br />
:: Very poorly documented; might not be viable.<br />
:: Can't test, as our LN-101 cable (connects CM-700 to USB) seems to be broken<br />
: Set up a Git repository for the HEIR lab Robocup 2015 team<br />
:: https://github.com/muhsinking/heirlab-robocup-2015<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T15:49:18Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
2. Port and adapt code to new embedded control system<br />
<br />
3. Evaluate system on MU-L8 humanoid<br />
<br />
4. Adapt embedded control system to ROS and evaluate<br />
<br />
<br />
5. Learn to program OP2 vision and motion system.<br />
<br />
6. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T15:47:17Z<p>Muhsin.King: </p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
<br />
1. Study the Robotis OP 2 (OP2) humanoid platform hardware and software.<br />
<br />
2. Learn to program OP2 vision and motion system.<br />
<br />
3. Design and build a prototype embedded system using CM-700, mini-PC, Robotis servos and mini-PC<br />
<br />
4. Port and adapt code to new embedded control system<br />
<br />
5. Evaluate system on MU-L8 humanoid<br />
<br />
6. Adapt embedded control system to ROS and evaluate<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.Kinghttps://reu.cs.mu.edu/index.php/User:Muhsin.KingUser:Muhsin.King2015-06-12T15:46:32Z<p>Muhsin.King: Created page with "{{DISPLAYTITLE: Muhsin King}} ==Research Topic== '''Adviser: Dr. Andrew Williams''' Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the..."</p>
<hr />
<div>{{DISPLAYTITLE: Muhsin King}}<br />
<br />
<br />
==Research Topic==<br />
'''Adviser: Dr. Andrew Williams'''<br />
Working with Matt Morris and the reset of the HEIRlab team, I'm working to implement the software side of a soccer-playing humanoid robot. My job is to achieve constant communication between the robot's controller, a CM-700, and an onboard Linux Mini-PC. While normally this wouldn't be a complicated task, I have to preserve the built-in firmware so that we can utilize RoboPlus motion files, and the default firmware has no support for the kind of direct PC to controller connection we need to establish.<br />
<br />
Once I'm finished establishing this link, I will continue to work on other pieces of the project, including high-level decision making protocols based on visual input (on the Mini-PC side) and creating the RoboPlus task files that will initiate motions based on serial inputs.<br />
<br />
Assuming we're successful in creating a soccer-playing humanoid, I would then move on to try and adapt the control scheme of the Darwin-OP to our own robot.<br />
<br />
==Milestones & Goals==<br />
===Week 1===<br />
<br />
===Weeks 2-5===<br />
<br />
===Weeks 5-10===<br />
<br />
==Research Log==<br />
<br />
===Week 1 - June 1-5===<br />
<br />
<br />
===Week 2 - June 8-12===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
:Organized wiki page<br />
<br />
===Week 3 - June 15-19===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 4 - June 22-26===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 5 - June 29-July 3===<br />
<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 6 - July 6-10===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 7 - July 13-17===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 8 - July 20-24===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 9 - July 27-31===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
===Week 10 - August 3-7===<br />
'''Monday'''<br />
<br />
'''Tuesday'''<br />
<br />
'''Wednesday'''<br />
<br />
'''Thursday'''<br />
<br />
'''Friday'''<br />
<br />
--></div>Muhsin.King