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

文章目录

  • 01 连接摄像头
    • 1.1 ROS下连接usb_cam
      • 1.1.1 前期准备
      • 1.1.2 问题
      • 1.1.3 安装usb_cam
    • 1.2 连接Kinect
  • 02 连接激光雷达
  • 03 参考教程

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中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器相关推荐

  1. ROS中阶笔记(二):机器人系统设计—URDF机器人建模

    ROS中阶笔记(二):机器人系统设计-URDF机器人建模 文章目录 01 URDF理论 1.1 什么是URDF 1.2 模型< robot > 1.2.1 < link > e ...

  2. ROS中阶笔记(十):ROS机器人综合应用

    ROS中阶笔记(十):ROS机器人综合应用 文章目录 1 ROS机器人综合应用 1.1 PR2 1.2 PR2实践 1.3 TurtleBot 1.3.1 TurtleBot2实践 1.3.2 Tur ...

  3. ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航

    ROS中阶笔记(八):机器人SLAM与自主导航-机器人自主导航 文章目录 1 ROS中的导航框架 1.1 move_base 1.1.1 基于move_base的导航框架 1.1.2 安装 1.2.3 ...

  4. ROS中阶笔记(六):机器人感知—机器语音

    ROS中阶笔记(六):机器人感知-机器语音 文章目录 1 语音识别理论 2 常用语音功能包 3 科大讯飞SDK 3.1 使用前提 3.2 语音听写 3.3 语音合成 3.4 智能语音助手 4 参考资料 ...

  5. ROS中阶笔记(七):机器人SLAM与自主导航—SLAM功能包的使用

    ROS中阶笔记(七):机器人SLAM与自主导航-SLAM功能包的使用 文章目录 1 机器人必备条件 1.1 硬件要求 1.2 深度信息 1.2.1 激光雷达 1.2.2 kinect 1.3 里程计信 ...

  6. ROS中阶笔记(五):机器人感知—机器视觉

    ROS中阶笔记(五):机器人感知-机器视觉 文章目录 1 ROS中的图像数据 1.1 二维图像 1.1.1 安装安装usb_cam 1.1.2 显示图像数据 1.2 三维图像(kinect) 2 摄像 ...

  7. ROS中阶笔记(四):机器人仿真—Gazebo物理仿真环境搭建(重点)

    ROS中阶笔记(四):机器人仿真-Gazebo物理仿真环境搭建(重点) 文章目录 1 ros_control 1.1 ros_control安装 2 Gazebo仿真步骤(重点) 2.1 配置物理仿真 ...

  8. ROS中阶笔记(三):机器人仿真—ArbotiX+rviz功能仿真

    ROS中阶笔记(三):机器人仿真-ArbotiX+rviz功能仿真 文章目录 01 机器人URDF模型优化-xacro模型文件 1.1 xacro模型文件 1.2 xacro使用方法 1.3 模型显示 ...

  9. ROS中阶笔记(十一):ROS 2.0

    ROS中阶笔记(十一):ROS 2.0 文章目录 1 为什要有ROS 2 1.1 ROS 1的特点 1.2 ROS 1的困境 1.3 ROS 2的曙光 1.4 ROS 2的版本进化 1.5 ROS 2 ...

最新文章

  1. pandas使用idxmax函数获取dataframe每个数据行中最大值对应的列名称(column label of max value in each row in dataframe)
  2. 【LeetCode】106. Construct Binary Tree from Inorder and Postorder Traversal
  3. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十八) 完美精灵之八面玲珑(WPF Only)②...
  4. 关于WebView加载URL时显示一片空白的问题
  5. STL库中string类内存布局的探究
  6. java计数器策略模式_java设计模式(二十一)--策略模式
  7. 开源ERP PK 传统ERP_开源ERP商业模式及前景访谈(视频) 转
  8. pytorch gpu版本下载
  9. Google开源新AI模型,语音区分准确率92%创新高 | 论文+GitHub
  10. C++ and Java template class and function 模板类和模板函数
  11. 洛谷 P1090 合并果子
  12. 【测试篇】为什么需要测试
  13. 四旋翼无人机飞控系统设计(方案篇)
  14. html仿ppt动画,jquery仿PPT幻灯片特效插件ppt.js
  15. LLVM编写Pass对程序进行obfuscate
  16. 第六章 人际关系的本质
  17. c语言开发ios应用程序,马上着手开发iOS应用程序:三、应用开发基础
  18. [iOS]手把手教你实现微信小视频
  19. 我的世界服务器怎么制作头颅,我的世界怎么刷生物头颅 生物头颅制作方法
  20. 学周刊杂志学周刊杂志社学周刊编辑部2022年第24期目录

热门文章

  1. 详述Redo日志中操作系统块头信息损坏的处理过程
  2. AOC萌新探索:搭建和体验在线AOC环境
  3. 鸿蒙轻内核源码分析:掌握信号量使用差异
  4. 云图说|云数据库MySQL内核小版本升级全攻略
  5. 【华为云技术分享】三大前端技术(React,Vue,Angular)探密(上)
  6. 面试官:你对Redis缓存了解吗?面对这11道面试题是否有很多问号?
  7. 不为人知的稠密特征加入CTR预估模型的方法
  8. 直播课:5G来了,互联网百亿级创新的机遇在哪里?
  9. matlab输出高质量图片,Matlab 画平滑轮廓 print 高质量 figure | 学步园
  10. Think in Java第四版 读书笔记6第12章 异常处理