No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
BodyAngles
CBMicroBit
DtwWek/Final_3_Arm_Army/WekinatorProject1
Electron
MicroBitRadioStuff
MicrobittoWek
MyoCode
OSCjsTest
PythonOSC
WekinatorProject
armDriver
gui_sketch
img
wekproj416/Final_3_Arm_Army/WekinatorProject
.DS_Store
.gitignore
ML Project Report.pdf
README.md
changelog.md
gui.py

README.md

Final_3_Arm_Army

Run the Arm

In order to run the arm a few python packages need to be installed: sudo apt-get -y install python-rpi.gpio and pip3 install python-osc

We also set the Raspberry Pi to have a static IP of 192.168.2.9. Clone this git repo to the Pi. Cd in to the armDriver code with: cd Final_3_Arm_Army/armDriver/

Next start the arm driver code with. python3 demoArm.py

Currently the arm.py has an issue with not updating the location of the motor causing the step program from running correctly. This is why we need to run the demoArm.py script. This scrip receives a signal from Wekinator and then updates the state. Both of these scripts has a game loop that change the motors actions depending on the state.

Setting Up Wekinator

  1. Open Wekinator
  2. Start a New project
  3. Change the # inputs to 3
  4. Change the Host (IP address or name) to the IP if the Pi. In our case 192.168.2.9
  5. Change the type to All Dynamic Time Warping (default settings)
  6. Change the number of gestures to 4
  7. Click Next

Starting Up GUI

On the same computer as wekinator you need to open up the GUI. Go in to the Electron directory that contains the GUI: cd Final_3_Arm_Army/Electron/ArmGUI/

Once in this folder we need to install the dependencies with npm install

Also go into the app directory and run npm install

Then go back into the ArmGUI directory and start the GUI with: npm run dev you can close the debug window once the GUI opens.

Now a user can train their mappings and start the project with the GUI. Before training Wekinator must be open.

MicroBit

To run our project, you will need two microbits as well as a battery pack for one. The microbits should be flashed the code for sending and recieving accelerometer values, which can be done simply by dragging the hex files to the microbit in the file system.

A receiving microbit should be connected to the computer, and a sending microbit connected to the user with a battery pack. Once this is in place, the user should run "notserial.py" to send accelerometer values to wekinator. They will also need to adjust the IP address in the code as necessary.

Video Demonstration

Final Report