Skip to content

GMU-ASRC/turbopi-root

Repository files navigation

/home/pi

wiki

We manage the software on our fleet of Hiwonder TurboPi robots with this git repo.
Different behaviors are stored in git branches.

Guides:

Manufacturer Resources:

Assembly Guide
Source Code + System Image
Assembly Video
App links | iOS direct link | Android direct link

Other resources

Directory Structure

├── boot/             # buttonman, battery checker, and lobot services
├── caspyan/          # python-based Spiking Neural Network processor
├── hiwonder-common/  # python package for common code
|   drive.py          # turn on the motors at a specific speed. see below for usage
|   program1.sh       # buttonman starter script. 1 click of button 2 will run this.

drive.py quick guide

run with sudo python drive.py or sudo ./drive.py
By default, it runs the equivalent of mecanum.set_chassis(0, 90, 0), i.e. v, d, w = 0, 90, 0

sudo python drive.py -v 100 -d 90 -w 0.5

Arguments:

  • -v : int ∈ [-100, 100], default: 0
    Speed. Not linear, does not correspond to physical speed.
  • -d : float ∈ [-360, 360], default: 90
    Direction (deg). 0 degrees is strafing right, 90 forwards.
  • -w : float ∈ [-2.0, 2.0], default: 0
    Turning rate. Not linear, does not correspond to physical angular velocity.

milling_controller.py quick guide

If started simultaneously on 6 TurboPis arranged in a tight circle, the robots will mill in a circle.

Immediately start milling:

sudo python milling_controller.py

Wait for a command or key1 press to actually start:

sudo python milling_controller.py --sta

Run the program without moving the wheels, and collect the logs in ~/logs/test_run:

sudo python milling_controller.py test_run --dry

Arguments:

  • project : string, default is of the format YYMMDD-hhmmss-MillingProgram-turbopi-nn
    This will be the name of the folder used for logs.
  • --root : string, default: '~/logs/'
    This is where the project folder will be stored. If the directory does not exist, you will be prompted to create it.
  • --dry_run : store_true flag
    Wheel motors will not actuate if this is passed.
  • --start_paused : store_true flag
    The robot will start in a paused state. You can start the program with 1 click of key1 (towards the front of the robot) or by using the remote control broadcaster.
  • --nolog : store_true flag
    Logging of will be disabled if this is passed. By default, sensor and wheel movements are logged on each loop/frame of the program.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •