Hello everyone,
I am running an NMPC position controller for a UAV quadcopter. I have done some testing both on Software in the loop simulations (SITL) on my PC and Hardware in the loop simulation (HITL), in this case the NMPC runs on a Jetson Xavier NX.
In order to debug i am saving the time_tot
received from the python interface which should be the time taken by the solver to produce the control inputs, at least to my understanding.
The controller is a ROS 2 node which calls on acados to solve the nonlinear control problem.
The controller runs with no issues both on my PC and on the Jetson Xavier NX but what I am noticing is that the controller is faster on the PC than on the Jetson (0.004 s vs 0.0073 s average solver time).
This is not what I expected since in the HITL tests the Gazebo simulation is run on the PC while the Jetson is used solely for the control algorithm, while in the SITL case the PC runs both the simulation and the control nodes.
Any help on understanding why this is the case would be greatly appreciated,
Thanks,
Riccardo
Anyway here are some graphs of the solver times:
HITL
SITL
Here are the details of the two CPUs
Jetson Xavier NX (HITL testing)
6-core NVIDIA Carmel Arm®v8.2 64-bit CPU
6MB L2 + 4MB L3
Max CPU frequency 1.9 Ghz
Intel core i7 (SITL testing)
i7-6500U - 2 cores / 4 threads
Max CPU frequency 3.1 Ghz