![]() |
Innovative Controls
I have been the Electrical and Programming Captain on team 1625 for 3 years now, and through those years we have had some pretty cool control methods (Like our Load Cell and infrared camera tracking in 2012 that won Innovation in Controls at Midwest) I am looking to make a jump in control methods over the summer and I need some ideas! I have been researching different sensors and discussing their applicability, I have also been looking into co-processors, vision programming ect. I have come to CD to see what cool control methods you have been using, be it an awesome custom dashboard, a beautiful vision system, "hacking" together a sensor, custom circuits, making individually addressable RGB LED's work in Labview, auton magic, ect. Share your awesome control methods, and hopefully we can learn and draw inspiration from each other! :)
|
Re: Innovative Controls
Would it be practical to use a compass to sense your robot's orientation more accurately than say a drifting KOP gyro? Or would all the electronics and electromagnetic motors surrounding it mess that up?
|
Re: Innovative Controls
Quote:
|
Re: Innovative Controls
Team 443 used a netbook with RoboRealm running on it to process vision data from last years game and adjust speed of our shooter. One of my favorite uses of a gyro and mecanum wheels was field relative, being able to drive straight while rotating 360 was awesome. We also used a vertical gyro to auto balance us on the bridge last year. One thing that I always thought would be cool is being able to "record" autonomous by driving in teleop and it recording the values of wheels etc... and being able to "play" that in autonomous. There was also this this small serial LCD screen we could program things to display on, like battery voltage, team number, but ever got the chance to put it on the robot.
|
Re: Innovative Controls
This year was still pretty basic for controls on our team.
We used a Hall-Effect Sensor (https://www.sparkfun.com/products/9312 using the typical 3 wire circuit described in the datasheet) coupled with two magnets on our shooter wheel to compute RPM. The RPM was fed into a bang-bang control (which switched to power control mode during shots) to control our single-wheel curved-shooter RPM. We used a gyroscope (kit) at the front-center of our robot to make sure our multi-disk autonomous routine drove straight. We simply used the output of the gyro to feed the myRobot.Drive(speed,angle); function, with the angle input capped at 10degrees. We also hoped to use this to drive a center-line autonomous, but I didn't see the need for it on Galileo, where most floor loaders that were better than us already had it. I hoped to use encoders on our drive wheels to use position control during autonomous, but we were unable to get them working before bag date, and found tweaking time was good enough. I had thought to use an accelerometer to help compensate our loader mechanism (which picks disks up from the floor, lifts up, and tosses them into a large tray where they funnel into our shooter bucket) so that we would load more gently while driving back, and more powerfully while driving forward, and not load at all while spinning. The code is in place, but I never had time to test it, since it solved a fairly minor/controllable problem. We also had a 9-shot autonomous routine that was very close to working, however I couldn't get the team motivated enough to test it (tried it 5 times in practice, one or two more would have probably had it working, but the problems were with the timing on the first two disks, which messed up the rest of the routine, so it looked bad to them). We definitely had a robot capable of doing the 9 shot, I wish we could have completed it. |
Re: Innovative Controls
Quote:
|
Re: Innovative Controls
I don't know if this would count as an innovative control, but we did win an award for it in control at KC regionals. Our climb code was completely autonomous, our drivers would just get centered on the pyramid, press a button, and watch it climb.
|
Re: Innovative Controls
Not sure if it counts, but 1477's driver told me at one of our regionals that he has been messing around with R/C cars forever, and likewise, has a controller to match. They are definitely one of the most agile bots I've seen, so I guess it works quite well.
It looks a bit like this: http://www.getprice.com.au/images/up...572/dc1500.jpg |
Re: Innovative Controls
Cool stuff we had this year
Fully Automatic Frisbee shooting. Line Robot up with goal (cross-hair on camera) -> Hold FC Preset button -> Hold Auto-fire Button -> Score Points Tune shooter RPM as needed. Automatic pyramid angle lineup Select corner on Gampad's D-pad -> Hold "Set Header" button -> Abuse mecanum's ability to transverse Oh yeah, forgot to mention the fact our drive-train controller's control scheme is incredibly reminiscent of Call of Duty. LJoy = Forward/Backward/Left Strafe/Right Strafe RJoy = Rotation |
Re: Innovative Controls
Quote:
|
Re: Innovative Controls
Quote:
Otherwise, our control system is not too fancy: Potentiometer PID on the shooter-mount Bang-bang control with optical speed sensor on shooter Fairly unsophisticated autonomous driving with gyro and encoders. Developed but not used on competition robot: More sophisticated autonomous driving Full auto frisbee firing "Cheesy Drive" inspired drivetrain control software |
Re: Innovative Controls
Everyone should see 1111's control board this year; it's a 3D printed model of their robot and controls the real one like a voodoo doll.
|
Re: Innovative Controls
I know that Talon 540 used a PSP as their controller this year. I'm trying to get more information about how they did that because it sounds really cool. They even managed to get the screen on the PSP to be a secondary display.
|
Re: Innovative Controls
Quote:
|
Re: Innovative Controls
Quote:
|
Re: Innovative Controls
Team 1504, The Desperate Penguins, won two Innovation in Control Awards this year (at the Kettering and Grand Blanc District Events) for their "Space Drive" control scheme. I don't remember the specifics, but it had a whole bunch of cool features, including robot orientation-independent movement.
|
Re: Innovative Controls
Quote:
https://docs.google.com/file/d/0B6AB...it?usp=sharing https://docs.google.com/file/d/0B6AB...it?usp=sharing |
Re: Innovative Controls
1 Attachment(s)
Quote:
The arm is on an axle that turns sprockets on a chain that are hooked up to a 16-bit rotary switch, to control the up and down movement of the robot's shooter assembly. There are "firing buttons" at the handle end of the controller to index frisbees into the shooter, and any other switches (shooter on/off, shooter speed, autonomous selector, frisbee indexer de-jamb, arm position indicators, and any other operator control.) The innards house the wiring, cypress unit, battery for back lights (bright blue LEDs to light up switchboard) and any other breakaway mini-boards for any of the controls. The Voodoo bot works directly with the laptop and what it does, the robot mirrors. Real Steel style. |
Re: Innovative Controls
Quote:
Here is a picture. |
Re: Innovative Controls
This year we implemented point-click, fully automatic, and manual targeting into our pan+tilt shooter. We also used encoder based (p-loop) drivetrain brakes, and an rpm-based rapid fire mode for our shooter.
|
Re: Innovative Controls
I don't know if I have the team correct, but 2349 Hurriquake used a tablet to control their bot and act as the drivers' station. The won innovation in control at the Boston Regional this year. Hopefully someone on their team sees this and either corrects me or expands on this.
|
Re: Innovative Controls
These are all really cool methods of control! Really great stuff guys! Keep it coming, and get as technical as you want! :D
|
Re: Innovative Controls
We're (I'm) working on a custom dashboard in which you draw a path on a scale field and have the robot traverse it. It's sort of like the recording/replaying autonomous, for which I have code, in case someone wants to improve it. It's C++, and horribly written (by me :P ).
|
Re: Innovative Controls
Quote:
One of the better control approaches we've used for such a drivetrain is having the steering wheel position set a target setpoint for the rate of rotation of the drivetrain, so if you turn the wheel a given amount the robot will try to turn at X degrees/second (using gyro feedback). This has the nice advantage of eliminating rotation overshoot, since as soon as you let go of the wheel the robot tries to stop spinning by itself. |
| All times are GMT -5. The time now is 06:10. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi