Home Examples KINVASION!
AdvancedComplex VisualsLoadsUser Created


This is a task written by Ethan Heming, a Ph.D. canditate in Steve Scott’s lab. Kinarm would like to thank Ethan for allowing us to post his task! This is easily the most sophisticated task program I have seen. This game really stretches what can be done with Simulink, Stateflow and indeed Dexterit-E.

This task requires a bilateral Kinarm End-Point robot with force-torque sensors.

The object of this game is to destroy as many enemies as possible on each level. You control a ship represented by a green bar between your hands. The thickness of this line shows your ship’s health. Any enemies or enemy shots that hit this bar reduce your health and the game ends when ship has no health left. If you get hit there will be a haptic response (i.e. you will feel it)! At each handle you have a “gun” that fire perpendicular to the green health bar. They are fired by ’tilting’ robot handle (applying a pitch or roll torque). The farther apart your hands are, the faster your guns recharge, but the larger a target you present to enemies.

At the start of each level you can buy upgrades to your guns and shields by moving the cursor to the desired selection and torquing on the handle. There are also addition options such as auto-cannon or bombs. During a level you can catch coins to earn money to buy things. You also earn coins by killing enemy ships.

Some extra special features are:

If you have an End-Point robot with force plates then stomping on the plate will release a bomb if you have purchased that upgrade.

Have fun!

Last tested in Dexterit-E 3.10 and MATLAB 2015a.

Related Tasks

Coding Tips
Persistent Variables
Persistent variables are ones that hold their value between calls to the embedded MATLAB code they are defined in.
Coding Tips
Custom Control of the Trial Protocol Order
Normally, Dexterit-E manages and controls the order in which Trial Protocols (TPs) execute based on what is defined in the block table of the Task Protocol (see the Dexterit-E User Guide for more details).