Skip to content

project-neon/NoWhere

Repository files navigation

2018's Very Small Size Robot Firmware

This firmware consists of 3 distinct codes being run on the Robot and the radio Station.

  • Master: Is the main firmware that controls the robot.
  • Odometry: Communicates with the Master controller sending Mouse and IMU data.
  • Station: Communicates with the computer and sends packets to the robots.

Parts of the Master puzzle

  • attitude: Adds a thread to read the data comming from odometry every 1ms, this data is composed by:
    • dx movement in x given by the optical sensor using 400 DPI resolution,
    • dy movement in y given by the optical sensor using 400 DPI resolution,
    • theta angle in degrees from -180 to 180,
    • inclinated whether the robot is inclinated or not,
    • onFloorwhether the robot is on the ground or not.
  • commander: Adds a thread to Handle data received via radio communication whenever possible or serial communication every 50 ms, after receiving values passes them to the controller.
  • controller: Adds a thread that generates speed values from sensor readings and also controls the robots motor power through two PIDs one on theta speed and other on linear speed.
  • motors: Initiates the pinMODEs,and has functions to set power and direction of the motors.
  • OdometryPacket: Has functions to make and read odometry's communication packages, used on the attitude thread code.
  • pid: Implements the PID controler.
  • robot: Innitializes the robot state, data holders and features, like beeps, alarms, ids.
  • system: Initializes robot's system, checking battery level, LEDs, for better user experience.

Contributors

About

The Firm"Ware" of the Very Small Soccer robots, that is NoWhere

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 7