ROS basic usage and manager

ROS编译

  • catkin_make是cmake,make的进一步封装。路径位于workspace下,src之上使用:catkin_makeros会自己找到src下面的源代码,并开始build,如果src下面有好几个源代码,就通过DCATKIN_WHITELIST_PACKAGES指定一个就行:
1
catkin_make -DCATKIN_WHITELIST_PACKAGES="package1;package2"
  • 安装则catkin_make install, 使用catkin_make -DCMAKE_INSTALL_PREFIX=/opt/ros/groovy install指定要安装在哪里。

  • 清理安装文件catkin_make clean

环境配置

  • 如果发现ros依赖的python2和conda使用的python3版本出现冲突,需要使用catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3来手动选择版本,但是一味的设置python3,会导致ros本身出现不小的问题。

  • 按照opencv_contrib官网的命令,找到对应版本的opencv和opencv_contrib(3.4.19),重新编译了带有opencv_contrib的opencv(之前版本是3.2.0),中间由于版本问题,搞错了很多次。最终opencv安装于:/usr/local/include/opencv2,/usr/local/bin/和/usr/local/lib

常见操作

  • 查看ros版本

rosversion -d

  • 查看某个软件的版本

pkg-config --modversion ***

​ pkg-config 是通过.pc文件查找看有那些库文件的。

​ 默认情况下,会去 prefix/lib/pkgconfig/ 路径下查找,具体到 Linux 系统,就是 /usr/lib/pkgconfig/ 目录,若找不到,则会去 PKG_CONFIG_PATH 环境变量指定的路径下查找。因此,如果我们安装的库文件不在系统环境变量中,需要将其添加到 PKG_CONFIG_PATH 中.

​ 如果实在是找不到,那么可以根据这个教程手动创建一个。

e.g. 查看opencv的版本

pkg-config --modversion opencv

3.2.0

pkg-config --cflags opencv

-I/usr/include/opencv

pkg-config --cflags --libs opencv

-I/usr/include/opencv -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_datasets -lopencv_dpm -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_line_descriptor -lopencv_optflow -lopencv_video -lopencv_plot -lopencv_reg -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_rgbd -lopencv_viz -lopencv_surface_matching -lopencv_text -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_xobjdetect -lopencv_objdetect -lopencv_ml -lopencv_xphoto -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_photo -lopencv_imgproc -lopencv_core

sudo find / -iname ``"*opencv*"查看ubuntu中有那些地方包含了opencv

找到当前仓库中的opencv.pc的路径是在/usr/lib/x86_64-linux-gnu/pkgconfig/opencv.pc。猜测其他的pc可能在镜像制作的时候,也是被放在这里。

title:ROS basic usage and manager

author:AmazingHao

link:http://whu-lyh.github.io/blogs/2023/01/16/ROS%20basic%20manager/

publish time:2023-01-16

update time:2023-09-24

# ,
| visits
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×