- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
机器人操作系统(ROS)
机器人操作系统(ROS)遥控小海龟运动7.1
机器人操作系统(ROS)7.1遥控小海龟运动我们在刚开始学习ROS的时候,接触到的第一个功能包是turtlesim,该功能包可以通过键盘控制小海龟在界面中移动。这个功能包的核心是turtlesim_node节点,提供一个可视化的海龟仿真器。本章中我们将学习在ROS中如何使用遥控器来控制小海龟运动,实验分别以红外遥控器和游戏手柄为例来实现小海龟的运动控制。红外遥控器游戏手柄仿真小海龟
机器人操作系统(ROS)7.1.1红外遥控器控制小海龟运动硬件基础实验用到的硬件包括:红外遥控器、红外解码模块、USB转TTL模块。红外解码模块可将红外遥控器发射的红外编码信号解码成相应的16进制数并通过串口进行输出。USB转TTL模块与红外解码模块通过杜邦线进行连接,通过USB端口连接至上位机。红外遥控器红外解码器USB转TTL模块红外遥控器按键对应的16进制编码红外遥控器按键对应的16进制编码,其中用户码为“00FF”,串口输出数据为“用户码+键位码”,例如我们按下“OK”键,串口则输出“00FF1C”。
机器人操作系统(ROS)软件基础在终端中输入以下命令安装ROS串口功能包:$catkin_create_pkgteleoperationstd_msgsrospyroscpp输入以下命令检测serial包是否安装好:$rospackfindserial若终端显示serial的路径(/opt/ros/melodic/share/serial),则说明安装成功。7.1.1红外遥控器控制小海龟运动
机器人操作系统(ROS)在~/catkin_ws/src下输入以下命令创建一个名为serialport的功能包:$catkin_create_pkgserialportroscpprospystd_msgsserial在serialport/src文件夹下创建名为infrared_remote.cpp的文件,并填入以下代码:#includeros/ros.h#includeserial/serial.h//ROS已经内置了的串口包#includegeometry_msgs/Twist.hserial::Serialser;//声明串口对象uint8_tbuffer[3];//定义串口数据存放数组uint8_ta;intmain(intargc,char**argv){ros::init(argc,argv,serial_remote_node);//初始化节点ros::NodeHandlenh;//声明节点句柄 ros::Publisherread_pub=nh.advertisegeometry_msgs::Twist(/turtle1/cmd_vel,1);//发布话题……7.1.1红外遥控器控制小海龟运动软件基础
机器人操作系统(ROS)代码解释ros/ros.h包含大部分ROS中通用的头文件,serial/serial.h即ROS中已经内置了的串口包,通过它可以与串口设备进行通讯,另外节点会发布geometry_msgs/Twist类型的消息,所以需要加入包含该类型的头文件Twist.h,这个头文件根据Twist.msg的消息结构定义自动生成。1.头文件部分#includeros/ros.h#includeserial/serial.h#includegeometry_msgs/Twist.h7.1.1红外遥控器控制小海龟运动
机器人操作系统(ROS)代码解释在main函数中,通过init函数初始化ros节点,节点名称为serial_remote_node,该名称在运行的ROS中是唯一的,不允许同时存在名称相同的两个节点。通过ros::NodeHandlenh声明节点句柄,最后创建一个名为read_pub的发布者,发布者向话题/turtle1/cmd_vel中发布Twist类型的消息,其中缓存区大小为1。2.主函数部分intmain(intargc,char**argv){ros::init(argc,argv,serial_remote_node);ros::NodeHandlenh; ros::Publisherread_pub=nh.advertisegeometry_msgs::Twist(/turtle1/cmd_vel,1);......}7.1.1红外遥控器控制小海龟运动
机器人操作系统(ROS)代码解释进入try
您可能关注的文档
- 《中国环境法学》 课件 第5章 中国自然生态保护法.pptx
- 《中国环境法学》 课件 第4章 中国污染防治法.pptx
- 《中国环境法学》 课件 第3章 中国环境法基本制度.pptx
- 《中国环境法学》 课件 第1、2章 环境法概论、中国环境法基本原则.pptx
- 《中国环境法学》 课件 第12、13章 中国环境司法与争议解决、中国的全球环境治理概述.pptx
- 《中国环境法学》 课件 第10、11章 供用电等合同、中国环境行政执法.pptx
- 《中国环境法学》 课件 第7--9章 环境行政法律责任--生态环境损害责任.pptx
- 《中国环境法学》 课件 第6章 中国绿色低碳发展法.pptx
- 幼儿园手工制作 课件全套 何柳 项目1--6 手工制作概述 --- 废旧材料手工.pptx
- 幼儿园手工制作 课件 项目1 手工制作概述.pptx
文档评论(0)