roscore等ros命令执行后终端无输出,无反应

2024-09-05 17:52

本文主要是介绍roscore等ros命令执行后终端无输出,无反应,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现象

在终端中输入 roscore 等 ros 命令,终端无输出,无反应。但是,Ctrl+C后终端还是有输出的。

解决措施

打开.barshrc文件

gedit ~/.bashrc

修改ROS_HOSTNAMEROS_MASTER_URI变量的赋值语句,如果有ROS_IP变量也需要修改。用 localhost 替代具体的 IP地址。

修改前。

export ROS_HOSTNAME=192.168.8.144
export ROS_MASTER_URI=http://192.168.8.144:11311

修改后。用 localhost 替代具体的 IP地址。

export ROS_HOSTNAME=localhost
export ROS_MASTER_URI=http://localhost:11311

如果没有主从机的需求,直接将这几行赋值语句,注释掉也行。

原因分析

直接原因:ros 没有找到 ros master 所在的位置。

这个问题一般是由于主从机配置问题导致的。在配置主从机时,需要在分别主机和从机中指定主机的 IP 地址,一般我们为了方便会将其设置为一个固定的 IP 地址。需要在.barshrc文件中对 ROS_HOSTNAMEROS_MASTER_URI等变量赋值。

一般我们以机器人的机载电脑为作为主机,它的.barshrc文件中 ROS_HOSTNAMEROS_MASTER_URI等变量赋值语句,类似于

export ROS_HOSTNAME=192.168.8.144
export ROS_MASTER_URI=http://192.168.8.144:11311

这种在主机上直接用具体 IP 地址来为变量赋值的方法,本来是没有问题的。但是连接 WIFI 时,该设备的 IP 地址是和网络有关的。下面具体说明:

  • 如果设备处于需要工作的 WIFI 网络下,此时,由于已经对设备在该网络下的 IP 地址进行了设定,其地址就会是设定的 192.168.8.144。此时,在终端中输入 roscore 等 ros 命令,应该是能正常工作的。

  • 但是,如果取消了该 WIFI 网络连接,或连接到了没有设置 IP 的网络下,本机的 IP 地址就不再是 192.168.8.144 了,但是.barshrc文件中还是使用了该 IP 地址对变量赋值,这导致启动 ros 节点无法找到ros master 所在位置。节点就会卡住,没有继续启动,也就没有输出了。为避免这种情况,在主机上,最好是用 localhost 替代具体的 IP地址。

这篇关于roscore等ros命令执行后终端无输出,无反应的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139654

相关文章

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

python多种数据类型输出为Excel文件

《python多种数据类型输出为Excel文件》本文主要介绍了将Python中的列表、元组、字典和集合等数据类型输出到Excel文件中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一.列表List二.字典dict三.集合set四.元组tuplepython中的列表、元组、字典

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要