Go to Post FIRST- its a pandemic in all our schools. - Akash Rastogi [more]
Home
Go Back   Chief Delphi > CD-Media > White Papers
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

photos

papers

everything



Adaptable Deadband with Perceptrons

By: E Dawg
New: 08-05-2014 12:32 PM
Updated: 08-05-2014 12:35 PM
Total downloads: 131 times


A deadband that changes with joystick input.

This deadband uses perceptrons to change itself based on user input. Download the source code below. Because I know not everyone has a joystick and Windriver at home, this code instead can be compiled in any standard C++ compiler. It will take the input as a integer from the console rather than the joystick. Feel free to play around with it as you please and let me know if you have any great new ways to use this.

Attached Files

  • zip Perceptronic Deadband.zip

    Perceptronic Deadband.zip

    downloaddownload file

    uploaded: 08-05-2014 12:35 PM
    filetype: zip
    filesize: 279.19kb
    downloads: 129



Recent Downloaders

  • Guest

Discussion

view entire thread

Reply

08-05-2014 12:45 PM

E Dawg


Unread Re: paper: Adaptable Deadband with Perceptrons

What is it?

A deadband that changes itself based on the user input using perceptrons. For example, if the driver is constantly providing maximum input, the deadband change to increase the threshold. If the driver is providing low input, the deadband will change to decrease the threshold.

What are perceptrons?

Perceptrons are a form of learning AI that mimics a human brain cell. It can take any number of inputs. It then modifies each input by an individual weight. This weight is what is modified as the perceptron learns. The weighted sum is then passed through an activation function to either 'fire' or not. The equation for changing the weight is as follows:

W(n) = W(n+1) + η(d(n)-y(n))*x(n)
Above W(n) is the old weights vector, W(n+1) is the new weights vector η is a user-defined constant called the teaching step, d(n) is the target vector, y(n) is the actual output of the network and x(n) is the corresponding input.

Like a neuron, perceptrons can also be linked together. This deadband only uses one perceptron, however.

You can download the source code above.



08-05-2014 12:57 PM

Jared Russell


Unread Re: paper: Adaptable Deadband with Perceptrons

What problem is this a solution for?



08-05-2014 12:58 PM

AllenGregoryIV


Unread Re: paper: Adaptable Deadband with Perceptrons

I haven't looked through the code but this sounds very cool. My only questions is what problem does this solve? Were you having control issues or something and this fixed them?



08-05-2014 01:05 PM

E Dawg


Unread Re: paper: Adaptable Deadband with Perceptrons

Quote:
Originally Posted by Jared Russell View Post
What problem is this a solution for?
1. It saves time having to change code every time a driver says "the deadband is too sensitive / not sensitive enough".

2. Sometimes it is good to have a highly sensitive deadband (maybe you need to go really slow), and this way you are able to do that without having a super-sensitive deadband all the time.

3. It adapts to individual situations.

4. I thought it would be a fun summer project.



08-05-2014 01:25 PM

Chris is me


Unread Re: paper: Adaptable Deadband with Perceptrons

If I understand this correctly, this would change the response of the joysticks in real time (i.e. throughout a match)? I feel like this, while very cool, wouldn't be optimal simply because the same input at different times would produce different results. Practicing maneuvers and getting them to the point where you just use muscle memory to drive the robot would be pretty much impossible.



view entire thread

Reply

Tags

loading ...



All times are GMT -5. The time now is 07:21 AM.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi