机器人运动控制

一、基础

1.1 矢量速度和旋转速度

矢量速度用来控制运动方向,任何一个方向都可以看成x、y、z三轴方向的合。单位规定是m/s。

旋转速度用来控制旋转方向,可以看成x、y、z三轴方向旋转的合。单位规定是pi/s。

速度消息包,可以在ROS Index上搜索到。

 

它里面有很多消息类型,其中Twist就是速度消息包。

消息包中有两种数据类型linear、angular,他俩又都是三维向量。

1.2 节点话题设置

首先有一个机器人核心节点,他能直接控制机器人。再设置一个速度控制节点,一个速度控制话题。速度控制节点可以通过速度控制话题向机器人核心节点发送消息。消息类型是Twist。

二、机器人运动控制的C++实现

实现思路

step1:创建新的软件包。其中geometry_msgs是速度消息包所需要的依赖。

step2:在软件包中创建vel_node节点,节点中创建发布者对象vel_pub,再创建while循环,让发布对象不停的发布消息。

step3:在软件包目录下的CMakeList.txt文件中,找到build,添加以下三行代码。

第一行是”声明C++可执行文件“,也就是使用指定的源文件来生成目标可执行文件。参数1:可执行目标文件的名字,在一个cmake工程中,这个名字必须全局唯一。参数2:源文件地址。

第二行是添加可执行文件的cmake目标依赖。参数:可执行目标文件的名字。

第三行是指定库、可执行文件的链接库。参数:可执行目标文件的名字。

step3:编译+运行

三、机器人运动的python实现

step1:新建软件包

step2:在软件包中新建一个文件夹script,在这个文件夹里创建速度控制节点vel_node.py。

step3:python脚本首先要填加以下代码。若是ubuntu18.04以及以前的版本添加python解释器;若是ubuntu20.04添加python3解释器。第二行是指定编码格式。

step4:不用编译,给python脚本添加可执行权限即可。进入python脚本所在文件夹查看文件,若py脚本是白色的,则说明他是没有可执行权限。我们可以使用chmod来给他添加可执行权限。再次查看就变成绿色的了。

step5:运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/782737.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

助力福建新型职业农民培育 北方天途推进无人机植保应用培训

为加强新型职业农民的职业培育,扩展新型农民的知识范围和专业技术水平,推进农业供给侧结构性改革。日前,在农业部门的大力支持下,北方天途航空和宁德天禾科技服务携手为福建省农民朋友开展了植保无人机驾驶员的应用培训。福建省农…

网页布局案例 浮动

这里主要讲浮动 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>*{padding: 0;margin: 0;}.header{height: 40px;background-color: #333;}.nav{width: 1226px;heig…

深入理解数据结构(2):顺序表和链表详解

文章主题&#xff1a;顺序表和链表详解&#x1f331;所属专栏&#xff1a;深入理解数据结构&#x1f4d8;作者简介&#xff1a;更新有关深入理解数据结构知识的博主一枚&#xff0c;记录分享自己对数据结构的深入解读。&#x1f604;个人主页&#xff1a;[₽]的个人主页&#x…

机器学习——降维算法-奇异值分解(SVD)

机器学习——降维算法-奇异值分解&#xff08;SVD&#xff09; 在机器学习中&#xff0c;降维是一种常见的数据预处理技术&#xff0c;用于减少数据集中特征的数量&#xff0c;同时保留数据集的主要信息。奇异值分解&#xff08;Singular Value Decomposition&#xff0c;简称…

csp资料

头文件 #include <bits/stdc.h> using namespace std isdigit(c); isalpha(c); switch(type){case value : 操作 } continue;//结束本轮循环 break;//结束所在的整个循环tips: //除法变乘法来算 //减法变加法 num1e42;//"1e4"表示10的4次方//用于移除容器中相…

某国投集团知识竞赛活动方案

一、抽签分组办法 1.抽签&#xff1a;参赛队伍赛前进行抽签分组。 2.分组&#xff1a;全部报名参赛队伍按照抽签顺序分为4组&#xff0c;每组7支队伍进行预赛&#xff0c;9月16日上午1、2组进行初赛&#xff0c;9月16日下午3、4组进行初赛。每组决出的前三名进入决赛。 二、初…

二维码门楼牌管理应用平台建设:引领现代化小区管理新篇章

文章目录 前言一、二维码门楼牌管理应用平台概述二、三维动态单体化技术的优势三、二维码门楼牌管理应用平台的应用场景四、展望未来 前言 随着城市化的快速推进&#xff0c;现代化小区如雨后春笋般涌现&#xff0c;对小区管理的效率和智能化提出了更高要求。二维码门楼牌管理…

鸿蒙OS开发实例:【瀑布流式图片浏览】

介绍 瀑布流式展示图片文字&#xff0c;在当前产品设计中已非常常见&#xff0c;本篇将介绍关于WaterFlow的图片浏览场景&#xff0c;顺便集成Video控件&#xff0c;以提高实践的趣味性 准备 请参照[官方指导]&#xff0c;创建一个Demo工程&#xff0c;选择Stage模型熟读Har…

图像分割论文阅读:Automatic Polyp Segmentation via Multi-scale Subtraction Network

这篇论文的主要内容是介绍了一种名为多尺度差值网络&#xff08;MSNet&#xff09;的自动息肉分割方法。 1&#xff0c;模型整体结构 整体结构包括编码器&#xff0c;解码器&#xff0c;编码器和解码器之间是多尺度差值模块模块&#xff08;MSM&#xff09;&#xff0c;以及一…

Vue3 使用 v-bind 动态绑定 CSS 样式

在 Vue3 中&#xff0c;可以通过 v-bind 动态绑定 CSS 样式。 语法格式&#xff1a; color: v-bind(数据); 基础使用&#xff1a; <template><h3 class"title">我是父组件</h3><button click"state !state">按钮</button>…

牛客NC31 第一个只出现一次的字符【simple map Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c 核心 Map参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可*…

INA350ABSIDDFR 仪表放大器 单路低功耗 TSOT-23-8

NA350ABSIDDFR 是一款高精度、低功耗、单片式精密运算放大器。它具有出色的直流精度和低失调电压&#xff0c;适用于需要高精度信号处理的应用。这款产品广泛应用于各种领域&#xff0c;如工业控制、医疗设备、测试与测量设备以及通信系统等。 制造商: Texas Instruments …

思维题,LeetCode331. 验证二叉树的前序序列化

一、题目 1、题目描述 序列化二叉树的一种方法是使用 前序遍历 。当我们遇到一个非空节点时&#xff0c;我们可以记录下这个节点的值。如果它是一个空节点&#xff0c;我们可以使用一个标记值记录&#xff0c;例如 #。 例如&#xff0c;上面的二叉树可以被序列化为字符串 &quo…

3.恒定乘积自动做市商算法及代码

中心化交易所的安全风险 在中心化交易所中注册账户时&#xff0c;是由交易所生成一个地址&#xff0c;用户可以向地址充币&#xff0c;充到地址之后交易所就会根据用户充币的数量显示在管理界面中。但是充币的地址是掌管在交易所之中的&#xff0c;资产的控制权还是在交易所。…

从0开始搭建基于VUE的前端项目(二) 安装和配置element-ui组件库

版本和地址 ElementUI 2.15.14 (https://element.eleme.io/)按需引入的插件 babel-plugin-component(1.1.1) https://github.com/ElementUI/babel-plugin-component安装 npm install element-ui完整引入(不建议) 这种方式最后打包的源文件很大,造成网络资源的浪费main.jsimpo…

MFC(二)集成基础控件

目录 OnCreateCStatic【标签&#xff0c;图片】CEdit【文本框&#xff0c;密码框&#xff0c;数值框&#xff0c;文本区】CButton【按钮&#xff0c;单选按钮&#xff0c;多选按钮】CComboBox【下拉列表&#xff0c;列表】CSliderCtrl【滑动条】CListCtrl【表格】CAnimateCtrl【…

C语言分支循环探秘:解锁编程逻辑的无限可能 篇章1

目录 1.if语句 2.关系操作符 3.条件操作符 4.逻辑操作符&#xff1a;&&&#xff0c;||&#xff0c;&#xff01; 5.switch语句 6.while循环 7.for循环 8.do-while循环 9.break和continue语句 10.循环的嵌套 11.goto 导入 C语言是结构化的程序设计语言&…

数字化服务升级:数字乡村改善农民生活质量

随着信息技术的迅猛发展&#xff0c;数字化浪潮已经深入社会的各个角落&#xff0c;为人们的生活带来了翻天覆地的变化。在乡村地区&#xff0c;数字化服务的升级正在逐步改变农民的生活方式&#xff0c;提高他们的生活质量。本文将围绕数字化服务升级&#xff0c;探讨数字乡村…

【蓝桥杯选拔赛真题51】C++百位上的数字 第十四届蓝桥杯青少年创意编程大赛 算法思维 C++编程选拔赛真题解析

目录 C百位上的数字 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、推荐资料 C百位上的数字 第十四届蓝桥杯青少年创意编程大赛C选拔赛真题 一、题目要求 1、编程实现 给定一个三位数&#xff0c…

京东云免费服务器申请入口,2024年最新免费云主机

京东云服务器免费6月申请入口 jdyfwq.com 在京东云免费云主机申请页面&#xff0c;免费云服务器配置为云主机2核4G5M和轻量云主机2C2G可以申请免费使用&#xff0c;目前京东云免费云服务器申请时长从之前的6个月缩短到1个月&#xff0c;如下图&#xff1a; 京东云免费云主机 云…