Skip to content

4tronix M.A.R.S. Rover Robot remote control using the PiHut Wireless USB Game Controller

License

Notifications You must be signed in to change notification settings

istvanzk/rover_wugc

Repository files navigation

4tronix M.A.R.S. Rover Robot remote control using the PiHut Wireless USB Game Controller

Exp Lic Py Ver

Sources, references, dependencies

Version history

V1.0, February 2023

  • Joysticks:
    • Use left stick to set speed (forward or reverse) and right stick to set direction (left or right).
  • Buttons:
    • Analog for 3 sec to exit program (and stop the service unit).
    • Circle+Square for 3 sec to initiate system shutdown with ./scripts/sd.sh.
    • Triangle+Cross for 3 sec to initiate system reboot with ./scripts/rb.sh.
  • LEDs (must be run with root access):
    • Initialisation LED sequence.
    • White color in the front; red color in back; etc.
    • Program termination LED sequence.
  • Simple driving mode: all (6) DC motors are driven with the same speed. Direction is set only by the servo motors.
  • Logging to (rotating) log file driverover.log and console.
  • Use systemd service unit to start, monitor (watchdog) and re-start the driverRover_wugc.py on missed watchdog; has to be installed as system-wide unit (root access) when LEDs are used!
  • Use YAML configuration file driveconfig.yaml for most common custom parameters; other parameters are configured in driveconfig.py.

V1.1, March 2023

  • Implement Ackermann steering driving mode (with hwd limitations). Can be set in driverconfg.yaml with mode: 'ackermann'.

V1.2, March 2023

  • Scale direction angle in the function mixer_dir() in drivefunc.py.
  • Code clean-up. Fix most of the pylint errors and warnings (except in the orginal code rover.py, etc.)

V1.3, September 2023

  • Support power management hardware for clean shutdown/poweroff: push button activated or low battery triggered. Prototype circuit diagram provided.
  • Systemd services to handle power management hardware and clean shutdown/poweroff. See scripts for details.

TODOs:

  • Add support for customized 2-axis camera mount
  • Add support for sensors (motion, proximity, light)
  • Design custom 3-D printed enclosure

About

4tronix M.A.R.S. Rover Robot remote control using the PiHut Wireless USB Game Controller

Resources

License

Stars

Watchers

Forks

Packages

No packages published