Recently I’ve had a few people ask me what type of laptop they would recommend for developing ROS applications. In my years working with ROS in a research capacity, I’ve used dozens of development machines! I’ve learned a few guidelines when picking out laptops for working with Linux, ROS, and robots. Following these guidelines when picking out a computer will make your ROS development experience far smoother.
If you’d like specific laptop recommendations, scroll to the bottom of the article. If you’d like to read more general guidelines and make your own decision, read on!
Key Considerations when Choosing a ROS Development Laptop
It’s important to have an idea of your budget before starting out. Unfortunately, robotics (and ROS in particular) can require strong hardware. You probably won’t fare very well with a low-end laptop you got at Wal-Mart or a 5-year old machine from your parents’ basement. In general, I’d expect to spend a minimum of $750 for a laptop that can build and run ROS applications. Personally, I’d budget about double that for a new ROS laptop, but my needs include machine learning, complex simulations, and dual booting with Windows 10, all of which require more expensive upgrades. You may not need these features; don’t spend money on hardware you won’t use.
Of course, you can always find better deals secondhand, or buy refurbished models. Just realize that you may not have the same customer support and warranties for a secondhand machine as you would for a brand-new laptop.
Discrete graphics cards will also provide hardware acceleration when using RViz, and will make the RViz UI run much more smoothly, especially if you plan on working with point cloud data. If you plan on doing any machine learning, a graphics card is an absolute must. Most machine learning frameworks such as TensorFlow and Caffe work best with CUDA installed, which is only supported for NVIDIA cards. Even a lower-end GPU (say, an NVIDIA 940M) will provide leaps and bounds in performance.
Something you may not think about very often is laptop build quality, but for robotics, it’s crucial. Your laptop may be attached to a moving robot, may have cords pulled out of it when a robot goes haywire, and will just be moved around a lot in general. Therefore, it’s worth investing money in laptop that is sturdier than your run-of-the-mill HP notebook. Also steer clear of manufacturers such as Gigabyte, who can build good motherboards, but aren’t experts in putting together a solid laptop.
As with any computer you’re going to use for software development, a faster machine will allow for faster compiling times and a smoother overall experience. Speed is not the most important factor when picking a development laptop, but it is worth considering. I recommend getting an Intel i5 processor or better, steer away from the low-end i3s as they will struggle with applications like RViz (sensing a trend here?)
Robots can use up a lot of ports on your computer! In an ideal world, your robotics laptop would have multiple USB 3 ports for cameras, Arduinos and USB drives. A dedicated Ethernet port will also be really useful for when you have to plug into a robot that’s not wireless-enabled (or when the wireless isn’t working). Newer high-end laptops often drop most of the ports and just use a USB-C port for everything. If you get a laptop with this kind of port setup, make sure you buy a high-quality USB 3 hub, and consider getting a hub that includes an Ethernet port (or get a separate Ethernet adapter).
Recommended ROS Development Laptops
Best Overall Pick: Dell XPS 15.6″
I love this machine. The build quality is great, and it’s extremely light and portable even at 15.6 inches, making it easy to toss in a bag or take on travel. Surprisingly, this laptop doesn’t get great Amazon reviews. But don’t let that turn you away. The Linux support on these computers are top-notch; the only part that may give you some issues is the touchscreen. I know several people who use this machine for ROS development (using varying configurations of RAM, processor, etc.) and they all love it.
A GTX 1050 will happily handle some machine learning or point cloud visualizations
Best Machine Learning Laptop: Lenovo Y720
If you’re looking for a laptop that packs some serious compute into a small package, the Lenovo Y series is a great choice. Lenovo is a brand known for their good build quality, and while I’ve seen some of these models have issues with failing fans, it remains a solid laptop for those looking to do serious machine learning. The Y720 can be configured with a GTX 1060, and you’ll get 16 GB of RAM and an Intel i7, all for cheaper than the comparable Dell machine. Plus, who doesn’t love that red backlit keyboard?
This computer is not the lightest on the market, and leans towards more of a “desktop replacement.” It will still fit in some backpacks, but if your backpack is small you may need an upgrade before toting this machine around!
Best Portable Laptop: Dell XPS 13.3″
Dell XPS makes the list again! This model is also a good student pick because of its good price point (under $900), while still packing a ton of RAM and a good enough processor to handle multicore ROS builds. The link above is for the version with a 256GB hard drive, which should provide enough room for ROS and quite a bit of data files, or will allow easy dual-booting with Windows 10 and Ubuntu Linux. If you don’t plan on collecting bag files or other large amounts of data, a 128GB drive should be enough.
There are three minor drawbacks to this laptop:
- The processor will throttle down to lower speeds if the CPU gets too hot. Ultimately, this is good because it ensures that your computer won’t catch on fire, but it means that your computer will actually get slower when you’re using it for extended periods.
- No discrete graphics (in this cheaper model); good luck doing machine learning.
- The touchscreen may be finicky in Linux.
Despite these shortcomings, the Dell XPS 13 is still a killer piece of tech and worthy of consideration as your primary ROS machine, especially if you aren’t working with machine learning or point cloud processing.
Choosing the right laptop as your ROS development machine can save you significant headache down the road as you install Linux, configure drivers, and run your laptop through its paces. If you have any questions about my recommendations or any other laptops you like to use for ROS, please let me know. Meanwhile, I’ll keep my eyes peeled for new laptop arrivals!