Raspberry Pi3 + controller or BeagleBone or other for ROS?
I'm ROS beginner. I've finish tutorial on beginner level and understand concept of node, topic, message, service, parameter also some test ultrasonic publish between PC and Arduino by Rosserial. So I start to have some picture in mind to build a system.
My robot project is hobby. I plan begin ROS with 2-wheel robot with sensor for line follower. I know simple line follower no need ROS but it for learning into ROS publish/subscribe/service create package or etc. Also it interesting begin.
Next step is to add more sensor and more task like camera to do like line-track or avoid obstacle. Path-planing. Next is to do navigation/localization/map/path-planing/moveit so UMI together with LIDAR, Kinect will be add. I'd like to satisfy with 2D-map or so some cool thing like SLAM which is I don't know how to code before met ROS! So this is my roughly goal to do from now.
I need connect like 5-9 IR-sensor for link-track, motor drive with maybe encoder. Next is webcam, maybe ultrasonic. Next is UMI, LIADR, Kinect. So I need processor and controller. My initial thinking maybe Raspberry together wit Arduino. Or 1-BeagleBone. Or SBC with controller. Problem is: which one to choose or consider? I don't want to buy all of them just to test which one is good, which one is bad.
But since my test for Arduino Uno (2k-sram) wiht 1-ultrasonic take already 60% sram, and when I use sensor_msgs, memory go to 70% and out of synce already. Clearly simply Uno or Leonaro not suit job here. Anyway I love how easy this platform offer.
So should I go for Mega (8k-sram) or Arduino Due (32bit arm cortex-m3 with 96kb-sram) ? Or consider go for other platform like custom my AVR/PIC 16-32bit? Just for increase more memory. Or go to other Arduino base controller board like OpenCR? Also there is Cortex-M controller board to consider like STM32 Nucleo with plenty of IO and RAM
I also see BeagleBone have a lot peripheral and IO. What is con if I choose BeagleBone instead of RaspberryPi + Arduino/uC? I know BeagleBone is also SBC which is not for realtime application. Is the realtime will be problem here? for example pwm to drive motor will be timing problem?
So briefly here is my question
What combination should I use? 1. Raspberry Pi3 is enough for these task?
Raspberry Pi3 + Arduino/Arduino base/OpenCR/AVR/PIC/STM32Nucleo or just BeagleBone ?
SBC (UDOO, Odroid, etc) + Arduino/Arduino base/OpenCR/AVR/PIC/STM32Nucleo?
I can't really choose way to go or it cost too much and time consume. Can you share idea/help?
Raspberry Pi3 is enough for these task?
Raspberry Pi3 + Arduino/Arduino base/OpenCR/AVR/PIC/STM32Nucleo or just BeagleBone ?
sorry typing layout seem strange
Arduino Uno SRAM 2048 or 2K, simple Hello World already take 1358 or 66%. If I try more code it take 70% above then it unable to communicate with rosserial. But now I try STM32F469 Discovery Board have SRAM 320K with Hello World take for 1.3K-1.5K I've plenty room to play.. Hope see more comment..