I was wondering… are there any teams using Java that are currently afflicted with the trouble of having to wait for the manufacturing or electrical team to finish with putting on appropriate motors, relays, camera, mounts, etc? Well I have your solution! Hopefully (a common phrase in release stage) I will post up a library to use that allow one to simulate the cRIO and all common hardware including live camera and still image support for public use. I decided that since I am in this waiting stage I might as well show coopertition and gracious professionalism and help out my fellow teammates… I’ll put up screenshots soon of jRIO running a version of our current robot code… what you will see, camera support isn’t finished but joysticks, relays, all speedcontrollers, and robot framework is finished. Autonomous, teleop, and disabled modes supported and the cRIO updates at the documented rate of 50hz… anyway… Look for it tonight! (like 2 EST tomorrow lol)
Here’s a poorly captured screenshot… thanks linux…http://a.pictureupload.us/939823215102dbbd495be.png
If this ends up being less buggy than other solutions (not to mention better supported), this will make me very happy.
I’d love this too, if you get it up and it works! Looking forward to the release
We’re plagued by this every year. I look forward to trying the simulator.
I shall be making documentation on how to implement the library for testing code. Remember that this is just to test the expected hardware output, physical resistance due to slope, design, gearboxes, etc. are not taken into account.
I would also like to note that most of the API of each of the currently included classes are included… It is quite an endeavor and I have been working on it in my spare time for about a week now attempting to preserve the original code design of the FRC java API. If a team needs a certain method to be included or class or something like that, please shoot a message here and I will be more than happy to include it into the project for release. I do plan on keeping this alive for future years
Well… I’m tired xD so tomorrow, at our meeting I’ll work on it and hopefully have the simulator minus camera support by the end of the day. Sorry! (Deadlines… am I right?)
I haven’t seen it but this is a keen application for open source communities like Github. Teams/people could make their own extensions to the codebase and submit them as pull requests to you for integration.
Okay! I have the solenoid class left to make and then some minor documentation for people’s use then I will put the library up for use!.. this does not include camera support and unfortunately I did NOT include command based robots in here… yet… only iterative and simple robot types are supported at the moment.
Alrightie! I have finished with the library! (excluding camera and command based robot support)… Now all i have to do is right some preliminary documentation…
Within the next 2 hours I will finally post the Library jar file and documentation on how to use the library, right here! I had work so I didn’t have a lot of time to write this documentation but it should suffice… If you have any questions I will be up working on the next update for the library, Realistic pressure sensing and CAMERA SUPPORT W00T
Here… we… go!
just download this zip file and inside is the jRIO.jar file and the documentation in .html and .odt file formats…
(i run linux so i included the odt just in case anyone else would appreciate it)
I wish that teams that try this out please give some feedback as to some suggestions or changes they would like to see…
What changes are already on their way?
- Command based robot support
- Still image camera support
- Live feed camera support
- Compressor Pressure Emulation
Please inform me of some other things you want!
Is there any reason this is necessary?
Go through all newly copied source files and replace the import statements edu.wpi.first.wpilibj with org.jRIO . For example: edu.wpi.first.wpilibj.Relay => org.jRIO.Relay
It would be 100X easier without having to do this every time I port my code. I can’t think of a good reason not to just use the same package names.
Good point… I will make that change tomorrow and update the library
Package names update:
We are having trouble configuring the program. When we try to use the setRobotBase function using RobotTemplate like in the example, it throws an error saying it requires a RobotBase, but is finding a RobotTemplate. We believe that this is due to us copying the source files incorrectly, so we were wondering what the location we should copy the files to is?
Well for one, can you post what error you are getting?
Also, make sure your project doesn’t use commandbased because that isn’t supported yet.
I’ll try to help best I can.
P.S. Make sure that you have the latest version of the library… i made a suggested change to make the imports match that of the existing wpi library to minimize work needed for prepping the jRIO simulator.
I think this is a great idea … and have wanted to find the time to do something like this since I started mentoring (those darn hardware and controls guys are always late It’s really hard to do this during the mad rush of build season. But I think this would be an ideal “off season” project that you could hopefully get lots of support from the teams during the summer and fall months … it seems like there are enough potential users to easily accomplish this in great detail. It would help with keeping your programming skills active, and give more insight into robot programming.
Thank you for your starting / working this!