代码改变世界

ROS一些报错的解决Unable to load type Unable to register with master node roscd: No such package/stack

2022-01-12 00:46  jym蒟蒻  阅读(1308)  评论(0编辑  收藏  举报

1. Unable to load type

jym@ubuntu:~/catkin_ws$ rosservice args /add_two_ints
ERROR: Unable to load type [beginner_tutorials/AddTwoInts].
Have you typed 'make' in [beginner_tutorials]?

由于当前使用的终端的工作环境没有更新导致无法找到自定义的消息。使用下面的命令刷新一下即可

jym@ubuntu:~/catkin_ws$ source ./devel/setup.bash
jym@ubuntu:~/catkin_ws$ rosservice args /add_two_ints
a b

2.Unable to register with master node

jym@ubuntu:~/catkin_ws$ rosrun beginner_tutorials add_two_ints_server.py
Unable to register with master node [http://localhost:11311]: master may not be running yet. Will keep trying.

新开一个终端,然后输入roscore

然后当前终端再次运行:

jym@ubuntu:~/catkin_ws$ rosrun beginner_tutorials add_two_ints_server.py
Ready to add two ints.
Returning [1 + 3 = 4]

3.roscd: No such package/stack

roscd只能切换到那些路径已经包含在ROS_PACKAGE_PATH环境变量中的软件包。

工作空间构建完成后,要将这个工作空间添加到ROS环境中,需要source一下生成的配置文件。

jym@ubuntu:~$ roscd beginner_tutorials
roscd: No such package/stack 'beginner_tutorials'
jym@ubuntu:~$ . ~/catkin_ws/devel/setup.bash
jym@ubuntu:~$ roscd beginner_tutorials
jym@ubuntu:~/catkin_ws/src/beginner_tutorials$ 

4.检验ROS服务器节点是否成功的办法

1.启动roscore,启动服务器节点,打开新终端,使用rosservice list,列出服务。
出现自己编写的服务就ok。

jym@ubuntu:~/catkin_ws$ rosservice list
/add_two_ints
/add_two_ints_server/get_loggers
/add_two_ints_server/set_logger_level
/rosout/get_loggers
/rosout/set_logger_level

2.使用rosservice查看服务参数类型、调用服务

jym@ubuntu:~/catkin_ws$ rosservice args /add_two_ints
a b
jym@ubuntu:~/catkin_ws$ rosservice call /add_two_ints 1 2
sum: 3

3.使用rqt_graph

$ rosrun rqt_graph rqt_graph

看到当前运行的节点和话题