当前位置: 首页 > wzjs >正文

网站seo策划好搜网

网站seo策划,好搜网,就业网站建设总结,淘客免费网站建设(ROS1)小乌龟速度控制 ubantu终端-创建ROS功能包: # 切换到 catkin 工作空间的 src 目录下 cd catkin_ws/src# 使用 catkin_create_pkg 命令创建一个新的 ROS 包 # 包名为 turtle_vel_ctrl_pkg # 该包依赖于 roscpp(ROS 的 C 客户端库)和 geometry_msg…

(ROS1)小乌龟速度控制

ubantu终端-创建ROS功能包:

# 切换到 catkin 工作空间的 src 目录下
cd catkin_ws/src# 使用 catkin_create_pkg 命令创建一个新的 ROS 包
# 包名为 turtle_vel_ctrl_pkg
# 该包依赖于 roscpp(ROS 的 C++ 客户端库)和 geometry_msgs(ROS 中的几何消息类型库)
catkin_create_pkg turtle_vel_ctrl_pkg roscpp geometry_msgs

image-20250319191924899

打开vscode找到catkin_ws文件夹我们来创建相关文件从而实现小乌龟速度控制的代码

image-20250319192347028

image-20250319192415788

image-20250319192802674

turtle_vel_ctrl_node.cpp代码如下:注意:vscode里面都要有保存的<Ctrl + s>的习惯哈,不然你发现运行不了

#include <ros/ros.h> 
#include <geometry_msgs/Twist.h>  // 主函数,ROS 节点的入口
int main(int argc, char **argv) {// 初始化 ROS 节点,节点名为 "tutle_vel_ctrl_node"ros::init(argc, argv, "tutle_vel_ctrl_node");// 创建一个节点句柄,用于与 ROS 系统进行通信ros::NodeHandle n;// 创建一个发布者,发布 geometry_msgs::Twist 类型的消息到 "/turtle1/cmd_vel" 话题,队列长度为 20ros::Publisher vel_pub = n.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel", 20);// 设置循环频率为 10Hzros::Rate loop_rate(10); // 初始化计数器int count = 0;// 只要 ROS 系统正常运行,就进入循环while (ros::ok()) {// 创建一个 geometry_msgs::Twist 类型的消息对象,用于存储速度指令geometry_msgs::Twist vel_cmd;// 设置线速度在 x 轴方向为 2,y 和 z 轴方向为 0vel_cmd.linear.x = 2;vel_cmd.linear.y = 0;vel_cmd.linear.z = 0;// 设置角速度在 x、y 和 z 轴方向为 0vel_cmd.angular.x = 0;vel_cmd.angular.y = 0;vel_cmd.angular.z = 0;// 发布速度指令消息vel_pub.publish(vel_cmd);// 处理一次 ROS 回调函数ros::spinOnce();// 按照设定的频率休眠,保证循环以 10Hz 运行loop_rate.sleep(); }return 0;
}

image-20250319193701171

CMakeList.txt添加代码如下:

# 创建一个可执行文件,名为 turtle_vel_ctrl_node,其源文件为 src/turtle_vel_ctrl_node.cpp
add_executable(turtle_vel_ctrl_node src/turtle_vel_ctrl_node.cpp)# 添加依赖项,确保在构建 turtle_vel_ctrl_node 之前,指定的目标已经构建完成
# ${${PROJECT_NAME}_EXPORTED_TARGETS} 是项目导出的目标,${catkin_EXPORTED_TARGETS} 是 catkin 导出的目标
add_dependencies(turtle_vel_ctrl_node${${PROJECT_NAME}_EXPORTED_TARGETS}${catkin_EXPORTED_TARGETS}
)# 将 turtle_vel_ctrl_node 可执行文件与 catkin 库进行链接
target_link_libraries(turtle_vel_ctrl_node ${catkin_LIBRARIES})

确保都保存好后,接下来进行终端的操作

打开终端(ctrl+Alt+t)

# 切换到 catkin_ws 工作空间目录
cd catkin_ws
# 在当前工作空间(即 catkin_ws 目录)下编译 ROS 包
catkin_make

出现如下情况说明编译成功OvO!!
如果出现问题,检查看看,多半是代码的敲错了哟

image-20250319194524276

按下<ctrl+shift+t>再使用一个终端输入:

roscore #这一命令会开启 ROS 核心服务。

出现如下表示成功

image-20250319194911769

再按下<ctrl+shift+t>再使用一个终端输入:

# 使用 rosrun 工具在 turtlesim 包中运行 turtlesim_node 可执行文件
# 运行后会弹出一个窗口,里面有一只小海龟
rosrun turtlesim turtlesim_node

出现如下表示成功

image-20250319195053637

再按下<ctrl+shift+t>再使用一个终端输入:

rosrun turtle_vel_ctrl_pkg turtle_vel_ctrl_node # 调用代码实现乌龟运动

如果当你输入完后,小乌龟成功的向右移动如下:

image-20250319195426282

那么这个简单小乌龟速度控制代码就完整实现。恭喜你!

作者温馨提示:

此程序是使用在ubantu20.04的ROS1实现的,如果想要运行此代码,请务必提前装好ubantu20.04和ROS1哦

提供一个链接快速安装ubantu20.04和ROS1和基础工作空间:

【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程_ubuntu20.04安装ros-CSDN博客——致谢:AlphaCatOvO

http://www.dtcms.com/wzjs/524771.html

相关文章:

  • 建网站 服务器需要安装 tomcat电销系统
  • 金融网站开发方案seo搜索引擎优化
  • 打开网站自动弹出qq网站快速排名
  • 网站测试页面怎么做网上培训
  • 企业网站建设 价格游戏推广平台代理
  • 网站开发外包 验收有没有永久免费crm
  • 邢台做移动网站的公司360搜索首页
  • 建设网站的企业哪家好百度上海推广优化公司
  • 北京网站建设降龙页面seo优化
  • 自己做聊天背景网站企业seo顾问服务阿亮
  • 做阿拉伯语的网站网站推广多少钱
  • 个人签名设计网站广州新闻报道
  • 天津建设工程注册中心网站腾讯企点官网下载
  • 西安php网站开发培训班信息流广告哪个平台好
  • 网站如何引入流量北京seo网络推广
  • 做网站怎么买服务器吗重庆seo管理平台
  • 建设网站开发的语言有哪些近期国内外重大新闻10条
  • 做视频网站需要什么服务器徐州百度运营中心
  • 香河县建设局网站常州seo关键词排名
  • 广东省自然资源厅胡建斌系统优化方法
  • php制作电影网站上海b2b网络推广外包
  • 付费阅读小说网站开发建设源码最有吸引力的营销模式
  • app运营一般多少钱一个月星链seo管理
  • 网站中英文要怎么做百度小说app
  • 提供微网站建设中国进入一级战备2023
  • 建筑工人招聘网站怎么做自己有货源怎么找客户
  • 南京外贸网站建设怎么收费市场调研一般怎么做
  • wordpress 日志承德seo
  • 杭州做家教网站什么是网络销售
  • 访客浏览网站 网站怎么跟踪优化seo教程技术