100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器

ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器

时间:2018-10-30 21:54:32

相关推荐

ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器

ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器

文章目录

01 连接摄像头1.1 ROS下连接usb_cam1.1.1 前期准备1.1.2 问题1.1.3 安装usb_cam1.2 连接Kinect02 连接激光雷达03 参考教程

01 连接摄像头

1.1 ROS下连接usb_cam

/question/197651/how-to-install-a-driver-like-usb_cam/

1.1.1 前期准备

步骤一,虚拟机设置(vmware15.0 以上)

在虚拟机菜单栏中选择“虚拟机(M)”->选择“可移动设备”->选择“xxxx Camera”->选择“连接(断开与主机连接)”,设置完这项之后,虚拟机接管了笔记本摄像头。

步骤二,检测电脑是安装usb_cam还是应该安装uvc_cam

$ lsusb#查看usb摄像头

打开网址:/uvc/,查看与自己摄像头匹配的ID号。

如果有,就说明你的笔记本摄像头比较好,有他的厂商提供的linux驱动,是uvc_cam

没有匹配的ID,说明是usb_cam。

Bus 001 Device 002: ID 04f2:b6d9 Chicony Electronics Co., Ltd #摄像头

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 004: ID 0e0f:0008 VMware, Inc.

Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub

Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse

Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

步骤三,查看摄像头设备

$ ls /dev/video* #默认笔记本自带摄像头是video0

步骤四,测试您的网络摄像头;(虚拟机+ubuntu16.04)

$ sudo apt-get install cheese$ cheese # 启动cheese查看摄像头情况

1.1.2 问题

问题一:步骤四 的问题

(cheese:5620): Clutter-WARNING **: Whoever translated default:LTR did so wrongly.

说明:因为我的笔记本为拯救者Y7000最新版,usb端口都为3.0以上,usb2.0根本没有,因此摄像头也开启不了;

解决方法:虚拟机设置—usb控制器—usb兼容性—改为(usb3.0),注意一定要关闭虚拟机设置;然后重启。

1.1.3 安装usb_cam

官网:/usb_cam

在ROS下常用的主要有两种驱动包:usb_cam和uvc_cam。

$ sudo apt-get install ros-kinetic-usb-cam # 安装摄像头功能包$ roslaunch usb_cam usb_cam-test.launch # 启动功能包$ rqt_image_view# 可视化工具

新版本的usb_cam包在launch文件夹下有自带的launch文件,名叫usb_cam-test.launch

如果工作空间的usb_cam包中不带这个launch文件我们就要新建它:

用文本编辑器打开,写入以下代码:

<launch><node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" ><param name="video_device" value="/dev/video0" /><param name="image_width" value="640" /><param name="image_height" value="480" /><param name="pixel_format" value="yuyv" /><param name="camera_frame_id" value="usb_cam" /><param name="io_method" value="mmap"/></node><node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen"><remap from="image" to="/usb_cam/image_raw"/><param name="autosize" value="true" /></node></launch>

保存,并关闭这个文件。

1.2 连接Kinect

$ sudo apt-get install ros-kinetic-freenect-* # 安装功能包$ git clone /avin2/SensorKinect.git# 下载底层驱动$ cd SensorKinect/Bin$ tar xvf SensorKinect093-Bin-Linux-x64-v5.1.2.1.tar.bz2 # 64bit$ cd Sensor-Bin-Linux-x64-v5.1.2.1/$ sudo ./install.sh #install脚本安装

kinect的驱动文件在/opt/ros/kinetic/share/freenect_launch/launch/freenect.launch

第一步,可将freenect.launch文件复制出来,在当前页面打开终端,输入以下命令:

$ roslaunch freenect.launch

第二步,新打开一个终端:

$ rosrun rviz rviz #在rviz工具中查看kinect获取图像

在rviz界面中添加点云和Image插件,设置点云的话题,和Fixed Frame

02 连接激光雷达

$ sudo apt-get install ros-kinetic-rplidar-ros # 安装功能包,包含驱动$ rosrun rplidar_ros rplidarNode # 运行rplidar激光雷达,激光雷达360度旋转$ sudo gpasswd --add USER_NAME dialout # 解决串口权限问题$ rostopic echo /scan # 激光雷达数据显示$ rosrun rviz rviz

03 参考教程

ARM架构开发板可参考:/indigo/Installation/UbuntuARM

常用传感器的ROS驱动可参考:/Sensors

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。