ROS Guru

Tips and best practices for ROS development

The Best Laptops for ROS Development in 2019

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 | Best Overall ROS Laptop | Best Machine Learning ROS Laptop | Best Portable ROS Laptop

What to Look for When Choosing a ROS Development Laptop

The Price

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.

Graphics

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.

Build Quality

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.

Speed

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!)

Peripherals

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″

View on Amazon

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

View on Amazon

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

View on Amazon

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:

  1. 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.
  2. 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.

Summary

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.

4 Comments

  1. Well done Adam! I’ve come to a similar conclusion regarding Dell’s XPS laptops and Lenovo’s line up.

    Personally, I’ve been entertaining the idea of doing remote computing with a super portable laptop, for example having a powerful computer at home/lab/Amazon and using Lenovo’s Thinkpad Carbon on the go. But, a powerful local laptop is still preferred as it will not need an internet connection.

    • adam

      January 16, 2018 at 4:40 am

      I haven’t had a chance to play too much with the Carbon, but I know a couple people who are starting to use it for ROS. I may have to come back and update this post as I get more information!

  2. Thank you Adam for the recommendation. Which Ubuntu and ROS versions are recommended to be installed on new machine?

    • Great question. If you’re just getting started with ROS, I would recommend using Ubuntu 18.04 (Bionic Beaver) and ROS Melodic. Ubuntu and ROS use a system where every other year, they release Long-Term Support (LTS) releases, which get updates longer than the other releases. So Ubuntu 18 is a better choice than Ubuntu 17 or 19, and Melodic is better than Lunar or Noetic. You can read more about release cycles at this link.

      Also, a bit more information: certain combinations of ROS version and Ubuntu version are better-supported than others. For example, if you go to the melodic install page, you can see that prebuilt packages are available for Artful (Ubuntu 17) and Bionic (Ubuntu 18). In almost every case, it’s best to go with the already-supported configurations, rather than try to mix and match your own unique setup.

Leave a Reply

Your email address will not be published.

*

© 2019 ROS Guru

Theme by Anders NorenUp ↑