# Real-Time SLAM and Faster Object Detection on a Wheeled Lifting Robot with Mobile-ROS Interaction
### Vision Subsystem  
The vision subsystem is empowered by the proposed YOLOv8-R, which has been specifically optimized for faster detection speed through significant lightweight modifications to both YOLOv8's backbone and detection head.  
As shown in Figure 2, the proposed YOLOv8-R uses StarNet [35] as its backbone, which embodies the concept of a lightweight architecture while maintaining robust feature extraction capabilities. The core of StarNet is the star operation: an element-wise multiplication technique that efficiently projects inputs into a high-dimensional, nonlinear feature space. Specifically, the star operation in StarNet can be formulated as:  
\[f(\mathbf{X})=(\mathbf{W}_{1}^{T}\mathbf{X}+\mathbf{B}_{1})*(\mathbf{W}_{2}^{ T}\mathbf{X}+\mathbf{B}_{2})\, \tag{1}\]  
where \(\mathbf{X}\) is the input feature matrix, \(\mathbf{W}_{1}\) and \(\mathbf{W}_{2}\) are the weight matrices, and \(\mathbf{B}_{1}\) and \(\mathbf{B}_{2}\) are the bias matrices for the respective transformations. All matrices are of dimension \(\mathbb{R}^{d\times d}\). The operation \(*\) denotes the element-wise multiplication of the resultant feature vectors and enables rich, nonlinear feature mapping without expanding the depth or width of the network substantially.  
The proposed YOLOv8-R employs a lightweight shared convolutional detection head (LSCDH), which benefits the model by processing multi-scale features efficiently with substantially fewer parameters. A mathematical comparison regarding the calculated parameters is as follows:  
\[\begin{split} P_{\text{traditional}}&=\sum_{s=1}^{N}C_ {out,s}\times C_{in,s}\times K_{s}^{2}\,\\ P_{\text{shared}}&=C_{out}\times C_{in}\times K ^{2}\,\end{split} \tag{2}\]  
where \(P_{\text{traditional}}\) represents the total number of parameters when each scale uses separate convolutional filters, and \(P_{\text{shared}}\) denotes the reduced number of parameters resulting from using shared convolutional filters across all scales. Here, \(N\) is the number of scales, \(C\) represents the number of channels, and \(K\) is the kernel size.  
To address the issue of varying target scales detected by each detection head, a scale layer is employed to adjust the features at each scale, which can be depicted as:  
\[\mathbf{Y}_{i}=\gamma_{i}\cdot\mathbf{X}_{i}\, \tag{3}\]where \(\mathbf{Y}_{i}\in\mathbb{R}^{H_{i}\times W_{i}}\) is the output feature map, \(\mathbf{X}_{i}\in\mathbb{R}^{H_{i}\times W_{i}}\) is the input feature map from the \(i^{th}\) layer, and \(\gamma_{i}\) is a scaling factor that is learned during training.  
To further reduce the model size for edge device deployment, the LAMP [39] technique is introduced to prune weights based on their importance: maintaining crucial weights while eliminating less significant ones. The LAMP score is designed to reflect the relative importance of weights based on their contribution to model-level distortion when pruned, which can be calculated as below:  
\[\text{score}(u;\mathbf{W})=\frac{(\mathbf{W}[u])^{2}}{\sum_{v\geq u}(\mathbf{ W}[v])^{2}}\;, \tag{4}\]  
where \(\mathbf{W}[u]\) represents the weight at position \(u\), and the denominator sums the squares of weights from position \(u\) to the end of the weight matrix. The smaller the LAMP score, the more likely it is to be pruned.  
Following the pruning process, the pruned network undergoes fine-tuning on the original dataset to restore any performance that was potentially lost by the pruning.