Viobot ROS主从机配置

news2024/9/23 23:21:26

本篇介绍如何配置Viobot的ROS主从机,设备已经默认配好了主机的大部分设置,由于涉及到开机自启动,所以主机必须是Viobot。
以虚拟机ubuntu20.04为例。
我的设备ip为10.21.0.225
ubuntu系统的ip为10.21.0.242,先确认可以ping通设备

1.从机配置

虚拟机终端输入命令,输入密码,按下图修改文件,保存退出。

sudo gedit /etc/hosts
#添加一行,其中10.21.0.225是设备ip,PR-VIO是设备的名字
10.21.0.225      PR-VIO

请添加图片描述

然后终端再输入命令,修改文件并保存退出。

gedit .bashrc
#在最后加一行
export ROS_MASTER_URI=http://10.21.0.225:11311

请添加图片描述
新开终端,输入命令。(一定要新开终端!!!!!!!!!

rostopic list
#配置好了则会列出主机的话题列表
#还可以直接输入
rostopic echo /imu
#终端会打印imu的数据

请添加图片描述
到这里从机就配置完成了。

2.主机配置

如果需要使用到从机控制主机,才需要配置主机。

主机配置需要ssh进入到设备里面,

sudo vim /etc/hosts
#添加新行
从机ip 从机hostname

请添加图片描述
从机ip我们上面已经给出了,就是10.21.0.242 ,然后我们在虚拟机中打开终端,获取从机hostname:

hostname #我的虚拟机名字就是tl,所以上面文档的新行输入就是10.21.0.242 tl

请添加图片描述
vim保存退出,双击键盘Esc键,然后打出冒号+wq回车即可。

测试从机控制主机:

这一步需要先将资料包的ROS_demo里面的msg拉到从机的工作空间,编译
请添加图片描述

cd catkin_ws #catkin_ws对应你自己的工作空间
catkin_make -DCATKIN_WHITELIST_PACKAGES="sensor_pub;loop_action;system_ctrl"
source ./devel/setup.bash
rqt #从机开启rqt,调出Message Publisher

请添加图片描述
选择Topic :/system_ctrl Type: system_ctrl/viobot_ctrl 点击加号添加。

话题勾选两个勾,rqt就会按照1Hz的频率发布开启补光灯的话题,发几次就去掉上面/system_ctrl前面的勾就行。如果看到补光灯亮起来了,就表示从机控制主机配置完成了。
请添加图片描述

3.其他问题

如果严格按照上述方法配置后仍然不能控制主机,看下面。

当主机的网络不能联网的时候会涉及到一个时间同步的问题,当设备的时间与从机的时间不同步的时候从机发的消息主机会接收不到。(原因就是:从机发出的消息来自于未来)

解决办法有两种:

1.将主机的网络配置到能够联网的网络下。设备会根据网络时间来同步自己的时间,只要主机和从机都能上网并且时区设置都是东八区,即可。

2.如果局域网限制的话,需要先将主机配置到能联网的网络下,安装一个时间同步服务器(从机也要装),再把主机网络设置回局域网内,通过时间同步服务器,把从机的时间同步到主机去。

配置ntp的时间同步服务器,将从机的系统时间跟不能联网的主机的时间同步的方法如下:

注:主从机必须在同一局域网下

主机:

sudo apt-get install ntp
sudo apt-get install ntpdate
ifconfig //查看ip地址

从机:

sudo apt-get install ntp
sudo apt-get install ntpdate
sudo ntpdate -q 主机的ip地址 #检查和电脑1的时间差
sudo ntpdate -d 主机的ip地址 #和电脑1进行时间同步

注释:若电脑1和电脑2时间没有同步,可能是由于电脑没有连网,这时需要和网络时间进行同步,命令为: ntpdate(会更新系统时间—即在linux系统中用date命令获取到的时间).和网络时间同步时,可能会报错: the NTP socket is in use, exiting,出现该错误的原因是系统ntpd服务器正在运行中,

通过 ps aux | grep ntpd 查看,会看到ntpd正在运行。解决方法:

service ntpd stop
ntpdate

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/890663.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

途乐证券-上证指数有哪些股票组成?

上证指数是我国股市最重要的指数之一,它由上海证券交易所根据必定的计算方法加权均匀得出来的数据,是我国股市中重要的股票指数之一。那么,上证指数有哪些股票组成呢?让我们从多个视点剖析。 首先,从职业散布视点看&am…

数据流中的中位数

解题思路一&#xff1a; import java.util.*;public class Solution {//用栈来存储所有数据Stack<Integer> s new Stack<Integer>();//入栈public void Insert(Integer num) {s.push(num);}//出栈public Double GetMedian() {Double result 0.0;if(s.size() <…

01_langchain

Langchain简介 LLM的诞生推动了自然语言处理领域的变革&#xff0c;让以前无法实现的一些应用成为了可能。然而仅仅利用LLM还无法完成真正强大的应用程序&#xff0c;还需要一些相关的资源和技术知识。 Langchain用于开发这些应用程序&#xff0c;可用于&#xff1a; 基于文…

认识docker+LNMP架构

目录 一、docker 1.安装&#xff0c;启动 2.docker相关命令 3.如何使用&#xff1f; 二、LNMP 1.认识LNMP 2.sql注入漏洞挖掘 3.如何绕过检测进行注入 一、docker 1.安装&#xff0c;启动 2.docker相关命令 docker search nginx 搜索镜像 docker pull docker.io/ngin…

Constanze‘s Machine

一、题目 二、分析 列表找规律&#xff0c;不同长度的u能够带来多少种不同的情况 发现规律&#xff0c;case满足斐波那契数列。 所以可以先预计算斐波那契数列fib。 #include<iostream> #include<cstring> #include<algorithm> #define int long long usi…

设置bootstrap的modal垂直居中

效果&#xff1a; 代码&#xff1a; updateEmpModal 指的是我的模态框id$("#updateEmpModal").modal("show"); // show 方法调用之后立即触发该事件 $(#updateEmpModal).on(shown.bs.modal, function(){let $this $(this);let $modal_dialog $this.fi…

elementui 修改日期选择器el-date-picker样式

1. 案例&#xff1a; 2. css /* 最外层颜色 */ .el-popper.is-pure {background: url("/assets/imgList/memuBG.png") no-repeat;border: none;background-size:100% 100%}/* 日期 1.背景透明 */ .el-date-picker{background: transparent; }/* 日期 2.标题、左右图…

C++碎知识点

二叉树 由 n个节点构成的形态不同的⼆叉树 同余符号 定义设m是大于1的正整数&#xff0c;a,b是整数&#xff0c;如果m|(a-b)&#xff0c;则称a与b关于模m同余,记作abmod(m)&#xff0c;读作a同余于b模m。 符号& 按位与 后赋值 C语言中计算优先级

业务数据“一站式”数据管理平台,从设备实时数据和业务应用数据两个方面要彻底解决“信息孤岛”的问题

1. 产品背景 工业数据大致分为两种数据&#xff1a;设备实时数据和业务应用数据。 设备实时数据的管理是iNeuOS工业互联网操作系统的基础平台重要组成部分&#xff0c;要求数据的实时性、稳定性&#xff0c;通过设备驱动&#xff08;数据交互驱动&#xff09;、服务驱动&…

[oneAPI] 图像分类CIFAR-10

[oneAPI] 图像分类CIFAR-10 图像分类参数与包加载数据模型训练过程结果 oneAPI 比赛&#xff1a;https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0517 Intel DevCloud for oneAPI&#xff1a;https://devcloud.intel.com/oneapi/get_started/aiAnalyticsToolkitSam…

JVM——JVM 垃圾回收

文章目录 写在前面本节常见面试题本文导火索 1 揭开 JVM 内存分配与回收的神秘面纱1.1 对象优先在 eden 区分配1.2 大对象直接进入老年代1.3 长期存活的对象将进入老年代1.4 动态对象年龄判定1.5 主要进行 gc 的区域 2 对象已经死亡&#xff1f;2.1 引用计数法2.2 可达性分析算…

【C++】set/multiset容器

1.set基本概念 #include <iostream> using namespace std;//set容器构造和赋值 #include<set>//遍历 void printSet(const set<int>& st) {for (set<int>::const_iterator it st.begin(); it ! st.end(); it){cout << *it << " …

网络编程学习

网络编程 软件结构 C/S结构&#xff1a;QQ、迅雷、百度网盘 程序员&#xff1a;开发客户端和服务端程序用户&#xff1a;需要下载升级更新客户端对网络带宽要求相对较低数据安全性相对较高 B/S结构&#xff1a;IE、谷歌、火狐 程序员&#xff1a;只需要开发服务端程序用户&am…

泛微E-Office任意文件上传漏洞复现

0x01 产品简介 泛微E-Office是一款标准化的协同 OA 办公软件&#xff0c;泛微协同办公产品系列成员之一,实行通用化产品设计&#xff0c;充分贴合企业管理需求&#xff0c;本着简洁易用、高效智能的原则&#xff0c;为企业快速打造移动化、无纸化、数字化的办公平台。 0x02 漏…

【云原生,k8s】基于Helm管理Kubernetes应用

第四阶段 时 间&#xff1a;2023年8月18日 参加人&#xff1a;全班人员 内 容&#xff1a; 基于Helm管理Kubernetes应用 目录 一、Kubernetes部署方式 &#xff08;一&#xff09;minikube &#xff08;二&#xff09;二进制包 &#xff08;三&#xff09;Kubeadm …

米尔瑞萨RZ/G2L开发板-02 ffmpeg的使用和RTMP直播

最近不知道是不是熬夜太多&#xff0c;然后记忆力减退了&#xff1f; 因为板子回来以后我就迫不及待的试了一下板子&#xff0c;然后发现板子有SSH&#xff0c;但是并没有ffmpeg&#xff0c;最近总是在玩&#xff0c;然后今天说是把板子还原一下哇&#xff0c;然后把官方的固件…

Linux系统之wget命令的基本使用

Linux系统之wget命令的基本使用 一、wget命令介绍二、本次实践环境三、wget命令的使用帮助3.1 wget命令的基本语法3.2 wget选项解释 四、安装wget工具4.1 检查yum仓库状态4.2 安装wget工具 五、wget命令的基本使用5.1 直接下载文件5.2 下载时指定文件名5.3 后台下载文件5.4 限速…

视频汇聚/视频云存储/视频监控管理平台EasyCVR如何进行CDN转推?

视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等&#xff0c;视频智能分析平台EasyCVR融合性强、开放度…

postgresql中基础sql查询

postgresql中基础sql查询 创建表插入数据创建索引删除表postgresql命令速查简单查询计算查询结果 利用查询条件过滤数据模糊查询 创建表 -- 部门信息表 CREATE TABLE departments( department_id INTEGER NOT NULL -- 部门编号&#xff0c;主键, department_name CHARACTE…

【【verilog典型电路设计之FIR滤波器的设计】】

verilog典型电路设计之FIR滤波器的设计 我们常用的FIR滤波器称为有限冲激响应 是一种常用的数字滤波器 &#xff0c;采用对已输入样值的加权和来形成它的输出。 对于输入序列X[n] 的FIR滤波器可用下图所示的结构示意图来表示&#xff0c;其中X[n] 是输入数据流。各级的输入连…