< >
Home » Ailibot实体机器人入门教程 » Ailibot入门教程-应用-开机自动启动程序

Ailibot入门教程-应用-开机自动启动程序

Ailibot入门教程-应用-开机自动启动程序

说明

  • 介绍如何使用ailibot开机自动启动程序,使用xbox360游戏柄控制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

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: 开机自动启动