My team is interested in looking into alternative controllers for driving. The main one being the Wiimote (with the motion plus accessory) have any other teams messed around with this? The one thing is I’m not sure if we’d be able to use it as wiimotes are bluetooth, and I’m unsure if bluetooth controllers are allowed on the field. Any help is appreciated, thanks!
Wireless controllers are not allowed on the field, so you would not be able to use them for competition purposes.
Teams have used Wiimotes in the past, no idea what teams or what years but I know it has been done.
I know they have USB to wiimote extensions adapters but that doesn’t allow the wiimote to work just the extension. Which could be the motion plus expansion but I imagine that only has gyros and accelerometers which there’s probably an easier way to use motion controls for FRC, but the drivers for Wiimotes on windows are a mess anyway so I would recommend not using wiimotes unless you are using a 3rd party adapter
You might have better luck with the Kinect style stereo Cameras (This was an FRC thing around 2015 iirc) as a motion tracking method over a physical controller. It would be able to use a camera connected and mounted to your drive station securely.
The only reasons for no wireless is both safety in case the connection or batteries in the controller die mid match and also network radio interference. Motion tracking is 100% legal as long as it’s not a Safety risk. So no long cables running from you to the drive station rules out having motion tracking gloves that are tethered.
The camera can find the driver maybe with a special pair of wristbands with a unused April tag or color finding. As the wristbands move around up down and grow and shrink in size or skew the camera data is processed to estimate your pose and what command you want to send.
I’ve played around with a basic version in OpenCV from this article before. No wristbands but I don’t know how else to differentiate the driver vs operator or other people in the cameras viewing area. This is with a regular camera not stereo. With stereo you get depth as well
Be careful of H403 and H501 though.
H403: Let the ROBOT do its thing. During AUTO, DRIVE TEAMS may not directly or indirectly interact with ROBOTS or OPERATOR CONSOLES unless for personal safety, OPERATOR CONSOLE safety, or pressing an E-Stop.
H501: COACHES and other teams: hands off the controls. A ROBOT shall be operated only by the DRIVERS and/or HUMAN PLAYERS of that team.
With a system like this you’d have to be careful that it is inoperable during auto and that it can’t pick up something a coach or other alliance human might be doing.
Might be just CYA to put a blinder over the camera until teleop starts. Like a webcam slider or even a little sticker to blind it and make the argument moot from a refs viewpoint
Edit even painters tape honestly
There’s a program called x360ce that can turn any (I think) usb input into something that windows will treat as a USB controller. I’ve used it to get racing wheels to work in non-natively supported games before. Might work with a Wiimote too.
It is an option http://bhemuhelp.unaux.com/tutorials/wcx360ce.html?i=1
Personally still is convoluted. A dolphin bar is the easiest but personally this is what I used for the most reliable and non random programs: GitHub - jloehr/HID-Wiimote: Windows Device Driver for the Nintendo Wii Remote. But personally it’s still not good because you have to put windows in test mode.
I’d just say stay away from Wiimotes and ps3 controllers
Hmm, I hadn’t heard of that option. I also know nothing about the programming side of FRC, however.
I would like to see the implementation of a Wii Balance Board though. Perhaps for balancing the charge station?
Balance board has the same issue as the Wii remote. It’s exclusively a wireless device, that never had any provision for wired use. So without major mods they would not be legal. This is also why even using them is difficult. They are Bluetooth but use a custom protocol, so they need custom drivers to work right.
Accessories like the nunchuk are legal because they were wired, and they used fairly standard i2c communication. It’s fairly easy to build a device that communicates with them.
We briefly considered putting our team number on a t-shirt in AprilTags, but then found a rule prohibiting the wearing of any vision targets. Not sure if this would prevent using AprilTags on wristbands. You definitely can’t use the same tag family that is in use on the field, but other tag families may also be ruled out.
I thought I saw a more explicit rule, but this was the closest I could find on a quick scan:
- G305 Don’t trick the sensors. Teams may not interfere with automated scoring hardware. Violation: RED CARD for the ALLIANCE
See Q38
Maybe colored wristbands are the best idea as there shouldn’t be any retroflective tape this year. If we picked a color that is vastly different from all game objects (i.e. last year not purple or yellow).
AprilTags seems problematic from a rules standpoint potentially, but I’d prefer something
with a ID that can’t be easily misread because what prevents someone else from another team walking into the frame in the background and it sees them as the target because they have blue hair or something weird.
Maybe also some blob detection for shape and minimum and maximum allowable sizing would help filter out other stuff.
Definitely like the idea of a different AprilTag family, still wonder if that’s possible as a good compromise.
Edit: after reading the QA it seems like this might be the way to go. Really you could do two different AprilTags, one for each wrist as long as it’s a different family from the field ones