Tips and best practices for ROS development

The Best Laptops for ROS Robotics Programming in 2021

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 2021 laptop models. Unfortunately, it’s hard to buy laptops right now because of increased demand. Everyone is working from home, and so both businesses and individuals are buying more laptops than they were a year ago. But I think I’ve managed to find a few good pics that still have some stock left.

If you’d like specific laptop recommendations right now, use the links below to jump to the laptops. If you’d like to read my general guidelines first and then make your decision, read on!

What to Look for | Best Overall ROS Laptop | Best Machine Learning ROS Laptop | Best Portable ROS Laptop | Honorable Mentions

I use affiliate links in this article. If you click the link and purchase, I may get a commission. This helps me pay site upkeep costs and supports more ROS Guru articles.

What to Look for When Choosing a Laptop for Robotics or ROS Programming

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

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 an older version of this model for about 3 years and it has taken everything I’ve thrown at it, and it is still doing very well. Because this machine has a discrete graphics card, the battery life on Linux will be short, maybe as short as 2-3 hours. But that’s no problem if you’ve dual-booted with Windows, which can manage the graphics card to use less power. So if you’re on a plane or answering emails – use Windows. When you need to work on your bot – Linux time.

A GTX 1650 graphics card will happily handle some machine learning, CUDA-optimized code, 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 20780 graphics cards, which are, some of the most powerful machine learning processors on the planet. (There are always the RTX 30 cards, but honestly, who can afford those these days?) The build quality is also quite good and you will feel like you are from the future with the laptop’s space-age design.

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 (and cheaper). Which leads us to…

Best Portable Laptop: Dell XPS 13.3″ with Intel 11th-gen

View on Amazon

The Dell XPS computers pack a lot of performance into an extremely thin and light package. This model is also a good student pick because of its cheap price, 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.

Honorable Mention: Dell XPS 15 w/NVIDIA Discrete Graphics

View on Amazon

In the last few years, Dell’s laptops have gotten better and better, and the 2021 model of the XPS 15 is a beast. This machine looks and feels beautiful, and it’s also tough – metal on the outside and carbon fiber on the inside. It also has a great GPU and good battery life. I’ve been using this laptop for about a year alongside my Lenovo X1, and there is a lot to like.

However, there are a few things that make the Lenovo a better choice for most people. Dual-booting this laptop with Windows and Ubuntu took a long time tp set up. The XPS 15 comes with a lot of default settings that make it hard to install ubuntu – such as using RAID instead of ACHI for its hard drive partition management. I ended up writing myself a whole procedure with several steps so I wouldn’t forget how to do it. But if you are comfortable with changing settings in your BIOS and doing some setup work, then this is a great workhorse of a robotics laptop.

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. Stevem Jens Jorgensen

    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

      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. Bas

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

    • Adam A

      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.

© 2021 ROS Guru

Theme by Anders NorenUp ↑