- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
机器人操作系统(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/src
ros2pkgcreatevel_pkg
4.2.1编写速度控制程序
#includerclcpp/rclcpp.hpp
#includegeometry_msgs/msg/twist.hpp
intmain(intargc,char**argv)
{
rclcpp::init(argc,argv);
autonode=std::make_sharedrclcpp::Node(velocity_command_node);
autovel_pub=node-create_publishergeometry_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_noderclcppgeometry_msgs)
install(TARGETSvel_node
DESTINATIONlib/${PROJECT_NAME})
dependrclcpp/depend
dependgeometry_msgs/depend
2、设置编译规则
3、修改软件包信息
4、编译软件包
cd~/ros2_ws
colconbuild
4.2机器人运动控制的实现
5、节点自测
sourceinstall/setup.bash
ros2runvel_pkgvel_node
打开第2个子窗口
ros2topiclist
ros2topicecho/cmd_vel
4.2机器人运动控制的实现
4.2.2仿真运行速度控制程序
sourceinstall/setup.bash
ros2launchwpr_simulation2wpb_simple.launch.py
sourceinstall/setup.bash
ros2runvel_pkgvel_node
打开第2个子窗口
节点运行起来之后,可以看到机器人以0.1米/秒的速度
文档评论(0)