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

Trouble running robot_upstart

asked 2015-09-23 11:18:00 -0500

updated 2017-12-19 22:04:48 -0500

ngrennan gravatar image

Hello all.

I installed ros_upstart with this command sudo apt-get install ros-indigo-robot-upstar.

I can find the files in /opt/ros/indigo/lib/robot_upstart/ and /opt/ros/indigo/lib/python2.7/dist-packages/robot_upstart.

I also did echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc and source ~/.bashrc.

After starting roscore I run this comand

rosrun robot_upstart install myrobot_bringup/launch/base.launch

and I get this error

Unable to locate path launch/base.launch in package myrobot_bringup. Installation aborted.
Traceback (most recent call last):
  File "/opt/ros/indigo/lib/robot_upstart/install", line 32, in <module>
    exit(main())
  File "/opt/ros/indigo/lib/python2.7/dist-packages/robot_upstart/install_script.py", line 83, in main
    if os.path.isfile(found_path[0]):
IndexError: list index out of range

I also tried sudo service myrobot start and got

myrobot: unrecognized service

Am I running the command in the wrong directory? Do I need to change something that is specific to my machine?

In advance. Thanks for any help

edit retag flag offensive close merge delete

4 Answers

Sort by ยป oldest newest most voted
2

answered 2015-09-23 16:27:44 -0500

ChriMo gravatar image

Hi, I had the same problems and errors at my Ubuntu armhf RPI2.

I've noticed that the armhf packages are too old and tried to compile from source. Same problem!

Plan-B:

$sudo apt-get install daemontools

create a file /etc/init/svscan.conf

start on runlevel [2345]

expect fork
respawn
exec svscanboot

$sudo mkdir -p /etc/service/mockbot

create a file /etc/service/mockbot/run

#!/bin/bash
export USER=ros
export HOME=/home/$USER
source /opt/ros/indigo/setup.bash
exec /opt/ros/indigo/bin/roslaunch mockbot mockbot.launch

Check service

$sudo service svscan status

svscan start/running, process 835

$sudo svstat /etc/service/mockbot

/etc/service/mockbot: up (pid 849) 1443043529 seconds

Now, your ros launchfile will be startet at system boot.

Not perfect as robot_upstart, but it works ;-)

Cheers Chrimo

edit flag offensive delete link more

Comments

Thanks for the workaround but at the moment I'd like to continue with getting this going. If all else fails I'll try this.

MiniMe gravatar image MiniMe  ( 2015-09-28 20:40:03 -0500 )edit
0

answered 2017-10-01 15:50:48 -0500

130s gravatar image

updated 2017-10-01 15:54:23 -0500

I've opened a PR that is already accepted to add friendlier error message for your issue. AFAIK it's not yet available from binary version (0.1.3 for Indigo) so source build if you crave for it.

The reason why you're getting the error is already pointed out by others.

edit flag offensive delete link more

Comments

Version 0.3.0 includes the mentioned PR.

130s gravatar image 130s  ( 2018-09-10 12:28:49 -0500 )edit
0

answered 2015-09-23 15:49:41 -0500

Naman gravatar image

It is happening because you do not have a package called myrobot_bringup or the path to the launch file (launch/base.launch) is incorrect. Make sure you have the package (try doing roscd) and you are pointing to the correct launch file. myrobot_bringup is just an example name of the package, You should replace it with the package which you have in ros workspace and make sure to add the correct launch file.

edit flag offensive delete link more

Comments

I was under the impression that installing this upstart package would have everything needed to auto start ROS at startup. I haven't been able to manually find myrobot_bringup. Any idea where this file should normally be? What should it contain?

MiniMe gravatar image MiniMe  ( 2015-09-28 20:40:56 -0500 )edit

As mentioned in the answer, myrobot_bringup is just an example name of the package, You should replace it with the package which you have in ros workspace which you want to run at startup and make sure to add the correct launch file.

Naman gravatar image Naman  ( 2015-09-28 21:59:43 -0500 )edit

I must have miss understood what robot_upstart actually does. Would this be correct. robot_upstart simply starts up during boot up and points to a folder in the ROS workspace (I assume catkin_ws/src or similar) where it expects to see 1 or many launch file. It than runs these launch files.

MiniMe gravatar image MiniMe  ( 2015-09-29 21:02:53 -0500 )edit
0

answered 2015-11-03 20:13:40 -0500

crazymumu gravatar image

Try to install robot_upstart from github. Follow this questionto understand by @gvdhoorn how to install ros package from github or source if you messed up. Follow this docsto know how to it works. Like me, I am using Odroid ux4 with Ubuntu 14.04. When you root and cd /etc/init and type ls in your terminal. you will see your_job_name.conf which indicated your job created by robot_upstart started from system initially.

I hope this can help you.

Lin

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2015-09-23 11:18:00 -0500

Seen: 2,242 times

Last updated: Oct 01 '17