Journal of Robotics and Control (JRC) Volume 7. Issue 3, 2026 ISSN: 2715-5072. DOI: 10. 18196/jrc. Speed and Steering Control System for Autonomous Vehicle Using Model Predictive Control Based on Robot Operating System Bambang Lelono Widjiantoro 1*. Katherin Indriawati 2. Atras Yonda Farizi 3. Rida Ayu Arfianti 4 Department of Engineering Physics. Institut Teknologi Sepuluh Nopember. Surabaya. Indonesia Department of Instrumentation Engineering. Institut Teknologi Sepuluh Nopember. Surabaya. Indonesia Email: 1 bambang. lw@its. id, 2 katherin@its. id, 3 atrasfarizi02@gmail. com, 4 ridaayuarfianti@its. *Corresponding Author 1, 2, 3 AbstractAi Reliable autonomous vehicle operation requires an effective speed and steering control system capable of handling nonlinear vehicle dynamics and coupled longitudinalAe lateral motion. This paper presents the design and implementation of a Model Predictive Control (MPC)Aebased speed and steering control system integrated within the Robot Operating System (ROS) framework for a small-scale autonomous vehicle. The nonlinear kinematic vehicle model is approximated using a linear time-varying formulation that adapts to changing operating conditions along the prediction The proposed MPC explicitly considers system dynamics and control constraints to track the trajectory generated by a local planner. The controller performance is evaluated through simulation using Gazebo ROS and realworld hardware experiments on a modified JetRacer platform. Performance metrics include Root Mean Square Error (RMSE) for position, orientation, and speed, as well as computational load per control iteration. The results show that the MPC achieves trajectory tracking with RMSE values below 0. 6 in simulation and below 0. 8 in hardware experiments. Optimal MPC parameters . rediction horizon of 10. Q = 50, and R = . provide a balance between tracking accuracy and computational efficiency. Although the computational load increases during hardware implementation due to sensor processing and ROS communication, the controller remains feasible for real-time operation on an embedded platform. These results demonstrate that the proposed MPC-based control system enables effective trajectory tracking for autonomous vehicles within practical computational constraints. KeywordsAiAutonomous Vehicles. MPC Controller. Robot Operating System. Speed. Steering. INTRODUCTION Autonomous vehicles are among the most promising technologies for addressing challenges in land transportation, including safety, efficiency, and traffic congestion. enabling vehicles to perceive their surroundings, make decisions, and execute control actions without direct human intervention, autonomous driving systems aim to reduce human error, which remains a dominant factor in traffic Despite their potential benefits, concerns regarding safety, reliability, and real-world performance continue to hinder widespread public acceptance of autonomous vehicle technologies . , . The Society of Automotive Engineers (SAE) has established a widely adopted classification framework for autonomous driving systems, ranging from Level 0 . o automatio. to Level 5 . ull automatio. Vehicles operating at SAE Level 3 or higher are required to perform environmental perception, decision-making, and vehicle control autonomously under specific conditions . To meet these requirements, autonomous vehicles rely on multiple onboard sensors, such as cameras. LiDAR, and inertial measurement units (IMU), to acquire information about the surrounding environment and the vehicleAos own motion states . Autonomous navigation is commonly structured into a hierarchical framework consisting of perception, planning, and control modules. Within this framework, the planner module generates a feasible route toward a target destination while considering environmental constraints and obstacle Global planners typically compute a reference path based on a pre-defined map, whereas local planners refine this path in real time by accounting for dynamic obstacles, vehicle kinematic limitations, and safety Accurate trajectory tracking of the local planner output is essential to ensure that the vehicle can reach its destination safely and efficiently . Trajectory planning systems provide a sequence of reference states, including position, orientation, and velocity profiles, which serve as inputs for the control system . The control module is responsible for computing appropriate control actionsAisuch as acceleration, braking, and steering commandsAito ensure that the vehicle follows the planned trajectory while maintaining stability and safety. This task is particularly challenging due to the coupled nature of longitudinal and lateral vehicle dynamics, as well as the presence of physical and operational constraints . To address these challenges, various control strategies have been proposed for autonomous vehicle applications. Among them. Model Predictive Control (MPC) has gained significant attention due to its ability to explicitly consider system dynamics, constraints, and future behavior over a finite prediction horizon. By predicting future vehicle states and optimizing control inputs accordingly. MPC can simultaneously regulate longitudinal velocity and lateral steering to achieve accurate trajectory tracking while respecting handling and safety limits . Ae. In practical autonomous systems. Robot Operating System (ROS) has become a widely used middleware due to its modular architecture, extensive hardware support, and rich ecosystem of software packages. ROS enables seamless Journal Web site: http://journal. id/index. php/jrc Journal Email: jrc@umy. Journal of Robotics and Control (JRC) ISSN: 2715-5072 integration of perception, planning, and control modules, facilitating rapid development and deployment of autonomous vehicle algorithms . In many ROS-based navigation systems, local planners such as the Timed Elastic Band (TEB) generate velocity commands that are directly applied to the vehicle. While this approach is effective for basic navigation tasks, it does not explicitly optimize vehiclelevel control actions with respect to system dynamics, control constraints, or real-time computational limitations, particularly when implemented on embedded platforms. Despite the growing body of literature on MPC for autonomous vehicles, existing studies predominantly focus on either longitudinal or lateral control in isolation or evaluate performance in simulation-only environments. Moreover, the integration of coupled speed and steering control within a unified MPC framework implemented in ROS remains limited, especially with experimental validation on physical platforms. The impact of computational constraints, sensor noise, and odometry inaccuracies on realtime MPC performance is also insufficiently discussed in prior works. These limitations highlight the need for a practical MPC-based control architecture that bridges the gap between theoretical control design and real-world ROS-based autonomous vehicle implementation. The research contribution is the design and experimental validation of a coupled speed and steering control system for a small-scale autonomous vehicle using Model Predictive Control within the ROS framework. This study formulates a linear time-varying MPC based on a kinematic vehicle model to simultaneously regulate longitudinal velocity and steering angle while explicitly handling system constraints . The proposed controller is implemented as a secondary optimization layer that refines trajectory tracking beyond the velocity commands generated by the local planner. The effectiveness of the proposed approach is evaluated through both simulation and real-world hardware experiments on an embedded platform. Furthermore, the influence of prediction horizon and MPC weighting matrices on tracking accuracy and computational load is systematically analysed, providing practical insights into the trade-off between control performance and real-time feasibility for ROS-based autonomous vehicle systems. II. vehicle kinematics, control constraints, and predicted future This architecture enables more robust trajectory tracking compared to direct planner-level control, particularly under real-world uncertainties and embedded system limitations. Prototype Vehicle Setup The design of the speed and steering control system in this study is applied to a modified JetRacer AI Kit prototype. The JetRacer AI Kit modification was done by replacing the LiDAR (Light Detection and Rangin. sensor type. IMU (Inertial Measurement Uni. , camera, microcontroller, and ESC (Electronic Speed Controlle. with specifications that support this study. The hardware schematic applied to the vehicle prototype is shown in Figure 1. Fig. Prototype Vehicle Hardware Schematic Based on the hardware schematic, an electronic circuit was created to support the interconnection between components in the autonomous vehicle prototype, which was then realized in a PCB circuit board. The components of the autonomous vehicle were then assembled, and the form of the prototype made is shown in Figure 2. SYSTEM DESCRIPTION The autonomous vehicle system is implemented within the Robot Operating System (ROS) framework, which provides a modular architecture for integrating planning and control The navigation system consists of a global planner, a local planner, and a control layer. The global planner generates a reference path toward the target destination, while the local planner refines this path in real time by considering obstacle information and kinematic In this work, the Timed Elastic Band (TEB) local planner is used to generate a smooth and time-parameterized reference trajectory. Instead of directly applying the velocity commands generated by the local planner to the vehicle actuators, a Model Predictive Control (MPC)Aebased controller is introduced as a secondary control layer. This controller receives the reference trajectory from the planner and computes optimal control actions by explicitly considering Fig. Designed Prototype of Autonomous Vehicle The hardware specifications of the designed autonomous vehicle prototype are presented in Table I. These Bambang Lelono Widjiantoro. Speed and Steering Control System for Autonomous Vehicle Using Model Predictive Control Based on Robot Operating System Journal of Robotics and Control (JRC) ISSN: 2715-5072 specifications are used for the state-space modeling and the MPC control system design process. TABLE I. AUTONOMOUS VEHICLE PROTOTYPE DESIGN SPECIFICATIONS No. Specification Value Unit Wheelbase ycayco Wheeltrack ycayco Wheel diameter ycayco Wheel thickness ycayco Maximum steering angle yccyceyci Maximum motor speed ycycyyco Autonomous Vehicle State-Space Model An autonomous vehicle with an Ackermann steering system can be simplified using a bicycle model to analyze the kinematic aspects of the vehicleAos lateral motions, as shown in Figure 3. ycuyco 1 = yaycc . cuIyco , ycIyco ) ycuyco yaAycc . cuIyco , ycIyco ) ycyco Iyco ) ycNyc cos( Iyco ) ycNyc 1 0 OeycOIyco sin( Iyco ) ycNyc Iyco ) ycNyc 0 1 ycOIyco cos( sin( yaycc . cuIyco , ycIyco ) = tan. uycoI ) ycNyc ycoyce ycoyc ycOIyco ycNyc yaAycc . cuIyco , ycIyco ) = 0 . coyce ycoyc )ycaycuyc 2 . uycoI ) The longitudinal and lateral motion kinematic model from the autonomous vehicle is formulated with reference to Figure 3. The dynamic model equations can be expressed in a non-linear state-space equation V cos() V sin() ycuN = yce. cu, y. = ycO ycycaycu() . coyce ycoyc ) yca with state and input defined as follows. ycU yca ycU ycu = [ ],yc = [ ] . yu ycO This nonlinear state-space equation is then linearized by calculating the Jacobian matrix of yce. cu, y. with respect to the state . and input . at a specific operating point. The operating point is defined as follows. ycuI = [ ycU ] , ycI = [ I] yu ycOI Based on this linearization process, the non-linear vehicle motion kinematics in equation . can be represented as a linear time-variant system that depends on the state and input at certain points as operating points. The discrete state-space equation for this model is written as follows. cNyc This state-space model will be the foundation for implementing the MPC algorithm to calculate control actions, such as speed and steering for the autonomous The variable symbols definitions in the state-space model equation are provided in Table II. TABLE II. VARIABLES OF STATE-SPACE MODEL EQUATION No. Symbol ycU ycU yu ycuo Variable (Uni. VehicleAos position in X axis of the map . VehicleAos position in Y axis of the map . VehicleAos orientation angle . VehicleAos longitudinal speed . coAEy. yca VehicleAos longitudinal acceleration . coAEyc 2 ) yu ycNyc ycoyce ycoyc VehicleAos steering angle . Time sampling . Wheelbase distance . Fig. Kinematics of Lateral Motion of a Vehicle . DESIGN OF PREDICTIVE CONTROL The speed and steering control system of the autonomous vehicle was designed with a loop frequency of 4 yayc and was used to control the position, orientation, and speed of the vehicle relative to the reference provided by the trajectory Figure 4 shows the block diagram of the speed and steering control strategy for the autonomous vehicle based on MPC. Fig. Block Diagram of Autonomous Vehicle Speed and Steering Control System ycUycuyccycuyco ycE = [ U ] ycuycuyccycuyco = [ ycuyccycuyco ] ycyceycuyca = [ ] ycuyccycuyco ycyco ycA ycOycuyccycuyco Note that ycE represents the state reference vector . osition ycUyc and ycUyc , orientation r , and speed ycOyc ) that the vehicle must achieve during the horizon prediction ycA, ycuycuyccycuyco represents the vehicle state obtained from sensor measurements, and ycyceycuyca represents the optimal input resulting from the MPC optimization . cceleration and steering angl. executed to the vehicleAos actuators. The MPC was designed according to the state-space model system so the vehicle can follow the determined trajectory by controlling its speed and steering angle. The flow diagram for the MPC algorithm design is presented in Figure 5. Bambang Lelono Widjiantoro. Speed and Steering Control System for Autonomous Vehicle Using Model Predictive Control Based on Robot Operating System Journal of Robotics and Control (JRC) ISSN: 2715-5072 cuIyco , ycIyco ) yayco cuIyco 1 , ycIyco 1 ) yayco 2 = yaycc . cuIyco 2 , ycIyco 2 ) U ayco ycAOe1 ] . cuIyco ycAOe1 , ycIyco ycAOe1 )] yaAycc . cuIyco , ycIyco ) yaAyco yaAyco 1 yaAycc . cuIyco 1 , ycIyco 1 ) yaAyco 2 = yaAycc . cuIyco 2 , ycIyco 2 ) U aAyco ycAOe1 ] . aAycc . cuIyco ycAOe1 , ycIyco ycAOe1 )] . Optimization Problem Solution The optimization problem was formulated to get the state prediction values and optimal control input Uk during the horizon prediction N. In this study, the optimization problem is minimizing an objective function ABCD with several constraints, expressed as follows. Cyco , ycUCyco ) min yayco . cO . Fig. Flow Diagram of MPC Algorithm Cyco ycO Determination of The Operationg Model Equation . explains that the model is a linear timevariant system that depends on the operating point. Thus, in order to determine the state-space matrix values, predictions of the state and input as the operating point through the horizon prediction were required. First, the continuous vehicle motion kinematic model in equation . was converted into a discrete form: ycUyco ycOyco ycaycuyc. uyco )ycNyc ycUyco ycOyco ycycnycu. uyco )ycNyc ycOyco ycuyco 1 = yce. cuyco , ycyco ) = yuyco ycycaycu. uyco )ycNyc ( ycoyce ycoyc ) ycOyco yca yco ycN yc The operating point consists of the state and input. The input operating point was obtained from the optimal input value calculated by the MPC in the previous iteration. ycCyco | ycoOe1 ycIyco ycCyco 1 | ycoOe1 ycIE = [ yco 1 ] = . ycIyco ycAOe1 . cCyco ycAOe1 | ycoOe1 ] Next, the loop was repeated to predict the state operating point throughout the horizon prediction. In the initial loop, the state operating point was taken from the odometry data. In subsequent loops, the state operating point was predicted based on equation . and can be written as follows: ycuIyco = ycuycuyccycuyco ycuIyco ycn 1 = yce. cuIyco ycn , ycIyco ycn ) OAycn = 0. A , ycA Oe 2 . Thus, the predicted state operating point vector over the N horizon can be written as follows. Iyco cu Iyco , ycI yco ) ycu Iyco 1 cu Iyco 1 , ycI yco 1 ) ycu IE = ycuIyco 2 = . cuIyco ycAOe1 ] . cuIyco ycAOe2 , ycI yco ycAOe2 )] The matrices A and B in equations . were then calculated based on the operating point along the horizon prediction, which was obtained from equations . As a result, the A and B matrices that change in each iteration across the horizon prediction were obtained and written as ycycycaycyceycayc: ycUCyco 1 ycUyco 2 = [ 0 cUyco ycA ] ycUCyco 1 yayco 1 U ] ycUyco 2 U yayco ycAOe1 . cUCyco ycA ] Cyco 1 yaAyco [ yco 1 ] ycOyco 2 yaAyco ycAOe1 . cO Cyco ycAOe1 ] ycOCyco < ycOycoycaycu uCyco | < yuycoycaycu yayco = OcycAOe2 ycn=0 [. cOyco ycn 1 Oe ycOyco ycn ) ycIycc . cOyco ycn 1 Oe Cyco ycn )] OcycAOe1 ycn=0 [. cUycIyce yco ycn Oe ycUyco ycn ) ycE . cUycIyce yco ycn Oe ycN ycN Cyco ycn Cyco ycn ] ycUyco ycA ycUCyco ycn ) ycO ycIycO ycEyce ycUyco ycA Equations . show that the longitudinallateral motion control problem from a non-linear autonomous vehicle with MPC can be solved using quadratic programming methods. In this study, the MPC optimization problem can be addressed by using the CVXPY library in Python programming. CVXPY is a library in Python used for modeling and solving convex optimization problems. The solver in CVXPY used to solve the MPC optimization problem is the Operator Splitting Quadratic Program (OSQP). OSQP uses the Alternating Direction Method of Multipliers (ADMM) method that decomposes big problems into subproblems that are smaller and easier to solve iteratively. This makes the OSQP solver suitable for embedded processors with limited computational resources, as found in embedded control systems . Development of Autonomous Navigation System on ROS ROS works as a distributed framework consisting of processes . alled node. that allow for independent and flexible program execution at runtime. ROS Master acts as the main control center that manages the distribution of messages within the network. Each node will register its identity to ROS Master, including the IP address and the topic name that will be published or subscribed. When a node Bambang Lelono Widjiantoro. Speed and Steering Control System for Autonomous Vehicle Using Model Predictive Control Based on Robot Operating System Journal of Robotics and Control (JRC) ISSN: 2715-5072 wants to subscribe to a topic, it will contact ROS Master to get the IP address of another node that publishes related topics . The autonomous vehicle navigation system was designed based on the device scheme as shown in Figure 5, using the Robot Operating System (ROS) on the NVIDIA Jetson Nano B01 computer. The figure is a representation of the autonomous navigation system in the form of a simplified diagram of the RQT diagram. The design of the autonomous navigation system in the perception, localization, planning, and control systems, consists of various ROS nodes and There are three main components of the autonomous navigation systems: the perception and localization system, the trajectory planning system, and the control system. Fig. The Design of An Autonomous Navigation System on ROS The overall research methodology and control architecture are illustrated in Figure 6. The perception and localization systems acted as a sense in the autonomous navigation system, which was to map the conditions of the surrounding environment and estimate the vehicleAos position as a point on the map. This system utilizes LiDAR to detect the environment around the vehicle. Then, the AMCL (Adaptive Monte Carlo Localizatio. node combined information from the LiDAR scan data, the environmental map that has been created, and the initial position of the vehicle to estimate the vehicleAos position on the map. The reading of orientation data from the IMU sensor and speed data from the encoder were put together using the EKF (Extended Kalman Filte. method to obtain odometry data from the vehicle. The results of this data fusion produced four main states in autonomous vehicle: position ycU, position ycU, orientation yu, and longitudinal speed ycO. The combination of the AMCL method. EKF, and transformation coordinates, as stated in Appendix B, built a perception and localization system, enabling the system to determine the speed of the vehicle, map the environment, and track changes in vehicleAos position and orientation on the map . The trajectory planning system then used the vehicleAos position and orientation data on the map from the perception and localization system to plan the optimal trajectory to the destination point located in the /goal topic. Details of the planned trajectory data from the local planner were found in the /teb_feedback topic, which consisted of reference position ycU, position ycU, orientation , and longitudinal speed ycOfor the next few steps. The state reference data and odometry data were then used by mpc_node as input for the MPC control system to give optimal control actions for the autonomous vehicle. After the MPC controller worked based on the algorithm with the flowchart shown in Figure 5, control actions were obtained in the form of acceleration and steering angle, which were then published to /cmd_vel topic. These control signals were then translated by car_interface node, converting it into the shape of control signal ready to be sent by STM32 to the actuators to move the autonomous vehicle. IV. SYSTEM TESTING The proposed control system was evaluated through both simulation and real-world hardware testing to assess its trajectory tracking performance and real-time feasibility. Simulation experiments were conducted in the Gazebo environment integrated with ROS to provide a controlled and repeatable testing scenario. The hardware experiments were performed on a small-scale autonomous vehicle equipped with onboard sensors and an embedded computing platform. System performance was evaluated using the Root Mean Square Error (RMSE) of the trajectory tracking error and the average computation time per control iteration. These metrics were selected to quantify both tracking accuracy and computational efficiency, which are critical factors for realtime autonomous vehicle operation. During hardware testing, the control loop frequency was adjusted to ensure stable execution under embedded computational constraints. Creation of ROS Simulation The algorithm simulation was done to test the performance of the MPC controller developed for navigating the autonomous vehicle in a virtual environment as an initial validation before implementing it to the physical vehicle The simulation was conducted using the Gazebo Simulator to set up world scenario and the 3D robot model, and RViz as a visualization tool for various data, such as sensor output and robot model in a graphical interface. In order to ensure the simulation reflected the real hardware conditions, the prototype design specifications, as presented in Table 1, were used as the foundation of vehicle model creation for simulation in ROS. The autonomous vehicle model with Ackermann steering was made using the URDF (Unified Robotic Description Forma. format, which is a XML file format used in ROS to describe all elements of the robot. The result of vehicle model creation in the Gazebo ROS is shown in Figure 7. Fig. Vehicle Model for Simulation in ROS The simulation environment in the Gazebo Simulator ROS and Rviz was created based on the simulation map shown in Figure 8. The navigation scenario of an autonomous vehicle was made by initially placing the vehicle at the center point on the map, then several destination points Bambang Lelono Widjiantoro. Speed and Steering Control System for Autonomous Vehicle Using Model Predictive Control Based on Robot Operating System Journal of Robotics and Control (JRC) ISSN: 2715-5072 were provided so the vehicle can move around the simulation environment and return to the starting position . ee arrow. Based on this map, a 3D environment was created using 3D design software, so a 3D environment in STL format was This STL file was then imported into Gazebo Simulator ROS to become the autonomous navigation simulation environment. control actions to follow the trajectory to the destination point based on the created scenario. The performance of MPC was evaluated by calculating the root mean square (RMSE) values for each state: position ycU, position ycU, orientation , and longitudinal speed ycO. Each variation was repeated 3 times. Hardware Implementation After the algorithm design and simulation were conducted, the parameters considered optimal based on the simulation result were implemented in the hardware program. The location of hardware testing was in the hallway in front of the Embedded and Cyber-Physical Systems Laboratory. Building E, 2nd Floor. Department of Physics Engineering. ITS. During testing, the Single Board Computer Jetson Nano on the prototype was programmed and controlled wirelessly with a laptop through SSH protocol, enabling various data during navigation to be recorded and visualized through the laptop device. Figure 9 presents the hardware testing location displayed in the RViz application. There are two navigation scenarios: driving straight . and turning . cenario Fig. Autonomous Navigation Simulation Environment Map When the autonomous vehicle was given an order to go to its destination point in RViz, the robot generated a local plan as a more optimal route considering obstacles and the vehicleAos position, along with a speed profile. This local plan then served as a reference for the MPC controller, enabling it to give control actions so the vehicle can move following the route determined by its current position. While the navigation simulation in Gazebo ROS ran. ROS topics containing data such as odometry readings and trajectory references from local planner were recorded using rosbagAea set of tools for recording from and playing back to ROS topicsAeso it can be plotted and analyzed further. The prediction horizon value was varied to assess its impact on computational load. The prediction horizon in MPC is a parameter that determines how far the controller can predict the systemAos dynamic behaviors and determine the optimal control action. A larger prediction horizon value means the MPC has a longer range for considering optimal control actions. This makes the optimization problem from MPC more complex and results in a heavier computational The computational load in the MPC control system was evaluated based on the CPU time required to execute one iteration program. A higher computational load of the MPC algorithm will cause the CPU to execute that program longer. This evaluation method was chosen because it can predict the optimal loop frequency design for the control system. lower computational load makes it possible for the control system to operate with higher loop frequency and in realtime. Based on the maximum value of the optimal prediction horizon to the computational load, the MPC controllerAos parameters, which are the Q and R weight matrices, were varied to assess the impact of changes in the weighting matrices on the MPC controllerAos performance in providing Fig. Map of Hardware Testing Locations on Rviz The testing of autonomous vehicle navigation with hardware was done with the Rviz application for displaying sensor data reading results. First, the vehicle device was located in the starting point according to the testing location for scenarios 1 After the ROS programs were running, the RViz display would open. Then, the robot model in RViz needed to be positioned at the starting point by using the 2D Pose Estimate menu at the actual start location. After the model was on the starting point, the finish point was determined on the map according to the navigation scenario with 2D Nav Goal menu. RESULTS AND DISCUSSIONS Navigation Simulation on Gazebo ROS During the navigation simulation on Gazebo ROS. ROS topics containing data of odometry readings and trajectory references from the local planner were recorded using rosbag. When orders to go to the destination point on RViz were given, the robot would produce a local plan as an optimal route on the map, along with a speed profile that must be followed by the robot. Figure 10 shows a graph of the autonomous vehicleAos trajectory and state during the navigation simulation. The blue line displays the actual state when the vehicle moves, while the red line is the trajectory reference, which is the setpoint state that must be reached by the vehicle at the same Designed MPC control can make the vehicle follow the determined trajectory from the local planner. Bambang Lelono Widjiantoro. Speed and Steering Control System for Autonomous Vehicle Using Model Predictive Control Based on Robot Operating System Journal of Robotics and Control (JRC) ISSN: 2715-5072 TABLE i. COMPUTATIONAL LOAD SIMULATION RESULTS Computati Maximum onal Load Vari Average ation Prediction . ei/ yc Horizon yeOyeiyeIyeeyeCyeiyeOyeaye. Fig. Vehicle Trajectory during Navigation Simulation on Gazebo ROS The autonomous vehicleAos state from the odometry sensor readings during the navigation simulation was plotted in the graph shown in Figure 11. There are four vehicle states that were recorded: position X, position ycU, orientation yu, and longitudinal speed ycO. Similar with the graph of the vehicleAos trajectory, the blue lines that almost entirely overlap with the red line in all state graphs shows that the MPC control system can make the vehicle follow the state setpoints given by the local planner. These results indicate that the proposed MPC controller effectively regulates both longitudinal velocity and steering angle under ideal simulation conditions, resulting in low trajectory tracking errors. The obtained RMSE values below 6 demonstrate accurate trajectory tracking performance consistent with previous MPC-based navigation studies. RMSE Note 0 Succ 25 41 ess 0 Succ 22 38 ess Fail 66 29 66 Table IV shows that changing the values of the Q and R weight matrices can affect the controller's performance in terms of minimizing error and computational load. When the value of Q weight matrix increased, as seen in the variation 3 and 4, there was a significant decrease in RMSE for all four states, followed by an increase in computational load. This was because the higher the value of the Q matrix, the bigger the weight of the error state, making the MPC controller work harder to minimize the error. An increase in the value of state weight matrix Q with a constant R matrix caused the MPC optimization problem making it more complicated to get the optimal control actions because the MPCAos effort to minimize the error was limited by the constraints of constant control action characteristics. The optimization control that was more complex caused the solver to work longer to get the optimal solutions that resulted in an increase of computation time. TABLE IV. SIMULATION RESULTS OF AUTONOMOUS VEHICLE NAVIGATION ON GAZEBO ROS Computati MPCAos onal Load Vari Paramete Average . /iteratio Fig. Vehicle State Graph during Navigation Simulation on Gazebo ROS The computational load test results are shown in Table i. It can be seen that there is an average reduction in the computation load by 6 milliseconds per iteration between variation 1 and 2, and a reduction of 9 milliseconds per iteration between variation 2 and 3. This supports the simulation result that with lowering the prediction horizon value can reduce the computational load of the MPC Based on this computational load evaluation, the maximum optimal value of prediction horizon for computational load and MPC performance is found in variation 2, with a value of 10 and the lowest average computation load that can be reached, which is 0. seconds per iteration. This finding highlights the inherent trade-off between computational efficiency and control accuracy in MPC design, where increasing the prediction horizon improves performance at the cost of higher computational load. Such trade-offs are particularly critical for real-time implementation on embedded systems. ycE = 1 ycI = 1 ycE = 1 ycI = 0,1 ycE = 10 ycI = 0,1 RMSE Bambang Lelono Widjiantoro. Speed and Steering Control System for Autonomous Vehicle Using Model Predictive Control Based on Robot Operating System Journal of Robotics and Control (JRC) Computati MPCAos onal Load Vari Paramete Average . /iteratio ycE = 50 ycI = 0,1 ycE = 50 ycI = 0,01 ISSN: 2715-5072 RMSE yc yeA yys yc On the other hand, variation 2 and 5 shows that there was a significant decrease in computational load when the value of the input R weight matrix was lowered. A decrease in the value of the actuator weight matrix R with a constant value of Q weight matrix made the MPC optimization problem easier to solve because the limitation in determining the optimal control actions became more relaxed to minimize the same error. However, it caused an increase in the aggressiveness of the control signal and energy output by the This caused the solver to find the optimal MPC solution faster and reduced the computation time. The results of MPC performance evaluation show that there is a trade-off between computation load and control accuracy when changing the value of the Q and R weight An increase in the Q value can create more accurate control but need more computation. Meanwhile, a decrease in R can slightly reduce the computation load without significantly sacrificing accuracy. The combination of an increase in the value of state weight matrix Q and a decrease in the actuator weight matrix R, as in variation 5, show that the most balanced performance among the tested parameter variations with only a small increase in computational load. Compared to existing MPC implementations that often prioritize either tracking accuracy or computational simplicity, the selected parameter combination achieves a balanced compromise suitable for real-time autonomous vehicle applications. Thus, the optimal values of the MPC weight matrix for minimizing error and computational load are Q = 50 and R = 0. Algorithm Implementation on Hardware The autonomous vehicle navigation testing with hardware was conducted using the RViz application to display the data of sensor readings results. The vehicleAos trajectory in the hardware implementation of scenario 1, as seen in Figure 12, indicates that the vehicle followed the reference trajectory from the local planner with slight deviations until it reached the finish point. Fig. VehicleAos Trajectory during The Hardware Testing of Scenario 1 The vehicleAos position, orientation, and speed data during the implementation are displayed in the graph in Figure 13. The graph shows that the actual condition . tends to lead to the reference provided by the local planner, highlighting the predictive capability of the MPC controller in predicting and correcting the difference between actual conditions and the references. However, the speed graph over time shows that the speed amplitude is two times higher. This was caused by the direct relationship between speed and acceleration . ontrol signa. The large overshoot in speed may be due to the MPC weight parameter . atrix ycI) being too small . , making the MPC control signal become too aggressive. This behavior reflects the sensitivity of the MPC controller to the selection of the input weight matrix R, where lower values result in more aggressive control actions. Similar observations have been reported in previous MPC-based vehicle control studies. Fig. Graphs of Vehicle State during The Hardware Testing of Scenario 1 The trajectory shown in Figure 14 shows that after the vehicle moved straight toward a point . on the map, the vehicle could do a turning maneuver following the reference When the vehicle turned, a sudden change in reference can be addressed by the MPC, which could give a smoother and more stable control signal. Fig. VehicleAos Trajectory during The Hardware Testing of Scenario 2 Bambang Lelono Widjiantoro. Speed and Steering Control System for Autonomous Vehicle Using Model Predictive Control Based on Robot Operating System Journal of Robotics and Control (JRC) ISSN: 2715-5072 The state graph of the autonomous vehicle in Figure 15 has characteristics similar with the result of scenario 1 hardware testing, which is the response that leads to the reference. This shows that MPC can predict the systemAos behaviors over several future iterations and incorporate it into the selection of the optimal control actions. So, the actual state response of the autonomous vehicle is smoother and more stable in following the setpoint from the local planner. microcontroller, sensor data readings, and running the navigation stack from ROS that is the same as in the This limitation emphasizes the importance of considering computational constraints during controller design and motivates future work on improving real-time performance through solver optimization or more efficient MPC Because of increasing computational load, the MPC controller cannot operate anymore at 4 yayc loop frequency and must be lowered to 1 yayc. If the loop frequency of the autonomous navigation control system in ROS cannot be set up, the computational load that is too heavy can cause a frequency loop mismatch, affecting other processes, and resulting in the failure of the autonomous navigation system. VI. Fig. Graphs of Vehicle State during The Hardware Testing of Scenario 2 Based on the RMSE data shown in Table V, it can be seen that the RMSE for position, orientation, and speed during the hardware testing of both scenarios increased compared to the simulation result. The RMSE for X position in both scenarios increased three times from 0. 048, the RMSE for Y position in scenario 2 increased 2. 7 times from 0. 038, the RMSE for orientation in scenarios 1 and 2 increased 1. 7 and 3. 3 times 014, and the RMSE for speed in both scenarios increased 5 and 7 times from 0. These RMSE increases were caused by unideal conditions, such as complex motions modelling, inaccurate sensor readings, and error due to the odometry data fusion. The increased RMSE values observed during hardware testing remain within acceptable limits for small-scale autonomous vehicle navigation, considering the effects of sensor noise, odometry fusion errors, and communication delays inherent in real-world systems. TABLE V. HARDWARE TESTING RESULTS Computati onal Load RMSE RMSE RMSE Testing RMSE Average yc yeA Orient Scenario Speed . ei/ Position Position ation yeOyeiyeIyeeyeCyeiyeOyeaye. The MPCAos computational load in the hardware testing was limited with the maximum prediction horizon 10 step, resulting in an average computational load of 0. yc/ycnycyceycycaycycnycuycu during the simulation, allowing the MPC to operate in 4 yayc loop frequency in order to be more However, during the hardware testing of scenario 1 and 2, the CPUAos computational load increased 4 times until 8689 and 0. 9064 yc/ycnycyceycycaycycnycuycu. This increase is due to CPU additional activities to communicate with CONCLUSIONS This paper presented the design and implementation of a speed and steering control system for an autonomous vehicle using Model Predictive Control (MPC) integrated within the Robot Operating System (ROS). By approximating the nonlinear vehicle kinematic model with a linear time-varying formulation, the proposed controller is able to handle coupled longitudinalAelateral motion while explicitly considering system dynamics and control constraints. Simulation and hardware experiments confirm that the MPC controller can successfully track trajectory references generated by the local The simulation results demonstrate that the prediction horizon and MPC weight matrices significantly influence both tracking accuracy and computational load. A prediction horizon of 10 provides a suitable trade-off between performance and computational complexity, while the combination of Q = 50 and R = 0. 01 yields the lowest RMSE values without excessively increasing computation time. These findings highlight the inherent trade-off between control accuracy and computational efficiency in MPC-based autonomous vehicle control. Hardware experiments show an increase in RMSE and computational load compared to simulation results. This discrepancy is primarily attributed to real-world factors such as sensor noise, odometry fusion inaccuracies, communication overhead, and the limited computational resources of the embedded platform. To maintain stable operation, the control loop frequency was reduced during hardware testing, which further emphasizes the practical limitations of real-time MPC implementation on resourceconstrained systems. Nevertheless, the achieved RMSE values remain within acceptable bounds for small-scale autonomous navigation, indicating that the proposed approach is feasible for real-world deployment. Overall, this study contributes a practical implementation and evaluation of an MPC-based speed and steering control system within a ROS framework, supported by both simulation and experimental validation. Future work will focus on improving real-time performance through the use of more efficient solvers, adaptive or gain-scheduled MPC tuning, enhanced sensor filtering, and the implementation of nonlinear MPC to improve robustness in more complex and dynamic environments. Bambang Lelono Widjiantoro. Speed and Steering Control System for Autonomous Vehicle Using Model Predictive Control Based on Robot Operating System Journal of Robotics and Control (JRC) ISSN: 2715-5072 ACKNOWLEDGMENT The authors gratefully acknowledge financial support from the Institut Teknologi Sepuluh Nopember for this work, under the project scheme of the Publication Writing and IPR Incentive Program (PPHKI) 2024. REFERENCES