ROS:开机自启动

2023-11-12

Ubuntu14.04

网上很多资料说在/etc/rc.local中添加脚本,实验之后完全没用。可能是系统版本不对。
解决:
Ubuntu14.04 开机项命令: gnome-session-properties
这里写图片描述
点击”add”
这里写图片描述

name : 名字
command : 命令,eg:gnome-terminal -x your_command.sh
注意:sh文件的权限,必须是可运行的, 路径为绝对路径。

 sudo chmod +x your_command.sh

comment :注释

这里写图片描述

这里写图片描述
退出,重启!

脚本文件 start.sh

#! /bin/bash 
source /opt/ros/indigo/setup.sh
source /home/server/catkin_ws/devel/setup.bash
roslaunch /home/server/catkin_ws/src/nodelet_tutorial_math/launch/plus.launch

开机后结果,已经自动运行了。
这里写图片描述

firefly

最终的产品我们不可能用一台电脑作为处理器,所以我们要有开发板,我们使用的是firefly rk3288.系统是Ubuntu14.04.因为系统是同事搞得,具体细节不清楚。在firefly中,没有gnome-session-properties这条命令,也就是说之前的方法不能用。这个时候robot_upstart 上场了。
http://docs.ros.org/jade/api/robot_upstart/html/index.html#
安装:sudo apt-get install ros-indigo-robot-upstart

install 命令:要启动的launch文件,默认的名称为”myrobot”,也可以使用–job 指定工作名称,默认是工程名(下划线之前的部分)。

这里写图片描述

start 命令:

$ sudo service nodelet start

这里写图片描述

关机重启之后,这时,我们的终端不会自动启动,但是ros 节点已经启动了,打开终端,验证一下执行

$rosnode list
$rostopic list

这里写图片描述

可以看到,ros节点已经在运行了。

stop命令:

sudo service nodelet stop

uninstall命令:

rosrun robot_upstart uninstall nodelet

这里写图片描述
这样自启动就会取消了。

遇到的大坑

我们的板子需要接很多设备,比如底座,摄像头,arduino等等。板子上的usb转串口 接口明显不够用。另外开机时串口的识别,设备的识别等很不稳定。所以让这些设备在板子开机时被稳定的识别到是最重要的。目前没有找到好的解决办法,以后解决了再更新。

2016 -12-30更新

之前的关于设备接口和串口识别不到的问题解决了,说一下解决思路。可以新建一个node,使用launch启动,将这个launch设为自启动。这样,上电开机时,这个node就会运行。在这个node中,延时一段时间,调用c++的system函数执行去linux命令,启动包含摄像头等其他设备的launch。

system("roslaunch pkg xxx.launch")

总之,等系统识别完设备接口之后,再去启动我们的launch,就能保证不会出现找不到串口或设备的问题了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS:开机自启动 的相关文章

随机推荐

  • list集合(接口)

    list集合 显而易见是用来存储数据的 可以把它看作是长度可变的数组 它是有序存储数据的 具有跟数组一样的索引 ArrayList LinkedList Vector Stack都是list接口的实现类 以ArrayList为例说明list
  • 1033 旧键盘打字 (20 分)

    题目 旧键盘上坏了几个键 于是在敲一段文字的时候 对应的字符就不会出现 现在给出应该输入的一段文字 以及坏掉的那些键 打出的结果文字会是怎样 输入格式 输入在 2 行中分别给出坏掉的那些键 以及应该输入的文字 其中对应英文字母的坏键以大写给
  • 基于Redis的BitMap实现签到、连续签到统计(含源码)

    微信公众号访问地址 基于Redis的BitMap实现签到 连续签到统计 含源码 推荐文章 1 springBoot对接kafka 批量 并发 异步获取消息 并动态 批量插入库表 2 SpringBoot用线程池ThreadPoolTaskE
  • mysql日期转换

    1 MySQL中和日期相关的函数 1 1 DATE FORMAT date format 主要用来将日期格式化函数 举例 SELECT DATE FORMAT NOW Y m d 1 2 STR TO DATE str format 主要用
  • 分析pandas的数据,分析某一列数据的长度分布等等

    分析数据 如分析sku的长度 import pandas as pd import numpy as np data file data data zh sku 80k csv 待分析的文件 def ana len file key Non
  • AI绘画:StableDiffusion实操教程-斗破苍穹-云韵-常服(附高清图下载)

    前段时间我分享了StableDiffusion的非常完整的教程 AI绘画 Stable Diffusion 终极宝典 从入门到精通 不久前 我与大家分享了StableDiffusion的全面教程 AI绘画 Stable Diffusion
  • HITICS-2018大作业 hello的一生

    摘 要 本论文详细介绍了hello程序在linux系统中从生成源代码到成功运行完毕被系统回收的整个过程 按照执行的先后顺序模块化介绍了hello c在计算机内部是系统具体执行了什么指令 如何执行的 用到了哪些知识等 本论文参考CSAPP课本
  • linux(centos) 保存退出vi编辑

    保存命令 按ESC键 跳到命令模式 然后 w 保存文件但不退出vi w file 将修改另外保存到file中 不退出vi w 强制保存 不推出vi wq 保存文件并退出vi wq 强制保存文件 并退出vi q 不保存文件 退出vi q 不保
  • Oracle存储过程获取入参出参(顺序,名字,类型,入参/出参)

    调用SQL语句 PROCEDURE NAME为过程名 自行替换要查询的过程名 POS为参数位置 NAME为参数名 TYPE为参数类型 IN OUT为入参 出参 SELECT A POSITION POS A ARGUMENT NAME NA
  • ABB 120 六轴机械手臂编程调试(三)

    下一步进行机械手臂的程序编写 程序只是进行简单的点位运动 实现抓取功能 程序控制的点位表 输入点位 点位描述 输出点位 点位描述 DI5 夹取完成 DO5 夹取物料 DI6 放料完成 DO6 放下物料 DI7 回原点 DO7 设备就绪 DI
  • Python练习——基础练习题2

    因为控制台会让不断输入 索性就把input放到注释里了 这一片主要练习if判断和while循环 初级 判断下列语句的打印结果 1 print True and True or True 2 print True and True or Fa
  • 因果图分析法例子

    某软件规格说明书包含这样的要求 第一列字符必须是A或B 第二列字符必须是一个数字 在此情况下进行文件的修改 但如果第一列字符不正确 则给出信息L 如果第二列字符不是数字 则给出信息M 解答 1 根据需求 分析出原因和结果如下 原因 1 第一
  • smbms(超市管理系统)源码 + 分析

    在项目开始之前 我们首先要对项目的整体架构分析一下 该项目一共分为四个模块 登录注销 用户管理 订单管理 供应商管理 其中用户管理 订单管理以及供应商管理都是需要对数据库进行crud的 项目的整体架构图如下 1 前期准备 1 项目架构 2
  • Android中Activity跳转到具体的Fragment的方法

    1 首先在需要跳转的Activity写此代码 Intent intent new Intent from MainActivity class intent addFlags Intent FLAG ACTIVITY SINGLE TOP
  • 理解Android上下文Context

    Context使用场景总的来说分为两大类 使用Context调用方法 比如启动Activity 访问资源 调用系统级服务等 调用方法时传入Context 比如弹出Toast 创建Dialog等 Activity Service和Applic
  • 安装snownlp报错 error: subprocess-exited-with-error

    安装snownlp报错error subprocess exited with error 解决方案重新安装importlib metadata pip uninstall importlib metadata pip install im
  • Zabbix监控平台部署实验——自定义zabbix监控项目

    Zabbix系列文章目录 第一章 Zabbix5 0版本的安装教程 第二章 Zabbix监控平台部署实验 自定义zabbix监控项目 目录 Zabbix系列文章目录 前言 二 操作步骤 1 安装配置环境 2 授权zabbix server可
  • STM32HAL库的基本使用(1)- GPIO引脚配置

    前言 作者使用的是STM32L431RCT的开发板 Cortex M4的内核 是大学老师教学用的 原理图如下 原理图下载链接 https pan baidu com s 1c8WFBO9bPxarzaOKqDrl0Q pwd 6666 提取
  • Android中Recycler网格布局管理器GridLayoutManager用法

    使用RecyclerView可以制作出类似GridView的样式 但比GridView更加强大 这里我们就介绍一下RecyclerView和GridLayoutManager结和的用法 1 GridLayoutManager常用方法 构造函
  • ROS:开机自启动

    Ubuntu14 04 网上很多资料说在 etc rc local中添加脚本 实验之后完全没用 可能是系统版本不对 解决 Ubuntu14 04 开机项命令 gnome session properties 点击 add name 名字 c