機(jī)器人操作系統(tǒng)(ROS2)入門與實踐 課件 第4章 ROS2機(jī)器人運(yùn)動控制_第1頁
機(jī)器人操作系統(tǒng)(ROS2)入門與實踐 課件 第4章 ROS2機(jī)器人運(yùn)動控制_第2頁
機(jī)器人操作系統(tǒng)(ROS2)入門與實踐 課件 第4章 ROS2機(jī)器人運(yùn)動控制_第3頁
機(jī)器人操作系統(tǒng)(ROS2)入門與實踐 課件 第4章 ROS2機(jī)器人運(yùn)動控制_第4頁
機(jī)器人操作系統(tǒng)(ROS2)入門與實踐 課件 第4章 ROS2機(jī)器人運(yùn)動控制_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

機(jī)器人操作系統(tǒng)(ROS2)入門與實踐機(jī)器人操作系統(tǒng)(ROS2)入門與實踐第1章LinuxUbuntu入門基礎(chǔ)第2章ROS2安裝與系統(tǒng)架構(gòu)第3章ROS2編程基礎(chǔ)第4章ROS2機(jī)器人運(yùn)動控制第5章激光雷達(dá)在ROS2中的使用第6章IMU在ROS2中的使用第7章ROS2中的SLAM環(huán)境建圖第8章ROS2中的NAV2自主導(dǎo)航第9章ROS2中的圖像視覺應(yīng)用第10章ROS2的三維視覺應(yīng)用第11章ROS2的機(jī)械臂應(yīng)用第12章基于ROS2的綜合應(yīng)用第4章

第4章ROS2機(jī)器人運(yùn)動控制4.2機(jī)器人運(yùn)動控制的實現(xiàn)4.1速度消息包格式4.3本章小結(jié)4.1速度消息包格式

對機(jī)器人的速度控制是通過向機(jī)器人的核心節(jié)點發(fā)送速度消息來實現(xiàn)的,這個消息的類型在ROS里已經(jīng)有了定義,就是geometry_msgs::Twist。本實例編程實現(xiàn)一個發(fā)布者節(jié)點,如圖所示,向"/cmd_vel"話題發(fā)布geometry_msgs::Twist類型的消息包。以此來實現(xiàn)對機(jī)器人運(yùn)動速度的控制。4.2機(jī)器人運(yùn)動控制的實現(xiàn)(詳細(xì)操作步驟:見教材P107-P120頁)4.2機(jī)器人運(yùn)動控制的實現(xiàn)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、編寫節(jié)點代碼在VSCode中找到vel_pkg軟件包,在

“src”文件夾新建文件,命名為“vel_node.cpp”。4.2機(jī)器人運(yùn)動控制的實現(xiàn)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機(jī)器人運(yùn)動控制的實現(xiàn)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、設(shè)置編譯規(guī)則3、修改軟件包信息4、編譯軟件包cd~/ros2_wscolconbuild4.2機(jī)器人運(yùn)動控制的實現(xiàn)5、節(jié)點自測sourceinstall/setup.bashros2runvel_pkgvel_node打開第2個子窗口ros2topiclistros2topicecho/cmd_vel4.2機(jī)器人運(yùn)動控制的實現(xiàn)4.2.2仿真運(yùn)行速度控制程序sourceinstall/setup.bashros2launchwpr_simulation2wpb_simple.launch.pysourceinstall/setup.bashros2runvel_pkgvel_node打開第2個子窗口節(jié)點運(yùn)行起來之后,可以看到機(jī)器人以0.1米/秒的速度向前

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論