赵虚左 ROS机器人入门课程 问题及解决记录

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文件没有保存,需要先保存再运行

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值