Last active
April 4, 2019 14:39
-
-
Save felix-kolbe/8419903 to your computer and use it in GitHub Desktop.
Start script for ps3joy_node from ROS. http://wiki.ros.org/ps3joy#Launching_with_permissions
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# this file is listed in /etc/rc.local to be executed on boot as user root | |
if [ "$(whoami)" != "root" ]; then | |
echo "Run me as super user!" | |
exit 1 | |
fi | |
echo "Note that we run as root with user config files so some warning outputs are to be expected." | |
# we source this because of ROS_IP etc: | |
source /home/demo/.bashrc | |
# but as ~-relative paths from that won't work as we are root, | |
# so we make sure we have ros sourced: | |
#source /opt/ros/$ROS_DISTRO/setup.bash | |
# the above line would suffice if we'd use the joystick_drivers from | |
# source, but as we have modified them from source we need the catkin_ws | |
source /home/demo/catkin_ws/devel/setup.bash | |
echo "waiting for roscore being started.." | |
while ! rostopic list > /dev/null; do | |
sleep 1 | |
done | |
echo "roscore ready" | |
echo "Checking whether any ps3joy(_node) is already running.." | |
# pgrep: 0 on match, 1 on no match | |
# grep: 0 on match, 1 on no match | |
if pgrep ps3joy.py > /dev/null || | |
pgrep ps3joy_node.py > /dev/null || | |
# this test is needed because python scripts are executed under the | |
# generic process name 'python' so we have to test for ps3joy as a | |
# ros node. | |
rosnode list | grep "/ps3joy" ; then | |
echo "Error!? ps3joy(_node) is already running! Quitting starter" | |
exit 1 | |
else | |
echo "Starting ps3joy_node..." | |
#/opt/ros/$ROS_DISTRO/lib/ps3joy/ps3joy_node.py --inactivity-timeout=300 > /var/log/rc_local-ps3joy_node.log 2>&1 & | |
# we need the patched ps3joy_node from catkin workspace: | |
/home/demo/catkin_ws/src/joystick_drivers/ps3joy/scripts/ps3joy_node.py --inactivity-timeout=300 > /var/log/rc_local-ps3joy_node.log 2>&1 & | |
exit 0 | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment