




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
机器人操作系统(ROS2)入门与实践机器人操作系统(ROS2)入门与实践第1章LinuxUbuntu入门基础第2章ROS2安装与系统架构第3章ROS2编程基础第4章ROS2机器人运动控制第5章激光雷达在ROS2中的使用第6章IMU在ROS2中的使用第7章ROS2中的SLAM环境建图第8章ROS2中的NAV2自主导航第9章ROS2中的图像视觉应用第10章ROS2的三维视觉应用第11章ROS2的机械臂应用第12章基于ROS2的综合应用第4章
第4章ROS2机器人运动控制4.2机器人运动控制的实现4.1速度消息包格式4.3本章小结4.1速度消息包格式
对机器人的速度控制是通过向机器人的核心节点发送速度消息来实现的,这个消息的类型在ROS里已经有了定义,就是geometry_msgs::Twist。本实例编程实现一个发布者节点,如图所示,向"/cmd_vel"话题发布geometry_msgs::Twist类型的消息包。以此来实现对机器人运动速度的控制。4.2机器人运动控制的实现(详细操作步骤:见教材P107-P120页)4.2机器人运动控制的实现cd~/ros2_ws/srcros2pkgcreatevel_pkg4.2.1编写速度控制程序#include<rclcpp/rclcpp.hpp>#include<geometry_msgs/msg/twist.hpp>
intmain(intargc,char**argv){rclcpp::init(argc,argv);
autonode=std::make_shared<rclcpp::Node>("velocity_command_node");
autovel_pub=node->create_publisher<geometry_msgs::msg::Twist>("/cmd_vel",10);
1、编写节点代码在VSCode中找到vel_pkg软件包,在
“src”文件夹新建文件,命名为“vel_node.cpp”。4.2机器人运动控制的实现geometry_msgs::msg::Twistvel_msg;vel_msg.linear.x=0.1;vel_msg.linear.y=0.0;vel_msg.linear.z=0.0;vel_msg.angular.x=0.0;vel_msg.angular.y=0.0;vel_msg.angular.z=0.0;
rclcpp::Rateloop_rate(30);while(rclcpp::ok()){vel_pub->publish(vel_msg);loop_rate.sleep();}
rclcpp::shutdown();
return0;}
4.2机器人运动控制的实现find_package(rclcppREQUIRED)find_package(geometry_msgsREQUIRED)add_executable(vel_nodesrc/vel_node.cpp)ament_target_dependencies(vel_node"rclcpp""geometry_msgs")install(TARGETSvel_nodeDESTINATIONlib/${PROJECT_NAME})<depend>rclcpp</depend><depend>geometry_msgs</depend>2、设置编译规则3、修改软件包信息4、编译软件包cd~/ros2_wscolconbuild4.2机器人运动控制的实现5、节点自测sourceinstall/setup.bashros2runvel_pkgvel_node打开第2个子窗口ros2topiclistros2topicecho/cmd_vel4.2机器人运动控制的实现4.2.2仿真运行速度控制程序sourceinstall/setup.bashros2launchwpr_simulation2wpb_simple.launch.pysourceinstall/setup.bashros2runvel_pkgvel_node打开第2个子窗口节点运行起来之后,可以看到机器人以0.1米/秒的速度向前
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生预防沉溺网络课件
- 61 选择性必修3 第九单元 第52讲 基因工程的基本工具和基本操作程序
- 34 必修2 素养加强课6 生物变异类型的实验探究
- 日语入门教学课件
- 建筑项目测量员长期服务合同样本
- 房地产市场调研与分析服务协议
- 车辆质押贷款及保养服务协议
- 厂房股份收购与员工培训合同
- 旅游景区生态停车场租赁管理公约
- 草莓出口贸易代理服务合同范本
- 高中化学乙醇教学反思
- 如皋市直属机关遴选笔试真题
- 2022-2023学年山东省济南市高一下学期期末数学试题(解析版)
- 2022-2023学年安徽省阜阳市高一下学期期末教学质量统测数学试卷(解析版)
- 华东师大版数学七年级上册教案全册
- 数字资产监管框架优化
- 医患之间暴力行为预防与处理管理制度
- 2022年版初中物理课程标准解读-课件
- MOOC 大学物理实验-郑州大学 中国大学慕课答案
- 眼科临床路径培训记录课件
- 术后病人烫伤不良事件PDCA循环分析课件
评论
0/150
提交评论