0
$\begingroup$

Rosanswers logo

After quite some search I think robot_upstart would be the best way to call a launch file during boot. Howeve, it seems to be hard to get up and running. The documentation is about usage but installation seems to be an issue (for me at least).

I'm running ROS indigo on an odroid U2.

I have a launch file created basically from the tutorials and a cpp project with a counter as service and publisher. I can run the launchfile and it starts up fine. I can call the service from another odroid as well, so that part seems to work fine.

I installed the ros-indigo-robot-upstart package with apt-get. rosrun didn't find it so I made a rosbuild robot_update. Now rosrun finds it. Then I try to run:


odroid@odroidU2a:~$ rosrun robot_upstart install RosProjects/catkin_ws/src/counter/launch/counterstart.launch --interface wlan2

sudo: a password is required

Re-invoking installation script as root.

[sudo] password for odroid:

grep: Invalid range end

grep: Invalid range end

grep: Invalid range end

grep: Invalid range end

/opt/ros/indigo/lib/robot_upstart/install: line 136: source: /bin/true: cannot execute binary file
Installing odroidindigo job using network interface true.

/opt/ros/indigo/lib/robot_upstart/install: line 153: rosrun: command not found

/opt/ros/indigo/lib/robot_upstart/install: line 154: rosrun: command not found

/opt/ros/indigo/lib/robot_upstart/install: line 155: rosrun: command not found

/opt/ros/indigo/lib/robot_upstart/install: line 162: rospd: command not found

Adding files to odroidindigo job: odroidindigo/home/odroid/RosProjects/catkin_ws/devel/setup.bashRosProjects/catkin_ws/src/counter/launch/counterstart.launchwlan2/*

/opt/ros/indigo/lib/robot_upstart/install: line 168: pushd: home/odroid/RosProjects/catkin_ws/devel/setup.bashRosProjects/catkin_ws/src/counter/launch/counterstart.launchwlan2: No such file or directory

cp: omitting directory 'etc'

cp: omitting directory 'include'

cp: omitting directory 'lib'

cp: omitting directory 'share'

/opt/ros/indigo/lib/robot_upstart/install: line 170: popd: directory stack empty

/opt/ros/indigo/lib/robot_upstart/install: line 172: popd: directory stack empty

I'm completely lost here. Anyone having an idea what could be wrong? As it seems it can't identify rosrun from sudo I have also tried to invoke the command as root and source the ros setup.bash. Then I get:


root@odroidU2a:/home/odroid# rosrun robot_upstart install /home/odroid/RosProjects/catkin_ws/src/counter/launch/counterstart.launch --interface wlan2
bash: rosrun: command not found
root@odroidU2a:/home/odroid# source /opt/ros/indigo/setup.bash
root@odroidU2a:/home/odroid# rosrun robot_upstart install /home/odroid/RosProjects/catkin_ws/src/counter/launch/counterstart.launch --interface wlan2
grep: Invalid range end
/opt/ros/indigo/lib/robot_upstart/install: line 136: source: filename argument required
source: usage: source filename [arguments]
Installing  job using network interface true.
usage: start_gen [-h] --setup SETUP --rosdistro ROSDISTRO --job JOB --master
                 MASTER --user USER --interface INTERFACE
                 [outfile]
start_gen: error: argument --job: expected one argument
usage: stop_gen [-h] --job JOB [outfile]
stop_gen: error: argument --job: expected one argument
usage: job_conf_gen [-h] --interface INTERFACE --job JOB [outfile]
job_conf_gen: error: argument --job: expected one argument
/opt/ros/indigo/lib/robot_upstart/install: line 162: rospd: command not found
Adding files to  job: /home/odroid/RosProjects/catkin_ws/src/counter/launch/counterstart.launchwlan2/*
/opt/ros/indigo/lib/robot_upstart/install: line 168: pushd: home/odroid/RosProjects/catkin_ws/src/counter/launch/counterstart.launchwlan2: No such file or directory
cp: omitting directory 'Desktop'
cp: omitting directory 'Documents'
cp: omitting directory 'Downloads'
cp: omitting directory 'Music'
cp: omitting directory 'Pictures'
cp: omitting directory 'Public'
cp: omitting directory 'RosProjects'
cp: omitting directory 'RosTestProjects'
cp: omitting directory 'Templates'
cp: omitting directory 'TurtleBot'
cp: omitting directory 'Videos'
/opt/ros/indigo/lib/robot_upstart/install: line 170: popd: directory stack empty
/opt/ros/indigo/lib/robot_upstart/install: line 172: popd: directory stack empty
root@odroidU2a:/home/odroid#


Originally posted by raarenst on ROS Answers with karma: 26 on 2015-02-08

Post score: 1


Original comments

Comment by raarenst on 2015-02-09:
I have changed to pkg/path:

odroid@odroidU2a:~$ rosrun robot_upstart install counter/launch/counterstart.launch --interface wlan2

but still the same thing.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Ack, sorry you're having this issue. This is exactly the sort of problem which prompted the recent rewrite of the package from Bash to Python. This has been released for about three weeks, but it looks like Austin's ARM buildfarm is still building version 0.0.6, rather than 0.1.1.

If you'd like to try the new version, I suggest using it from a source workspace.


Originally posted by mikepurvis with karma: 1153 on 2015-02-10

This answer was ACCEPTED on the original site

Post score: 6


Original comments

Comment by raarenst on 2015-02-10:
Thanks, it worked fine from source!

Is there a recommended way to remove an upstart job?

Comment by mikepurvis on 2015-02-11:
At present, just delete the /etc/init/jobname.conf file.

Comment by 130s on 2018-01-29:
Now uninstall seems to be an option.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.