There are some general guidelines on the hardware required for ROS projects and competitions, like the NASA Space Robotics 2 or ARIAC, but not much on how to maximize a development system. It would be good to understand the interactions to balance price and performance. Adding this information to the ROS Wiki might be useful.
There are two aspects that I see. First is the development aspect of compile times. Second is the performance of Gazebo when testing via simulation.
Development is straightforward, I believe, the fastest CPU, memory, and disk. An SSD really makes a difference as I just found out on my current, vintage '14 system.
A GTX GPU is required for Gazebo. What I don’t understand is the interaction between the GPU and the rest of the system. The fastest GPU you can afford is the best option. But does main memory speed play a role? The GPU has to be pulling data from memory so a fast MB / memory would seem a good idea. What about CPU? I have no idea the level of interaction.
Could it be summarized that good gaming machine is best for doing simulation work?
What factors am I missing?
A GTX GPU is not required and I am not even sure that Gazebo uses any GTX feature yet.
To get a nice simulation rendering, a Nvidia GPU is a must but if the visual part is not so important, Gazebo works on Intel internal GPU.
Usually, if I do not need the visual part or if Rviz is enough to visualize TF and sensors data, I only run gzserver and the needed performances are much lower.
Gazebo is makes use of multiple threads, but still the bottleneck is on single core speed.
For compilation typically you’ll want more cores, but if you are iterating on code making small modifications, you won’t benefit a lot from mass parallelization, since you’ll only compile the code that you have changed. Probably an 8-core is more than enough.
I’d recommend a 9700K if you are into intel. Lately I’m pushing more for AMD, for a lower budget you can get a 3700x or 3800x. But you’d be losing some single core speed for more threads.
16GB of RAM is a must, 32GB is not too much.
And like @rreignier said, a GTX is probably too much, any low or mid end GPU will be enough for gazebo and rviz.
edit: Yeah a gaming pc is a good starting point, just cut costs on the GPU, since it’s the most critical aspect of a gaming PC, and the least important for you. If you go with an AMD Ryzen, a fast RAM (up to 3733Mhz) will do wonders for your CPU.
Glad to see you’ll participate also on Phase 2!
1 Like
The system requirements for SRC1 and ARIAC specify GTX. The SRC2 just says an Nvidia GPU.
The Gazebo site tutorial just says an Nvidia GPU.
Interesting idea to just run gzserver and RVIZ.