VirtualVEX 2013: Open-source Sack Attack simulator

After a very long time in development, the VirtualVEX development team and Team 254 are proud to announce the alpha release of VirtualVEX 2013. This new version of the simulator has been greatly improved from the 2012 version and features both interface and engine changes. It also now features this year’s VEX game, Sack Attack. Here’s a summary of some of the latest changes:

Main Menu
[ATTACH]6712[/ATTACH]
[LIST]
*]-Tabbed menu system which reduces the clutter of the main menu. The 3 tabs are: Simulation, which provides simulation settings and options; Getting Started, which features documentation; and News & Updates, which carries the “latest news” box from previous versions.
*]-Customizable simulation settings. Previous VirtualVEX users, take note: in the old version, Robot Skills and Solo Untimed were links to start the simulation. Now the are simply settings presets, which can be applied or customized. You can start the simulation after customizing settings my pressing “Start Simulation.”
*]-Advanced Settings dialog to switch back to Gateway if desired.
[/LIST]

Simulation
[ATTACH]6715[/ATTACH]
[LIST]
*-]Improved physics collision system. Robot parts should no longer “detach” in strong collisions. Please note this engine enhancement is only available on the new Sack Attack robots.
*]-Traditional menubar-based user interface is less cluttered than the old interface while keeping all the functionality.
*]-Fully customizable simulation settings (see above)
[/LIST]

Other
[ATTACH]6721[/ATTACH]
[LIST]
*]-Output buffer added to console. This allows print statements to the console. New commands have also been implemented, and you can now press the Enter key to enter commands (instead of having to press the go button)
*]-User code location moved to AppData folder, in accordance with standard Windows procedures
*]-New metro-inspired interface theme
*]-Class hierarchies in source code improved. More information on the new developer API is available on the website.
[/LIST]

Finally, we have implemented a virtual version of the new VEX clawbot. This replaces the old VirtualVEX clawbot.
[ATTACH]6718[/ATTACH]

As always, you can download the new version from our website: https://sites.google.com/site/virtualvex/downloads
You will also notice the site has had a facelift as well!

Since this is an alpha version, it is far from complete and as usual any input from our users is greatly appreciated. If you do download and use it, we don’t ask for any payment as it is a completely free program, but we do request that you give some nice critical feedback so that we can work to improve the program.

Also, since this is an alpha version not all features are yet available. Rest assured that there will be more than 2 sack attack robots, we just need to wait around and see what designs become popular :wink:

-Jonathan
mainmenu.jpg
scooper.jpg
shot1.jpg
sim2.jpg

Just to let you know, the high goal is messed up. The BLUE high goal is on the RED side.

Just wanted to let you know.

Do you actually design the robots in the VirtualVex?

Wow, can’t believe I didn’t notice that. We’ll get that patched up.

No, robots are preprogrammed in. Remember though that the program is still in alpha stage, and we will add more robots as new designs pop up over the season. We usually expect to end up with 5 or 6 designs programmed. Also, if there is a specific design you want to add the simulator is open-source so you can edit the program to do that. We provide a Developer API that makes it easy to program new robot designs.

I saw this last year but I never really looked too close. On your downloads page it says the System requirements are Windows XP/Vista, is there a version for Mac? I would download the windows but my PC is ancient, however my Mac is newish.

The game is coming along good! Here are some issues I was running into with each robot.

  1. When the robot hits a trough with objects in it, most of the time the scored objects fall out of the trough.
  2. The robots can sometimes go through the trough posts.
  3. I was noticing that when I went to score an object, it fell into the trough, but then fell through the trough onto the floor.

That’s the main things for both robots. Now for the individual robots.

Scooper Bot:

The scooper bot works pretty well. I like the speed, and the scoop works well. It is really hard to score with it though. Maybe make it tall enough so the top can catch on the goal then the sacks just slide off the robot? Also, I can hit the underside of the trough with the intake, and if there are sacks in the tough, they will fall out.

Protobot (Clawbot)

The speed is REALLY fast. I like it though :slight_smile: Maybe have the claw grab harder? Sometimes the object slips out. The arm is a little slow to. Especially going up with a sack in the claw.

Here are videos of both of the robots in action. Clawbot (Protobot) Scooperbot

*New robot idea. *

Can you make a robot with a top roller? It would be like last year NZ Bots. Just with a top roller. Could you make it have a holonomic drive, or one robot with a holonomic drive? That’d b awesome!

The reason we don’t offer a Mac build yet is that I don’t own a Mac, but recently we’ve had a few guys join the team who do have Macs. We’ll work to get an official Mac build out using their machines as test beds. Alternatively, building from source is another option.

Yup, I see what you’re talking about. I believe the problem stems from the fact that I used two angled rectangles to make the troughs. I believe that if I model the trough as a single object that SHOULD solve the problem…but I will have to test to make sure. Either way we will definitely be working on these improvements for the next release. Also regarding the roller robot, that is definitely one of the designs we are planning to implement for the next version.

Thanks for the testing and the feedback!

Ah, ok. I am getting a new Windows soon, so I will check it then.

I’m also noticing that the Floor Goals don’t count as points.

UPDATE:

Thanks to Jesse for pointing out some bugs! We’ve made a new release incorporating fixes to these issues, along with some other features. This was originally going to be just a bugfix re-release of Alpha 1, but since some more extensive changes have been made we decided to go ahead and number this as the Alpha 2 release. The full list of changes is as follows:

-Objects no longer fall through trough when trough is hit
-Goal orientation is now correct (it was reversed before)
-Clawbot speed slowed down
-Floor goal scoring implemented
-New and more accurate trough models

It is strongly recommended to upgrade to this release if you are currently running an alpha version. As always, download it here

Is it just me or is it not actually possible for the scoop robot to score in the troughs? It can sort of “throw” them in occasionally, but with the pivot being only 15 inches high it never actually gains enough height to score them. You could redesign that slightly, for example, move the back wall of the scooper forward relative to the pivot, so it gains some height.

Also, I’m trying to get it working with a joystick where the shoulder buttons act as buttons, not a channel, but the joystick remapping only accepts a joystick channel for the lift/intake controls. I realise its possible to reprogram it, but I couldn’t get it working for some reason. Would it be possible to make it so it could also accept joystick buttons for the lift/intake as well?

In my testing I’ve been able to score with the scooper bot. It does need to be aligned with the middle of the robot under the trough, not the back. The difficulty of scoring with it is an issue that has been raised; I had not thought about your solution. Thanks for the suggestion and we will try that.

The joystick remapping tool is built in to Unity and can’t be changed. You would have to reprogram the robot using accepted ROBOTC code to get the buttons working to control the lift. The simulator should accept enough basic ROBOTC code to get that to work, assuming you don’t do anything “fancy.” It is unfortunate that Unity won’t allow a reprogramming of the input dialog. However, what we may be able to do is create a graphical reprogramming tool, so users can change the input without having to use code.

If you are driving parallel to the wall and hit it, your wheels can fall off the feild.

I can score very easily with the Scooper Bot. It just takes a little time figuring out the positioning and timing.

Will there be a bot that can score the high goal?

Edit: The new updates are nice! I can finally get over 100 points :smiley:

I was having fun with the Gateway>Robot Skills run. I made the robot skills time 60000 sec :smiley:

I scored 69 points! Here is a video: http://youtu.be/9Sb5NYtEdVU

I’m using the keyboard, so it’s not very pretty :slight_smile:

this looks like a lot of fun. thanks for sharing