机器人运动控制

一、基础

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:运行

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值