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

本文涉及的产品
资源编排,不限时长
简介: ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器

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


在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创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
4天前
|
人工智能 安全 机器人
OpenAI重拾规则系统,用AI版机器人定律守护大模型安全
在人工智能领域,大语言模型(LLM)展现出强大的语言理解和生成能力,但也带来了安全性和可靠性挑战。OpenAI研究人员提出“规则基于奖励(RBR)”方法,通过明确规则引导LLM行为,确保其符合人类价值观和道德准则。实验显示,RBR方法在安全性与有用性之间取得了良好平衡,F1分数达97.1。然而,规则制定和维护复杂,且难以完全捕捉语言的多样性。论文:https://arxiv.org/pdf/2411.01111。
37 13
|
1月前
|
算法 机器人 语音技术
由通义千问驱动的人形机器人具身智能Multi-Agent系统
申昊科技人形机器人小昊,集成通义千问多模态大模型的具身智能系统,旨在讲解销售、迎宾表演等场景。机器人通过语音、动作等方式与用户互动,利用云端大语言模型处理自然语言,结合视觉、听觉等多模态感知技术,实现流畅的人机对话、目标追踪、展厅讲解等功能。
215 3
由通义千问驱动的人形机器人具身智能Multi-Agent系统
|
29天前
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
前言 最近开始接触到基于DDS的这个系统,是在稚晖君的机器人项目中了解和认识到。于是便开始自己买书学习起来,感觉挺有意思的,但是只是单纯的看书籍,总会显得枯燥无味,于是自己又开始在网上找了一些视频教程结合书籍一起来看,便让我对ROS系统有了更深的认识和理解。 ROS的发展历程 ROS诞生于2007年的斯坦福大学,这是早期PR2机器人的原型,这个项目很快被一家商业公司Willow Garage看中,类似现在的风险投资一样,他们投了一大笔钱给这群年轻人,PR2机器人在资本的助推下成功诞生。 2010年,随着PR2机器人的发布,其中的软件正式确定了名称,就叫做机器人操作系统,Robot Op
73 14
|
1月前
|
自然语言处理 算法 机器人
智能电话销售机器人源码搭建部署系统电话机器人源码
智能电话销售机器人源码搭建部署系统电话机器人源码
29 4
|
1月前
|
人工智能 自然语言处理 机器人
智能语音机器人底层系统设计逻辑机器人源码系统逻辑
简介: — 1 —智能客服背景智能语音客服机器人是在传统的客服系统基础上,集成了语音识别、语义理解、知识图谱、深度学习等多项智能交互技术,能准确理解用户的意图或提问,再根据丰富的内容和海量知识图谱,给予用户满意的回答。目前已广泛应用于金融、保险、汽车、房产、电商、政府等多个领域。
|
1月前
|
XML 算法 自动驾驶
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
【11月更文挑战第7天】本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。
|
1月前
|
机器学习/深度学习 人工智能 运维
电话机器人源码-智能ai系统-freeswitch-smartivr呼叫中心-crm
电话机器人源码-智能ai系统-freeswitch-smartivr呼叫中心-crm
58 0
|
2月前
|
Ubuntu 机器人 Linux
|
1月前
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
【11月更文挑战第4天】ROS2的学习过程和应用,介绍DDS系统的框架和知识。
|
7月前
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
185 1

热门文章

最新文章

推荐镜像

更多