| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 第三部分 单机以及编队控制实验—中级教程之机器人运动控制实验(2) -> 正文阅读 |
|
[Python知识库]第三部分 单机以及编队控制实验—中级教程之机器人运动控制实验(2) |
3.2 Python编程_运动控制本小节将介绍如何通过编写的python代码,来控制机器人将消息发送给机器人,让机器人运动起来。我们将通过以下三点来进行演示:
本小节会学习到如何使用ROS Service的功能,也可以参考ROS Wiki关于Service的教程 Writing a Simple Service and Client 3.2.1 控制机器人直线运动我们要实现的是: 通过python程序控制机器人沿x轴上下移动。 3.2.1.1 代码说明 这里有两份代码,一个是linear_move.py,另一个是linear_move_by_srv.py。
这里简单说明一个函数
这是一个tf变换的监听器,使用这个函数,可以使我们得到从第一个参数到第二个参数转变的位姿,第三个参数则是我们想要进行转变的时间 这里我们获得了 剩下内容请参考代码内注释。
3.2.1.2 运行linear_move.py 1)打开终端,开启机器人驱动节点
正常情况下,会显示: ? 2)打开第二个终端,运行python文件(将您的机器人放在空旷点的地方,机器人将前进0.5米)
同时终端会显示: ? ? 你还可以修改
同时终端会显示: ? 你还可以修改 ? 3.2.1.3 运行linear_move_by_srv.py 1)打开中端,开启机器人驱动节点(如果之前打开,请忽略这一步)
2)打开第二个终端,运行python文件(将您的机器人放在空旷的地方)
正常情况下,会显示: ? 3)打开第三个终端,将通过终端调用service接口,来让机器人移动,0.5具体的距离,您也可以修改为其他值
正常情况下,会显示: ? Tips:如果call的数字过大,想要机器人停下,鼠标选中第二个终端,用 Ctrl+C让机器人停下来。 4)你也可以通过运行launch文件来尝试,Ctrl+C停止第二个终端的进程,在该终端运行launch文件。
? 5)选择之前的第三个终端,再次调用service接口
正常情况下,会显示: ? 3.2.2 控制机器人转向运动我们要实现的是:通过python程序控制机器人沿z轴左右转动。 3.2.2.1 代码说明 这里跟直线运动的代码差不多,只是在发送速度消息的时候发的是 这里有三份代码,分别是
3.2.2.2 运行radian_turn.py 1)打开中端,开启机器人驱动节点(如果之前打开,请忽略这一步)
2)打开第二个终端,运行python文件(将您的机器人放在空旷点的地方,机器人将旋转pi/2弧度)
同时终端会显示: ? 你还可以修改 ? 3)你还可以在终端运行launch文件(机器人转动180度)
同时终端会显示: 你还可以修改 ? 3.2.2.3 运行radian_turn_by_srv.py 1)打开中端,开启机器人驱动节点(如果之前打开,请忽略这一步)
2)打开第二个终端,运行python文件(将您的机器人放在空旷一点的地方)
正常情况下,会显示: ? 3)打开第三个终端,将通过终端调用service接口,来让机器人移动,3.14会让机器人原地转180度
正常情况下,会显示: ? 4)你也可以通过运行launch文件来尝试,Ctrl+C停止第二个终端的进程,在该终端运行launch文件
正常情况下,会显示: ? 5)选择之前的第三个终端,再次调用service
正常情况下,会显示: ? 3.2.2.4 运行radian_turn_direct_by_srv.py 运行这个代码和运行 1)打开中端,开启机器人驱动节点(如果之前打开,请忽略这一步)
2)打开第二个终端,运行python文件(将您的机器人放在空旷的地方)
3)打开第三个终端,将通过终端调用service接口,来让机器人转动
3.2.3 编写一个键盘遥控程序1)打开中端,开启机器人驱动节点(如果之前打开,请忽略这一步)
2)打开第二个终端,运行python 键盘遥控程序
相关编程技巧可以参考源码的注释。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:52:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |