- 1、本文档共322页,可阅读全部内容。
- 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
您可能关注的文档
- 机器人操作系统(ROS)课件汇总 曾庆喜 第1--6章 ROS简介---ROS常用工具.pptx
- 人教版高中化学选择性必修1第三章水溶液中的离子反应与平衡水的电离课件.ppt
- 人教版高中化学选择性必修1第二章化学反应速率与化学平衡影响化学反应速率的因素课件.ppt
- 人教版高中化学选择性必修1第三章水溶液中的离子反应与平衡电离常数强酸与弱酸的比较课件.ppt
- 人教版高中化学选择性必修1第四章化学反应与电能电解原理课件.ppt
- 人教版高中化学选择性必修1第二章化学反应速率与化学平衡化学平衡常数课件.ppt
- 人教版高中化学选择性必修1第二章化学反应速率与化学平衡化学反应速率课件.ppt
- 人教版高中化学选择性必修1第三章水溶液中的离子反应与平衡电解质溶液中离子浓度的比较课件.ppt
- 人教版高中化学选择性必修1第二章化学反应速率与化学平衡化学反应速率和化学平衡图像课件.ppt
- 2024-2030年中国集成电路封装行业市场深度调研及发展趋势与投资前景研究报告.docx
文档评论(0)