跑通了记录一下

1. ros多机通讯设置

主机分机在同一个网段下

主机:

ubuntu16.04
username: zlzk
ip: 192.168.8.158

分机

ubuntu18.04
username:Xavier
ip: 192.168.8.168

修改 /etc/hosts

sudo gedit /etc/hosts

主机添加:
192.168.8.158 Xavier
分机添加:
192.168.8.168 zlzk
通讯测试,ping对方的用户名:ping zlzk, ping Xavier

修改 ~/.bashrc
sudo gedit ~/.bashrc

主机不用修改
分机:
export ROS_HOSTNAME=Xavier
export ROS_MASTER_URI=http://zlzk:11311

2 .自启动

自启动脚本start.sh

#!/bin/bash### BEGIN INIT INFO
# Provides:          sj
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# X-Start-Before:    kdm gdm3 xdm lightdm
# X-Stop-After:      kdm gdm3 xdm lightdm
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start camera
# Description:       Start camera
#                    kernel ACPI events.
### END INIT INFOsleep 2scd ~/yolov5-bottle/yolov5/            # code running pathexport OPENBLAS_CORETYPE=ARMV8        # arm
export ROS_HOSTNAME=Xavier            # ros communicate
export ROS_MASTER_URI=http://zlzk:11311source /opt/ros/melodic/setup.bash    # ros source
source ~/catkin_ws/devel/setup.bash
source ~/mambaforge/bin/activate yolo # conda activategnome-terminal --tab -e "bash -c 'python detect-bottle.py; exec bash'"
# exec bash   # hold terminal# RUN_AFTER_BASHRC="set-title title-name" gnome-terminal  --tab -e "bash -c 'pwd; exec bash'"  --tab -e "bash -c 'python detect-bottle.py; exec bash'"

gnome-terminal -t 不能用了,如果想改终端tab title
修改 ~/.bashrc
添加

##### terminal remane shell ###
function set-title() {if [[ -z "$ORIG" ]]; thenORIG=$PS1fiTITLE="\[\e]2;$*\a\]"PS1=${ORIG}${TITLE}
}
eval  "$RUN_AFTER_BASHRC"

修改start.sh

# gnome-terminal --tab -e "bash -c 'python detect-bottle.py; exec bash'"RUN_AFTER_BASHRC="set-title title-name" gnome-terminal  --tab -e "bash -c 'pwd; exec bash'"  --tab -e "bash -c 'python detect-bottle.py; exec bash'"

设置

打开 startup applications, 可以在search里搜索
add:
name: my-start
command: gnome-terminal -x /home/xxx/start.sh

ROS多机通讯与自启相关推荐

  1. ROS开发实践(十)——ROS多机通讯及网络配置讲解

    一.控制背景 我们设计了一台ROS机器人,其中ROS机器人上搭载 树莓派4b 控制器,我们将其设为ROS主机,主要负责激光雷达扫描.视觉信息读取.SLAM算法运行等工作:同时,我们将电脑端的虚拟机设为 ...

  2. ros多机通讯的办法

    在本机进行测试时,只要启动roscore即可,如果依赖别的自定义消息类型,也只要source使其生效即可. 但是在网络中测试,ros版本不同设置方法也不同. Ros1 使用网线连接测试机,shell中 ...

  3. ROS多机通讯主机从机配置

    目标:使用手中的笔记本电脑(主机)去控制车载电脑(从机)运行,两台机器在同一局域网下,rosmaster在从机上运行,但是从机没有显示器,需要主机的显示器来显示. item Hostname IP 主 ...

  4. 上下位机通讯协议_上位机与下位机的区别通讯

    上位机是指可以直接发出操控命令的计算机,一般是PC/host computer/master computer/upper computer,屏幕上显示各种信号变化(液压,水位,温度等).下位机是直接 ...

  5. 开源纯C#工控网关+组态软件(四)上下位机通讯原理

    一.   网关的功能:承上启下 最近有点忙,更新慢了.感谢园友们给予的支持,现在github上已经有.目标是最好的开源组态,看来又近一步^^ 之前有提到网关是物联网的关键环节,它的作用就是承上启下. ...

  6. proteus中使用虚拟串口实现单片机和上位机通讯

    祝大家身体健康哈,肺炎愈来愈多,希望看到这篇文章的旁友都能健健康康! 今天写一下proteus里如何使用虚拟串口仿真单片机和上位机通讯,所需要的软件有:(1)Virtual Serial Port D ...

  7. c#通过串口及CAN模块实现上位及下位机通讯

    目录 前言 一.串口.CAN总线 二.使用步骤 1.RS232串口通讯(指令下发与接收) 2.CAN总线通讯 总结 前言 学习及工作中我们经常会遇到上位机与下位机通讯等工作,结合场景使用不同的通讯方式 ...

  8. 单片机实验汇编案例---单片机串行口与PC机通讯实验

    一.实验要求 利用8031单片机串行口,实现与PC机通讯. 本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到实验机的数码管上. 二.实验 ...

  9. STM32 MPU6050与匿名上位机通讯(V2.6版)

    0.系列目录 STM32 软件模拟IIC STM32 使用DMP库处理MPU6050数据 STM32 MPU6050与匿名上位机通讯(V2.6版) 1.简介 在四轴的调试中,经常要使用地面站与飞控之间 ...

最新文章

  1. 实战|基于图割算法的木材表面缺陷图像分析
  2. js 字符串操作函数
  3. bzoj1193 [HNOI2006]马步距离 构造+枚举
  4. 分层结构的生活例子_详解软件分层架构设计、工作原理、实例以及具体架构
  5. 数字电路与模拟电路区别
  6. QQ空间登录协议实现:易语言篇
  7. 2015火车票抢票,放票时间,几点放票
  8. 手把手教你搭建Windows环境微信小程序的本地测试服务器
  9. pd对焦速度_自动对焦速度是由相机还是镜头决定的?
  10. 济南ITSS证书办理大全
  11. 在一个app中启动另外一个app的service
  12. vue 设置滚动条的位置
  13. 【深度长文】循序渐进解读Oracle AWR性能分析报告
  14. linux pppoe 拨号日志,PPPoe宽带拨号
  15. 黑马点评:商户查询缓存
  16. PLC也能制作小游戏----Codesys编写推箱子小游戏
  17. 人工智能真的能代替人类?
  18. Vue 移动端项目开发流程
  19. word中如何单栏与双栏混排
  20. 例行性工作(crontab)

热门文章

  1. Flume的学习及使用
  2. 数据采集之用户行为日志采集
  3. XBee模块数字和模拟采样详解
  4. 17、《每天5分钟玩转Docker容器技术》学习--Multi-host网络
  5. Springboot单元测试mysql_Springboot Mybatis-Plus数据库单元测试实战(三种方式)
  6. 扫地机器人如何才能避障不“智障”?五种主流的避障技术解析
  7. 医学图像分类_体素科技:深钻小数据下的医学图像分割
  8. 双目测距+点云——使用MiddleBurry数据集的图片
  9. 陀螺仪器件选型MPU6050、BMX055、icm20602
  10. 二分查找(Binary Search)需要注意的问题,以及在数据库内核中的实现