roslaunch一个包时报错:
[aaa] is neither a launch file in package [aaaa] nor is [aaaa] a launch file name
The traceback for the exception was written to the log file
ubuntu16.04使用ros包时找不到,需要创建+编译工作空间,设置环境变量解决.
ros小白看了好多帖子都不可以 去B站上找了一个视频一试即成功,把它整理成文字版.如果还是不懂的话可以去看视频
https://www.bilibili.com/video/BV1YK4y1P7jS?from=search&seid=685743644250064773
一.创建工作空间
1.创建文件夹,这里可以是任意位置,也可以是任意名称
mkdir -p ~/xxx/src
2.进入文件夹
cd ~/xxx/src
3.将你的包放到src中,并初始化工作空间.
catkin_init_workspace
二.编译工作空间
1.回到工作空间路径下,从src返回工作空间,即到xxx目录下
cd..
2.编译工作空间,编译过后就会多出两个文件夹,build和devel
catkin_make
编译过后xxx文件夹下如图所示,例此处 xxx 为 tuw_multi_robot.
三.设置环境变量,告诉系统这是工作空间的一个路径,建议直接跳2永久添加进系统!!
1.添加环境变量,还是在上面的xxx文件夹下.(建议直接用2)
source devel/setup.bash
查看添加是否成功,执行此命令后能看到xxx就是成功了
echo $ROS_PACKAGE_PATH
此时,再roslaunch你的包就可以了.
不过!!!当我们重新打开一个终端roslaunch的时候,还是找不到,原因是没有将路径全局地写进系统.
2.永久添加环境变量
2.1 写入.bashrc文件
gedit ~/.bashrc
2.2 在.bashrc最下面加入环境变量,把xxx的文件路径加上devel/setup.bash,source进去.
source ......./xxx/devel/setup.bash
编辑好后点击save
2.3
source devel/setup.bash
此时roslaunch应该也可以了.