ROS Upstart package
ROS Package - robot-upstart
1. Install robot-upstart package
export ROS_VER=melodic
sudo apt-get install ros-$ROS_VER-robot-upstart
2. Choose roslaunch file to upstart
Test it working.
roslaunch <PACKAGE_NAME> <LAUNCH_FILE>.launch
3. Install roslaunch file from script
rosrun robot_upstart install <PACKAGE_NAME>/launch/<LAUNCHFILE>.launch --job <JOB_NAME> --symlink
then, just run below line
sudo systemctl daemon-reload
4. Start robot-upstart service
sudo systemctl start <JOB_NAME>.service
5. Stop robot-upstart service
sudo systemctl stop <JOB_NAME>.service
6. Uninstall service
sudo systemctl disable <JOB_NAME>.service
rosrun robot_upstart uninstall <JOB_NAME>
Hardward Permission Problem
1. Give hardware permissions with udev rules
sudo nano /etc/udev/rules.d/local.rules
Add below lines
ACTION=="add", KERNEL=="dialout", MODE="0666"
ACTION=="add", KERNEL=="ttyTHS[0-9]*", MODE="0666"
ACTION=="add", KERNEL=="ttyUSB[0-9]*", MODE="0666"
2. Jetson Nano UART port's Permission Problem [2]
systemctl stop nvgetty
systemctl disable nvgetty
udevadm trigger (or reboot)
Ref
1. Make a ROS Launch Start on Boot (robot_upstart), roboticsbackend.com/make-ros-launch-start-on-boot-with-robot_upstart/
2. forums.developer.nvidia.com/t/read-write-permission-ttyths1/81623/3