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

remote roscore cant find package

asked 2019-02-28 05:49:04 -0500

oligor77 gravatar image

i have a little problem to get my envoirment running.

My setup : A PC running ubuntu 16.04 with ROS installed. This is where i want to develop the code and manage my packages. Here runs everything fine. The scripts are python scripts. And when i run the scripts in seperated terminals, everything is fine.

Next i have a raspberry 3 also running ubuntu. I installed the distro from Ubiquity Robotics. There is ROS already installed. This is the one where roscore is running. Both can see eachother over the net.

Now my problem is, when i try to run a package via rosrun on the raspi it doesn´t find the package. So what must be setuped on the raspi that he finds the package stored on the develop system.

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted

answered 2019-02-28 11:39:44 -0500

ChriMo gravatar image

updated 2019-03-01 02:49:11 -0500


I'm not sure, if I understand you question in details, but I think you need to share your packages and scripts over the network.

ROS can communicate over the network but not sharing packages and programs.

You need a mechanism to sharing binaries over the network.

Possible solutions:

  1. central fileserver, with shared binaries (samba or nfs). Clients can mount and use central data (e.g. your catkin_ws.

  2. central development repository like git. Clients can checkout central repository data .

  3. Push central or development data via script to clients, e.g. via scp or rsync.

In the easiest case and you have packages already distributed, you need to set ROS_MASTER_URI=http://roscore:11311

Happy sharing ros data

Cheers Chrimo

ps: please correct me, if I'm wrong.

edit flag offensive delete link more


This is correct. I would also add that the raspberry pi is an ARM architecture and different OS. So the packages would need compiling again to work on this system. In this case the OP should probably manually share code via git and recompile on both systems.

PeteBlackerThe3rd gravatar image PeteBlackerThe3rd  ( 2019-03-01 02:48:48 -0500 )edit

Yes, this is always true and neccessary, when you use compiler code or local operating system dependencies (libraries and packages).

I saw in the message "python interpreter scripts".

@oligor77, please close your question and rate answers, when happy ;-)

ChriMo gravatar image ChriMo  ( 2019-03-01 06:21:51 -0500 )edit

answered 2019-03-01 02:41:29 -0500

oligor77 gravatar image

You are right, that is exactly what i thought. I only saw an example an the ros ( ) where he sshed on two machines and execute code. But there lack the information that on both machines the same code exists. So i thought it is possible with ros to distibute code over the master. So i have to setup a workspace on all machines which are part of the netowrk.


edit flag offensive delete link more

Question Tools


Asked: 2019-02-28 05:49:04 -0500

Seen: 240 times

Last updated: Mar 01 '19