ROS开发这么久了,想必大家都知道怎么可以在每次打开终端时不用source环境了,如若还有不知道的小伙伴可以点击这里。
传送门: https://blog.csdn.net/qq_45152498/article/details/108652439?utm_source=app
但是,有的时候明明已经添加了,但是还会存在找不到文件的问题。
这是为什么呢?
很可能是ROS不同工作空间下同名功能包下存在同名launch文件,惊不惊喜哈哈哈
之前在论坛发布过一个问题:
后来经过摸索,发现在ROS的source机制是: 后source的功能包是最先被识别的 。
就是上面的问题,假如你把这两个工作空间的source都写在了.bashrc下。且先source的B1,后source的B2。
但是当你打开终端时,你只能启动B2下面的A2,而这个时候你想启动B1下的launch文件,就会出错:提示你找不到这个文件。
而怎么解决这个问题呢?
方法1:打开终端再source一下你想启动的文件所在的setup.bash;
方法2:修改一下source的先后顺序;
方法3:避免使用相同的命名;
方法4:写一个条件语句!(虽然我没试过,但应该可行,这个留给你自己摸索吧)
如有错误或者不足之处,欢迎大家留言指正!