ABatRe-Sim: A Comprehensive Framework for Automated Battery Recycling Simulation
Abstract
With the rapid surge in the number of on-road Electric Vehicles (EVs), the amount of spent lithium-ion (Li-ion) batteries is also expected to explosively grow. The spent battery packs contain valuable metal and materials that should be recovered, recycled, and reused. However, only less than 5% of the Li-ion batteries are currently recycled, due to a multitude of challenges in technology, logistics and regulation. Existing battery recycling is performed manually, which can pose a series of risks to the human operator as a consequence of remaining high voltage and chemical hazards. Therefore, there is a critical need to develop an automated battery recycling system. In this paper, we present ABatRe-sim, an open-source robotic battery recycling simulator111The simulation platform is open-source and accessible at https://github.com/hwan30/ABatRe-Sim., to facilitate the research and development in efficient and effective battery recycling automation. Specifically, we develop a detailed CAD model of the battery pack (with screws, wires, and battery modules), which is imported into Gazebo to enable robot-object interaction in the robot operating system (ROS) environment. It also allows the simulation of battery packs of various aging conditions. Furthermore, perception, planning, and control algorithms are developed to establish the benchmark to demonstrate the interface and realize the basic functionalities for further user customization. Discussions on the utilization and future extensions of the simulator are also presented.
I Introduction
The past decade has witnessed an explosive growth in Electric Vehicles (EVs) due to their environmental friendliness, contribution to energy security, and cost reduction in operation and maintenance. As a result, there has been a concurrent surge in the number of spent lithium-ion (Li-ion) batteries; it is estimated that the amount of spent Li-ion batteries will hit 2 million metric tons per year by 2030 [1]. The spent battery packs contain valuable metals and materials (e.g., cobalt, nickel, lithium, and manganese) that account for more than half of the battery’s cost and can (and should) be recovered, processed, and reused. However, only a very small portion of batteries are recycled in a limited number of mass battery recycling plants [1]. These factories mostly rely on manual labor, and due to the remaining high-voltage of battery packs and chemical hazards, specialized training is required for workers. Moreover, the labor involved in battery recycling is often monotonous and repetitive, making it a prime candidate for robotic automation to improve the operation efficiency and address the issue of labor shortage.
Developing robotic systems for automated battery recycling, however, is a daunting task due to the great complexity of battery packs that involve various materials, wires, metals, and sensors. Those components come with various aging conditions and are inter-connected with complicated structures. Dexterous and precise motions are required in order to perform challenging operations such as pulling, unscrewing, and lifting to successfully dismantle the batteries without damaging the chemical packs in the battery cell. Furthermore, proper operation procedure needs to be established to minimize the battery pack damages. Despite tremendous interest, the development of robotic battery recycling is still in its infancy. Existing robotic systems under exploration are only designed for very specific tasks, such as unscrewing [2], and gripping and cutting [3]. A comprehensive robotic solution to recycling is very much lacking.
Since a battery pack is generally costly and burdensome to acquire, maintain, and manage, there is a critical need for a comprehensive simulation platform to facilitate the development of enabling robotic battery recycling technologies, including perception, planning, and controls. Towards that end, several simulation platforms have been attempted. For example, [4] focuses on the sorting problem in battery recycling where battery parts are positioned flat on the ground and sorted by a manipulator. Note that it is oversimplified without considering the most labor-intensive part of the process - disassembly. In [5], the battery pack is treated as a single object and a cutting procedure is simulated. However, the simulation offers limited fidelity as the module remains unchanged visually throughout the simulation, inadequate to provide a realistic and high-fidelity representation of the battery systems. It is noted that [6] analyzes the battery packs and provides insights on the methodology of the general disassembly process, which is useful for designing corresponding robotic procedures. The simulation of a custom bit-changing tool to unscrew bolts is also studied in [7, 2], which, however, only include one specific procedure (i.e., unscrewing) of the battery disassembly process. In summary, despite some advances, a comprehensive simulation framework that can support the development of robotic battery recycling still falls short.
In this paper, we present a comprehensive simulation platform for robotic battery recycling studies. The goal is to provide a versatile simulation tool for researchers and practitioners in the field to develop and refine processes and algorithms (e.g, perception, planning, and control) to enable efficient and effective robotic procedures. Towards the goal, we develop a simulation platform that treats the disassembly process of a generic EV battery pack consisting of 4 modules with inter-connected bolts and cables. We import the battery pack specifications from a Computer-Aided Drawing (CAD) model into Gazebo, enabling object interactions by exploiting its physics engine. Procedures such as unscrewing, pulling, and lifting are included to simulate the essential tasks that arise in the disassembly process. Furthermore, a default robot arm and sensor set is provided with benchmark perception, planning and control algorithms to demonstrate the interface and offer basic functionalities for further extensions. Overall, the open-source platform provides an efficient yet representative simulation of the robotic disassembly process, which can be used to develop, evaluate, and test relevant algorithms.
The rest of this paper is organized as follows. Section II introduces the development of the simulated hardware and environment while the benchmark perception, planning and control algorithms are presented in Section III to demonstrate the interface. The utilization and extendability of the simulation framework is discussed in Section IV. Finally, conclusions are drawn in Section V.

II Simulation Platform Development
The major components of the developed simulation platform are depicted in Fig. 1, which includes a battery pack model, a sensor set for perception, and robot arm and end effector for manipulations. More specifically, the battery pack model is created as a CAD drawing and imported into Gazebo as an interactive object. The perception sensor provides measurements (e.g., RGB image and 3D point cloud) necessary for perceiving the scene to guide robot operations. Lastly, a manipulator – a combination of robot arm and end effector – is used to realize robotic operations to disassemble the parts in the battery pack. We next present the details of each module in the following subsections.
II-A Battery pack modeling
Despite the growing interest in robotic battery recycling, a suitable model integrated in robotic operating system (ROS) is still lacking. The CAD drawings of battery packs are considered proprietary information by the EV companies and are generally not available to the research community. The complexity and technical details make it challenging to create such drawings. Furthermore, importing such complex models into ROS-based simulation environment presents a challenge, as the complexity of these models can lead to unexpected behaviors in the physics engine of simulators such as Gazebo [8]. While some sorting tasks have been simulated in the Gazebo environment, they typically involve objects that are either lying flat on the ground [4] or imported as a single piece [5]. To our knowledge, a simulation platform involving stacked or assembled battery objects is largely unavailable.
To address the aforementioned challenges, a detailed battery model is created in SolidWorks with major components necessary for robotic disassembly. As shown in Fig. 2, the silver blocks represent battery modules, connected by high voltage cables in orange. The switch on the right side (orange) is Manual Service Disconnect (MSD), which, when unplugged, breaks down the pack voltage by half. The orange box on the left side is the contactor box, which contains high-voltage relays (contactors). The two orange lines on the left-hand sides are the positive bus bar and the negative bus bar, respectively. The red box is the BMS controller which is the “brain” of the battery pack (marked red only for demonstration purpose). The components mentioned above account for the major structural parts of the battery pack. Since adding more components of the same category only involves repetitive work, we designed a generic EV battery pack with four modules in Gazebo simulation, as shown in Fig. 1. This battery pack also includes the battery base, two cables, positive and negative bus bars, one contactor, one MSD, and multiple bolts.
In this framework, we will demonstrate the detection and disassembly of three main classes: bolts, cables, and modules. The shape is imported through model editors. Its physics properties are further hand-modified in XML scripts to reduce the processing workload. Each component is set to static in its XML script, but will only be replaced with a movable version prior to picking due to the fact that fewer interacting parts will reduce the physics engine processing load. For example, movable bolts will be spawned prior to the unbolting action while static bolts will be simultaneously deleted. The same approach is applied to cables and modules. In this way, a seamless transition is achieved without noticeable visual differences. We use the built-in physics engine in Gazebo to simulate the object interactions. Specifically, we exploit the grasp plugin libgazebo_grasp_fix.so
[8] to establish a connection between two components when the gripper approaches a particular position, and the object can be dropped from the gripper when it is open.

We have also taken into account scenarios where the battery pack is received damaged or in an imperfect condition, which could be due to internal failure, transportation damage, or aging. To address these imperfections, we have created image filters that are available to simulate such conditions. Fig. 3 illustrates four simulated conditions that could occur when a pack is received at the disassembly station. Image A depicts a dent or deformation that could occur after the pack is pressed by other objects, resulting in convex shapes on the right edges of the two packs on the right. Image B simulates the case of an old improperly maintained pack where coolant leaked out, leaving behind corrosion and green coolant residuals. Image C simulates a long-sitting pack where a light layer of dust is present on top. Image D simulates the result of careless disassembly, where the pack is left with multiple marks on the metal and paint surfaces. These scenarios account for the possibility of a poorly maintained or transported battery pack. We plan to continue adding more scenarios to improve the capability of simulating real-world situations.

II-B Robot manipulator and sensing modality
While a number of robot arms can be used for this application, we use Universal Robot 10, a 6-axis robotic arm, as the default in the simulation platform. Note that the user can choose other robotic arms in the simulation (see Section IV for more details). In ROS, robots are described using Unified Robot Description Format (URDF) files, which describe the robot’s joint structures and kinematic relations. The files can include additional details such as the visual and collision properties of links, joints, sensors, etc. XACRO files (XML Macros) are extensions of URDF that allow for smarter and more modular descriptions of robots. Mesh files provide 3D models for the visual representation of robots in simulations. These files are often in STL or Collada format. The package for the robot is referenced from the Universal Robot Github Page [9]. Moreover, as shown in Fig. 4, two types of grippers are incorporated with the robot arm to facilitate the battery disassembly. Specifically, a Robotiq gripper [10] is utilized for the first two operations, which involve unscrewing the bolts and removing them as well as lifting the cables. Following the removal of these parts, a vacuum gripper is employed to pick up the modules. The vacuum gripper is driven by the libgazebo_ros_vacuum_gripper.so
, which essentially creates linkages between objects when a service is called. The animation resembles that of a vacuum gripper. The robot arm and gripper are connected by creating an additional link in-between. The robot and gripper files are open-source ROS packages on GitHub [9, 10]. Inspirations from other researchers’ integration with Universal Robots [11, 12] also contribute to this project.

Furthermore, a sensor is needed to understand the scene, i.e., identifying and localizing the position of the objects. To that end, we adopt Kinetic RGB-D camera as the sensor modality, which is placed on top of the battery pack, as depicted by the green object in Fig.1. In Gazebo, the Kinect has a ready plugin that renders color and depth images through ROS topics. In our node, the color image is streamed into the object detection node for inferencing different battery parts (see Section III-A) and the depth image is then used to generate the target positions to guide the manipulations.
III Benchmark Algorithm Implementation
In this section, we describe the benchmark perception, planning, and control algorithms that come with the simulation platform, which demonstrates how to interface the simulation modules described in Section II and provides basic functionalities for customized extensions. Fig. 5 depicts the interaction between the software and the simulated hardware. Specifically, RGB images from the camera are consumed by the perception node, and a deep learning algorithm is employed to detect various parts of the battery pack (e.g., screws, cables, battery module). A high-level task planner is then used to determine the disassembly stage and subsequently the next item to remove. The target position is then retrieved from the depth image, which is subsequently sent to the low-level planning and control algorithms for low-level disassembly executions. We next present the details of the algorithms in the following subsections.

III-A Deep learning for object detection
Detecting various parts of the battery pack is a key step to perform disassembly. Deep learning-based techniques have been widely used for object detection and have received significant attention in recent years. There are numerous machine learning frameworks such as PyTorch and TensorFlow, and there are also open-source implementations that use pre-trained models for common objects with webcams. However, it should be noted that although there exist many Gazebo simulation integrations for object detection, fewer of them use more recent frameworks like TensorFlow 2 and recent learning algorithms like YOLOv5.
For the object detection task, we utilize TensorFlow 2.11.0 to deploy the learning algorithm. The model architecture is constructed with SSD ResNet50 V1 FPN 640x640[13], which is selected from the open-source TensorFlow model zoo. The model structure is shown in Fig. 6. Different from SSD [14] that uses VGG16 as its backbone, the SSD ResNet FPN uses ResNet50 as the backbone and provides additional convolutional layers for classification [15]. ResNet50 is a deeper backbone than VGG16 as it has 50 layers and it is introduced to address the problem of vanishing gradients in deep neural network [16]. The architecture also utilizes Feature Pyramid Network (FPN) for better feature extraction. FPN is a type of multi-scale feature extraction method that enhances the detection of objects of varying scales and sizes [17].

The task of image labeling is known to be a laborious process, requiring significant investments in time and human resources. Our research has determined that a dataset consisting of 120 labeled images is sufficient for our model to detect all three classes in a simulated environment, which exhibits lower complexity than real-world images. For the effective deployment of this approach in real-world applications, a larger dataset, and a corresponding increase in the volume of labeled images, will likely be needed. To account for different conditions in the real world, data augmentation techniques [18] is applied to extend the dataset, enabling tests under a broader range of conditions. Specifically, a data augmentation script is included in the simulation framework to characterize more variations in the data and improve the robustness of the models trained on the dataset. The tool can enlarge the dataset with random brightness, contrast, crop portion, flip orientation, Gaussian noise level, and rotation position. A sample of the enlarged dataset, consisting of eight distinct pictures, is shown in Fig. 7.

The model training is performed on a separate computer with Ubuntu 20.04LTS operating system, an Intel Core i9-9820x CPU, and two NVIDIA GeForce RTX 2080Ti GPUs. In our training process, we specified the number of classes to be 3, the batch size to be 4, the warm-up steps to be 2000, and the training steps to be 25000. The entire training process took 1 hour 15 minutes and 9 seconds. Once the training is complete, the model is exported as a benchmark model for object detection purposes. The following are the final training metrics: classification loss of 0.03157, localization loss of 0.01083, regulation loss of 0.01415, and total loss of 0.05655. The exported model can then be employed for inferencing objects of interest. The inference node and Gazebo simulation were experimented on a Dell Precision PC with an Intel i7-11700 CPU and no dedicated GPU, and we only experience a small amount of latency.
The streaming of Kinetic camera images, object detection inference, and the communication of the process information (stage flags, coordinates) are all integrated into a single Python script called Vision Algorithm. The pseudo code for this module is shown in Algorithm 1, which processes the image and generates the bounding boxes with corresponding pixel coordinates. The pixel coordinates are transformed into the coordinates under the world frame, which are then passed to the planning and control module.

III-B Planning and Control
The planning and control algorithm of robotic motion is designed using the components from the open-source ROS package, MoveIt!, and can be further modified by users with the functions provided in the demo. MoveIt! is a comprehensive software framework for robotic motion planning and manipulation. Once a robot is set up and initialized in the MoveIt! configuration, users can conveniently finish the task of planning and control for the robot through the API provided. By employing the Planning Scene Interface, users can add the collision objects in the scene to achieve collision-free planning. The arm (Arm group) and the gripper (Gripper group) are powered by MoveGroup, which is a component of MoveIt! that provides interfaces for controlling motion planning and execution. In our demo, we exploit the Rapidly-exploring Random Tree (RRT) [19] algorithm for the planning of the robot as a C++ node in ROS, which makes it convenient for users to edit their own planning and control algorithms if necessary. With the Kinematics and Dynamics Library, we obtain a group of joint angles given a desired pose in the Cartesian workspace. Then we iteratively take samples in the joint configuration space and use the functions that MoveIt! provides to check the validity of the sampled states. As the iteration progresses, a collision-free joint trajectory is then generated. When every point in the joint configuration space has the same probability of being sampled, this algorithm can be guaranteed successful if there is a feasible path. Taking some biased sampling strategy can accelerate the progress. Having obtained a feasible joint trajectory, we then use the Iterative Spline Parameterization algorithm from MoveIt! to interpolate a timed trajectory that is executable for the robot.
The planning algorithm discussed above is outlined in Algorithm 3. To briefly explain, Lines 4-11 initializes the algorithm. Line 5 obtains one group of joint configuration which complies with the given target pose , and the validity of is checked. Then a tree structure is initialized, where is the set of nodes, and is the set of edges. One node has two components, one being the joint configuration , and the other being the distance to the root of the tree, i.e., . In the while-loop, we first take the biased sampling, which has a probability of 0.2 for choosing as a result and 0.8 for uniform sampling. Then with the sampled , the nearest node is found. In Line 15, function is used to replace with if is too far away from or too close to , in order to efficiently explore the joint configuration space and find a feasible trajectory. After verifying the validity of the edge , is added to the tree . In Line 22-23, the neighboring nodes of is checked to see whether those nodes are closer to , if their ”father” node is changed to . If is added to the tree, a valid trajectory is then obtained by back-propagation in the tree from .

In our simulator, high-level control actions, such as unscrewing bolts, removing cables, and lifting modules, are executed based on different stage flags as shown in Algorithm 2, while the C++ node handles low-level trajectory generation and inverse kinematics. In order to initiate the simulation, it is crucial to launch all necessary functions, such as Gazebo world, frame transformation, vision, and control in ROS nodes, and establish communication through ROS topics. For the disassembling task, the first step is to unscrew the bolts. The detected bolts are appended to a list for preparation in the perception node. The first item in the list has its coordinates sent to the frame transformation node, which converts the coordinate frame to the camera frame and then to the world frame for the robot to pick up. Given the corresponding pose of targets, a collision-free trajectory for the robot is generated and executed by the C++ node. After picking the bolt, the simulation adds a twisting motion to simulate unscrewing. Once all bolts in the first class are removed, the simulation proceeds to the second stage – cable picking. With the bolts no longer locking down the cables, they are then ready to be picked. The whole workflow is demonstrated in Fig. 9. Specifically, at the beginning of the simulation, A1 displays the first object that is targeted for disassembly (dark blue circle indicates the desired location to place the end effector of the robot), while A2 shows the arm moving to the location to pick it up. B1 shows the real-time disassembling process, where the perception node selects the next bolt while B2 shows the robot executing the task. In C1, it is displayed that there is only one bolt left, and C2 shows a zoomed-in view of the gripper for picking. In D1, the transition between the first and second stages is shown as dark blue circle moving from the last bolt to the first cable whereas in D2 the gripper goes on to pick up the cables. After completing stage two, the modules are left to be removed. Since the modules require a vacuum gripper to pick them up, and the URDF does not support the dynamic changing of grippers, we switch the gripper by relaunching the corresponding URDF file and loading the vacuum gripper plugin. In E1, the perception node selects the first module to pick, while E2 shows the robot successfully picking this object. Finally, all the modules are removed. The objects MSD, positive bus bar, and negative bus are not implemented in this simulation, as the process for disassembling them follows the same concepts as for the bolts and cables. The outcomes of the benchmark algorithm are presented in Table I. Notably, all the assigned tasks were performed successfully. However, it is worth-noting that the analysis also reveals a prolonged execution time for bolt disassembly, as generating a viable path took several attempts in some cases, highlighting a needed area for further enhancements over our C++ planner. While the current object detection algorithm is able to accurately detect all objects and their locations, the detection score is relatively low compared to that of larger objects. There is still room for improvement in detecting smaller objects with higher accuracy, which is a known challenge in computer vision. Nonetheless, the framework offers a comprehensive solution to automated battery recycling, and meanwhile there is certainly potential for further improvements and extensions, which will be discussed next.
Execution Time (s) | Detection Score (%) | Success | |
---|---|---|---|
Bolt 1 | 15.3 | 54 | Yes |
Bolt 2 | 15.3 | 57 | Yes |
Bolt 3 | 15.3 | 53 | Yes |
Bolt 4 | 30.6 | 41 | Yes |
Bolt 5 | 23.4 | 38 | Yes |
Bolt 6 | 28.8 | 35 | Yes |
Cable 1 | 9.0 | 53 | Yes |
Cable 2 | 9.0 | 47 | Yes |
Module 1 | 9.0 | 100 | Yes |
Module 2 | 8.1 | 100 | Yes |
Module 3 | 18.0 | 100 | Yes |
Module 4 | 9.0 | 100 | Yes |
IV Extensions and Discussions
The proposed framework is designed to be customizable and adaptable to accommodate different research needs. The framework is composed of various entities, each of which has been specifically designed to be highly interchangeable. The entities that can be exchanged include the battery model, robot model, perception algorithm, planning, and control. The battery model is currently developed for the module battery pack, but users have the option to create their own object of interest and integrate it into the Gazebo environment. This flexibility allows researchers to tailor the battery model to meet their specific research needs. A stable and computationally efficient way of creating simulations has been introduced in the framework. Working with stacked or complex objects no longer requires monotonous tuning of solid properties. Users can develop customized components based on their needs by following the similar steps discussed in this paper.
The current implementation of the framework can use either the MoveIt OMPL library for planning or user-defined planner. We have provided an customized entry port for users who prefer to develop their own algorithm. This allows them to implement their own algorithm instead of relying on the Moveit planner, which may feel like a black box to some users.The framework’s adaptability allows for the modification of the planning and control section. As long as the interface between the perception algorithm and the planning and control algorithm is maintained, the remaining components of the framework will continue to function as intended. This allows control researchers to concentrate on the development of the algorithm without having to delve into deep learning related areas.
The current object detection model utilizes the SSD ResNet architecture, which has a good balance between speed and performance. However, users have the flexibility to select a model that meets their specific requirements and follow the training procedure in a similar manner. While the picture settings in the Gazebo world are ideal, the real world can present more variations, such as lighting, noise, and more. Moreover, to enhance the detection robustness, additional metrics can be incorporated. Data augmentation techniques, such as those described in [18], can be applied to extend the dataset, enabling tests under a broader range of conditions. This will be crucial when detecting in the real world, where real hardware can be subject to noise. Overall, the modular design of the platform enables researchers to continue developing and improving their area of interest.
V Conclusion
This paper presented a comprehensive simulation platform for research on robotic battery recycling. A generic EV battery pack consisting of 4 modules with inter-connected bolts and cables, a manipulator, and a Kinetic RGB-D camera were integrated as the main components of the simulated hardware system. A CAD model that depicts the EV battery pack was designed and imported into Gazebo for object interactions. Various procedures, including unscrewing, pulling, and lifting, were considered to imitate the key tasks involved in battery disassembly. Moreover, benchmark perception, planning, and control algorithms were provided to guide the manipulator in executing different disassembly tasks. The whole simulation platform was compact and efficient, and it can be used for further development, evaluation, and testing of robotic battery disassembly algorithms. Future works will include adding more simulated hardware components (e.g., different battery packs) to enhance the capabilities of the platform, exploring more efficient perception, planning and control algorithms, and developing multi-armed systems for collaborative disassembly.
References
- [1] M. Jacoby, “It’s time to get serious about recycling lithium-ion batteries,” Chemical & Engineering News, vol. 97, 2019.
- [2] K. Wegener, W. H. Chen, F. Dietrich, K. Dröder, and S. Kara, “Robot assisted disassembly for the recycling of electric vehicle batteries,” Procedia Cirp, vol. 29, pp. 716–721, 2015.
- [3] I. Kay, R. Esmaeeli, S. R. Hashemi, A. Mahajan, and S. Farhad, “Recycling li-ion batteries: Robotic disassembly of electric vehicle battery systems,” in ASME International Mechanical Engineering Congress and Exposition, vol. 59438, 2019, p. V006T06A061.
- [4] A. Rastegarpanah, H. C. Gonzalez, and R. Stolkin, “Semi-autonomous behaviour tree-based framework for sorting electric vehicle batteries components,” Robotics, vol. 10, no. 2, p. 82, 2021.
- [5] A. Rastegarpanah, J. Hathaway, and R. Stolkin, “Vision-guided mpc for robotic path following using learned memory-augmented model,” Frontiers in Robotics and AI, vol. 8, 2021.
- [6] J. F. Hellmuth, N. M. DiFilippo, and M. K. Jouaneh, “Assessment of the automation potential of electric vehicle battery disassembly,” Journal of Manufacturing Systems, vol. 59, pp. 398–412, 2021.
- [7] W. H. Chen, K. Wegener, and F. Dietrich, “A robot assistant for unscrewing in hybrid human-robot disassembly,” in Proceedings of the IEEE International Conference on Robotics and Biomimetics, 2014, pp. 536–541.
- [8] J. Buehler, “gazebo-pkgs,” https://github.com/JenniferBuehler/gazebo-pkgs.git, 2016.
- [9] rosindustrial, “universal robot,” https://github.com/ros-industrial/universal_robot.git, 2016.
- [10] Rosindustrial, “robotiq,” https://github.com/ros-industrial/robotiq.git, 2016.
- [11] J. Yang, “UR with Robotiq grasp gazebo,” https://github.com/JingyuYang1997/UR_with_Robotiq_grasp_gazebo.git, 2018.
- [12] L. Huang and H. Zhao, “Implementation of UR5 pick and place in ROS-Gazebo with a USB cam and vacuum grippers,” https://github.com/lihuang3/ur5_ROS-Gazebo.git, 2018.
- [13] H. Yu, C. Chen, X. Du, Y. Li, A. Rashwan, L. Hou, P. Jin, F. Yang, F. Liu, J. Kim, and J. Li, “TensorFlow Model Garden,” https://github.com/tensorflow/models, 2020.
- [14] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y. Fu, and A. C. Berg, “SSD: Single shot multibox detector,” in Proceedings of the 14th European Conference on Computer Vision, 2016, pp. 21–37.
- [15] F. R. Fathabadi, J. L. Grantner, I. Abdel-Qader, and S. A. Shebrain, “Box-trainer assessment system with real-time multi-class detection and tracking of laparoscopic instruments, using CNN,” Acta Polytechnica Hungarica, vol. 19, no. 2, 2022.
- [16] K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image recognition,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016, pp. 770–778.
- [17] T.-Y. Lin, P. Dollár, R. Girshick, K. He, B. Hariharan, and S. Belongie, “Feature pyramid networks for object detection,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2017, pp. 2117–2125.
- [18] D. Chen, X. Qi, Y. Zheng, Y. Lu, and Z. Li, “Deep data augmentation for weed recognition enhancement: A diffusion probabilistic model and transfer learning based approach,” arXiv preprint arXiv:2210.09509, 2022.
- [19] S. M. LaValle and J. J. Kuffner Jr, “Randomized kinodynamic planning,” The International Journal of Robotics Research, vol. 20, no. 5, pp. 378–400, 2001.