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

is there a way to run the ROS code of machine A from machine B using serial communication?

asked 2017-10-03 16:24:32 -0500

chanhyeoni gravatar image

Here is my machine setup. I have Jetson TX1 connected to raspberry pi, and each machine has a set of ROS-based codes. They are connected using the ttl-to-USB converter, and I checked that the connection was made using the standard pyserial library.

My question here is how I can use ROS to let them still get connected. The tutorial said that I need to have some kind of embedded linux development environment to write the code for the pi board on jetson and download the code to the pi board. But that's far beyond what I can do now, and I would like to come up with other ways to enable the serial communication, while the codes I wrote for both machines stay intact. I'm thinking of utilizing launch files (the launch files from the jetson tx1 calls serial-related libraries, which would call the ROS nodes written on the pi board). Please let me know if my theory is correct.

Thank you.

edit retag flag offensive close merge delete



I don't completely understand what you want to do, but perhaps rosserial can help here.

gvdhoorn gravatar image gvdhoorn  ( 2017-10-04 02:10:40 -0500 )edit

The tutorial said [..]

which tutorial. Always include a link to anything you refer to. Without that we cannot help you.

I need to have some kind of embedded linux development environment

no, you don't. For rosserial_embeddedlinux ..

gvdhoorn gravatar image gvdhoorn  ( 2017-10-04 02:11:43 -0500 )edit

.. you just need a platform that can compile regular C/C++ code and has a serial or network connection available.

It's just that you need a Linux environment, as opposed to any of the other supported target platforms (ie: Arduino, MBED, etc, which are not Linux).

gvdhoorn gravatar image gvdhoorn  ( 2017-10-04 02:13:26 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2017-10-06 01:27:52 -0500

schorsch_76 gravatar image

It is basicly a Linux network thing that you want to achive. You want to be able to send ros Messages over a Serial line.

Just setup a permanent SLIP or PPP Connection between the two controllers.

If the network connection between the controllers exists, it acts like a Ethernet/wifi connection. Just the physical layer is RS232. It's speed is bound to the physical speen. Maybe you can use compression on both sides to increase throughput but it might increase latency.

See .

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2017-10-03 16:24:32 -0500

Seen: 119 times

Last updated: Oct 06 '17