ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

ROS_NXT Advanced Capabilites?

asked 2012-06-25 16:45:38 -0500

Nezteb gravatar image

updated 2014-01-28 17:12:49 -0500

ngrennan gravatar image

Does ROS for the NXT have the capability to do sophisticated statistical calculations such as matrix multiplication and inversion? I'm looking at using it to do some Qlearning algorithms.

EDIT: Are the packages created in ROS not stored on the NXT then? Does your computer need to constantly be connected via bluetooth or USB in order to relay the package info to the brick?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2012-06-25 20:57:39 -0500

ipso gravatar image

updated 2012-06-26 09:16:59 -0500

In short: as the ROS nodes for nxt don't run on your brick, you are free to use any code / library you want (as long as you can run it on your laptop/pc).

Longer answer: The nxt_ros package is 'nothing more' than a wrapper around the nxt_python Python library. This enables bidirectional communication between ROS and the NXT brick.

As the rest of your ROS nodes "don't care" where their data is coming from or going to, you are free to use any other nodes, as long as their messages are compatible.

This is actually one of the fundamental tenets of component based development: keep implementation specific details 'locked up' inside your components, while using suitable connectors to exchange the proper messages. Ideally, no knowledge about you using the NXT as an actuation platform is ever present in any of your nodes, apart from the nxt_ros package (cum suis).

Answer to the edit: yes, your computer/laptop will need to be running all the time. As I wrote, the nxt_ros package is just a wrapper around a library, facilitating communication between your computer and the brick over usb/bluetooth.

According to this page, the brick has a 48MHz ARM7 with 64KB ram. While perhaps rosserial_arduino could be adapted to run on it, the brick is in no way powerful enough to run a full blown ROS.

edit flag offensive delete link more


Exploiting this decoupledness: you could do all your ML in Matlab or perhaps a DSL, provided it can be integrated with ROS.

ipso gravatar image ipso  ( 2012-06-25 22:54:38 -0500 )edit

Question Tools


Asked: 2012-06-25 16:45:38 -0500

Seen: 242 times

Last updated: Jun 26 '12