|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools |
Rating:
|
Display Modes |
|
#1
|
||||
|
||||
|
What have you developed or are in process of developing?
Hello,
With the recent rapid growth of our programming and control systems, I'd like to take on a big challenge this year. Nothing that would require multiple build seasons, since this is my senior year and I'd like to finish it while I'm still around, but hey, anything works. I've looked into splines from 254 and that seems probably the highest bar we can set for ourselves. We have a PID system working. So i'd like to know what you guys are in process of developing to maybe spark some ideas for myself. |
|
#2
|
||||
|
||||
|
Re: What have you developed or are in process of developing?
We are in the process of developing a 2-ball autonomous for our off-season events.
Additionally, we have been playing around with field-centric tank drive code. Our robot was symmetric last year, so a field centric drive that gives no preference to the "front" or the "back" of the robot might actually be very beneficial. |
|
#3
|
||||
|
||||
|
Re: What have you developed or are in process of developing?
Quote:
I've just been toying around with a square bot (omnis with equal horizontal and vertical force) as a way to learn some mechanical (already knew more electrical than the experiment would be able to teach) Whenever I get a few minutes of free time i also work on fss (First Scripting Syntax) which was designed to be a combination of C++, Java, and Wurst (which in itself is a combination of python and the native scripting syntax) but I've spent so much time developing a code editor window for java that i have no idea what im doing anymore, not to mention anytime my freetime is over an hour i just end up watching anime. (it would be worth mentioning I'm our team's only programmer) fun little ideas for your team that i jot down in a notebook whenever i think of some - Automatic error recovery Code logic probe Custom dashboard for modifying constants (SmartDashboard just nver appealed to me in that aspect) Text-based auton system (i did this in under an hour, its not that hard. in another two hours i had a full gui and automatic compiler + deployment, which is ironic because i've been working on redoing that gui for the 2015 system for over 5 months now) Voltage modulation (send a motor 8 volts) vision processing (<insert cliche method to process images here>) automatic controller detection (ps3, xbox 360, logitech, flightstick, yadaydada) auton mode swapping (2014 we did it with start and select on the driver controller) automatic ping reports (idk just a thought, if you thought ur robot had shaky comms during the match u can just upload the ping reports) spibus absolute encoders (those won us an innovation in controls award and a judges award last year) Last edited by Arhowk : 03-10-2014 at 21:24. |
|
#4
|
||||
|
||||
|
Re: What have you developed or are in process of developing?
We are roughly using the approach laid out in this whitepaper. We had a working gyro and some basic autonomous functionality with it last season, and are looking to become even more familiar with this sensor. In addition to the basic functionality described in the paper, we would also like to:
Add a button the driver can press that sets speed_command to zero, allowing the robot to turn in place to the angle specified by the joystick. Make the maximum angle that allows the robot to turn forward instead of backward (in the text given as the number 100) a function of the robot's velocity, and not just a constant. |
|
#5
|
||||
|
||||
|
Re: What have you developed or are in process of developing?
This summer, I wrote a scripting language for auto mode, using LabVIEW. Can be updated instantly through the dashboard, has support for running multiple commands simultaneously (needed for our two ball auto), and I'm considering adding conditionals (if statements).
I'm also planning on experimenting with vision and potentially on-board kinect. |
|
#6
|
||||
|
||||
|
Re: What have you developed or are in process of developing?
Manual override mode: For every PWM/solenoid/relay/digital output on the cRIO you could press a sequence of buttons on a gamepad to set it to a chosen value. Useful for initial bring-up of components, debugging, or if something goes unexpectedly wrong during a match. This was especially useful for us because our normal operation modes involved doing a lot of actions at once.
To use it, you'd basically hit a button to specify the output type, then a couple to specify which output number, and then a couple more to choose the value to set it to. So for example, the values available for the PWMs were full forward, full reverse, stop, or "no override". This feature was easy to implement because of the overall design of our code. At a high level, it looked like this: Code:
+------------------------------------------------+
| +-------------+ |
| | | |
| +>|---------| | |
+-->|state | | |
sensor--->|estimator|-+->|-------------| |
input |---------| |control logic|->overrides->outputs
user input--->goals----->|-------------| ^
| |
+---------------------------------------+
|
|
#7
|
||||
|
||||
|
Re: What have you developed or are in process of developing?
Im in the process of developing a scouting app as of right now, though when I get access to a robot, I want to test the use of an Intel Galileo and a fork of CheesyVision for my team's use (if it's allowed next year.)
|
|
#8
|
|||
|
|||
|
Re: What have you developed or are in process of developing?
My team has been working on vision tracking for the past 2 years… still without success. I've been also looking into encoders and ultrasonic rangefinders
|
|
#9
|
||||
|
||||
|
Re: What have you developed or are in process of developing?
Are you using LabVIEW?
|
|
#10
|
||||
|
||||
|
Re: What have you developed or are in process of developing?
This project has been drawn out for a few years, and it is sort of my child now. I'm getting paid (via grants) to work on it in the lab at the university I go to.
Take data from the kinect's depth map, find objects in front of it, input those into my path finding algorithm, use our vision system to find where we are on the field and which way we are facing (camera pose estimation), generate a path based on where we are, with the obstactles the kinect detected, to a point on the field in which we can score, and follow that path (much like 254's code this year) |
|
#11
|
|||
|
|||
|
Re: What have you developed or are in process of developing?
|
|
#12
|
|||||
|
|||||
|
Re: What have you developed or are in process of developing?
I'm developing an online training program for FRC robot inspectors. And hoping FIRST will approve it...
(Not off-topic: It does involve programming, and robots, but perhaps not in the usual sense...) |
|
#13
|
||||
|
||||
|
Re: What have you developed or are in process of developing?
WPI has a decent tutorial for vision processing here. It goes through example code for both Java and C++ and does a pretty good job of explaining the process. My other suggestion would be to look through this white paper. It is Team 341's vision processing code form 2012 written in Java. The thread associated with the paper also answers a lot of questions.
|
|
#14
|
||||
|
||||
|
Re: What have you developed or are in process of developing?
Looks like it's time to post what I want to do over the course of now until the season, and during the season.
1. Develop cheesy drive with a steering wheel being used for turning 2. Work on a WCD and reversible alternate material bumpers + code for shifter gearboxes. 3. Work on splines similar to what 254 has done. 4. Learn how to program co-processors. *Most likely an arduino* |
|
#15
|
|||
|
|||
|
Re: What have you developed or are in process of developing?
Last night, I got a prototype working of a set of buildscripts as part of my team's code framework that lets us download our code to either the roboRIO or the cRIO, both with Java 5 features (or 8 on the roboRIO), from the exact same project.
Essentially I ripped out all of the internals from the WPILibJ 2014 SDK, added in Retrotranslator, built a new version of the preverifier executable, modified the build process for faster building, and then put everything into our shared buildscript. The current complete build process for this goes: When our framework changes: Build CCRE Core Jar file, Build pre-Igneous library packages, Compile Igneous code (Java 1.5), Unpack pre-Igneous libraries, Retrotranslate libraries (except for stub StringBuilder class), Preverify libraries (with upgraded preverifier), Build post-Igneous library packages. When our code changes: Compile Robot Code (Java 1.5), Retrotranslate Robot Code, Unpack post-Igneous libraries without StringBuilder stub, Preverify libraries (with upgraded preverifier), Package application Jar, Romize Robot Code Suite, Download and Erase Robot Logfiles, Possibly upgrade Squawk release, Deploy Robot Code Suite, Reboot Robot via OTA, open cRIO console. I'm still getting it to work even if you don't have the roboRIO plugins installed, and once we have that, our entire software team can switch over to Eclipse for code development and the only thing that they'll need to do to target the roboRIO once the build season starts is to install the roboRIO SDK plugins and press a different download button. I'm also working on upgrading the Poultry Inspector application (named as such because our team is "The Flaming Chickens"), which is a dashboard replacement that uses our team's pub/sub networking protocol (named Cluck, for similar reasons as before.) I've been upgrading it to have a cleaner interface (SuperCanvas) designed to work well with a touchscreen, and I'm working on extending it to have more options for interaction. Other goals for the near future: write Eclipse plugins for our code framework, add built-in Mechanum support, add a virtual patch panel system to reconfigure I/O at runtime, add a more robust configuration toolkit, build a unified automatic deployment system, and other miscellaneous features. Last edited by Cel Skeggs : 04-10-2014 at 13:31. Reason: Minimized length of long post. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|