Unable to register with master node [http://localhost:11311/]: master may not be running yet.

2023-05-16

树莓派和PC端都安装了ROS,然后将树莓派ROS当主机运行roscore,为了让两台机子的ROS可以通讯,需要在PC端的.bashrc文件中配置如下环境变量:

# PC端.bashrc文件
export ROS_MASTER_URI=http://192.168.0.100:11311    # ros主机ip(树莓派ip)
export ROS_HOSTNAME=192.168.0.148		    		# ros本机ip(PC端ip)

结果在PC端的pycharm中运行rospy初始化节点时出现连接不上的问题,且认为ROS_MASTER_URI值是本机IP(相当于.bashrc中环境变量没有生效)
pycharm运行报错
在ros文件中顺藤摸瓜,发现了获取ROS_MASTER_URI变量值的文件在/opt/ros/melodic/lib/python2.7/dist-packages/rosgraph/rosenv.py文件中,文件是使用os.environ.get方法获取ROS_MASTER_URI环境变量值,如果没有该值就使用默认值。

于是在pycharm中测试了os.environ.get方法发现确实无法获取.bashrc中定义的ROS_MASTER_URI值,但是在终端中运行python代码又可以获取ROS_MASTER_URI值,因此可以确定是pycharm没有配置好的问题,pycharm运行的话无法获取.bashrc文件中的环境变量值。

解决方法是在pycharm中手动添加环境变量值,如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重新运行程序就可以连接到设定ROS_MASTER_URI的master node了(注意了以后想在修改ROS_MASTER_URI值的话,不仅在

bashrc中需修改,在pycharm中也需要修改)

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

Unable to register with master node [http://localhost:11311/]: master may not be running yet. 的相关文章

  • Chromium revision is not downloaded. Run "npm install"

    在使用依赖puppeteer的组件com时 使用npm install 安装组件 报错 Chromium revision is not downloaded Run npm install 解决思路 1 先安装 puppeteer 2 删
  • nuxt.js局部引用quill富文本编辑器

    想在nuxt js中使用quill富文本编辑器 按照网上常见的方法 将css js 添加到 nuxt config js 这是全局调用了quill的css js 文件 在每个页面的源码中 都可以看到quill 的css js 这是没有必要的
  • Node 正常启动(node)、热更启动(nodemon)、部署(pm2)、安装包(npm、cnpm、yarn)、发布包(publish) 、node版本管理(NVM) 常用工具----学习笔记(五)

    文章目录 1 Node服务启动指令的配制 2 nodemon Node监听文件变化 自动重启服务的方法 3 pm2 线上部署使用pm2能自动守护进程 4 cnpm yarn 安装包 是使用npm cnpm yarn 5 注册与发布包 6 n
  • node js 文件,文件夹,文件流操作

    引入模块 const fs require fs const path require path 读取文件 同步读取 var data fs readFileSync read txt utf 8 console log 同步读取 data
  • 仿叮咚买菜开源代码

    1 预览 1 前台 http dingdong nodebook top github地址 https github com cgq001 dingdong 2 后台管理 http dingdong admin nodebook top g
  • node调用谷歌翻译Api,实现自动国际化

    原因 项目国际化过程繁琐 每次都需要人工去google翻译 导致工作效率不高 需求 1 减少人工的重复劳动 提高工作效率 2 使用脚本调用谷歌翻译接口自动化翻译 3 free 作为程序员肯定接受不了付费服务 找方法解决限制 前期准备 1 谷
  • 如何用Nodejs写接口

    有时候前端需调用接口测试功能 但是相关的接口还没有开发好 或者没有相应的数据 这时候怎么办呢 这里教大家使用nodejs express写自己的接口 首先安装express cnpm install express save 然后新建js文
  • token的生成与验证

    写在前面 最近在写自己毕业的东西 由于采用的是前后端分离的写法 为了方便写使用的是跨域的模式 所以cookie session就不好用了 所以记录一下token吧 夜太深了 就简单写一下用法吧 官方文档写的很全了 使用场景 用户成功登陆之后
  • 在node中使用模板引擎---art-template

    art template是一个简约 超快的模板引擎 它不仅可以使用在浏览器中 也可以使用在node中 模板引擎最早是使用于服务器端 后来才发展到了前端 首先是它的安装 我们可以在官方文档中看到 它的安装只需要一行命令 为了方便 下面是官网文
  • npm 实现原理

    输入 npm install 命令并敲下回车后 会经历如下几个阶段 以 npm 5 5 1 为例 1 执行工程自身 preinstall 当前 npm 工程如果定义了 preinstall 钩子此时会被执行 2 确定首层依赖模块 首先需要做
  • node request 解决请求时 有时候 content-length 获取不到

    今天使用了 request 模块的时候 想获取每次请求的大小 以方便判断下载进度 网速等等 然后 content length 头总是获取不到 下面给出解决方法 request 模块的使用方法见 api 文档 https github co
  • jsoup的Elements类

    随时随地阅读更多技术实战干货 获取项目源码 学习资料 请关注源代码社区公众号 ydmsq666 一 简介 该类是位于select包下 直接继承自Object 所有实现的接口有Cloneable Iterable
  • 使用Koa2进行Web开发(二)静态文件与路由

    静态文件处理 这里选择koa static作为处理静态文件的中间件 const Koa require koa const app new Koa const serve require koa static app use serve d
  • 小白入坑-利用express构建一个简单的Node项目

    做了部分前端的东西 当然不能局限眼前的成果 梦想能成为全栈的大佬 然后左手一个小姐姐 右手一个富萝莉 走远了 奈于java对前端来说比较难 耗费的学习时间也比较长 所以先从node下手过一下瘾儿 首先 win r打开windows的运行框
  • React + Umi + Dva + Antd 简述 及创建项目过程简述

    React 你的第一个组件 React React是前端三大主流框架之一 你可以在React里传递多种类型的参数 如声明代码 帮助你渲染出UI 也可以是静态的HTML DOM元素 也可以传递动态变量 甚至是可交互的应用组件 安装react框
  • node socket 简易聊天室

    服务端 const net require net const server net createServer 用户列表 let clients 监听连接 server on connection client gt client on d
  • 【node】12、Koa实现简单爬虫案例

    效果图如下 首先我们新建文件夹 进入终端 初始化node项目 npm init y 安装koa搭建服务模块 npm install koa 安装superagent发送请求模块 npm install superagent 安装cheeri
  • nvm安装(Windows篇)

    nvm node version manager node版本管理工具 通过将多个node 版本安装在指定路径 然后通过 nvm 命令切换时 就会切换我们环境变量中 node 命令指定的实际执行的软件路径 使用场景 比如我们手上同时在做好几
  • 自己封装一个类express路由框架

    今天用了Node封装一个简单的类似express框架的路由 首先先看看 没封装 之前的server路由代码 const http require http const url require url const ejs require ej
  • Python-with open() as f的用法

    常见的读写操作 with open r filename txt as f data user pd read csv f 文件的读操作 with open data txt w as f f write hello world 文件的写操

随机推荐

  • Octave工具箱的安装和装载

    网页搜索octave forge xff0c 可以下载离线包 xff0c 并离线安装 先cd到离线包所在目录 再执行以下 xff1a pkg install forge package name 一定要是带版本号的全名 但是推荐直接使用包管
  • Julia pro安装和初步使用

    Julia Pro 相当于Julia全家桶 xff0c 可以把它当作Python的Anaconda xff08 1 xff09 下载地址 xff08 国外 xff09 https juliacomputing com products ju
  • 配置虚拟机

    方式一 xff1a 用AS自带的虚拟机 此时把system images放在sdk目录内 但是注意 xff0c amd平台不支持intel虚拟化 xff0c 所以不能用 方式二 xff1a 使用genymotion插件 任何平台都推荐使用G
  • Genymotion虚拟软件的配置

    一 genymotion软件本身 xff08 1 xff09 点击安装 xff08 2 xff09 登录账户 xff08 3 xff09 设置关联virtualbox的安装路径 xff08 4 xff09 在ADB下选择使用genymoti
  • Vim编辑器配置

    推荐使用space Vim GitHub xff1a https github com SpaceVim SpaceVim 官网 xff1a https spacevim org cn 安装教程 xff1a https github com
  • 修改win10 cmd和shell的编码方式

    936对应GBK 65001对应utf 8 power shell 可以用Powershell的配置文件 xff08 PROFILE xff09 来实现 PROFILE默认文件不存在 xff0c 需要创建 New Item PROFILE
  • wsl2的hyper-v的开启与关闭

    大家都知道 xff0c win10在开启自家虚拟机的时候 xff0c VM和virtualbox就用不了了 xff01 开启hyper v xff1a xff08 1 xff09 打开控制面板 xff08 2 xff09 选择程序 xff0
  • virtualbox和vmware最新版已经支持win10的hyper了

    vmware支持hyper的版本 xff1a https blogs vmware com workstation 2020 01 vmware workstation tech preview 20h1 html virtualbox支持
  • Java读取已打包好的Jar包中的文件

    一般我们是通过下面这种代码获取文件在项目中的的绝对路径 Xxx class getResource 34 META INF xxx yaml 34 但是当模块打包成jar后 xff0c 我们获取到的路径可能会是下面这种 xff0c 这种并不
  • linux更换镜像的一般步骤

    xff08 1 xff09 根据使用的操作系统 xff0c 到清华镜像站上找到该系统的镜像源的连接 xff08 2 xff09 操作步骤 对系统给的镜像源进行备份 xff0c 以防出问题 sudo cp etc apt sources li
  • UEFI模式下Win10和Ubuntu18.04双系统安装总结

    现在都2020年了 市面上根本就买不到传统模式开机的笔记本了 所以我以我的经验总结一下uefi主板如何安装win10和Ubuntu操作系统 其他Linux也是同理 这篇教程是在安装了win10的基础上再安装的Linux 若不符合你的情况 请
  • gun-grub引导选择页面的美化

    不出意外地 xff0c 安装好Ubuntu和Windows的双系统后应该是由Ubuntu的grub引导启动的 也就是那个及其丑陋的页面 逃 优化设置 grub引导的设置文件是 etc default grub xff0c 对其进行修改可以得
  • 双系统完整卸载Ubuntu+Windows磁盘分区安全删除Ubuntu的EFI分区和其他分区

    就参考这篇文章吧 https blog csdn net wq6ylg08 article details 103223620 大致上分为三个步骤 一 把开机引导给删除 可以使用easyUEFI或者BOOTICE 删除你准备卸载的系统的引导
  • legacy传统模式启动下的win10和Ubuntu18.04双系统安装

    前提是你的电脑支持传统模式开机 比如现在的一些笔记本已经不支持传统模式了 强行会找不到引导 和这篇文章大致相同 注意以下不同点 1 在为linux分区的时候 legacy模式下的启动引导分区需要这样设置 空闲 处 xff0c 继续点 43
  • 使用rEFInd来引导多个操作系统

    以下讲解仅适用于EFI的启动模式 且注意一定要关闭secure boot 在同一个电脑上安装了N个操作系统 在开机时 引导肯定会非常的混乱 一种方式是可以使用windows boot manager来选择要启动的操作系统 但是缺点是每次开机
  • rEFInd去掉不必要的启动项

    refind是uefi环境下使用的引导器 如果一台设备上有N个系统 xff0c 那么有必要了解一下refind如 何来引导 但因为默认的引导效果是非常杂乱的 xff0c 我们需要做一些工作 一 安装refind 参考这篇文章 https b
  • pacman的常用命令

    S 指令 安装 sudo pacman S 安装软件 sudo pacman Sy 获取最新打软件情况 xff0c 如果已经是最新了 xff0c 直接会提示已经更新到最新了 sudo pacman Syy 强行更新你的应用的软件库 xff0
  • pacman的包管理命令

    S 指令 安装 sudo pacman S 安装软件 sudo pacman Sy 获取软件源的最新情况 xff0c 如果已经是最新了 xff0c 会提示已经更新到最新了 sudo pacman Syy 重新同步应用的软件源 sudo pa
  • vscode的不同设置的区别

    转载链接 https www jb51 net article 186000 htm
  • Unable to register with master node [http://localhost:11311/]: master may not be running yet.

    树莓派和PC端都安装了ROS xff0c 然后将树莓派ROS当主机运行roscore xff0c 为了让两台机子的ROS可以通讯 xff0c 需要在PC端的 bashrc文件中配置如下环境变量 xff1a PC端 bashrc文件 expo