Hinweise zum Einsatz der Google Suche
Personensuchezur unisono Personensuche
Veranstaltungssuchezur unisono Veranstaltungssuche
Katalog plus


As Pdf

Development of an Embedded Control System for the Sensor and Actuator System of a Mobile Robot


Prof. Dr.-Ing. Klaus-Dieter Kuhnert
Dipl.-Ing. Jens Schlemper

Submitted by:

Manvir Singh (M Sc. Mechatronics)


In the era of Robots, robotics engineers are facing new challenges where autonomous driving is a prime requirement. At the same time, the number of different sensors and electronic components in the Robots are increasing which increases the complexity of the Robot control system. With the emergence of Embedded Systems all the sensors, actuators and electronic components of the Robots now days are mostly controlled by the Embedded system. Robots are used for different application in Industries, Space and Educational institutes. It is a big challenge for the engineers to improve the autonomous driving capabilities of the mobile Robots. This concept of autonomous driving includes SLAM (Simultaneous Localization and Mapping), odometry, and developing algorithms for locomotion, perception and intelligent navigation. In order to develop this kind of Robot, different kind of sensors and actuators are required for the purpose of prediction of its position relative to the reference position and to get the real time information about the surrounding. This information helps the Robot control system to be able to move precisely, avoid obstacles and construct a map of the known and unknown environment. Some sensors are used for sensing the external environment and some are used internally in the different parts of the Robots for measuring the different physical quantities.
Sensors used in the Robots are generally classified in two categories. Proprioceptive Sensors are used for measuring internal quantities or values like battery voltage, pressure, current consumption, wheel speed, wheel load, heading of the Robot etc. Exteroceptive Sensors are used to gather information about the Robot environment like distance from the obstacles and Robot position in the field (GPS, Accelerometer, Gyro, Ultrasonic Sensor, IR Sensor, Cameras and Laser Scanner etc). Proprioceptive Sensors are mainly used to measure kinematic and dynamic parameters of the Robot. Based on these measurements the control system controls the actuators to exert the torque by result of which the mechanical structure performs the desired operation. Kinematic are the joint positions, velocities and accelerations and dynamics parameters are pressure, forces and inertia. This project mainly deals with the Proprioceptive Sensors which include pressure sensor, angle encoder and current sensor. Servo motor is used as an actuator.


The sole aim of this project is to develop an Embedded Control System for the sensor and actuator system of a mobile Robot which can be used for measuring the physical quantities like pressure, current, steering angle and controlling the actuators of the Robot. This prototype can also be employed later for other mobile Robot platforms. This Embedded control system consists of the main computer Raspberry Pi, DC Servo motor as an actuator, a potentiometer and three sensors for measuring pressure, current consumption and steering angle.
The whole project is divided into three parts. The first part is to select and integration of the hardware. Next step is to program the hardware on LINUX™ platform and finally to develop a Graphical User Interface (GUI) to control the system and show the numerical values of different sensors and actuator using a Socket TCP/IP protocol.


The implementation of the project has been done in three steps:
Step 1: Hardware Integration
Step 2: Hardware Programming
Step 3: Graphical User Interface Development and Socket Programming
Hardware used in the project:
# Raspberry Pi
# Three Sensors (Pressure Sensor, Current Sensor and Angle Encoder)
# D.C Servo motor
# Potentiometer (Used to vary the duty cycle of the Servo motor)
# Analog to Digital (A/D) Converter
# Pulse Width Modulation (PWM) Controller

  • PWM Controller, A/D Converter and Pressure Sensor are connected to the Raspberry Pi using I2C bus. Raspberry Pi reads and writes the data from/to these devices.Since, the Angle Encoder, Current Sensor and Potentiometer are analog output devices therefore; they are connected to Raspberry Pi using an A/D converter which converts the analog values into digital form which is readable and interpretable by the Raspberry Pi. The Servo is connected to the PWM Controller which is further connected to the Raspberry Pi.

  • Block Diagram of the project
  • Software development has been done on Linux platform by using C and C++ programming languages.The main program is written on Raspberry Pi which is the main controller for the whole system.To develop the Graphical User Interface QT Creator is used as an IDE (Integrated Development Environment). It is a software platform which includes code editor, a compiler, a debugger and a GUI builder.For the remote communication the TCP/IP Socket programming is used. Raspberry Pi acts as a Server and a PC acts as a Client. The Client(Computer) uses a GUI to communicate and show the real time values of the different sensors and actuators. Client establishes the connection to the Server (Raspberry Pi) and the Server sends the real time data to the Client(Computer).It is an end to end connectivity between the Server and the client. The data is displayed on the Graphical User Interface (GUI) at the CLIENT end using QT Creator IDE.

  • Block Diagram of the project


    The figure below shows the Graphical User Interface developed in QT Creator. Connect button is used to connect the Client to the Server. The text field above the Connect button shows the status of the connection. If the connection is successful "Connection Established" is shown otherwise the text box shows the message "Server not reachable. Is it running". The five bars are used to show the percentage values from 0% to 100% and the text fields on the right side of the progress bars show the real values of the angle in degrees, current consumption in Amperes, pressure in Pascal, Duty Cycle % and the Servo impulse length in milli seconds.
    Block Diagram of the project