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

泰安市网站建设啥十小企业网站建设

泰安市网站建设,啥十小企业网站建设,学校建设网站前的市场分析,c2c模式发展趋势(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/a/428478.html

相关文章:

  • 【Linux篇】--进程
  • 网站内链怎么删除合肥制作企业网站
  • 金融互助平台网站制作八喜网站建设
  • 西安微网站建设江西网站制作的公司哪家好
  • win10程序(十)慢速xls转xlsx
  • 河北建设厅网站设置阿凡达网站建设
  • 响应式学校网站模板下载重庆重庆网站建设
  • 拷贝构造和运算符重载
  • EasyDSS点播管理功能升级!转码、检索、播放全流程更灵活
  • 酒店网站建设便宜软件开发的工作内容
  • 手机网站做落地页贸易公司做网站怎么样
  • 网站建设专题的意义电商网站建设基础ppt
  • 【UE4/UE5】在虚幻引擎中创建控制台指令的几种方法
  • 51个人网站产品推广策划方案怎么做
  • 如何解决 pip install 安装报错 ImportError: cannot import name ‘xxx’ from ‘yyy’ 问题
  • 在Centos的Linux中安装Windows10系统
  • 小型企业做网站的价格自媒体自助下单网站怎么做
  • 解码数据结构树
  • 通信中级(综合能力)小范围重点
  • 私人做网站有什么用建设网站需要哪些元素
  • 网站开发整体流程公众号怎么做微网站吗
  • 网站制作上首页图片在线设计网站
  • 多线程逻辑备份工具 mydumper 全方位解析:备份恢复原理与实战用法
  • C++ 运算符重载与友元:实现优雅直观的类操作
  • 开源外贸网站升降平台找企汇优做网站推广
  • 汽车之家 网站建设网站设计的风格有哪些
  • Windows上部署FTP详解
  • 沙河做网站重庆丰都建设局网站
  • 企业网站建设情况汇报网页设计费用明细
  • 集群服务器架构学习计划