Giter Site home page Giter Site logo

bananabot's Introduction

BananaBot - Balancing Robot Type B

BananaBot is a kind of five-link dual-wheel balancing robot. It's based on balancing infantry robot in the RoboMaster competition.
BananaBot is a graduate design of Dalian University of Technology.

Overall of robot

Struct of Robot BananaBot has three main components: the body-box, the legs, and the wheels. The structural design and kinematic model derivation are both based on this.

Here lists more paramaters about robot:

Parameter Name Value Unit
Mass 3.9 kg
Maximum Load 2.5 kg
Maximum Acceleration 1.0 m/s²
Maximum Linear Velocity 1.2 m/s
Maximum Jump Height 0.2 m
Shortest Effective Pendulum Length 0.12 m
Longest Effective Pendulum Length 0.32 m
Maximum Left-Right Pendulum Height Difference 0.15 m
Endurance Time 1.0 h

Here is the hardware connection of BananaBot:
Hareware

Kinematic of robot

The build of the kinematic model is based on this paper1. The robot is approximated as an inverted pendulum model composed of a body-box, a rigid pendulum rod, and wheels. And we construct the rotational and translational kinematic equations for this system.

Kinematic symbol

The system state variables are defined as: [ \mathbf{x} = [\theta, \dot{\theta}, x, \dot{x}, \phi, \dot{\phi}] \quad (3.10) ]

The system output variables are defined as: [ \mathbf{u} = [T, T_p] \quad (3.11) ]

Simplify using MATLAB symbolic computation and linearize around the equilibrium point. This content can be found in the MATLAB folder, as LQRModule.m.

Controller of Robot

Controller of Robot We have the following main controllers:

  • LQR Controller
  • Equivalent Pendulum Length Controller
  • Fork Controller
  • Heading Angle Controller
  • Roll Angle Controller

As well as the following observers:

  • Body Attitude EKF (Extended Kalman Filter)
  • Anti-skid KF (Kalman Filter)

And the transformation:

  • VMC Transformation

Among them, the VMC (Virtual Model Control) controller utilizes the statics of a five-bar linkage to achieve bidirectional force mapping between the pendulum and the motors.

Software

Software construction list here:
Software

USB and Mavlink haven't been fitted in this version of codes.
Real codes may not 100% fit this picture.

BTW, LVGL files in this project are useless.

Footnotes

  1. 陈阳, 王洪玺, 张兰勇. 轮腿式平衡机器人控制[J]. 信息与控制, 2023, 52(05): 648-659. https://doi.org/10.13976/j.cnki.xk.2023.2533.

bananabot's People

Contributors

q1anwan avatar

Stargazers

 avatar  avatar Eric avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

sichitong

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.