Go to Post I am surprised at the relative conservative capability you described on our 2006 machine. As for the 2007 machine, in anticipation of an aquatic game, we have completed a robot that "walks on water" and are well along with one that can "part the sea". - Bill Beatty [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #16   Spotlight this post!  
Unread 09-15-2016, 08:24 AM
Foster Foster is online now
Engineering Program Management
VRC #8081 (STEMRobotics)
Team Role: Mentor
 
Join Date: Jul 2007
Rookie Year: 2005
Location: Delaware
Posts: 1,379
Foster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond repute
Re: custom button panel

I've used this Adafruit Bluefruit EZ-Key - 12 Input Bluetooth HID Keyboard Controller at about $20.

You wire up switches to the board. It connects to the laptop via Bluetooth. You can program the board to be a sudo keyboard with any key chord combination you want. (ie a,A, ctl-A, Alt-A, ctl-shift-alt-A, etc. )

You can use any kind of switch. There are places you can get joysticks with switches on the axis.

Not sure what the FRC rules are around bluetooth keyboards.

I've used these to make a wall button setup that talks to a home control computer, fun box for the grandmuchin, and working on a Kerbal Space Command console.
__________________
Foster - VEX Delaware - 17 teams -- Chief Roboteer STEMRobotics.org
2010 - Mentor of the Year - VEX Clean Sweep World Championship
2006-2016, a decade of doing VEX, time really flies while having fun
Downingtown Area Robotics Web site and VEXMen Team Site come see what we can do for you.
Reply With Quote
  #17   Spotlight this post!  
Unread 09-15-2016, 09:24 AM
RyanN's Avatar
RyanN RyanN is offline
RyanN
AKA: Ryan Nazaretian
FRC #4901 (Garnet Squadron)
Team Role: Mentor
 
Join Date: Jun 2006
Rookie Year: 2005
Location: Columbia, SC
Posts: 1,126
RyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond repute
Re: custom button panel

I've been working on a project for this. Team Fusion has been using this for several years and I made a new revision that fixed a few issues for Garnet Squadron.

Currently I'm working on taking LabVIEW out of the equation and relying on Python and the wxPython extension.

Essentially, the board is an Arduino Mega 2560. The only special chip is the LED driver, which is a constant current driver made for driving LEDs. I have the output set at 20mA, which is very common with LEDs. It's easy enough to change though.



Here's the control board Garnet Squadron made for this year's robot:


Finally, below is the Python code in action. I'm currently working on a simulator because lets face it... I don't want to carry around the driver station everywhere I go.



The good news with the simulator is it works exactly the same as the real board. You can unplug/plug it in and toggle every input as well as see every output. Furthermore, since it works exactly the same as the real board, you can use the simulator to control the robot, or your simulated robot. The simulated robot with simulated button panel is where this can really shine.

This code isn't finished yet, but when it is, the GUI will not be shown by default. Instead, there is a taskbar icon that indicates the status of the control board. Green means good; red means bad.



Is this in mass production? No... I need to tweak a few more hardware things. For basic inputs such as switches and potentiometers and with LED outputs, it's great. There are some problems with running servos. They're interfering with the analog inputs. All the design files and software are in our repository here.
__________________
Garnet Squadron
FRC 4901
Controls Mentor
@rnazaretian

Previous mentor and student from Team Fusion, FRC 364
Reply With Quote
  #18   Spotlight this post!  
Unread 09-15-2016, 10:17 AM
Bkeeneykid's Avatar
Bkeeneykid Bkeeneykid is offline
#wheatcoastneatcoast
AKA: Devin Keeney
FRC #1982 (Cougar Robotics); Season Long Fantasy FIRST (F3)
Team Role: Student
 
Join Date: Feb 2015
Rookie Year: 2015
Location: Lenexa, Kansas
Posts: 293
Bkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud of
Re: custom button panel

Quote:
Originally Posted by Foster View Post
I've used this Adafruit Bluefruit EZ-Key - 12 Input Bluetooth HID Keyboard Controller at about $20.

You wire up switches to the board. It connects to the laptop via Bluetooth. You can program the board to be a sudo keyboard with any key chord combination you want. (ie a,A, ctl-A, Alt-A, ctl-shift-alt-A, etc. )

You can use any kind of switch. There are places you can get joysticks with switches on the axis.

Not sure what the FRC rules are around bluetooth keyboards.

I've used these to make a wall button setup that talks to a home control computer, fun box for the grandmuchin, and working on a Kerbal Space Command console.
Bluetooth is illegal within the arena. See this rule:
Quote:
Originally Posted by R95
Other than the system provided by the ARENA, no other form of wireless communications shall be used to communicate to, from, or within the OPERATOR CONSOLE.

Examples of prohibited wireless systems include, but are not limited to, active wireless network cards and Bluetooth devices. For the case of FIRST Robotics Competition, a motion sensing input device (e.g. Microsoft Kinect) is not considered wireless communication and is allowed.
__________________

F4 Network Website Designer

2010-2012: A Whole Buncha FLL Teams; Team Spirit, Gracious Professionalism Award winner
2015-Current: FRC 1982, Captain, Electrical Lead
Beginning FIRST Volunteer

Moderator on the FIRSTwiki
Reply With Quote
  #19   Spotlight this post!  
Unread 09-15-2016, 11:23 AM
Foster Foster is online now
Engineering Program Management
VRC #8081 (STEMRobotics)
Team Role: Mentor
 
Join Date: Jul 2007
Rookie Year: 2005
Location: Delaware
Posts: 1,379
Foster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond repute
Re: custom button panel

Quote:
Originally Posted by Bkeeneykid View Post
Bluetooth is illegal within the arena. See this rule:
Thanks! So many rules, it's hard to remember what's in and whats out, thanks for taking the time to do the research and posting the rule.
__________________
Foster - VEX Delaware - 17 teams -- Chief Roboteer STEMRobotics.org
2010 - Mentor of the Year - VEX Clean Sweep World Championship
2006-2016, a decade of doing VEX, time really flies while having fun
Downingtown Area Robotics Web site and VEXMen Team Site come see what we can do for you.
Reply With Quote
  #20   Spotlight this post!  
Unread 09-15-2016, 12:27 PM
adciv adciv is offline
One Eyed Man
FRC #0836 (RoboBees)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2010
Location: Southern Maryland
Posts: 478
adciv is a name known to alladciv is a name known to alladciv is a name known to alladciv is a name known to alladciv is a name known to alladciv is a name known to all
Re: custom button panel

Quote:
Originally Posted by Bkeeneykid View Post
Interesting product, from a company I've not heard of yet. One concern, there doesn't seem to be many button inputs. If you do a autonomous switcher, that can be 5 inputs all by itself. Is there any way of increasing this? Also, do you have any way of doing the outputs in WPIlib like the MSP430 can?
Option A: Use an encoder to convert a given value to binary and read the buttons as a binary input.

Option B: Use analog input on "joystick" and just break it up into ranges.

Option C: Put the control in software on the Driver Station Dashboard and the robot doesn't start auto until it receives its directions.

We typically use Option C, particularly as we had at least three different settings to configure each match (goal, position, defense).
__________________
Quote:
Originally Posted by texarkana View Post
I would not want the task of devising a system that 50,000 very smart people try to outwit.
Reply With Quote
  #21   Spotlight this post!  
Unread 09-15-2016, 12:54 PM
RyanN's Avatar
RyanN RyanN is offline
RyanN
AKA: Ryan Nazaretian
FRC #4901 (Garnet Squadron)
Team Role: Mentor
 
Join Date: Jun 2006
Rookie Year: 2005
Location: Columbia, SC
Posts: 1,126
RyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond repute
Re: custom button panel

Quote:
Originally Posted by adciv View Post
Option A: Use an encoder to convert a given value to binary and read the buttons as a binary input.

Option B: Use analog input on "joystick" and just break it up into ranges.

Option C: Put the control in software on the Driver Station Dashboard and the robot doesn't start auto until it receives its directions.

We typically use Option C, particularly as we had at least three different settings to configure each match (goal, position, defense).
Option B works really well. Wire GND to the left most position and 5V to the right most position. Put resistors in series between each post of the other positions. It'll make it like a potentiometer, but with low resolution.

Say you have a 6 position switch, you would wire it like:

GND-> Position 0 - 2kOhm - Position 1 - 2kOhm - Position 3 - 2kOhm - Position 4 - 2kOhm - Position 5 <- +5V

Then connect it to the joystick input. I guess it goes from -1 to 1, like shown below:
Pos 0 -> ~-1
Pos 1 -> ~-0.6
Pos 2 -> ~-0.2
Pos 3 -> ~0.2
Pos 4 -> ~0.6
Pos 5 -> ~1

You'll want to factor in some tolerance. It won't be exactly -1, -0.6, etc. In this case, you have 0.4 units between each measurement. You can test between the cases.

if ana < -0.8
pos = 0;
else if ana >= -0.8 and ana < -0.4
pos = 1;
else ifana >= -0.4 and ana < 0
pos = 2;
else ifana >= 0 and ana < 0.4
pos = 3;
else if ana >= 0.4 and ana < 0.8
pos = 4;
else // in this case, this has to be true: ana >= 0.8
pos = 5;
__________________
Garnet Squadron
FRC 4901
Controls Mentor
@rnazaretian

Previous mentor and student from Team Fusion, FRC 364
Reply With Quote
  #22   Spotlight this post!  
Unread 09-15-2016, 02:07 PM
adciv adciv is offline
One Eyed Man
FRC #0836 (RoboBees)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2010
Location: Southern Maryland
Posts: 478
adciv is a name known to alladciv is a name known to alladciv is a name known to alladciv is a name known to alladciv is a name known to alladciv is a name known to all
Re: custom button panel

You can also calibrate the software to the actual values measured. Since this isn't going in the bag this shouldn't be an issue.
__________________
Quote:
Originally Posted by texarkana View Post
I would not want the task of devising a system that 50,000 very smart people try to outwit.
Reply With Quote
  #23   Spotlight this post!  
Unread 09-15-2016, 03:40 PM
ttnn58 ttnn58 is offline
Registered User
FRC #4586
 
Join Date: Jun 2016
Location: earth
Posts: 24
ttnn58 is an unknown quantity at this point
Re: custom button panel

Quote:
Originally Posted by RyanN View Post
I've been working on a project for this. Team Fusion has been using this for several years and I made a new revision that fixed a few issues for Garnet Squadron.
immpressive!
ye olde kaboom XD
but i am not looking for something so complicated, i just want to simpify the controls for the operator, because the joystick is sometimes making a lot of headache.
i will porbably use an arduino with unojoy, and if it won't work i will use the msp430.
i want to use the arduino IDE because i am not a programmer myself (and i do not wish to be XP) and this is the easiest way i can make this work.
can i contact you if i will have difficulties with wiring/programing?
thanks!
Reply With Quote
  #24   Spotlight this post!  
Unread 09-15-2016, 05:16 PM
RyanN's Avatar
RyanN RyanN is offline
RyanN
AKA: Ryan Nazaretian
FRC #4901 (Garnet Squadron)
Team Role: Mentor
 
Join Date: Jun 2006
Rookie Year: 2005
Location: Columbia, SC
Posts: 1,126
RyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond repute
Re: custom button panel

Quote:
Originally Posted by ttnn58 View Post
immpressive!
ye olde kaboom XD
but i am not looking for something so complicated, i just want to simpify the controls for the operator, because the joystick is sometimes making a lot of headache.
i will porbably use an arduino with unojoy, and if it won't work i will use the msp430.
i want to use the arduino IDE because i am not a programmer myself (and i do not wish to be XP) and this is the easiest way i can make this work.
can i contact you if i will have difficulties with wiring/programing?
thanks!
You absolutely can. You could probably reuse most of my Arduino code as well. The computer software isn't completed yet, but you're more than welcome to try it. It's fully functional and can be used right now, but it lacks configuration for the robot address or test functionality to drive outputs without the robot.
__________________
Garnet Squadron
FRC 4901
Controls Mentor
@rnazaretian

Previous mentor and student from Team Fusion, FRC 364

Last edited by RyanN : 09-16-2016 at 12:23 PM.
Reply With Quote
  #25   Spotlight this post!  
Unread 09-16-2016, 08:06 AM
MrBasse MrBasse is offline
Registered User
FRC #3572 (Wavelength)
Team Role: Coach
 
Join Date: Jul 2011
Rookie Year: 2010
Location: Norton Shores, MI
Posts: 669
MrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond repute
Re: custom button panel

We use a keyboard emulator called PoKeys. https://www.poscope.com/products/pokeys-devices/

It's been really easy to work with as you assign values to keyboard keys you wouldn't normally use. Also, if the control panel happens to fail, the operator can make use of the keyboard in an emergency.
__________________
Andrew Basse
Coach - FRC Team 3572 - Wavelength
Reply With Quote
  #26   Spotlight this post!  
Unread 09-18-2016, 04:03 PM
MrBasse MrBasse is offline
Registered User
FRC #3572 (Wavelength)
Team Role: Coach
 
Join Date: Jul 2011
Rookie Year: 2010
Location: Norton Shores, MI
Posts: 669
MrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond reputeMrBasse has a reputation beyond repute
Re: custom button panel

Quote:
Originally Posted by MrBasse View Post
We use a keyboard emulator called PoKeys. https://www.poscope.com/products/pokeys-devices/

It's been really easy to work with as you assign values to keyboard keys you wouldn't normally use. Also, if the control panel happens to fail, the operator can make use of the keyboard in an emergency.
Here are some pictures of our panel:



__________________
Andrew Basse
Coach - FRC Team 3572 - Wavelength
Reply With Quote
  #27   Spotlight this post!  
Unread 09-20-2016, 09:48 AM
bobbysq bobbysq is offline
Registered User
FRC #4646 (Team ASAP)
Team Role: Leadership
 
Join Date: Apr 2016
Rookie Year: 2015
Location: Des Moines, IA
Posts: 265
bobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud of
Re: custom button panel

It seems like a good time to post our minimalist custom control solution.

https://github.com/frc4646/lightswitch
Reply With Quote
  #28   Spotlight this post!  
Unread 09-20-2016, 12:38 PM
ttnn58 ttnn58 is offline
Registered User
FRC #4586
 
Join Date: Jun 2016
Location: earth
Posts: 24
ttnn58 is an unknown quantity at this point
Re: custom button panel

Quote:
Originally Posted by bobbysq View Post
is the arduino connected to your computer? how? any special software?
the power to the light is from an external battery, or the robot battery?
can i use this method to control the movement of the robot?
Reply With Quote
  #29   Spotlight this post!  
Unread 09-20-2016, 03:30 PM
bobbysq bobbysq is offline
Registered User
FRC #4646 (Team ASAP)
Team Role: Leadership
 
Join Date: Apr 2016
Rookie Year: 2015
Location: Des Moines, IA
Posts: 265
bobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud ofbobbysq has much to be proud of
Re: custom button panel

Quote:
Originally Posted by ttnn58 View Post
is the arduino connected to your computer? how? any special software?
the power to the light is from an external battery, or the robot battery?
can i use this method to control the movement of the robot?
The Arduino is connected to the driver station off camera. No special software except for the gamepad library. The light is a 12v bike light (here at Andymark but you can get a cheaper generic version) attached to a VEX Spike relay on the robot. You could, in theory, control the robot with this, but I doubt a light switch will be better than a joystick.
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 11:25 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