一、ROS+opencv
- 安装OpenCv
sudo apt-get install ros-melodic-opencv libopencv-dev python-opencv
CvBridge是ros和opencv中的桥梁
- 测试例子
roslaunch robot_vision usb_cam.launch //启动
rosrun robot_vision cv_briage_test.py //启动节点
rqt_image_view
出现的错误
解决:python文件记得要允许作作为程序可执行文件。。。。。。
二、ROS+OpenCV应用实例之人脸识别
基于HAAR特征的级联分类器对象检测算法
三、ROS+OpenCV应用实例之物体跟踪
ps:最好找个纯色的背景然后用一个深色的物体作追踪
四、二维码识别
- 相机识别
安装包
sudo apt-get install ros-melodic-ar-track-alvar
创建二维码
roscd命令可以实现利用包的名字直接切换到相应的文件目录下
roscore
rosrun ar_track_alvar createMarker //打印帮助信息
rosrun ar_track_alvar createMarker 0 //创建二维码
rosrun ar_track_alvar createMarker -s 5 0 //创建边长为5厘米的值为0的二维码
摄像头对二维码识别
roslaunch robot_vision usb_cam_with_calibration.launch
roslaunch robot_vision ar_track_camera.launch
查看识别到的二维码位姿
rostopic echo /ar_pose_marker
- kinect识别二维码
roslaunch robot_vision freenect.launch
roslaunch robot_vision ar_track_kinect.launch
五、SLAM功能包-gmapping功能包
- 深度信息
depthimage_to_laserscan功能包:三维点云数据转化为二维
- 里程计信息
- 仿真环境
gazebo创建仿真环境 - gmapping功能包
- 安装:
sudo apt-get install ros-melodic-gmapping
- 启动gmapping节点
mbot_navigation/launch/gmapping.launch
- 出现的错误
下载好功能包后编译时出现找不到move_base_msga的情况(忘记截图了。。。。。)
解决:
sudo apt-get install ros-melodic-move-base-msgs
开始建图(模拟)
在这里插入代码片
- 保存地图
rosrun mao_server map_save -f cloister_gmapping
-f后面为保存的文件名,通过yaml文件加载地图
- kinect建图
电脑一直连接不上kinect。。。。 - 真实机器人建图
roslaunch mbot_bringup mbot_with_laser.launch //机器人端
roslaunch mbot_navigation gmapping_demo.launch //pc
roslaunch mbot_teleop mbot_teleop.launch //pc
六、SLAM–hector_slam
hector地图由于没有里程计输入数据当机器人速度过快(特指旋转时的速度)或者激光雷达精度不高时,就会导致所构建的地图发生非常大的偏差,特征点多的话效果会相对好一些
配置hector_mapping节点
mbot_navigation/launch/hector.launch
七、slam–cartographe
最好给他独立开一个工作空间
ws catkin_make_isolated //单独编译每一个功能包
演示
需要连接国外网战下载数据包
配置节点
mbot_navigation/launch/cartographer_demo_rplidar.launch
八、总结
今天又是跟着古月居学习的一天,后面的slam建图还没有实际操作过,后面操作之后遇到问题在补充吧。