RT-Thread-packages / rt-robot

a platform in creating new exciting robots
Apache License 2.0
111 stars 62 forks source link

pid: added basic anti-windup mechanism on pid controller #13

Closed uLipe closed 4 years ago

uLipe commented 4 years ago

This PR aims to add an anti-windup mechanism on PID controller, this avoids PID controller states blowing when actuators saturate. This is an initial but safe implementation, in future I can provide you a more complete mechanism such as back-calculation or capping strategies.

uLipe commented 4 years ago

Hello Guys, nice to meet you. My name is Felipe Neves, I'm an embedded software and control systems engineer with a particular interest in robotics. I saw your project some days ago and I see it is in a very early stage and I would like to help you contributing here with some code because this package for rt-thread is a kind of thing I´m searching, a standard real-time OS friendly mobile/arm robot platforms.

I will be very glad if you accept my contribution, of course, please tell me which is the reference hardware you are using to test the code. Thanks.

wuhanstudio commented 4 years ago

Hello Guys, nice to meet you. My name is Felipe Neves, I'm an embedded software and control systems engineer with a particular interest in robotics. I saw your project some days ago and I see it is in a very early stage and I would like to help you contributing here with some code because this package for rt-thread is a kind of thing I´m searching, a standard real-time OS friendly mobile/arm robot platforms.

I will be very glad if you accept my contribution, of course, please tell me which is the reference hardware you are using to test the code. Thanks.

Hello, my name is Han. I'm really happy to see someone interested with this framework and RT-Thread, a burgeoning RTOS in China. I'm a master student in China and currently working as an intern in RT-Thread before starting my journey of pursuing a Ph.D. degree in CS next year.

Indeed, this project was initiated earlier this month and is still at its inchoate state. Thanks a lot for your help with the PID controller. We aim to build a robot framework that helps developers take advantages of RT-Thread, thus focus more on high-level strategies without caring too much about low-level hardware drivers. For instance, they can build a mobile robot with components provided by this framework such as wheels (motor + pid + encoder), chassis (wheels + kinematics), and etc。

As for now, we are still focusing on fundamental building blocks that actuate a mobile robot, then we'll try to add support for arm robots, aerial robots. Finally, with ready-to-use components that support different robots, we may try to enable communication with ROS to achieve more high-level functionalities such as SLAM and Computer Vision.

Thanks again for your help and interests with this project. We'are always ready to embrace suggestions from communities.

wuhanstudio commented 4 years ago

The hardware we use to test the code is listed below:

  1. Chassis: 2WD
  2. MCU: STM32L4
  3. Controller: PS2 joystick
  4. Encoder: Both single phase and quadrature encoder or incremental encoder

If you have access to Taobao or Alibaba which is virtually the largest online shopping platform in China, you may find useful links in this repo. Unfortunately, they are all written in Chinese as for now. If you need more help with the hardware, please let me know.

https://github.com/yqiu2018/chariot_notice

hardware