Ailibot入门教程-应用-开机自动启动程序
Ailibot入门教程-应用-开机自动启动程序
说明
- 介绍如何使用ailibot开机自动启动程序,使用xbox360游戏柄控制ailibot
相关设备
- Ailibot套件,采购地址
方法一:
- 新建脚本文件 ailibot_x360.sh,加载环境变量,启动launch文件
vim /home/ubuntu/tools/ailibot_x360.sh
#!/bin/bash
#Get local wlan0 IP
#inet=$(ifconfig wlan0 | grep inet | grep -v 127.0.0.1 | grep -v inet6 | awk '{print $2}' | tr -d "addr:")
#echo $inet
inet=localhost
#Source ~/.bashrc
source /opt/ros/kinetic/setup.bash
source ~/catkin_ws/devel/setup.bash
source ~/cartographer_ws/install_isolated/setup.bash
export ROS_MASTER_URI=http://$inet:11311
export ROS_HOSTNAME=$inet
source /home/ubuntu/ailibot_ws/devel/setup.bash
export AILIBOTLIDAR=rplidar
export AILIBOTBASE=o4
export GIT_SSL_NO_VERIFY=1
export ROS_NAMESPACE=""
#Start ailibot
roslaunch ailibot_bringup bringup_x360.launch
- 给ailibot_x360.sh脚本文件,添加权限
chmod 777 ailibot_x360.sh
- 修改 启动加载文件rc.local,启动脚本文件
sudo vim /etc/rc.local
#!/bin/bash
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sleep 10
/home/ubuntu/tools/ailibot_x360.sh &
exit 0
- 重新启动ailibot,开机后40秒左右,xbox360游戏柄可以控制ailibot
方法二:
GNOME桌面环境
在终端中运行这个命令,启动"Startup Applications Preferences"(启动应用程序首选项)GUI
$ gnome-session-properties
- 点击"Add"(添加)按钮,即可配置一个新的启动应用程序。分别往"Name"(名称)栏和"Command"(命令)栏里面键入该应用程序的名称和该应用程序的CLI命令往"Comment"(注释)栏里面键入可选的描述。
Unity桌面环境
在Unity Dash中键入"startup"(启动)。一旦"Startup Application"(启动应用程序)图标出现,就点击该图标
一旦"Startup Applications Preferences"(启动应用程序首选项)窗口打开,输入"Name"(名称)、"Command"(命令)和"Comment"(注释),即可配置自动启动的某个程序。
方式三:
- 安装robot upstart
sudo apt install ros-melodic-robot-upstart
- 启动roscore
roscore
- 用robot_upstart的帮助命令查看其用法
rosrun robot_upstart install -h
将需要启动的所有ROS节点集中写到一个launch文件myrobot.launch
装载该launch文件
rosrun robot_upstart install myrobot.launch --job myrobot --interface wlan0 --logdir ~/myrobot.log
其中,
--job指定任务的别名
--interface指定网络接口,一定要设置,不然无法实现多机ROS通信
--logdir指定日志存放目录
- 启动任务
sudo systemctl daemon-reload && sudo systemctl start myrobot
- 重启任务
sudo systemctl restart myrobot
- 停止任务
sudo systemctl stop myrobot
卸载自启动任务
由于robot_upstart是ROS节点,启动前需要先开启roscore
roscore
- 卸载
rosrun robot_upstart uninstall myrobot
- 删除日志
sudo rm -rf ~/myrobot.log
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号