Hi! I recently learned about micro-ROS and would like to know if it will work on the BeagleBone AI.
Thanks!
ROS Resources: ROS Homepage | Media and Trademarks | Documentation | ROS Index | How to Get Help | Q&A Help Site | Discussion Forum | Service Status |
Hi! I recently learned about micro-ROS and would like to know if it will work on the BeagleBone AI.
Thanks!
Is this something for ROS answers? Anyway, the BB-AI has a full grown ARM Cortex-A15 dual core, so why do you want to tun ro run microROS on it instead of the “real ROS”? Yes, the BB-AI is a little short on RAM, but still has e.g. about 2000x the RAM of the ESP32 microROS was made for.
Hi @fsuna064! Welcome to the micro-ROS world
Do you wish to compile the Client or the Agent on the BB-AI? It’s possible to have both, thanks to its resources offer, more than compatible with the memory requirements of the micro-ROS Client. The Agent, while being heavier, it’s also compatible with this hardware.
In this sense, you could also compile the whole ROS 2 stack, as @Humpelstilzchen is correctly suggesting, but it’s also true that cross-compilng micro-ROS is easy as pie while the other task might be more laborious in case such compilation is not available already.
As a side note, micro-ROS wasn’t made for the ESP32, but rather for being crosscompiled on a diverse suite of MCUs encompassing a generous range of CPUs, flash memories, SRAMs, exposed perihperals and I/O pins, so as to be able to address the needs of a market portion as large as possible.
Sorry, I meant ESP32 only es an example for one of the target platforms. Still I don’t see the point in running microRos when the board can handle the default ROS just fine.
I’m asking about micro-ROS because I was trying to run the Universal_Robots_ROS_Driver but ran into issues where the motion of the robot wasn’t very smooth (compared to the simulation in Gazebo on my laptop) and I needed to modify the resources/ros_control.urscript
in ur_robot_driver
for the step time as well as the max frequency in src/rtde/rtde_client.cpp
in ur_client_library
in order to get a smoother motion. I’m not sure it’s due to CPU limitations but I’m not sure what else would be causing this issue… I had also had problems with the CPU being overloaded and needed to add some swap space. Also my setup was running in a Docker container with ROS 1 cross-compiled for ARM.
Thanks again!
@fsuna064 Isn’t it possible to run ROS 2 natively in the BeagleBone AI?