zoukankan      html  css  js  c++  java
  • ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器

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

    [TOC]

    01 连接摄像头

    1.1 ROS下连接usb_cam

    https://answers.ros.org/question/197651/how-to-install-a-driver-like-usb_cam/

    1.1.1 前期准备

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

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

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

     $ lsusb                         #查看usb摄像头
    

    打开网址:http://www.ideasonboard.org/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最新版2020,usb端口都为3.0以上,usb2.0根本没有,因此摄像头也开启不了;

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

    1.1.3 安装usb_cam

    官网:http://wiki.ros.org/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 https://github.com/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架构开发板可参考:http://wiki.ros.org/indigo/Installation/UbuntuARM

    常用传感器的ROS驱动可参考:http://wiki.ros.org/Sensors

    微信公众号:喵哥解说 公众号介绍:主要研究机器学习、计算机视觉、深度学习、ROS等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!同时还有1200G的Python视频和书籍资料等你领取!!!

  • 相关阅读:
    [060428]事件中的过去时和进行时,没想到是这种区别。
    4月11日,string这差距怎么就这么大呢
    暴一个vs2005的bug
    membership,想说爱你不容易
    4月5日,遇到一个GridView很头疼的问题
    ActiveX控件的打包发布[无证书发布]
    3月14号,oracle的说道多多
    [转载]在SQL Server数据库之间进行数据导入导出,OPENDATASOURCE Virus
    U盘加载,卸载,拔出,插入,WM_DEVICECHANGE,WndProc,DBT_DEVICEARRIVAL,DBT_DEVICEREMOVECOMPLETE Virus
    C#,String.Format,数字格式化输出 ,format Virus
  • 原文地址:https://www.cnblogs.com/IT-cute/p/12990118.html
Copyright © 2011-2022 走看看