HelloWorld实现
c++
1.报错
Could not find a package configuration file provided by "std_msg" with any
of the following names:
std_msgConfig.cmake
std_msg-config.cmake
解决:
Helloworld下面的CMakeLists里面149行后面两行的#忘记删了
2.报错
Could not find a package configuration file provided by "std_msg" with any
of the following names:
std_msgConfig.cmake
std_msg-config.cmake
解决:打开Helloworld下面的CMakeLists,把
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msg
)
里面的std_msg改成std_msgs
3.当执行rosrun报错找不到功能包的时候,就先输入source ./devel/setup.bash(.代表当前目录),每开一个新窗口都要输出一次source这句,想要图方便可以直接修改.bashrc,这样就不用每次打开窗口都输入一遍了,方法如下:
在主目录按ctrl+h,显示出隐藏的文件.bashrc,用文本编辑器打开,在最后加上
source ~/demo01_ws/devel/setup.bash
然后在主目录打开终端,输入source .bashrc重新加载一下这个文件,这样在任意终端都能直接rosrun运行这个文件了
如果是ros报错,除了source一下ros,也可以按照这个方法在主目录按ctrl+h,显示出隐藏的文件.bashrc,用文本编辑器打开,在最后加上source /opt/ros/noetic/setup.bash
Python
1.python编写的程序写好以后,在这个程序代码所在目录执行chomd +x helloworld_p.py给它添加可执行权限,其中helloworld_p.py是写的python程序。然后再在CMakelists里面配置文件,然后在工作空间编译然后roscore然后在工作空间source ./devel/setup.bash然后在工作空间rosrun 功能包名 被执行的python文件。
P27 025集成开发环境
0.输入code .弹出来的工作空间里面没有.vscode文件,那么就点vscode页面顶端的“运行”-“添加配置”,列表就会出现.vscode文件了。
1.打开vscode之后ctrl+shift+B没有出现catkin_make:build,打开终端发现刚刚编译的时候提示:
#### Running command: "make cmake_check_build_system" in "/home/yu/demo02_ws/build"
####
####
#### Running command: "make -j20 -l20" in "/home/yu/demo02_ws/build"
所以到指定文件夹build里面执行这两行命令make cmake_check_build_system,make -j20 -l20,然后再回到工作空间路径下输入code .打开vscode,输入ctrl+shift+B就有catkin_make:build了
如果还是不行,那么看是不是没有.vscode文件,是的话执行本笔记第0条(上一条)。
2.上一步快捷键 ctrl + shift + B 调用编译后点:catkin_make:build后面的小齿轮,
修改.vscode/tasks.json 文件,将tasks.json文件写好以后,按ctrl+shift+B默认编译整个工作空间
3.在src那创建功能包以后ctrl+shift+B编译,可以检查功能包是不是打错了
4.编写init函数的时候没有提示,打开.vscode下面的c_cpp_properties.json,如果"cStandard": "gnu11",则"cppStandard": "c++11"(我的电脑上cStandard"后面写的是是11,赵老师的是17)
5.main函数中的自动弹出来的int argc, char constant *argv[]要把constant关键字删了写成int argc, char *argv[]
5.ctrl+/自动去除注释
P30集成开发环境
1.python没有配置cmakelists,会导致报错/usr/bin/env:"python" : 没有那个文件或目录
原因:当前noetic使用的是python3
解决:1.直接声明解释器为python3(不建议)OR
2.通过软件链接将python链接到python(建议)
使用sudo ln -s /usr/bin/python3 /usr/bin/python意思是输python找的是python3
P32 launch
运行launch文件报错:
RLException: Invalid roslaunch XML syntax: no element found: line 1, column 0
The traceback for the exception was written to the log file
是因为launch文件没有保存,需要先保存再运行