Over Under Simulator

Wiki for the Over Under simulator developed by California High School robotics. This wiki will also(sporadically) be syncronized with github wiki.

Home

Over Under simulator #

This is a work in progress simulator that aims to replicate the paths taken in an over_under game

and serve as a simulator for general use. It works by connecting a gamepad that is compatible with the pygame framework, and then the program reads the input of the left joystick, in arcade style.

There are releases available in the releases tab of this repository. Unzip the file and then run the executable at the root of the folder created. If your system is not supported currently, install python for your machine and then run

pip install .

In the directory that you have cloned this codebase to, using git or using the <> Code->Download Zip button.

Then, simply run either the executable file from your file manager/terminal, or run python main.py in the directory of the project.

You should see the window with the Over Under map, and if you have a gamepad connected that works with pygame, you should be able to control the object on the screen.

To-Do #

The to-do and task manager for this application have been moved to github projects, as it allows us to collect the tasks and the schedule for them into one place. This project contains the tasks.


For seeing documentation about the program, get started here.

Docs

Documentation Homepage #

This page directs you to the documentation you need to use this simulator effectively.

Controls #


Developer Documentation #


To view the developer documentation, view Developer Documentation
Docs /

Mouse


The mouse controls for the over under simulator are relatively simple.

To move the robot with your mouse,tap a location on the simulator window that is inside the field. This sets the start location of the simulator for the robot. Then, keep tapping locations on the window in order to move the robot around to that location on the screen.

Use the left mouse button in order to choose the location to move to, and the right mouse button to set a marker. To erase the path and waypoints made, use the "c" button on the keyboard.
Docs /

Keyboard


The keyboard controls for the simulator are as listed below.

To move the robot with your keyboard, use the arrow keys to move the robot in the direction that the arrow key pressed pertains to. For example, if you are pressing the right arrow key, the robot will move right on the screen. If the robot only moves a single step with a press, then press the arrow key multiple times to get it to move. See this issue.

If you want to clear the screen or want to draw waypoints on the screen, use the "c" button to clear the screen, and use the "d" button to draw waypoints onto the screen.
Docs /

Gamepad

The gamepad uses arcade control to simulate the robot, which is a perspective of the robot that uses one joystick to control the robot, using the horizontal motion of the joystick to move left and right and using the vertical motion of the joystick to move up and down.


The program uses the left joystick, the one mainly used in games for movement. If the robot freezes after some time, move the joystick slightly left and right in order to allow the robot to keep going in the intended direction.


For setting waypoints, use the leftmost button on the right side of the controller, the analog buttons on the right side of the gamepad, to set waypoints(This should correlate to the Y button on nintendo devices and the X button on xbox devices, and the square button on playstation gamepads.). Use the top button in the right analog buttons in order to clear the screen in the simulator.


As keymaps can be different depending on the gamepad model that is owned, so a preferences menu will be built soon that allows you to choose custom keys for different actions.

Developer documentation /

Dev-code

This page is under construction currently.


Use standard contributing guidelines such as:


The issue, fork, branch, commit, pull request flow.

Developer documentation /

Dev-docs

This page is under construction.


Use the contributing flow described in Code contributions.


The documentation is stored as an featherwiki site, located in the docs subfolder of the code. Set the flag to make edits in the ?page=s after the url, and then change the documentation as necessary. Then, make a pull request to submit the changes.

Developer documentation

The links to access specific portions of developer documentation are listed below.