In my years working with ROS in a research capacity, I've used dozens of development machines, and I've learned a few guidelines when picking out laptops for working with Linux, ROS, and robots. I've updated the guide for newer 2019 laptop models.
If you'd like specific laptop recommendations, use the links below. If you'd like to read more general guidelines and make your own decision, read on!
What to Look for When Choosing a ROS Development Laptop
It's important to have an idea of your budget before starting to look at different laptops. 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, so steer away from AMD cards. Even a lower-end GPU (say, an NVIDIA 940M) will provide leaps and bounds in performance compared to built-in graphics hardware. If a laptop's listing doesn't mention NVIDIA or AMD, then it will only come with built-in graphics.
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 standard budget notebook computer. This also means you should stay away from manufacturers that focus on internals, 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? RViz can really work your computer hard!)
Robots can use up a lot of ports on your computer! In an ideal world, your robotics laptop would have multiple USB 3 buses and ports for cameras, Arduinos, USB drives, and any other peripherals. Some of the robots I've worked with have needed 10 USB devices all plugged in at once! 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 with 4 ports minimum, consider getting an 8-port hub, and also look at hubs that includes an Ethernet port (or get a separate Ethernet adapter).
Recommended ROS Development Laptops
Best Overall Pick: Lenovo Thinkpad X1 Extreme 6th Generation 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. It also has a ton of ports, which is better than a lot of competing models such as the Dell XPS series. I have been using this exact model for 6 months and it has taken everything I've thrown at it with now problems. Because this machine has a discrete graphics card, the battery life on Linux will be quite short, perhaps as short as 2-3 hours. But that's no problem if you've dual-booted with Windows, which barely uses any power.
A GTX 1050 graphics card will happily handle some machine learning or point cloud visualizations.
Best Machine Learning Laptop: Alienware M15
Alienware has a reputation for making great gaming computers, but a lot of people don't realize that those computers work really well for robotics too. This laptop can be configured with top-of-the-line RTX 2070 graphics cards, which are, no exaggeration, some of the most powerful machine learning processors on the planet. The build quality is also quite good.
In the past, I have known people to have trouble with some of Alienware's drivers and Linux compatibility. You may have to pick up a USB wireless network adapter, for example if you can't get Linux to install the proper wireless drivers. However, that should not stop you from buying one of these laptops if you're serious about machine learning on the go, because this machine is an absolute unit.
This computer is not the lightest (or cheapest) on the market, and leans towards more towards a "desktop replacement." It will still fit in your backpack, but you can go a lot smaller and lighter. Which leads us to...
Best Portable Laptop: Dell XPS 13.3" w/Intel 8th-gen
The Dell XPS computers pack a lot of performance into an extremely thin an light package. This model is also a good student pick because of its good price point, while still packing a enough RAM and a good 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 a couple of 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, so it will be hard to do machine learning.
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!
I hope you enjoyed this article. If you’d like to receive emails when I post new content, please sign up for my mailing list below.