I work with ROS on hybryde set of Asus Tinker Board (https://www.asus.com/us/Single-Board-Computer/Tinker-Board/) and Husarion CORE2 (https://husarion.com/core2/). I tried also Pi3 instead Asus, BBB and few other devices and sets but all of them was little a bit slow. Now i can use any packages that I want without any problem. You realy should check this out.
The question depends on what you mean with “best”. If you mean “best to learn ROS on ARM” the BeagleBone Blue (BB for robotics) or the BeagleBone Black with Robotics Cape could be good choices (affordable board, hardware support for applications out-of-the-box, software libraries for low level functionality let you focus on application level functionality, software libraries easy to install).
A nice course also for absolute beginners which uses the BBB with Robotics Cape is e.g. EDUMIP ROS course.
I have to agree with @fkromer about this course, but if you want something on really basic level i recomend you tutorial created by Husarion https://husarion.com/core2/tutorials/. It’s based on CORE2-ROS. You can use another device of course but like I said before CORE2-ROS is very easy and nice to use controller
We’ve tried many of these boards and several in between. We wound up coming back to RPi3 again and again. The fact that RPi has such a strong community tended to mean that problems with their software stack usually get ironed out quickly. There is also a lot of support for image processing on the RPi3. For example here: http://www.pyimagesearch.com/
I think adrian, from pyimagesearch has conclusively shown that the RPi 3 does have enough horsepower to do some rather interesting visual processing applications.
We actually have an RPi3 image here which includes ROS as well as all the projects we are working on:
Quick summary of our experience
*BBB - not enough horsepower
*nVidia boards - good in theory, but when we tried it the OS stack was kind of problematic, with lots of bugs that needed nVidia’s attention and them not really dealing with them. Things may have improved since we tried more than a year ago.
*Rockboard - good in theory but the community support from RPi was just better and RPis were more powerful and cheaper
*Cubieboard - ditto the rockboard comment
*oDroid - perhaps we could have gone harder on this one, but a lot of the peripherals we wanted weren’t possible on this one.
I have two 3D cams on the XU4 simultaneously and no problem at all (Orbbec astra mini s)
I really recommend testing the Odroid XU4 (or better the XU4Q with passive heating).
The raspberry Pi3 is by far no match, especially considering the XU4 price (59 USD). What peripherals were not possible on the odroid? I mean it runs normal ubuntu so what would be the difference to the Pi?
Depends on if you want to use the Odroid XU4(Q) in the industrial domain. As far as I know it is EMC and RoHS certified but I’ve never recognized an Odroid in any commercially available product. In contrast the Raspberry Pi 3 Model B+ and the Raspberry Pi Compute Module 3+ are less powerful w.r.t. CPU and RAM but used in many commercially available industrial gateways nowadays. In my opinion the Raspberry Pis are quite a good fit for educational purposes as well. Quad core CPU enables to learn system level CPU management with/without container runtimes/orchestration systems running on the SoC. Model B+ has a CSI port to begin working with cameras. Compute Module 3+ has an builtin eMMC essential to learn things related to system level memory layouting. Unfortunatelly Model B+ provides Gigabit Ethernet over USB 2.0 which is limited to a throughput of 300 Mpbs.
In case you need a board for high performance vision and AI use cases with huge CPU, GPU and RAM requirements there is no way around the NVIDIA Jetson Boards I guess.