This document reports on the development of a self-balancing robot. It describes the key modules of the robot's mechanical and electronic systems. The mechanical system uses a wooden structure and two wheels. The electronic system includes a processor module using an Arduino Mega, sensor modules consisting of an IMU and quadrature encoders, actuator modules with DC motors and motor drivers, and a communication module using Zigbee wireless. It then discusses modeling the dynamics of the DC motors and robot, and designing control systems using PID and state space control approaches.
Modeling, Simulation, and Optimal Control for Two-Wheeled Self-Balancing Robot IJECEIAES
Two-wheeled self-balancing robot is a popular model in control system experiments which is more widely known as inverted pendulum and cart model. This is a multi-input and multi-output system which is theoretical and has been applied in many systems in daily use. Anyway, most research just focus on balancing this model through try-on experiments or by using simple form of mathematical model. There were still few researches that focus on complete mathematic modeling and designing a mathematical model based controller for such system. This paper analyzed mathematical model of the system. Then, the authors successfully applied a Linear Quadratic Regulator (LQR) controller for this system. This controller was tested with different case of system condition. Controlling results was proved to work well and tested on different case of system condition through simulation on matlab/Simulink program.
Two wheeled self balancing robot for autonomous navigationIAEME Publication
This document summarizes a research paper on the design and testing of a two-wheeled self-balancing robot capable of autonomous navigation. The robot balances using a PID control loop applied to data from an inertial measurement unit. A complementary filter fuses gyroscope and accelerometer readings to estimate the robot's tilt angle in real-time. Autonomous navigation is achieved using an ultrasonic distance sensor and image processing system to detect obstacles and determine the robot's path. The stability of the balancing system is analyzed using real-time data plotting in MATLAB, allowing tuning of the PID controller constants.
IRJET- Design & Development of Two-Wheeled Self Balancing RobotIRJET Journal
This document describes the design and development of a two-wheeled self-balancing robot. An inertial measurement unit (IMU) containing an accelerometer and gyroscope is used to measure the robot's tilt angle. A PID controller applies motor speed adjustments to correct any error between the desired setpoint and actual tilt angle, balancing the robot. The PID controller is able to balance the robot with some limitations. Simulation results are compared to the hardware performance. PID tuning is also performed to improve balancing. Key components include an Arduino, motor driver, motors, IMU, and Bluetooth module. The system architecture integrates these components to enable self-balancing.
IRJET- Self Balancing Robot using Arduino UnoIRJET Journal
This document describes a self-balancing robot project that uses an Arduino Uno, MPU6050 gyroscope/accelerometer, motor driver, Raspberry Pi 3B and Pi camera. The robot balances itself using the inverted pendulum concept with active control from a PID controller. The Arduino reads tilt angles from the MPU6050 and controls the motors via the motor driver to balance the robot. The Raspberry Pi and Pi camera allow for live video streaming to provide visuals from the robot for search and rescue applications in hazardous areas.
Autonomous Balancing of 2-wheeled segway robotJash Shah
This document describes a project to design an optimal controller for a Segway robot using linear quadratic regulator (LQR) and soft computing optimization techniques like genetic algorithm (GA) and bacteria foraging algorithm (BFOA). The project aims to derive the Segway robot's mathematical model and use LQR with GA and BFOA to tune controller parameters to stabilize the robot. Simulation results show that GA-LQR provides better performance than BFOA-LQR, achieving the robot's stabilization with less computational power. While the paper concludes BFOA is better, the values it provides do not match simulation results. The document also discusses modeling approach, methodology, observations, and opportunities for future work.
This document presents a project proposal for developing a self-balancing two-wheeled robot (instructabot) using an Arduino microcontroller. The robot will use sensors to read its environment and a PID controller to balance itself. The aims are to demonstrate balancing techniques, design a discrete digital control system for stability, develop the chassis and software to read sensors and control actuators to enable the robot to stay upright. A literature review covers previous work on self-balancing robots and control systems. A planning chart outlines the project timeline over 16 weeks including proposal, purchasing, prototyping, testing and completion.
Balancing a Segway robot using LQR controller based on genetic and bacteria f...TELKOMNIKA JOURNAL
A two-wheeled single seat Segway robot is a special kind of wheeled mobile robot, using it as a human transporter system needs applying a robust control system to overcome its inherent unstable problem. The mathematical model of the system dynamics is derived and then state space formulation for the system is presented to enable design state feedback controller scheme. In this research, an optimal control system based on linear quadratic regulator (LQR) technique is proposed to stabilize the mobile robot. The LQR controller is designed to control the position and yaw rotation of the two-wheeled vehicle. The proposed balancing robot system is validated by simulating the LQR using Matlab software. Two tuning methods, genetic algorithm (GA) and bacteria foraging optimization algorithm (BFOA) are used to obtain optimal values for controller parameters. A comparison between the performance of both controllers GA-LQR and BFO-LQR is achieved based on the standard control criteria which includes rise time, maximum overshoot, settling time and control input of the system. Simulation results suggest that the BFOA-LQR controller can be adopted to balance the Segway robot with minimal overshoot and oscillation frequency.
The document describes a self-balancing two-wheeled robot project. The goals of the project are to demonstrate techniques for balancing an unstable robotic platform on two wheels and to design a digital control system using a state space model. The robot uses motors, sensors like an accelerometer and gyroscope, and a microprocessor to automatically balance itself in the upright position like an inverted pendulum. It classifies the robot system into three main parts: an inertial sensor unit to read angular velocity and position, an actuator unit with motors driven by analog signals from the controller, and a logical processing unit that processes sensor inputs and controls the actuators to return the robot to vertical position when tilted.
Modeling, Simulation, and Optimal Control for Two-Wheeled Self-Balancing Robot IJECEIAES
Two-wheeled self-balancing robot is a popular model in control system experiments which is more widely known as inverted pendulum and cart model. This is a multi-input and multi-output system which is theoretical and has been applied in many systems in daily use. Anyway, most research just focus on balancing this model through try-on experiments or by using simple form of mathematical model. There were still few researches that focus on complete mathematic modeling and designing a mathematical model based controller for such system. This paper analyzed mathematical model of the system. Then, the authors successfully applied a Linear Quadratic Regulator (LQR) controller for this system. This controller was tested with different case of system condition. Controlling results was proved to work well and tested on different case of system condition through simulation on matlab/Simulink program.
Two wheeled self balancing robot for autonomous navigationIAEME Publication
This document summarizes a research paper on the design and testing of a two-wheeled self-balancing robot capable of autonomous navigation. The robot balances using a PID control loop applied to data from an inertial measurement unit. A complementary filter fuses gyroscope and accelerometer readings to estimate the robot's tilt angle in real-time. Autonomous navigation is achieved using an ultrasonic distance sensor and image processing system to detect obstacles and determine the robot's path. The stability of the balancing system is analyzed using real-time data plotting in MATLAB, allowing tuning of the PID controller constants.
IRJET- Design & Development of Two-Wheeled Self Balancing RobotIRJET Journal
This document describes the design and development of a two-wheeled self-balancing robot. An inertial measurement unit (IMU) containing an accelerometer and gyroscope is used to measure the robot's tilt angle. A PID controller applies motor speed adjustments to correct any error between the desired setpoint and actual tilt angle, balancing the robot. The PID controller is able to balance the robot with some limitations. Simulation results are compared to the hardware performance. PID tuning is also performed to improve balancing. Key components include an Arduino, motor driver, motors, IMU, and Bluetooth module. The system architecture integrates these components to enable self-balancing.
IRJET- Self Balancing Robot using Arduino UnoIRJET Journal
This document describes a self-balancing robot project that uses an Arduino Uno, MPU6050 gyroscope/accelerometer, motor driver, Raspberry Pi 3B and Pi camera. The robot balances itself using the inverted pendulum concept with active control from a PID controller. The Arduino reads tilt angles from the MPU6050 and controls the motors via the motor driver to balance the robot. The Raspberry Pi and Pi camera allow for live video streaming to provide visuals from the robot for search and rescue applications in hazardous areas.
Autonomous Balancing of 2-wheeled segway robotJash Shah
This document describes a project to design an optimal controller for a Segway robot using linear quadratic regulator (LQR) and soft computing optimization techniques like genetic algorithm (GA) and bacteria foraging algorithm (BFOA). The project aims to derive the Segway robot's mathematical model and use LQR with GA and BFOA to tune controller parameters to stabilize the robot. Simulation results show that GA-LQR provides better performance than BFOA-LQR, achieving the robot's stabilization with less computational power. While the paper concludes BFOA is better, the values it provides do not match simulation results. The document also discusses modeling approach, methodology, observations, and opportunities for future work.
This document presents a project proposal for developing a self-balancing two-wheeled robot (instructabot) using an Arduino microcontroller. The robot will use sensors to read its environment and a PID controller to balance itself. The aims are to demonstrate balancing techniques, design a discrete digital control system for stability, develop the chassis and software to read sensors and control actuators to enable the robot to stay upright. A literature review covers previous work on self-balancing robots and control systems. A planning chart outlines the project timeline over 16 weeks including proposal, purchasing, prototyping, testing and completion.
Balancing a Segway robot using LQR controller based on genetic and bacteria f...TELKOMNIKA JOURNAL
A two-wheeled single seat Segway robot is a special kind of wheeled mobile robot, using it as a human transporter system needs applying a robust control system to overcome its inherent unstable problem. The mathematical model of the system dynamics is derived and then state space formulation for the system is presented to enable design state feedback controller scheme. In this research, an optimal control system based on linear quadratic regulator (LQR) technique is proposed to stabilize the mobile robot. The LQR controller is designed to control the position and yaw rotation of the two-wheeled vehicle. The proposed balancing robot system is validated by simulating the LQR using Matlab software. Two tuning methods, genetic algorithm (GA) and bacteria foraging optimization algorithm (BFOA) are used to obtain optimal values for controller parameters. A comparison between the performance of both controllers GA-LQR and BFO-LQR is achieved based on the standard control criteria which includes rise time, maximum overshoot, settling time and control input of the system. Simulation results suggest that the BFOA-LQR controller can be adopted to balance the Segway robot with minimal overshoot and oscillation frequency.
The document describes a self-balancing two-wheeled robot project. The goals of the project are to demonstrate techniques for balancing an unstable robotic platform on two wheels and to design a digital control system using a state space model. The robot uses motors, sensors like an accelerometer and gyroscope, and a microprocessor to automatically balance itself in the upright position like an inverted pendulum. It classifies the robot system into three main parts: an inertial sensor unit to read angular velocity and position, an actuator unit with motors driven by analog signals from the controller, and a logical processing unit that processes sensor inputs and controls the actuators to return the robot to vertical position when tilted.
This document summarizes a student project to build a self-balancing robot controlled by a mobile phone using Bluetooth. A group of 6 students from ITM Vocational University developed the robot under faculty guidance. The robot uses an Arduino, gyroscope, accelerometer, motor driver and DC motors. It balances itself using PID control and can be operated remotely from a mobile app connected via Bluetooth. The presentation covers the objectives, components, circuit diagrams, software, advantages and applications of the self-balancing robot.
This document describes the design and control of a two-wheeled inverted pendulum system using a PID controller. Key points:
- An inverted pendulum is inherently unstable and must be actively balanced to remain upright. A feedback network using a PID controller provides self-balancing.
- The concept is applied to a two-wheeled vehicle, with self-balancing attained through a PID closed-loop feedback system.
- Components used include an Arduino Uno microcontroller, MPU6050 sensor, L298N motor driver, and DC motors. The MPU6050 provides position and angle values. PID tuning balances stability and response.
- Testing showed the two-wheeled inverted pendulum
Stabilized controller of a two wheels robotjournalBEEI
The Segway Human Transport (HT) robot, it is dynamical self-balancing robot type. The stability control is an important thing for the Segway robot. It is an indisputable fact that Segway robot is a natural instability framework robot. The case study of the Segway robot focuses on running balance control systems. The roll, pitch, and yaw balance of this robot are obtained by estimating the Kalman Filter with a combination of the pole placement and the Linear Quadratic Regulator (LQR) control method. In our system configuration, the mathematical model of the robot will be proved by Matlab Simulink by modelling of the stabilizing control system of all state variable input. Furthermore, the implementation of this system modelled to the real-time test of the Segway robot. The expected result is by substitute the known parameters from Gyro, Accelero and both rotary encoder to initial stabilize control function, the system will respond to the zero input curve. The coordinate units of displacement response and inclination response pictures are the same. As our expected, the response of the system can reach the zero point position.
Self-Balancing Two-wheeler (Segway) was once a mysterious invention created by Dean Lawrence Kamen. The Self-Balancing Two-wheeler (Segway) Human Transporter is a personal transport device that uses a built-in computer to remain upright. The aim of this project is to mimic the design of the Self-Balancing Two-wheeler (Segway) and build a low-cost Segway. The first stage of this project is to design the mechanical structure of the transport device. According to different power and functional requirements, different mechanical and electronic components have been chosen for the implementation. The rider shifting weight and a manual turning mechanism on the handlebar are used to control the speed and direction of the Self-Balancing Two-wheeler (Segway). Gyroscope and variable resistor are used to monitor user’s physical motion. The Segway is an intelligent vehicle which uses gyroscopic sensors to detect the motion of rider, so that he can accelerate, brake or steer the vehicle. The conventional Segway available in the market are very costly as they are not available locally. Hence the need to design and fabricate a cost-efficient Segway which could be affordable and the same time be reliable to withstand a rider up to 70-80kgs. In this project an attempt has been made to design and fabricate a Segway with minimum resources.
This document is the final project report for controlling an inverted pendulum system. It includes modeling the nonlinear dynamics of the pendulum cart system and deriving the state space equations. The goal is to balance the pendulum in the vertically upward unstable equilibrium position using feedback control. The report outlines modeling the system, linearizing about the unstable point, designing a feedback controller using linear quadratic regulation, and simulating the closed-loop response. Parameter perturbations are also analyzed through simulation to study the transient behavior and stability margins of the controlled system.
This document discusses the design and implementation of a DELTA parallel robot. It describes the key components of a DELTA robot including the triangular base with three arms attached at uniform joints. Each arm is connected to an actuator and separated by 120 degrees. The robot consists of two links where a pair of parallel bars comprises the lower link, restricting movement to three translations along the X, Y, and Z axes. Popular applications of DELTA robots include high-speed packaging and medical/pharmaceutical uses due to their stiffness. Several variants of DELTA robots have been developed with different degrees of freedom.
Independent study : A Matlab AnyBody interface to compute torque requirements for Assisting and Resisting modes for a leg exoskeleton helping perform a leg curl.
The stabilization of forced inverted pendulum via fuzzy controllereSAT Journals
Abstract
In the field of nonlinear control engineering, the inverted pendulum can be considered as a bench mark problem. For an inverted
pendulum, there are mainly two types of equilibrium which are categorized as stable equilibrium and unstable equilibrium. The
stable equilibrium is the one in which the pendulum is in normal pendent position and not requires any control force since
because it is naturally stable. Under the influence of an external force, the stable equilibrium loses its stability and there comes
the need of a stabilizing controller. Therefore unstable equilibrium refers to the pendulum in upright position strictly under the
influence of a stabilizing controller. The inverted pendulum is strictly nonlinear, under actuated system; challenging task comes
with the stability analysis. A forced inverted pendulum is considered which has been modeled with respect to the cart motion. To
improve the performance and stabilize the system, a fuzzy controller is designed for the respective system. Simulation results
validate the fact that the stabilization is achieved through out and the perfect result is obtained for the system.
Keyword: Fuzzy, Heuristic, Forced Inverted Pendulum
IMPROVING POWER FACTORS BY USING LANDSMAN CONVERTER IN PMBLDC MOTORvivatechijri
This document summarizes a research paper that proposes using a Landsman converter to improve the power factor of a permanent magnet brushless DC (PMBLDC) motor. It begins with an abstract that states a Landsman converter power factor correction circuit can achieve unity power factor and provide a low-cost arrangement for a PMBLDC motor drive. It then reviews related work on digital motor controllers and a Cuk converter used for power factor correction in a PMBLDC motor drive. The document outlines the methodology, which includes a block diagram of the system and mathematical modeling. It concludes that the Landsman converter successfully improves the power factor and provides better power quality for the PMBLDC motor.
Design and fabrication of delta robot.pptx igniteAbhishekKash2
A Delta robot is a parallel robot that consists of three arms connected to several joints at the base. The proposed project introduces the two arms planar delta robot which is used for producing high torque for the handling of small objects. Applications - these type of robots is used for picking and placing products in groups and placing them in a container or in an assembly pattern.
Mathematical model analysis and control algorithms design based on state feed...hunypink
XZ-Ⅱtype rotary inverted pendulum is a typical mechatronic system; it completes real-time motion control using DSP motion controller and motor torque. In this paper, we recognize XZ-Ⅱrotational inverted pendulum and learn system composition, working principle, using method, precautions and software platform. We master how to build mathematical model and state feedback control method (pole assignment algorithm) of the one order rotational inverted pendulum system and finish simulation study of system using Mat lab. In the end we grasp debugging method of the actual system, and finish online control of the one order rotational inverted pendulum system as well.
Gesture control wheel chair cum stretcherIRJET Journal
This document summarizes a research paper on developing a gesture-controlled wheelchair and stretcher system. The system uses accelerometers and microcontrollers to detect hand gestures and control electric motors that move the wheelchair in directions like left, right, forward, and brake. It can also convert the wheelchair into a stretcher by adjusting the seat height with actuators. The goal is to create a hands-free mobility aid for disabled users to control through natural hand motions. The paper describes the technical components, communication system, and hardware implementation to read gestures and translate them into wheelchair commands. The results demonstrate the ability to accurately control wheelchair direction and conversion through different hand position inputs.
This document describes a study on developing a human instruction follower drone. It discusses selecting components like a quadcopter frame, motors, electronic speed controllers, an IMU sensor, GPS, and Arduino board. It explains how the drone will navigate autonomously using GPS waypoints from its original position to a given destination defined by latitude and longitude, then return to the original position. The document outlines the mechanism for frame selection, component selection and interfacing, and the performance of the IMU sensor and use of a complementary filter to provide stable sensor data for flight stabilization and control.
1) The document discusses opportunities in the robotics field, including the robotics market, required skill sets, and popular robotic products.
2) It describes the author's first robotic arm project, including modular design, pick and place demonstration, and hardware.
3) The author's vision is to design more advanced robotic arms and home service robots through opportunities that bring together a multi-disciplinary team with a common goal.
Dual Angle Comparison for Wheel Chair Vehicle using Fuzzy LogicIRJET Journal
This document describes a dual angle comparison system for controlling a wheelchair using fuzzy logic. The system uses two orientation detection units, one fixed to the wheelchair and one fixed to the user's head, each with accelerometer, gyroscope and magnetometer sensors. The head unit detects the user's head movements which are used to control the wheelchair's speed and direction. The system compares the head orientation to the reference orientation from the wheelchair unit to determine movements and compensate for non-straight roads. It uses a microcontroller to regulate the motor speed depending on the road slope to provide a smooth ride.
This document describes an automatic steering system for vehicles that combines both manual and automatic modes of operation. It consists of a steering wheel, clutches, sensors, a DC motor, and rack and pinion gear. In manual mode, the steering wheel provides direct control. In automatic mode, ultrasonic and infrared sensors detect obstacles and send signals to an electronic control unit to control the DC motor and steer the vehicle safely around obstacles via the rack and pinion gear. The system allows smooth transition between the manual and automatic modes without loss of control. It provides pre-collision notification and aims to advance intelligent vehicle safety systems.
Robots play important roles in day to day
activities of human endeavour and can perform
complex tasks speedily and accurately. Robots are
employed to imitate human behaviours and then
apply these behaviours to the skills that lead to
achieving a certain task in solving the challenges
faced by impaired people in society. This robotic arm
was achieved using light-weight steel iron for the
frames, a moderate torque MG995 Towerpro, and
servo motor. Two Atmega328 Arduino
microcontroller was employed to control the motors
through the use of pulse width modulation
technique. Mathematical models were developed for
the mechanism to represent the kinematics involved
at each joint with mathematical variables. Then, the
stability of the system was carried out using a step
input signal being a type zero system.
The document is a seminar report on an Automatic Sun Tracking System (ASTS). It discusses the structure of an ASTS including the motor selection, solar sensor, and working components like sun tracking sensors, night/day fault detectors, and cloud detection. It also describes the control strategy of ASTS, including automatic and manual control. The report aims to explain how ASTS works to constantly rotate solar panels to track the sun and maximize energy output.
Development of a quadruped mobile robot and its movement system using geometr...journalBEEI
As the main testbed platform of Artificial Intelligence, the robot plays an essential role in creating an environment for industrial revolution 4.0. According to their bases, the robot can be categorized into a fixed based robot and a mobile robot. Current robotics research direction is interesting since people strive to create a mobile robot able to move in the land, water, and air. This paper presents development of a quadruped mobile robot and its movement system using geometric-based inverse kinematics. The study is related to the movement of a four-legged (quadruped) mobile robot with three Degrees of Freedom (3 DOF) for each leg. Because it has four legs, the movement of the robot can only be done through coordinating the movements of each leg. In this study, the trot gait pattern method is proposed to coordinate the movement of the robot's legs. The end-effector position of each leg is generated by a simple trajectory generator with half rectified sine wave pattern. Furthermore, to move each robot's leg, it is proposed to use geometric-based inverse kinematic. The experimental results showed that the proposed method succeeded in moving the mobile robot with precision. Movement errors in the translation direction are 1.83% with the average pose error of 1.33 degrees, means the mobile robot has good walking stability.
This document presents the design and development of a dual mode EMG-controlled robotic orthosis to assist stroke patients in rehabilitation. The robot can operate in two control modes: 1) using predefined reference trajectories to control joint movement, and 2) using EMG signals to control joint direction. A dynamic model of the robot is derived using Lagrange's equations. The dual mode control system is implemented and tested in simulation and experiments. Results show the robot can successfully be controlled by both reference trajectories and EMG signals to assist in gait rehabilitation for stroke patients.
This document provides an overview of the system design and implementation of a semi-autonomous badminton playing robot. It describes the mechanical, electrical, and software systems that were developed including the robotic arm, dispenser, power management, microcontroller, sensors, motor drivers, and controls software. The overall goal was to develop an efficient robot that can compete in an annual competition by playing doubles badminton matches autonomously.
This document describes a three-phase brushless DC (BLDC) motor control system using a sensorless algorithm. The system is based on the Freescale Semiconductor MPC5606B microcontroller and can control a BLDC motor without position sensors. It uses a back-EMF sensing technique to estimate rotor position and implements six-step commutation. The document discusses BLDC motor theory, the sensorless control algorithm, hardware implementation using the MPC5606B controller board, and software implementation including initialization, speed control, zero-cross detection and current limiting.
This document summarizes a student project to build a self-balancing robot controlled by a mobile phone using Bluetooth. A group of 6 students from ITM Vocational University developed the robot under faculty guidance. The robot uses an Arduino, gyroscope, accelerometer, motor driver and DC motors. It balances itself using PID control and can be operated remotely from a mobile app connected via Bluetooth. The presentation covers the objectives, components, circuit diagrams, software, advantages and applications of the self-balancing robot.
This document describes the design and control of a two-wheeled inverted pendulum system using a PID controller. Key points:
- An inverted pendulum is inherently unstable and must be actively balanced to remain upright. A feedback network using a PID controller provides self-balancing.
- The concept is applied to a two-wheeled vehicle, with self-balancing attained through a PID closed-loop feedback system.
- Components used include an Arduino Uno microcontroller, MPU6050 sensor, L298N motor driver, and DC motors. The MPU6050 provides position and angle values. PID tuning balances stability and response.
- Testing showed the two-wheeled inverted pendulum
Stabilized controller of a two wheels robotjournalBEEI
The Segway Human Transport (HT) robot, it is dynamical self-balancing robot type. The stability control is an important thing for the Segway robot. It is an indisputable fact that Segway robot is a natural instability framework robot. The case study of the Segway robot focuses on running balance control systems. The roll, pitch, and yaw balance of this robot are obtained by estimating the Kalman Filter with a combination of the pole placement and the Linear Quadratic Regulator (LQR) control method. In our system configuration, the mathematical model of the robot will be proved by Matlab Simulink by modelling of the stabilizing control system of all state variable input. Furthermore, the implementation of this system modelled to the real-time test of the Segway robot. The expected result is by substitute the known parameters from Gyro, Accelero and both rotary encoder to initial stabilize control function, the system will respond to the zero input curve. The coordinate units of displacement response and inclination response pictures are the same. As our expected, the response of the system can reach the zero point position.
Self-Balancing Two-wheeler (Segway) was once a mysterious invention created by Dean Lawrence Kamen. The Self-Balancing Two-wheeler (Segway) Human Transporter is a personal transport device that uses a built-in computer to remain upright. The aim of this project is to mimic the design of the Self-Balancing Two-wheeler (Segway) and build a low-cost Segway. The first stage of this project is to design the mechanical structure of the transport device. According to different power and functional requirements, different mechanical and electronic components have been chosen for the implementation. The rider shifting weight and a manual turning mechanism on the handlebar are used to control the speed and direction of the Self-Balancing Two-wheeler (Segway). Gyroscope and variable resistor are used to monitor user’s physical motion. The Segway is an intelligent vehicle which uses gyroscopic sensors to detect the motion of rider, so that he can accelerate, brake or steer the vehicle. The conventional Segway available in the market are very costly as they are not available locally. Hence the need to design and fabricate a cost-efficient Segway which could be affordable and the same time be reliable to withstand a rider up to 70-80kgs. In this project an attempt has been made to design and fabricate a Segway with minimum resources.
This document is the final project report for controlling an inverted pendulum system. It includes modeling the nonlinear dynamics of the pendulum cart system and deriving the state space equations. The goal is to balance the pendulum in the vertically upward unstable equilibrium position using feedback control. The report outlines modeling the system, linearizing about the unstable point, designing a feedback controller using linear quadratic regulation, and simulating the closed-loop response. Parameter perturbations are also analyzed through simulation to study the transient behavior and stability margins of the controlled system.
This document discusses the design and implementation of a DELTA parallel robot. It describes the key components of a DELTA robot including the triangular base with three arms attached at uniform joints. Each arm is connected to an actuator and separated by 120 degrees. The robot consists of two links where a pair of parallel bars comprises the lower link, restricting movement to three translations along the X, Y, and Z axes. Popular applications of DELTA robots include high-speed packaging and medical/pharmaceutical uses due to their stiffness. Several variants of DELTA robots have been developed with different degrees of freedom.
Independent study : A Matlab AnyBody interface to compute torque requirements for Assisting and Resisting modes for a leg exoskeleton helping perform a leg curl.
The stabilization of forced inverted pendulum via fuzzy controllereSAT Journals
Abstract
In the field of nonlinear control engineering, the inverted pendulum can be considered as a bench mark problem. For an inverted
pendulum, there are mainly two types of equilibrium which are categorized as stable equilibrium and unstable equilibrium. The
stable equilibrium is the one in which the pendulum is in normal pendent position and not requires any control force since
because it is naturally stable. Under the influence of an external force, the stable equilibrium loses its stability and there comes
the need of a stabilizing controller. Therefore unstable equilibrium refers to the pendulum in upright position strictly under the
influence of a stabilizing controller. The inverted pendulum is strictly nonlinear, under actuated system; challenging task comes
with the stability analysis. A forced inverted pendulum is considered which has been modeled with respect to the cart motion. To
improve the performance and stabilize the system, a fuzzy controller is designed for the respective system. Simulation results
validate the fact that the stabilization is achieved through out and the perfect result is obtained for the system.
Keyword: Fuzzy, Heuristic, Forced Inverted Pendulum
IMPROVING POWER FACTORS BY USING LANDSMAN CONVERTER IN PMBLDC MOTORvivatechijri
This document summarizes a research paper that proposes using a Landsman converter to improve the power factor of a permanent magnet brushless DC (PMBLDC) motor. It begins with an abstract that states a Landsman converter power factor correction circuit can achieve unity power factor and provide a low-cost arrangement for a PMBLDC motor drive. It then reviews related work on digital motor controllers and a Cuk converter used for power factor correction in a PMBLDC motor drive. The document outlines the methodology, which includes a block diagram of the system and mathematical modeling. It concludes that the Landsman converter successfully improves the power factor and provides better power quality for the PMBLDC motor.
Design and fabrication of delta robot.pptx igniteAbhishekKash2
A Delta robot is a parallel robot that consists of three arms connected to several joints at the base. The proposed project introduces the two arms planar delta robot which is used for producing high torque for the handling of small objects. Applications - these type of robots is used for picking and placing products in groups and placing them in a container or in an assembly pattern.
Mathematical model analysis and control algorithms design based on state feed...hunypink
XZ-Ⅱtype rotary inverted pendulum is a typical mechatronic system; it completes real-time motion control using DSP motion controller and motor torque. In this paper, we recognize XZ-Ⅱrotational inverted pendulum and learn system composition, working principle, using method, precautions and software platform. We master how to build mathematical model and state feedback control method (pole assignment algorithm) of the one order rotational inverted pendulum system and finish simulation study of system using Mat lab. In the end we grasp debugging method of the actual system, and finish online control of the one order rotational inverted pendulum system as well.
Gesture control wheel chair cum stretcherIRJET Journal
This document summarizes a research paper on developing a gesture-controlled wheelchair and stretcher system. The system uses accelerometers and microcontrollers to detect hand gestures and control electric motors that move the wheelchair in directions like left, right, forward, and brake. It can also convert the wheelchair into a stretcher by adjusting the seat height with actuators. The goal is to create a hands-free mobility aid for disabled users to control through natural hand motions. The paper describes the technical components, communication system, and hardware implementation to read gestures and translate them into wheelchair commands. The results demonstrate the ability to accurately control wheelchair direction and conversion through different hand position inputs.
This document describes a study on developing a human instruction follower drone. It discusses selecting components like a quadcopter frame, motors, electronic speed controllers, an IMU sensor, GPS, and Arduino board. It explains how the drone will navigate autonomously using GPS waypoints from its original position to a given destination defined by latitude and longitude, then return to the original position. The document outlines the mechanism for frame selection, component selection and interfacing, and the performance of the IMU sensor and use of a complementary filter to provide stable sensor data for flight stabilization and control.
1) The document discusses opportunities in the robotics field, including the robotics market, required skill sets, and popular robotic products.
2) It describes the author's first robotic arm project, including modular design, pick and place demonstration, and hardware.
3) The author's vision is to design more advanced robotic arms and home service robots through opportunities that bring together a multi-disciplinary team with a common goal.
Dual Angle Comparison for Wheel Chair Vehicle using Fuzzy LogicIRJET Journal
This document describes a dual angle comparison system for controlling a wheelchair using fuzzy logic. The system uses two orientation detection units, one fixed to the wheelchair and one fixed to the user's head, each with accelerometer, gyroscope and magnetometer sensors. The head unit detects the user's head movements which are used to control the wheelchair's speed and direction. The system compares the head orientation to the reference orientation from the wheelchair unit to determine movements and compensate for non-straight roads. It uses a microcontroller to regulate the motor speed depending on the road slope to provide a smooth ride.
This document describes an automatic steering system for vehicles that combines both manual and automatic modes of operation. It consists of a steering wheel, clutches, sensors, a DC motor, and rack and pinion gear. In manual mode, the steering wheel provides direct control. In automatic mode, ultrasonic and infrared sensors detect obstacles and send signals to an electronic control unit to control the DC motor and steer the vehicle safely around obstacles via the rack and pinion gear. The system allows smooth transition between the manual and automatic modes without loss of control. It provides pre-collision notification and aims to advance intelligent vehicle safety systems.
Robots play important roles in day to day
activities of human endeavour and can perform
complex tasks speedily and accurately. Robots are
employed to imitate human behaviours and then
apply these behaviours to the skills that lead to
achieving a certain task in solving the challenges
faced by impaired people in society. This robotic arm
was achieved using light-weight steel iron for the
frames, a moderate torque MG995 Towerpro, and
servo motor. Two Atmega328 Arduino
microcontroller was employed to control the motors
through the use of pulse width modulation
technique. Mathematical models were developed for
the mechanism to represent the kinematics involved
at each joint with mathematical variables. Then, the
stability of the system was carried out using a step
input signal being a type zero system.
The document is a seminar report on an Automatic Sun Tracking System (ASTS). It discusses the structure of an ASTS including the motor selection, solar sensor, and working components like sun tracking sensors, night/day fault detectors, and cloud detection. It also describes the control strategy of ASTS, including automatic and manual control. The report aims to explain how ASTS works to constantly rotate solar panels to track the sun and maximize energy output.
Development of a quadruped mobile robot and its movement system using geometr...journalBEEI
As the main testbed platform of Artificial Intelligence, the robot plays an essential role in creating an environment for industrial revolution 4.0. According to their bases, the robot can be categorized into a fixed based robot and a mobile robot. Current robotics research direction is interesting since people strive to create a mobile robot able to move in the land, water, and air. This paper presents development of a quadruped mobile robot and its movement system using geometric-based inverse kinematics. The study is related to the movement of a four-legged (quadruped) mobile robot with three Degrees of Freedom (3 DOF) for each leg. Because it has four legs, the movement of the robot can only be done through coordinating the movements of each leg. In this study, the trot gait pattern method is proposed to coordinate the movement of the robot's legs. The end-effector position of each leg is generated by a simple trajectory generator with half rectified sine wave pattern. Furthermore, to move each robot's leg, it is proposed to use geometric-based inverse kinematic. The experimental results showed that the proposed method succeeded in moving the mobile robot with precision. Movement errors in the translation direction are 1.83% with the average pose error of 1.33 degrees, means the mobile robot has good walking stability.
This document presents the design and development of a dual mode EMG-controlled robotic orthosis to assist stroke patients in rehabilitation. The robot can operate in two control modes: 1) using predefined reference trajectories to control joint movement, and 2) using EMG signals to control joint direction. A dynamic model of the robot is derived using Lagrange's equations. The dual mode control system is implemented and tested in simulation and experiments. Results show the robot can successfully be controlled by both reference trajectories and EMG signals to assist in gait rehabilitation for stroke patients.
This document provides an overview of the system design and implementation of a semi-autonomous badminton playing robot. It describes the mechanical, electrical, and software systems that were developed including the robotic arm, dispenser, power management, microcontroller, sensors, motor drivers, and controls software. The overall goal was to develop an efficient robot that can compete in an annual competition by playing doubles badminton matches autonomously.
This document describes a three-phase brushless DC (BLDC) motor control system using a sensorless algorithm. The system is based on the Freescale Semiconductor MPC5606B microcontroller and can control a BLDC motor without position sensors. It uses a back-EMF sensing technique to estimate rotor position and implements six-step commutation. The document discusses BLDC motor theory, the sensorless control algorithm, hardware implementation using the MPC5606B controller board, and software implementation including initialization, speed control, zero-cross detection and current limiting.
International Journal of Engineering Research and Development (IJERD)IJERD Editor
journal publishing, how to publish research paper, Call For research paper, international journal, publishing a paper, IJERD, journal of science and technology, how to get a research paper published, publishing a paper, publishing of journal, publishing of research paper, reserach and review articles, IJERD Journal, How to publish your research paper, publish research paper, open access engineering journal, Engineering journal, Mathemetics journal, Physics journal, Chemistry journal, Computer Engineering, Computer Science journal, how to submit your paper, peer reviw journal, indexed journal, reserach and review articles, engineering journal, www.ijerd.com, research journals,
yahoo journals, bing journals, International Journal of Engineering Research and Development, google journals, hard copy of journal
This document discusses parameter estimation and controller design for an optical encoder. It describes using MATLAB to estimate parameters of an optical encoder and a gyroscope from experimental data. It also discusses tuning a PID controller using pole placement and references related work on optical encoders, gyroscopes, and parameter estimation techniques.
Identification and Real Time Control of a DC MotorIOSR Journals
This document presents a method for identifying and controlling a DC motor. It describes an experimental setup using sensors to measure the motor's speed. A parametric estimation method called PEM is used to identify the dynamic model of the motor based on input-output data. The identified model is validated via simulation. Then, an optimal linear quadratic regulator (LQR) controller is designed using the identified model to control the motor's speed and position. Simulations and experiments show the controller is able to track step and square wave position and velocity commands.
This document discusses computer numeric control (CNC) systems. It begins by defining CNC as a system that controls actions through direct insertion of numerical data that is automatically interpreted. It then covers advantages and disadvantages of CNC, open and closed loop control systems, elements of a CNC system including input devices, the CPU, machine tool, and feedback devices. Precision measurements and interpolation methods for CNC are also summarized.
This document summarizes the latest changes to the hardware and software systems of the KN2C small-sized soccer robot team. Major hardware changes include replacing the AVR microcontroller with an ARM microcontroller on the main board and designing a new kick circuit to solve current problems. The software focuses on fixing bugs in the existing system. The team also redesigned the robot mechanics to improve stability and chip kicking while decreasing weight. Finite element analysis software was used to simulate stresses on new mechanical components.
This document summarizes the latest changes to the hardware and software systems of the KN2C small-sized soccer robot team. Major hardware changes include replacing the AVR microcontroller with an ARM microcontroller on the main board and designing a new kick circuit to solve current problems. The software focuses on fixing bugs in the existing system. The team also redesigned the robot mechanics to improve stability and chip kicking while decreasing weight. Finite element analysis software was used to simulate stresses on new mechanical components.
This document summarizes a research paper on using fuzzy logic to control the speed of a DC motor. It begins by describing the objectives of designing a high-current driver circuit for the motor and using an efficient fuzzy logic algorithm to accurately track motor velocity. It then provides mathematical analysis of the separately excited DC motor and describes implementing a fuzzy logic controller using FPGA. Membership functions, rule inference, and defuzzification are implemented in VHDL. Feedback is provided by an optical encoder to measure motor speed. Simulation results show the fuzzy controller can accurately control motor speed. In conclusion, the fuzzy logic approach provides an efficient and accurate method for DC motor speed control that does not require an accurate mathematical model of the motor.
Autonomous Terrain Mapping Using COTS HardwareJames Anderson
Undergraduate paper submission for 2012 International Telemetering Conference
Abstract: The paper describes the development of a robotic platform which can autonomously map terrain using a COTS infrared imaging and ranging system. The robotic system is based on an omni-directional platform, and can navigate typical commercial indoor environments. An on-board processor performs surface reconstruction, and condenses the point clouds generated by the ranging system to mesh models which can be more easily stored and transmitted. The processor then correlates new frames with the existing world model by using sensor odomerty. The robot will autonomously determine the best areas of the environment to map, and gather complete three dimensional color models of arbitrary environments.
This document discusses tuning the parameters of a PID controller for a separately excited DC motor drive system using genetic algorithms. It first describes the DC motor model and simulink modeling. It then provides background on PID controllers and genetic algorithms. The document proposes using genetic algorithms to tune the PID controller parameters (KP, KI, KD) to minimize errors and improve the step response of the controlled DC motor system. It presents the tuning methodology, comparing conventional PID tuning to GA-based tuning. Simulation results are presented and discussed, showing that GA tuning improves the step response by reducing overshoot and settling time compared to the conventional PID controller.
Modeling of DC Motor and Choosing the Best Gains for PID Controllerijtsrd
This document summarizes research on modeling a DC motor and using a PID controller to control its position. The researchers modeled the motor mathematically in two ways: by estimating parameters like resistance, inductance, torque constant, and back EMF constant; and based on the motor's first-order speed response curve. Both methods were used to derive transfer functions relating the motor's input voltage to its speed and position. Ziegler-Nichols tuning methods and MATLAB simulations were used to select PID gains for position control. Results showed the PID controller could accurately control the motor's angle based on feedback from an optical encoder. The controlled DC motor could then be applied to positions systems like a robot arm.
Comparison of different controllers for the improvement of Dynamic response o...IJERA Editor
This document compares different fuzzy logic controllers for improving the dynamic response of an indirect vector controlled induction motor drive. It presents a new fuzzy PI controller with scaling factors and evaluates its performance against fuzzy PI and fuzzy MRAC (model reference adaptive control) controllers. Simulation results show that the proposed fuzzy PI with scaling factors has a faster settling time than fuzzy PI, and is less complex than fuzzy MRAC while still providing good parameter insensitivity. The proposed controller provides a compromise between complexity, accuracy and settling time for induction motor applications.
The document describes a project to build a 6 degree of freedom (DOF) robotic arm. A group of 3 students are building the robotic arm under the supervision of Engr. Hamza Shahid. The project aims to accurately control the movement of the robotic arm using servo motors on all six axes. The objectives are to study object picking and placing, build the mechanical structure, develop a functional gripper, and accurately control motion. An Arduino microcontroller will initially be used to control axis movement with the potential for an FPGA to incorporate more sensors later. Progress so far includes literature review, acquiring the mechanical structure, selecting servo motors, and achieving single axis movement with Arduino code. Future work includes completing the arm, coding
Simulation Design of DC Motor Control System Based on MC9S12D64 MCUIJERA Editor
This document describes a simulation of a DC motor control system using an MC9S12D64 microcontroller unit (MCU). The system samples an analog input voltage, uses pulse width modulation to control motor speed based on the voltage, and provides alarms and display. It was designed to simulate industry motors. The hardware and software were tested experimentally and proved reliable for controlling the DC motor and simulating different running conditions.
The document provides an overview of the LM628/629 motion control device. It describes the device's hardware architecture including the trajectory profile generator, PID filter, position decoder and other functional blocks. It discusses the device's operation in generating velocity profiles to control motor position, and how parameters like position, velocity and acceleration are represented and updated. It also covers the motor output port and operation of the LM628 and LM629 variants.
Direct Torque Control of a Bldc Motor Based on Computing TechniqueIOSR Journals
This document discusses direct torque control of a brushless DC motor using a fuzzy logic controller. It begins with an introduction to brushless DC motors and their advantages over conventional DC motors. It then discusses the mathematical modeling and operation of brushless DC motors. The document proposes using a fuzzy logic controller for speed control of the brushless DC motor. It describes the components and operation of a fuzzy logic controller, including fuzzification, a knowledge base of rules, fuzzy reasoning, and defuzzification. Simulation results are presented showing the performance of the proposed fuzzy logic controller for brushless DC motor speed control.
Today human-machine interaction is moving away from mouse and pen and is becoming pervasive and much more compatible with the physical world. With each passing day the gap between machines and humans is being reduced with the introduction of new technologies to ease the standard of living. In this paper, a rigorous analysis of different techniques of “Human-Machine Interaction” using gestures has been presented using accelerometer. Gestures can originate from any bodily motion or state but commonly originate from the face or hand. Robotics is the branch of engineering that deals with the design, construction, operation, and application of robots, as well as computer systems for their control, sensory feedback, and information processing we have implemented a system through which the user can give commands to a wireless robot using gestures. Through this method, the user can control or navigate the robot by using gestures of his/her palm, thereby interacting with the robotic system. The command signals are generated from these gestures using accelerometer sensing [1]. These signals are then passed to the robot to navigate it in the specified directions.
Power System Stabilizer (PSS) for generatorKARAN TRIPATHI
This thesis examines damping of electromechanical oscillations in synchronous generators through power system stabilizers (PSS). It develops a PSS tuning methodology based on linear control theory and frequency response techniques. The thesis models a synchronous machine-infinite bus system to analyze system dynamics and tune the PSS. It also proposes an alternative damping controller based on signal estimation and evaluates its performance compared to PSS. The software tool developed implements the PSS tuning methodology.
This document provides a system description of the Electronically Controlled Air Suspension (ECAS) system for buses. ECAS is an electronically controlled air suspension system that offers improved ride comfort, constant vehicle height regardless of load, and kneeling functions compared to traditional mechanical suspension systems. The key components of ECAS include an electronic control unit, solenoid valves, distance sensors, and optional pressure sensors. Newer versions of ECAS use CAN bus technology to network electronic systems and transmit information via standardized identifiers. The document discusses the configuration, functions, components, diagnostics, parameter settings, and other technical aspects of the ECAS system.
1. REPORT
SELF BALANCING ROBOT
May 3, 2016
Teru Komal Kumar, 12EE35018
Guide : Prof. Siddhartha Sen
Indian Institute of Technology, Kharagpur
Department of Electrical Engineering
1
3. Electrical Engineering Indian Institute of Technology, Kharagpur
1 INTRODUCTION
In this report, we discuss the process of building the self balancing robot from the scratch.
This robot uses the model of inverted pendulum as its reference model. The cart in this case
is made up of two wheeled differential drive. The robot that is built is inherently unstable
and without the action of an external controller, it would fall down. To stabilise it, the motors
need to driven in the appropriate direction.
The report is majorly divided into three sections. In the first section, we look at the system
overview i.e., different modules involved and their functioning. In the second section, we
worked on finding the parameters related to motor dynamics and the robot dynamics that
would help us in getting the state space equations. In the next section, we have discussed
about two control methods that would help us in stabilising the system namely the PID
control and the state space control.
Figure 1: Model of the robot developed for this project
Page 3 of 31
4. Electrical Engineering Indian Institute of Technology, Kharagpur
2 NOMENCLATURE OF SYMBOLS USED
τm Motor Torque
τa Applied Torque
Va Applied Voltage
Ve Back emf
R Armature resistance
IR Rotor Inertia
Km Torque Constant (N.m/A)
Ke Back emf Constant (V.s/rad)
i Armature current
Mw Mass of the wheel
Mp Mass of the chasis
Ip Robot Chasis Inertia
CL,CR Torque exerted by motors on the wheels
Hf Frictional force between the wheel and the ground
HL,HR,PL,PR Reaction forces between wheels and chasis
Kp Proportional Gain
Kd Differential Gain
Ki Integral Gain
Page 4 of 31
5. Electrical Engineering Indian Institute of Technology, Kharagpur
3 SYSTEM OVERVIEW
3.0.0.1 Mechanical system The basic structure of the robot is built from wood. The
wooden structure has two plates where the components like the motors, sensors and com-
munication module can be mounted.These plates can be moved up and down which would
help us in manipulating the centre of gravity of the bot. Two wheels of radii of about 5 cm are
used for the ’cart’ part of the system.
3.0.0.2 Electronic System The system contains 4 different modules which include Proces-
sor module, Sensor module, Actuator module and Communication module.
Figure 2: System Overview
3.1 Processor Module
Owing to our experience in working with Atmega processor as part of our coursework, we
have chosen Arduino Mega 2560 microcontroller as the processor for the robot. Some of its
desirable qualities include
1. It has 4 serial ports and hence can be used to communicate with multiple devices
simultaneously.
2. It has a onboard TTL-to-USB serial chip that allows for ease in communication with
the PC.
Page 5 of 31
6. Electrical Engineering Indian Institute of Technology, Kharagpur
Figure 3: Arduino MEGA 2560
3. It has 15 PWM pins which are helpful in controlling the actuators.
4. It also has a onboard FTDI chip that smoothens the process of burning the code on to
the processor.
Microarchitecture AVR
Clock frequency 16 MHz
Flash Memory 256 KB (8 KB bootloader)
SRAM 8 KB
Microprocessor ATmega2560
Word Size 8 bit
Operating Voltage 5V
EEPROM 4 KB
3.2 Sensor Module
In the system, we need two sensing elements. One is for determining the orientation of the
robot and another for sensing the angular position of the motor which effectively gives us the
linear displacement.
Page 6 of 31
7. Electrical Engineering Indian Institute of Technology, Kharagpur
3.2.1 Inertial Measurement Unit
For the orientation feedback of the robot, a 9 DOF (Degrees of Freedom) IMU was used. This
has 9 DOF through the combination of a Gyroscope, an Accelerometer and a Magnetometer.
The outputs of all sensors are processed by an on-board ATmega328 and transmitted over a
serial interface. It operates in different modes configured by the firmware uploaded in the
on-board Atmega 128. When placed over the bot, the IMU gives us the yaw, pitch and roll
(called as YPR from here on) of the system. The sensor encodes the values of YPR as double
precision floating point format and sends it through the serial output. The Rx and Tx pins are
connected to one of the serial ports of Arduino Mega and thus the data is transmitted.
3.2.1.1 Testing The IMU was tested and calibrated. For testing purpose, the IMU was
connected to the PC through a FTDI USB2Serial converter chip. A graphical interface was de-
veloped using software called Processing to visualize the results. Shown below is a snapshot
of the said visualization.
From the above tests, the geometric conventions of the IMU were found to be as below:
• X axis pointing forward (towards the short edge with the connector holes)
• Y axis pointing to the right
• Z axis pointing down.
• Positive yaw : clockwise
• Positive roll : right wing down
• Positive pitch : nose up
3.2.1.2 Calibration Process The precision and responsiveness of IMU can be improved a
lot by calibrating the sensors. If not calibrated there might be effects like
• Drifts in yaw when you apply roll to the board.
• Pointing up does not really result in an up altitude.
All three component sensors namely, gyroscope, accelerometer and magnetometer were
calibrated individually. The accelerometer was calibrated by moving the sensor slowly about
all the three axes and noting the extreme values of the sensor readings along them (this
accounts for the acceleration due to gravity). Gyroscope was calibrated by holding the
Page 7 of 31
8. Electrical Engineering Indian Institute of Technology, Kharagpur
Figure 4: IMU Testing in Processing software
sensor still for about 10 seconds. Magnetometer was calibrated by noting the maximum and
minimum values of the earth s magnetic field along each axis. The values obtained above,
referred as offset values, were incorporated in the firmware of the on-board processor of the
IMU.
3.2.2 Incremental Quadrature encoder
A 900 ppr incremental optical encoder was used for DC motor position feedback. It gives
two outputs (Channel A and Channel B) with phase difference depending on the direction of
the rotation. Direction of rotation can be identified by checking if a channel’s waveform is
leading or lagging the other. The Figure 5 demonstrates the waveforms.
Page 8 of 31
9. Electrical Engineering Indian Institute of Technology, Kharagpur
Figure 5: Quadrature signals of motor encoders
3.2.2.1 Testing The motor position was decoded from the quadrature signals using inter-
rupts triggered at rising edge of the two signals. The interrupt service routine was written
in assembly language for optimized execution. After successful position feedback from the
motors, P controller was implemented for position control of the motor with voltage as the
control input. The voltage was varied using pulse width modulation (PWM) at a frequency of
490 Hz. The result was imported in MATLAB and plotted as shown below.
Figure 6: Response of P controller on the motor position
Page 9 of 31
10. Electrical Engineering Indian Institute of Technology, Kharagpur
3.3 Actuator Module
The actuator module consists of two brushed DC motors and a motor driver IC.
3.3.0.2 DC Motor Two 12V, 170 RPM gear (1:30) motors with position encoders (with
specification as mentioned in the previous section) were used to drive the system. Each
motor has a stall torque of 15 kg/cm @ 12 V and 7.5 kg/cm @ 6 V. The stall current required is
1.8A @ 12V and 0.8 A @ 6 V. The motors are specified to run smoothly from 4V to 12 V.
Note: The above specifications are according to the datasheet provided by the vendor.
3.3.0.3 Motor Driver Motor driver board based on L298 was used. It can provide current
up to 2A. It can operate with PWM frequency as high as 20 kHz.
3.4 Communication Module
All the on-system communications are done through various Rx and Tx pins connected
across different modules. Wireless communication is used to control the motion of the robot
remotely and to track the motion of the robot in real time on our Personal Computer. For
this purpose, we have chosen to use Zigbee wireless protocol. It is mainly useful for short-
range low-rate wireless transfer. Its low power consumption limits transmission distances
to 10 to 100 meters. ZigBee has a defined rate of 250 kbit/s, best suited for intermittent data
transmissions from a sensor or input device.
Using this, the real time sensor data and the robot position could be sent to our Personal
computer and this data could be processed by some application like Labview or MATLAB
and plot the robot s movement. For this, we need a pair of Zigbee modules. One is connected
on board to the Arduino and the other is connected to our PC and they both are coupled.
Through this module, we could also control the movement our robot by giving the appropriate
commands through the keyboard. Thus the wireless module serves a dual purpose.
3.4.0.4 Testing Each module was connected to two different PCs and they were configured
with appropriate source and destination addresses using a software called XCTU. One of the
modules was connected to the Arduino communicating through the USART protocol. This
module then communicates with the other Zigbee connected to the PC.
Page 10 of 31
11. Electrical Engineering Indian Institute of Technology, Kharagpur
4 POWER CIRCUIT DESIGN
The current and power ratings of the various components of the system have been tabulated
below.
Components Voltage Ratings (volts) current rating (mA)
Arduino Mega 5 200
IMU Razor 3.3 10
Encoder 5 20
DC Motor 12 2*1800
Motor Driver 5 110
Zigbee 5 50
Total Current Requirement 3990
Total Power Requirement 45.133 W
As can be seen from the above table, the current requirements and the power requirements
are around 4 Amps and 45 Watts. A Li Po battery rated at 18.5 V, 2000mAH, 20C is used as
the power source for the entire system. Drawing the required current of 4 A will drain the
supply in about half an hour which is acceptable for our application. We use 7812 IC (voltage
regulators) to step down the 18.5 voltage to the required 12V. This reduces the efficiency of the
system but increases the stability in the supply voltage. Appropriate power distribution circuit
was developed with LEDs, diodes, decoupling capacitors and ON/OFF switches. Shown below
is the schematic of the same.
Figure 7: Power circuit schematic in Proteus
All the modules connect to the central processor, in this case, the Arduino MEGA. A shield
specific for this application has been developed for an easy-to-plug system. Shown below is
the labelled picture of the completed shield.
Page 11 of 31
12. Electrical Engineering Indian Institute of Technology, Kharagpur
5 DYNAMIC MODELLING
To develop a robust control system, we need to know the dynamics of the system. So, now we
derive the linear model of the DC motor and the equations of motion for the robot which
would help us in writing the state space equations of the system.
5.1 DC Motor Model
We are using two DC motors to drive the robot. The input to these motors is the voltage
applied which we are controlling in our system by varying the PWM output from the Arduino.
From this model, we get the relation between voltage applied and the controlling torque
required to balance the system.
In the DC motor, the armature current is developed as we connect a voltage source across
it. The torque produced τm is directly proportional to the this current i.
τm = kmi (1)
Also, as the motor rotates, a back emf Vem f is generated. This can be approximated to be
directly proportional to shaft velocity ω
Ve = keω (2)
We can ignore motor inductance for the purpose of modelling. Now, applying Kirchoff’s law
to the motor circuit, we have
Va −Ri −Ve = 0 (3)
The sum of all torques produced on the shaft is linearly related to the moment of inertia of
the rotor Ir i.e.,
τm −τa = IR
dω
dt
(4)
Substituting the value of Ve from Eq 2 in Eq 3 and rearranging the terms, we get
i =
−Keω
R
+
Va
R
(5)
Substituting the value of τm from Eq 1 in Eq 4 and rearranging the terms, we get
dω
dt
=
Kmi
IR
+
−τa
IR
(6)
Page 12 of 31
13. Electrical Engineering Indian Institute of Technology, Kharagpur
Substituting the value of i from Eq 5 in Eq 6 and rearranging the terms, we get
dω
dt
=
−KmKeω
IRR
+
KmVa
IRR
+
−τa
IR
(7)
The motor dynamics can be represented with a state space model, it is a system of first
order differential equations with parameters position θ, and velocity ω, that represents its
operation. The inputs to the motor is the applied voltage and applied torque.
˙θ
˙ω
=
0 1
0 −KmKe
IR R
θ
ω
+
0 0
Km
IR R
−1
IR
Va
τa
(8)
y = 1 0
θ
ω
+ 0 0
Va
τa
(9)
5.2 Model of the robot
We are equating our robot to a inverted pendulum. The two wheels act as the cart and the
robot chassis acts as the inverted pendulum. We first analyse the wheel dynamics and then
analyse the body dynamics which will eventually get us the state equations that govern the
motion of the system.
5.2.1 Equations for the wheels
We are writing the equations of motion with respect to two wheels. The different forces
acting on one of the wheels could be shown in the below figure. Since, both the wheels are
analogous, we could write for one of them and get the other easily.
From the Figure 8, the forces acting on the right wheel could be seen. Equating the forces
in the horizontal x direction, we get
Mw ¨x = Hf − HR (10)
Page 13 of 31
14. Electrical Engineering Indian Institute of Technology, Kharagpur
Figure 8: Free body diagram of the right wheel
Sum of moments around the centre of wheels is given by
Iw ¨ωw = CR − Hf r (11)
We know CR is nothing but the τm which we derived in the previous section Eq 4.By substitut-
ing Eq 7 in Eq 4 and rearranging the terms, we have
CR =
−KmKeω
R
+
KmVa
R
(12)
Substituting the value of CR in Eq 11, we get
Iw ¨ωw =
−KmKeω
R
+
KmVa
R
− Hf (13)
Rearranging the above equation to get Hf as the subject
Hf =
−KmKeω
Rr
+
KmVa
Rr
−
−Iw ¨ωw
r
(14)
Substituting this value of Hf in Eq 10, we get
Mw ¨x =
−KmKeω
Rr
+
KmVa
Rr
−
−Iw ¨ωw
r
− HR (15)
We can similarly find this equation for the left wheel which is
Mw ¨x =
−KmKeω
Rr
+
KmVa
Rr
−
−Iw ¨ωw
r
− HL (16)
Page 14 of 31
15. Electrical Engineering Indian Institute of Technology, Kharagpur
Since the centre of the wheel is moving in a straight line, we can approximate the angular
rotation into linear motion by simple transformations,
r ¨θ = ¨x (17)
r ˙θ = ˙x (18)
Using this transformations and rewriting the equations 15 and 16, we get the following
equations for the left and the right wheel respectively
Mw ¨x =
−KmKe x
Rr2
+
KmVa
Rr
−
−Iw ¨x
r2
− HL (19)
Mw ¨x =
−KmKe x
Rr2
+
KmVa
Rr
−
−Iw ¨x
r2
− HR (20)
Adding the above two equations and rearranging the terms, we get
2 Mw +
Iw
r2
¨x =
−2KmKe x
Rr2
+
2KmVa
Rr
−(HL + HR) (21)
5.2.2 Equations for the chassis
Figure 9: Free body diagram of the chasis
We are approximating the chassis to be the inverted pendulum in the above figure which
Page 15 of 31
16. Electrical Engineering Indian Institute of Technology, Kharagpur
shows us all the forces acting on it
By summing all the forces in the horizontal direction, we get
(HL + HR) = Mp ¨x + Mpl ¨θcos(θ)− Mpl ˙θ2 sin(θ) (22)
Now, summing the forces in the direction perpendicular to the pendulum, we have
(HL + HR)cos(θ)+(PL +PR)sin(θ)− Mp g sin(θ)− Mpl ¨θ = Mp ¨x cos(θ) (23)
Now, summing the moments around the centre of mass of pendulum, we get
−(HL + HR)I cos(θ)−(PL +PR)l sin(θ)−(CL +CR) = I ¨θ (24)
From Eq 12, we have
(CL +CR) = 2
−KmKeω
R
+2
KmVa
R
(25)
Substituting the value of (CL +CR) in Eq 24, we get
−(HL + HR)l cos(θ)−(PL +PR)l sin(θ) = I ¨θ +2
−KmKeω
R
+2
KmVa
R
(26)
Multiplying the Eq 23 by -l and equating its RHS with the RHS of Eq 26, we get
−Mp gl sin(θ)− Mpl2 ¨θ − Mpl ¨x cos(θ) = I ¨θ +2
−KmKeω
R
+2
KmVa
R
(27)
Substituting the value of (HL + HR) from Eq 22 in Eq 21 gives
2 Mw +
Iw
r2
¨x =
−2KmKe x
Rr2
+
2KmVa
Rr
− Mp ¨x − Mpl ¨θcos(θ)+ Mpl ˙θ2 sin(θ) (28)
The above 2 equations can be linearised by assuming θ = π + φ where φ is the small angular
deviation from the vertical axis. With this approximation, we have cos(θ) = -1, sin(θ) = −φ
and ¨θ = 0
Using the above approximations in the equations 27 and 28 and rearranging the terms,
we have
¨φ =
Mpl ¨x
Ip + Mpl2
+
−2KmKe
˙(x)
Rr Ip + Mpl2
+
−2KmVa
Rr Ip + Mpl2
+
Mp glφ
Ip + Mpl2
(29)
¨x =
2KmVa
Rr 2Mw + 2Iw
r2 + Mp
−
2KmKe ˙x
Rr2 2Mw + 2Iw
r2 + Mp
+
Mpl ¨φ
2Mw + 2Iw
r2 + Mp
(30)
Page 16 of 31
17. Electrical Engineering Indian Institute of Technology, Kharagpur
After substituting the above two equations in each other and some manipulation of terms,
we get the state space equations given by
˙x
¨x
˙φ
¨φ
=
0 1 0 0
0
2KmKe (Mp lr−Ip −Mp l2
)
Rr2α
M2
p gl2
α 0
0 0 0 1
0
2KmKe (rβ−Mp l)
Rr2α
M2
p glβ
α
0
x
˙x
φ
˙φ
+
0
2Km(Ip +Mp l2
−Mp lr)
Rrα
0
2Km(Mp l−rβ)
Rrα
Va
(31)
where α and β are given by
α = Ipβ+2Mpl2
Mw +
Iw
r2
(32)
β = 2Mw +
2Iw
r2
+ Mp (33)
x
φ
=
1 0 0 0
0 0 1 0
x
˙x
φ
˙φ
(34)
Thus we found the matrices A, B, C for the state space model of our system based on the
system parameters. We can find the transfer function for the input and output using the
equation below and the resulting transfer function is shown in the next section.
Y (s) = C (sI − A)−1
BU (s) (35)
5.3 Approximate values of system parameters
Here, we are approximately finding the values of system parameters to get a rough idea by
simulating the resulting transfer functions.
1. The mass of the wheel has been given in the buyer’s manual and the weight of the robot
is approximated to 4 kg.
2. Radius of the wheel and the length of the bot have been measured with the help of a
ruler
Page 17 of 31
18. Electrical Engineering Indian Institute of Technology, Kharagpur
3. The wheel is assumed to be a solid cylinder and its moment o inertia is thus found from
its mass and radius.
4. The moment of inertia of the robot is measured by approximating it to a rod with the
axis of rotation being perpendicular to it through one of the ends which gives us Ml2
3
5. The armature resistance is assumed to be 1 ohm.
6. The Km and Ke values are approximated to be 0.01 N.m/Amp and 0.01 V/rad/sec
respectively
Mp 4 kg
Ip 0.12 kg.m2
Mw 0.123 kg
Iw 0.00173 kg.m2
r 0.05 m
l 0.3 m
R 1 ohm
Km 0.01 N.m/Amp
Ke 0.01 V/rad/sec
6 CONTROL SYSTEM DESIGN
In this section we describe the detailed analysis of the dynamic model of the system formu-
lated in the previous section. An appropriate control system for the system is suggested by
various techniques. Hardware implementation of the same has also been commented on by
the end of the section.
The transfer function of the pendulum’s angular position, φ, to the input voltage, Va, can
be obtained from Eq 35. Solving it we get the transfer function as follows.
T (s) =
φ(S)
V (s)
=
αzS +γz
s3 −αp s2 −βp s +γp
(36)
Page 18 of 31
19. Electrical Engineering Indian Institute of Technology, Kharagpur
where,
αz =
2Km(Mpl)−2r Mw −2Iw
r − Mpr
Rr(Ipβ+2Mpl2(Mw + Iw
r2 ))
γz =
−4K 2
mKe(Ip + Mpl2
− Mplr)2
+4K 2
mKe(Mplr − Ip − Mpl2
)(Mpl −rβ)
R2r3(β)
αp =
2KmKe(Mplr − Ip − Mpl2
)
Rr2(Ipβ+2Mpl2(Mw + Iw
r2 )
βp =
Mp gl(Mp −β)
β
γp =
2KmKe Mp gl(Mplrβ− Ipβ− Mpl2
β+ Mpl2
−rlβ)
Rr2(β)2
β = 2Mw +
2Iw
r2
+ Mp
The open loop impulse response and step response of the system are shown in Figure 10
and Figure 11 respectively.
Figure 10: Open loop impulse response
Page 19 of 31
20. Electrical Engineering Indian Institute of Technology, Kharagpur
Figure 11: Open loop step response
6.1 PID Control
The control system problem is to find an appropriate compensator which places the closed-
loop poles at desired locations to achieve required transient response. Figure 12 shows the
structure of the compensated system with compensator transfer function given by C(s).
Figure 12: System Structure
The generic model of the PID compensator is given by Eq 37.
Page 20 of 31
21. Electrical Engineering Indian Institute of Technology, Kharagpur
C(s) =
Kd s2
+Kp s +Ki
s
(37)
Tuning the three gains, Kd, Kp and Ki, we can place the closed-loop poles at the desired
locations. Further analysis in terms of root-locus of the system can yield a detailed insight
into the system behaviour.
The root-locus of the plant without any compensator, plotted in MATLAB (with sample
system parameters for the purpose of qualitative analysis), is shown in Figure 13. The poles
of T (s) are located at 5.5651, -5.6041 and -0.1428. One zero is present at origin. The same can
be seen in the root-locus plot.
Figure 13: Root locus of the plant with varying gain
As can be seen, one branch (coloured blue) is always on the right side of the imaginary
axis. This establishes that for any value of the gain K chosen, the system can not be stabilized
without a compensator. To solve this, we add a pole (integrator) at origin to cancel the zero at
that location. This generates two poles branching out to the right-side of the s-plane as shown
in Figure 14. From the properties of root-locus we know that we can pull the poles to the
left-half plane by addition of zeroes. We observe that addition of one zero does not pull the
poles enough to the left-side to meet acceptable transient behaviour. Thus we add two zeroes
Page 21 of 31
22. Electrical Engineering Indian Institute of Technology, Kharagpur
at −3 and −4. The resulting root-locus is shown in Figure 15. Choosing the gain at appropriate
closed loop pole-zero location on the root-locus will result in a fully compensated system
meeting the transient response requirements. The system impulse response of pendulum
angular position with gain at 20 is shown in Figure 16. The poles for the final compensated
closed loop transfer function are as follows.
p1 = −84.0439+0.0000i
p2 = 0.0000+0.0000i
p3 = −3.5235+0.7157i
p4 = −3.5235−0.7157i
All poles are located on the left side of the imaginary axis indicating the stability of the
system. The response of the cart’s position is shown in Figure 17.
Figure 14: Root locus of the plant with integrator
This method allows for control of the pendulum position but provides no means for the
control of the cart position, as evidenced by Figure 17. The state-space method described in
the next section caters to this need.
Page 22 of 31
23. Electrical Engineering Indian Institute of Technology, Kharagpur
Figure 15: Root locus of the plant with PID compensator
Note that in the current hardware implementation, these gains were tuned using the
Ziegler-Nichols PID tuning algorithm. This is because of the unavailability of the value of
various system parameters.
6.2 State Space Control
The state-space control technique can be applied to Multi-Input, Multi-Output (MIMO) sys-
tems. Our system, when considering cart position control, is a SIMO (Single-Input, Multiple-
Output) system.
The system dynamics can be represented by
˙X = AX +BU
Y = C X
where matrices A, B and C are given Eq 31 and Eq 34. X is the state vector with four states
as cart position: x, cart velocity: ˙x, pendulum’s angular position from the vertical: φ and
Page 23 of 31
24. Electrical Engineering Indian Institute of Technology, Kharagpur
Figure 16: Root locus of the plant with integrator
pendulum’s angular velocity: ˙φ. The outputs of the system are cart position: x and pendulum
angular position from the vertical: φ
The state-space control uses full state feedback. The schematic is shown in Figure 18.
The state-space equations of the above system configuration is given as follows.
˙X = AX +BU = AX +B(−K X +r) = (A −BK )X +Br
˙X = (A −BK )X +Br
Y = C X (38)
where K = [k1k2 ···k3]
The feedback gain vector K can be easily found by representing the system in Phase-
Variable form. The characteristic equation of the system is given by
sn
+ an−1sn−1
+···+ a1s + a0 = 0
The state-space representation of the open-loop system in this form is given by Eq 39.
Page 24 of 31
25. Electrical Engineering Indian Institute of Technology, Kharagpur
Figure 17: Root locus of the plant with integrator
Figure 18: State feedback control loop structure
A =
0 1 0 ... 0
0 0 0 ... 0
. . . . .
. . . . .
. . . . .
−a0 −a1 −a2 ... −an−1
B =
0
0
.
.
.
1
C = c1 c2 c3 ... cn (39)
Page 25 of 31
26. Electrical Engineering Indian Institute of Technology, Kharagpur
The closed loop form is given by Eq 40.
A =
0 1 0 ... 0
0 0 0 ... 0
. . . . .
. . . . .
. . . . .
−(a0 +k1) −(a1 +k2) −(a2 +k3) ... −(an−1 +kn)
(40)
The characteristic equation of the closed loop system is given by Eq 41.
sn
+(an−1 +kn)sn−1
+(an−2 +kn−1)sn−2
+···+(a1 +k2)s +(a0 +k1) = 0 (41)
Let the desired characteristic equation be as follows,
sn
+dn−1sn−1
+dn−2sn−2
+···+d1s +d0 = 0
In the above two equations, by equating the coefficients to the desired coefficients we get
the values of Ki .
Ki+1 = di − ai
After placing the poles at the following locations, the system step response is shown in
Figure 19. The input is the step input for target cart position.
p1 = −8.4910+7.9283i
p2 = −8.4910−7.9283i
p3 = −4.7592+0.8309i
p4 = −4.7592−0.8309i
Page 26 of 31
27. Electrical Engineering Indian Institute of Technology, Kharagpur
Figure 19: Response of Cart’s position and Pendulum’s angular position under state space control
7 MATLAB CODE
The MATLAB code used for obtaining the above simulation results is shown from here on for
the reference of the reader.
clear all;
%%%%%%% System Parameter Values %%%%%%%%
Mp = 4;
Ip = 0.12;
Mw = 0.123;
Iw = 0.00173;
r = 0.05;
l = 0.3;
R = 1;
Km = 0.01;
Ke = 0.01;
g = 9.8;
b = 2*Mw + 2*Iw/(r^2) + Mp;
Page 27 of 31
29. Electrical Engineering Indian Institute of Technology, Kharagpur
% legend('x', 'phi')
%
% step_info = lsiminfo(y, t);
% cart_info = step_info(1)
% pend_info = step_info(2)
%%%%%%%%% PID Control %%%%%%%%
% Kp = 100;
% Ki = 1;
% Kd = 0;
%
% C = pid(Kp, Ki, Kd);
% T = feedback(P_pend, C);
%
% T2 = feedback(1,P_pend*C)*P_cart;
%
% t=0:0.01:10;
% impulse(T,t)
% title('Response of Pendulum Position to an Impulse Disturbance under PID Control: Kp =
% t = 0:0.01:5;
% impulse(T2, t);
% title('Response of Cart Position to an Impulse Disturbance under PID Control: Kp = 100
%%%%%%% Root locus analysis %%%%%%%
% rlocus(P_pend)
% title('Root locus of the plant with vaying gain')
% C_int = 1/s;
% rlocus(C_int * P_pend)
% title('Root locus of the plant with integrator')
%
% % zeros = zero(C_int * P_pend)
% % poles = pole(C_int * P_pend)
%
% z = [−3 −4];
% p = 0;
% k = 1;
% C_pid = zpk(z, p, k);
% rlocus(C_pid*P_pend)
% title('Root locus of the plant with PID compensator')
Page 29 of 31
30. Electrical Engineering Indian Institute of Technology, Kharagpur
% % %
% [k, target_pole] = rlocfind(C_pid*P_pend)
%
% k = 35;
% T = feedback(P_pend, k*C_pid);
% figure(1)
% impulse(T)
% title('Impulse response of the plant with PID compensator')
%
% T3 = feedback(1,P_pend*C_pid)*P_cart;
% figure(2)
% impulse(T3)
% title('Impulse response of the cart position with PID compensator')
% axis([0 10 −200 200])
%%%%%%% State−space control %%%%%%%
% poles = eig(A)
P = [−8.4910 + 7.9283i −8.4910 − 7.9283i −4.7592 + 0.8309i −4.7592 − 0.8309i];
K = place(A, B, P)
Ac = [(A − B*K)];
Bc = [B];
Cc = [C];
Dc = [D];
p = eig(Ac)
states = {'x' 'x_dot' 'phi' 'phi_dot'};
inputs = {'r'};
outputs = {'x' 'phi'};
sys_cl = ss(Ac, Bc, Cc, Dc, 'statename', states, 'inputName', inputs, 'outputName', outp
t = 0:0.01:5;
r = 0.2*ones(size(t));
[y, t, x] = lsim(sys_cl, r, t);
[AX, H1, H2] = plotyy(t, y(:,1), t, y(:, 2), 'plot');
set(get(AX(1), 'Ylabel'), 'String', 'Cart Position (m)');
set(get(AX(2), 'Ylabel'), 'String', 'Pendulum angle (radians)');
title('Step Response with State Space Control')
Page 30 of 31
31. Electrical Engineering Indian Institute of Technology, Kharagpur
REFERENCES
1. The Control of an Inverted Pendulum,[manual] Available at:<https://engineering.
purdue.edu/AAE/Academics/Courses/aae364L/2011/Fall_2011/lab3/manual>
2. Self-balancing two-wheeled robot,[report] Available at:<http://sebastiannilsson.
com/wp-content/uploads/2013/05/Self-balancing-two-wheeled-robot-report.
pdf>
3. Control Systems Engineering - Norman S. Nise
4. Exploring XBees and XCTU,[manual] Available at:<https://learn.sparkfun.com/
tutorials/exploring-xbees-and-xctu>
5. 9 DOF razor IMU calibration manual,[manual] Available at:<https://github.com/
ptrbrtz/razor-9dof-ahrs/wiki/Tutorial>
6. Arduino tuitorials on www.arduino.cc
Page 31 of 31