A ROS2 Self Balancing Robot

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 เม.ย. 2024
  • In our first-year engineering module, we proudly present BiStable, a two-wheel inverted pendulum robot that can steer as-well as balance. Equipped with the ROS2 framework, BiStable can be controlled wirelessly via a gamepad or through hand tracking using an external camera.
    Operating on a Raspberry Pi 4 8GB, BiStable communicates data to the ESP32 via microROS. Its two NEMA 17 stepper motors, driven by A4988 stepper drivers, allow for precise PID tuning in real-time via the gamepad interface. Additionally, an equilibrium offset feature accommodates off-center payloads, enabling non-zero balancing angles.
    To streamline usability, PID constants are stored in EEPROM, eliminating the need for recalibration at startup. While successful, our project could benefit from enhancements such as a more accurate gyroscope to reduce drift, implementing a Kalman filter for improved performance, and upgrading to brushless stepper motors for smoother operation.
    For further details and project documentation, visit our GitHub repository at github.com/TheHassanShahzad/BiStable_scripts. BiStable comprises three additional repositories for various functionalities and enhancements
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 16

  • @Bianchi77
    @Bianchi77 หลายเดือนก่อน +1

    Creative video, thank you :)

  • @indramal
    @indramal 7 วันที่ผ่านมา +1

    How did you connect ROS2 and Pybullet ? and ROS2 and Joystick ? Any packages?

    • @hassanportal5865
      @hassanportal5865  5 วันที่ผ่านมา

      The work in pybullet was separate to ROS2 however in another project I did connect them th-cam.com/users/shorts7H_1pL-8Ow8?feature=shared . The joystick was easy using a python library called approx eng input. I can share the code for the YT short demo if you’d like

    • @indramal
      @indramal 5 วันที่ผ่านมา

      @@hassanportal5865 I wounder PyBullet not support ROS2 directly like gazebo. Gazebo communicate with topic and services. I think PyBullet connect with ROS2 with directly Python Pybullet library. Right? I found approx eng input library. Thank you.

  • @someideas5388
    @someideas5388 หลายเดือนก่อน

    Just curious about the battery and boards positioning. I think they should be as low as possible, maybe keep the boards if worried about EMI, but battery probably can moved down and split on both sides

    • @hassanportal5865
      @hassanportal5865  หลายเดือนก่อน +2

      Hi it is actually the opposite. Moving the centre of mass of an inverted pendulum robot helps with balancing instead of making it harder. For example try balancing a broomstick on your hand with the brush at the top and then with the brush closer to you. Splitting the battery is also not necessarily but if you want another battery then I guess that is a solution

  • @Penner3785
    @Penner3785 หลายเดือนก่อน

    which software do you use for simulation?

    • @hassanportal5865
      @hassanportal5865  หลายเดือนก่อน +1

      Hi I used PyBullet which you can import as a library into a python script

    • @Penner3785
      @Penner3785 หลายเดือนก่อน

      @@hassanportal5865 thx!

  • @makemoneyonline6635
    @makemoneyonline6635 หลายเดือนก่อน

    I’m inspired ❤ I would love it so much if you would accept to be my teacher
    I’m requesting and soo much appreciated if you would accept 😭🙏

  • @dr.ozitron2095
    @dr.ozitron2095 หลายเดือนก่อน +2

    Reinforcement learning can be perform better than PID

    • @sirhoog8321
      @sirhoog8321 หลายเดือนก่อน +1

      It's probably not as fast or efficient though.

    • @vaisakhkm783
      @vaisakhkm783 หลายเดือนก่อน +1

      Sure but why??

    • @f4rtboss862
      @f4rtboss862 หลายเดือนก่อน +1

      Generally true, and especially so for multi-DOF, but in this case, it's just a single screw axis, right? It's just easier to change by hand here

    • @justtestingonce
      @justtestingonce หลายเดือนก่อน

      @@f4rtboss862false, pid performs better here. Even Boston dynamics has a model based approach. Only idiots rely fully on a RF black box.