类别 : | 1 | 加工定制 : | 1 |
/diagnostics
/head/tilt
/rosout
/rosout_agg
$ rostopic pub -1 /head/tiltstd_m/Float32 0.4
$ rostopic pub -1 /head/tilt std_m/Float320.9
这个阶段当中,能够将所有发布数值到ROS的已知方法用在控制伺服机上。
假如从0改成1,伺服机就会全速运行。
这本来并没有问题,但实际上我们想要逐渐加速以达到全速,然后再逐渐减速,停在目标角度上。
假如伺服机骤然运转,机器人的动作就会变得僵硬,让周围的人吓一跳。
Terry和Houndbot都是ROS机器人,以6061个铝合金零件制造而成。
项目的目标是要尽量让这些机器人自主运动。
以下的Python脚本程序会监听「/head/tilt/smooth」的讯息,朝「/head/tilt」发布许多讯息,好让伺服机转到目标角度之前慢慢加速,再慢慢延迟旋转。
当讯息抵达「/head/tilt/smooth」时一定会呼叫「moveServo_cb」。
这个回调函式会从-90到+90度之间每10度产生1个数值,追加到角度数组当中。
「sin()」会取这个角度,数值从-1到+1慢慢增加。
该数值加1之后,范围就会变成0到+2,再除以2之后, 0到+1的曲线数值数组就完成了。
然后再看看m数组当中,每当发布讯息时,就会稍微前进一点,范围在r之内,直到1*r或是全范围为止。
#!/usr/bin/env python
from time import sleep
import numpy as np
import rospy
from std_m.msg import Float32
currentPosition = 0.5
pub = None
def moveServo_cb(data):
global currentPosition, pub
targetPosition = data.data
r = targetPosition - currentPosition
angles = np.array( (range(190)) [0::10]) -90西门子 USB-PPI 配件
西门子 307-1EA01-0AA0 配件
西门子 315-2AG10-0AB0 配件
西门子 365-0BA01-0AA0 配件
西门子 331-7KF02-0AB0 配件
西门子 331-7PF01-0AB0 配件
西门子 321-1BL00-0AA0 配件
西门子 322-1BH01-0AA0 配件
西门子 IM365 RECEIVE 配件
西门子 1FT6034-1AK71-4EG1 配件
西门子 6FX8002-2EQ10-1AF0 配件
西门子 C98043-A1201-L12 板卡
西门子 6ES5095-8MA05 配件
西门子 6ES7 331-1KF01-0AB0 配件
西门子 LXD63B600 断路器
西门子 6ES7322-1BL00-0AA0 模块
西门子 412-2 412-2XJ05-OABO 模块
西门子 6SE7041-5HK85-1AA0-Z=K11 K01 G95代替6SE7041-5HK85-0AA0-Z=K11 K01 G95 变频器IC697ACC700完整IC697ACC700完整IC697ACC700完整
西门子 6SC9411-0BA53 板卡
西门子 6GK1571-0BA00-0AA0 适配器