Integrated Design and Control Framework for Autonomous EV Charging Robot Platforms
Introduction
The growing adoption of electric vehicles (EVs) highlights the urgent need for efficient and reliable charging infrastructure. While traditional charging stations address some challenges, issues like manual connection, compatibility, and scalability persist. Additionally, large-scale EV adoption poses challenges to existing power systems, particularly in urban areas.
This project proposes an autonomous robotic arm integrated with an autonomous guided vehicle (AGV) to streamline EV charging. Using advanced robotics, artificial intelligence, and energy management, the system automates the charging process, enhancing user experience and grid efficiency. The robotic arm is designed to identify and connect with various EV models autonomously, utilizing YOLOv8 for real-time charging port detection. It supports both AC and DC charging standards, including CCS2, Type 2, and CHAdeMO.
The work integrates Robot Operating System (ROS2) and machine vision for precise operation, aiming to improve the scalability and sustainability of EV charging solutions. Simulation and cost analysis validate the feasibility of this system, contributing to more sustainable and grid-responsive EV infrastructure.
Design Methodology
Computer-Aided Design (CAD) plays a vital role in mechanical design, offering tools to create, modify, and analyze designs efficiently. Interactive CAD software like SolidWorks enhances design quality, accelerates robotic modeling, and improves the overall design process. This research focuses on developing a six-degree-of-freedom (6 DOF) robotic arm, widely used in research and industrial applications, inspired by the functionality of the human arm.
The robotic arm comprises a base, six links (representing the shoulder, elbow, and wrist), and an end effector. Each link is carefully designed to mirror human arm movements, ensuring precision and functionality. The base supports the entire structure and payload, while the links work together to provide a full range of motion. Advanced tools like MoveIt and YOLOv8 are employed to enhance motion planning and real-time port detection.
Key design considerations include functionality, degrees of freedom, motion range, and payload capacity. Servo motors with different torque ratings are strategically placed at each joint to optimize performance, reduce load stress, and ensure smooth operation. The system integrates advanced robotics and AI technologies, enabling seamless interaction with various applications, minimizing human intervention, and enhancing efficiency. This robotic arm demonstrates a balanced approach to performance and structural integrity, contributing to the advancement of automated solutions in research and industry.
Flowchart for effective approach for robotic design :
Specification of Robotic Arm:
Parameters of Robotic Arm:
Design of all parts and the Assembly of 6 DOF Robotic Arm :
Base Link
Link 1
Link 2
Link 3
Link 4
Link 5
Link 6
6 DOF Robotic Arm
Different Parameters of Robotics Arm
Meshing of the robotic arm
Comparison of Analysis of two materials
Finite Element Analysis of each link of Robotic Arm (Structural Steel)
(a) Deformation and Von Mises Stress Analysis on Link 1 (b) Deformation and Von-Mises Stress Analysis on Link 2 (c) Deformation and Von Mises Stress Analysis on Link 3 (d) Deformation and Von Mises Stress Analysis on Link 4 (e) Deformation and Von Mises Stress Analysis on Link 5 (f) Deformation and Von Mises Stress Analysis on Link6
Finite Element Analysis of each link of Robotic Arm (Aluminum Alloy)
(a)Deformation and Von Mises Stress Analysis on Link 1 (b) Deformation and Von Mises Stress Analysis on Link 2 (c) Deformation and Von Mises Stress Analysis on Link 3 (d) Deformation and Von Mises Stress Analysis on Link 4 (e) Deformation and Von Mises Stress Analysis on Link 5 (f) Deformation and Von Mises Stress Analysis on Link 6
Maximum Deformation
Maximum Stress
(a)
(b)
(c)
(d)
(e)
(f)
(g)
Multi-Body Dynamic Analysis Results of each Joint at payload of 2.5kg
(a) Dynamic Analysis of Joint 1 (b) Dynamic Analysis of Joint 2 (c) Dynamic Analysis of Joint 3 (d) Dynamic Analysis of Joint 4 (e) Dynamic Analysis of Joint 5 (f) Dynamic Analysis of Joint 6 (g) Color Scheme used in graph
Joint 1, connecting the base link and Link, allows the robotic arm to rotate horizontally around its base. The motor at this joint must generate enough torque to overcome the inertia of the entire arm as it rotates. Therefore, the dynamic analysis shows that the forces, both directional and total force, at joint are maximum when the robotic arm is at its maximum reach while minimum at its zero position. Joint 2 allows for up and down movement of the arm, similar to raising and lowering a human arm at shoulder. The motor must generate torque to lift the weight of the arm segments and any payload. The joint force is maximum at its maximum reach, and it changes with arm’s configuration, but force in Z direction is same at all times.Joint 3 enables the arm to bend providing an additional degree of freedom for flexibility and extension. The motor torque must account for both weight of arm and any external load. The total force and force in X direction at this joint is maximum at its reach and minimum at its initial position but force in Y direction is reversed. The force in Z direction is constant at each point of instance.Joint 4 connecting two links allows for pitch motion of the wrist which allows precise and high-speed movements. The torque of motor changes by changing the payload. The total force at this joint is maximum at the reach of the robotic arm while forces in Y and Z direction is minimum at the point. The force in X direction is constant all the time.Joint 5 allows the yaw motion in robotic arm enabling rotation in different axis. It requires focus on end effector and balancing of angular momentum. The total force during the dynamic analysis is maximum at the reach of the arm while force in X direction in inversed. The force in Z direction is constant all time. Joint 6 provides roll motion allowing the end-effector to rotate around its axis. This ensures the stability of the end effector and avoids vibration to achieve smooth motion. All the forces except force in X direction, are maximum at the reach of the robotic arm. The torque of this joint majorly depends on the payload. Below figures illustrate the initial (zero) and maximum reach of the robotic arm observed during the dynamic analysis simulation, respectively. With reference to the below Table , it can be observed that Joint 6 has lower forces acting as compared to other joint with highest force acting at Joint 1. Moreover, the force is increased along with the robot movement to its maximum reach.
Initial position at the 0th and 13th sec of the simulation.
Maximum reach at the 13th sec of the simulation during dynamic analysis
Table : Forces at each joint at different time of simulation
Dynamic Responses under Different Conditions :
Various dynamic analysis was performed under different payloads to observe the behavior of joint load at each joint of robotic arm. Also, external conditions were added like standard gravity acceleration to compare the difference in total moment acting on the robotic arm. The below table shows the comparison of torque at each robotic joint with and without external condition as earth gravity (g = 9.8066 m/s2). With the reference to the table, the moment acting on joints without gravity is much lesser that the case with gravity into consideration. It can be concluded that the data with earth gravity condition is more realistic and accurate to real-time analysis. It can also be validated by mathematical approach of calculating torque at each joint.
Comparison of Moment with presence and absence of Earth Gravity
The comparison of torque at joints of robotic arm with different payloads is shown in below table . It was observed that the torque or moment value at each joint is increasing with increase in the value of payload. Also, Joint 6 has minimum torque value as compared with other joints. The one exception is at Joint 2 where the torque is higher than Joint 1 as Link 2 of robotic arm is carrying weight of payload as well as weight of other links of robotic arm which is not perpendicular to the direction of earth gravity.
Comparison of Moment at Joint with different payload values
The below figure shows the comparisons of joint moment at all six joints of robotic arm with respect to simulation time (0 to 26 sec) carrying a payload of 2.6 kg. The graph depicts that change in torque at joint is symmetric with respect to simulation time to extract to the maximum reach and time to retract to its zero (initial) position
Graph for Toque at Joint vs Time
Color representation of joint torques
Mathematical Validation
Validating results from simulation software like Ansys with a mathematical approach is crucial because it ensures accuracy. Since Ansys use numerical methods that involve approximations, a mathematical check helps confirm whether those approximations are giving us reliable outcomes. Second, the software uses algorithms to solve complex equations and simulate physical behavior. A mathematical approach ensures these algorithms follow the laws of physics, like Newton's laws or Hooke's law, which keeps the results grounded in reality.In engineering, where safety and performance are vital, this mathematical validation builds confidence in the software’s results. It reassures engineers that the decisions they make, based on these simulations, will lead to safe and efficient designs ensure that everything aligns with both theory and practical needs.Various aspects and results of the project are validated using mathematical approach.
Torque Calculation
The torques are calculated mathematically because of two reasons. First, to validate the results of Ansys software and second, to calculate the joint forces for motor selection. Joint torque plays a crucial role for selection of motors for each joint in order to get efficient design. Torque (T) normally is calculated by:
T = F X l
Where, F is the force and l are the distance.
In the project of designing robotic arm, joint force depends on weight of links of robotic arm, length of the links and the payload (P). Force can be taken as weight of the link and distance can be calculated by half of the link length (L/2). Weight of the link can be calculated by mass X acceleration due to gravity (g). Mass (m) can be referred from CAD software (SolidWorks) by navigating to mass properties. Hence,
T = W X L/2
T = m X g X L/2
For 6 DOF robotic arm, which consists of 6 links of different sizes and a payload, torques for each link can be calculated as:
T6 = W6 *(L6/2) + P*L6
T5 = W5 *(L5/2) + W6 *(L5 + L6/2) + P*(L5 + L6)
T4 = W4 *(L4/2) + W5 *(L4 + L5/2) + W6 *(L4 + L5 + L6/2) + P*(L4 + L5 + L6)
T3 = W3 *(L3/2) + W4 *(L3 + L4/2) + W5 *(L3 + L4 + L5/2) + W6 *(L3+ L4 + L5 + L6/2) + P*(L3 + L4 + L5 + L6)
T2 = W2 *(L2/2) + W3 *(L2 + L3/2) + W4 *(L2 + L3 + L4/2) + W5 *(L2 + L3 + L4 + L5/2) + W6 *(L2 + L3+ L4 + L5 + L6/2) + P*(L2 + L3 + L4 + L5 + L6)
T1 = W1 *(L1/2) + W2 *(L1 + L2/2) + W3 *(L1 + L2 + L3/2) + W4 *(L1 + L2 + L3 + L4/2) + W5 *(L1 + L2 + L3 + L4 + L5/2) + W6 *(L1 + L2 + L3+ L4 + L5 + L6/2) + P*(L1 + L2 + L3 + L4 + L5 + L6)
Where the subscripts 1-6 represents Joints 1-6, respectively. Considering mass and length of each link with payload of 2.6 kg, joint torques are calculated and tabulated in below table. These torque values will be used to shortlist and select the motor for each joint. Usually, motor has specification in terms of kgf-cm (1 N-m = 10 kgf-cm).
Vibrational Analysis
Vibration analysis is a critical aspect involving rotating machinery, structures, or components subjected to dynamic forces. Understanding vibration behavior is essential for ensuring structural integrity, performance, and longevity. It is as an oscillatory motion in a system about its equilibrium position. Typically, vibration analysis is used to unwanted motions which can lead to fatigue, failure, noise, or any performance issues. The analysis usually focuses on the natural frequency of the system and the forces that cause excitation. The equation of motion is a combination of inertial force, damping force and stiffness force which can be derived as:
mx”(t) + cx’(t) + kx(t) = F(t)
Where, x(t) is the displacement of the mass from the equilibrium position, x’(t) is the velocity, x”(t) is the acceleration, F(t) is the external force applied to the system and k represents stiffness of the material.In vibration analysis, stiffness directly affects the natural frequency of a system:
ωn =
In real world, energy is dissipated in a vibrating system in the form of heat, friction, or internal material resistance which is known as damping. Damping reduces the amplitude of vibration over time. It is calculated as a damping factor:
ζ =
In modal analysis, the equation of motion is rewritten as:
u” + 2 ωn ζ u’ + ω2 u = f
This equation is used to calculate frequency at any mode shape by considering natural circular frequency and damping factor. Moreover, in modal analysis, damping factor a jth mode can be calculated with a formula:
ζj = ζ + +
where α is mass coefficient and β is stiffness coefficient which is proportional to frequency. ζ is a baseline damping ratio that applies to all modes and does not change with frequency. Mass proportional damping expression is inversely proportional to the natural frequency and to dominate at low frequencies. This type of damping is significant for modes where inertia effects are dominant. Stiffness proportional damping expression represents damping that is directly proportional to the natural frequency and becomes more significant at higher frequencies. This type of damping is more relevant for modes where stiffness dominates the system's response, i.e. at higher frequency modes.
Control Simulation of the Arm
This section is limited to the virtual control of the robot using simulation applications supported by ROS 2. The ACRA is controlled through various control systems and algorithms. The ACRA runs on robot operating system 2 (ROS2). The ROS2 framework has many prebuilt libraries for supporting a wide range of autonomous navigation functions and manipulator control. Initially an URDF (Universal Robot Description File) was created from the mesh files using plugins. The generated URDF was modified with ROS2 control plugins and ROS2 Gazebo plugins. The robot launch file for visualization is created and the robot was successfully spawned in the RViz2, and Gazebo windows as shown in Figure (a).
(a) Robot Model in RViz using URDF
(b) Goal position definition of the TCP.
(c) Application of Forward Kinematics to move the TCP.
The control was successfully applied over the robot. The forward kinematics were applied using python program through RViz to move the arm using known joint angles. Figure (a) shows the results of various positions of the robot using forward kinematics were tested in the simulations using ROS2. Then the configuration files for the joint states and kinematics solvers were set up. The kinematic and dynamic library (KDL) algorithm is used to perform the inverse kinematics of the robot to determine its joint angles using specified coordinate. MoveIt is a platform developed specifically for robotic arms. MoveIt provides various motion planning algorithms, kinematics, perception, and control for manipulation of robotic arms. For the next step MoveIt package was created using MoveIt setup assistant using the URDF defined. The package was then built. The launch file to launch the robot in the Rviz and to set up motion planning algorithms along with controller manager were initialized and executed. The inverse kinematics were done using the KDL algorithm and the robot is simulated as shown in figure (a),(b),(c) in RViz to visualize the movement and the joint states. The simulation of the arm for various positions using forward kinematics where manual jogging was implied and inverse kinematics where the TCP (Tool Centre Point) position to go were provided are tested and the results are visualized successfully using RViz in ROS 2 and are shown in figure (e) and figure (f).
(d) Goal position reached using motion planning and Inverse kinematics
(e) Goal position A
(f) Goal position B
Charging Port Detection Using YOLOv8
The charging port detection is done through various vision tracking algorithms. Here, upon employing Ultralytics YOLOv8.0.20 alongside Python-3.10.12 and torch-2.1.0+cu118 on a Tesla T4 GPU with 15102MiB memory, we've trained a robust charging port detection model. This model boasts a complex architecture, featuring 168 layers and a total of 11,128,680 parameters. Moving into the evaluation phase, the model showcased exceptional accuracy across diverse charging port classes. The proposed model showcases strong performance in detecting CCS1 charging ports, with a recall rate of 100%, resulting in a high mean Average Precision (mAP50) score of 0.962. Similarly, for Type1 charging ports, the model achieves a notable precision of 92.4% with a perfect recall rate of 100%, yielding an impressive mAP50 score of 0.993. While slightly lower in precision at 90.8%, the model maintains a respectable recall rate of 82.6% for CHAdeMO ports, showcasing its capability to accurately detect these ports. Furthermore, this model demonstrates impressive precision at 92.2% for GB-T charging ports, accompanied by a recall rate of 92.3%, indicating reliability in accurate identification. With a precision rate of 68.7% and a recall rate of 100%, the proposed model also exhibits reliable performance in detecting Tesla charging ports, ensuring accurate identification within charging networks. Additionally, for Type2 charging ports, the model achieves a precision rate of 69.2% and a recall rate of 94.1%, maintaining commendable accuracy across charging infrastructure. During both training and validation stages, a visual output displaying bounding boxes is generated, showcasing the detection results for the seven classes of charging ports (see below figure).
Predicted output of the proposed model for different inputs during training and validation
A confusion matrix is crucial for evaluating a classification model's performance, providing a detailed breakdown of predictions versus true classes. Additionally, the below figure illustrate key performance metrics visually. Figure (a), the recall confidence curve, shows how the model's ability to identify instances changes with different confidence thresholds. Figure (b), the precision-confidence curve, demonstrates how precision varies with confidence levels. Lastly, Figure (c), the precision-recall curve, highlights the trade-off between precision and recall, emphasizing the relationship between predicted positives and actual positives.
Confusion matrix for different classes
The F1 score, a measure of a model's accuracy that considers both precision and recall, further elucidates the performance of the charging port detection model across various classes. Notably, for CCS1 charging ports, the F1 score reflects a strong balance between precision and recall, resulting in an F1 score of 0.901. Similarly, for CCS2 charging ports, the model achieves a remarkable F1 score of 0.969, indicating high precision and recall rates. Moreover, the F1 scores for CHAdeMO, GB-T, Tesla Model-S, Type 1, and Type 2 charging ports underscore the model's effectiveness in accurately detecting these specific port types, with F1 scores ranging from 0.865 to 0.808. Overall, the F1 scores provide comprehensive insights into the model's performance and its ability to balance precision and recall across diverse charging port classes (Figure (d)).
(a)
(b)
(c)
(d)
In the analysed graph (see below figure), the training process of a YOLOv8 object detection model is observed. The loss curves (training and validation) depict a reduction in error over epochs, indicating the model's increasing competence in identifying objects within the training data. This is further corroborated by the improvement in precision and recall metrics observed after the 25th epoch, signifying a balance between correctly identifying detections and capturing all objects within the image. These findings suggest the model's successful learning process in object detection tasks.
Training progress of the proposed YOLOv8 model, Loss curves and metrics (precision and recall)
Conclusions
This iteration of the paper is dedicated to the design, analysis, virtual control, YOLOv8 based charging port and type detection, and simulation of the ACRA. The mechanical structure of the robot was designed, and the analysis was done based on various parameters such as stress and strain. The stability and the robustness of the arm was concluded from the positive results attained from the analysis. Furthermore, the virtual control of ACRA was successfully developed with RCLCPP and RCLPY libraries present in ROS2.The kinematics solvers and planning algorithms were also tested and implemented. The RRT star planner was chosen, and the planning time was optimized for simulation of the digital twin. Various points were tested for optimizing the motion planning and the results were obtained successfully. Future works are to be implemented and it shifts focus towards hardware control. It includes the development of the hardware interface for the simulated robot to bridge the gap between the real world and the simulated environment, to implement closed loop control with the actuators and to improve the accuracy by calibration of the robot joints using hardware and software controls. The hardware interface helps in real time bidirectional data exchange, therefore the sensor and camera data acquired can be seamlessly processed at a faster rate enabling control algorithms to work with more accuracy. Closed loop controls also increase the adaptability and response of the ACRA which are very much essential outputs for HMI (Human Machine Interface). Then a depth camera is to be mounted on the robot to orient the charger plug according to the socket position of the vehicle and it also aids in the coordinate extraction with the help of various machine vision algorithms. The ACRA can be installed in various electric vehicle charging stations to make the charging process autonomous. In addition, it can provide several advantages over manual charging methods such as reduced waiting time, prevention of overcharging and hassle-free handling of the plug.