$ rostopic pub -1 /head/tilt std_msgs/Float320.9
這個(gè)階段當(dāng)中,能夠?qū)⑺邪l(fā)布數(shù)值到ROS的已知方法用在控制伺服機(jī)上。假如從0改成1,伺服機(jī)就會(huì)全速運(yùn)行。這本來(lái)并沒有問題,但實(shí)際上我們想要逐漸加速以達(dá)到全速,然后再逐漸減速,停在目標(biāo)角度上。假如伺服機(jī)驟然運(yùn)轉(zhuǎn),機(jī)器人的動(dòng)作就會(huì)變得僵硬,讓周圍的人嚇一跳。IC600PM504RR常規(guī)IC600PM504RR常規(guī)IC600PM504RR常規(guī)

Terry和Houndbot都是ROS機(jī)器人,以6061個(gè)鋁合金零件制造而成。項(xiàng)目的目標(biāo)是要盡量讓這些機(jī)器人自主運(yùn)動(dòng)。
以下的Python腳本程序會(huì)監(jiān)聽「/head/tilt/smooth」的訊息,朝「/head/tilt」發(fā)布許多訊息,好讓伺服機(jī)轉(zhuǎn)到目標(biāo)角度之前慢慢加速,再慢慢延遲旋轉(zhuǎn)。當(dāng)訊息抵達(dá)「/head/tilt/smooth」時(shí)一定會(huì)呼叫「moveServo_cb」。這個(gè)回調(diào)函式會(huì)從-90到 90度之間每10度產(chǎn)生1個(gè)數(shù)值,追加到角度數(shù)組當(dāng)中。「sin()」會(huì)取這個(gè)角度,數(shù)值從-1到 1慢慢增加。該數(shù)值加1之后,范圍就會(huì)變成0到 2,再除以2之后, 0到 1的曲線數(shù)值數(shù)組就完成了。然后再看看m數(shù)組當(dāng)中,每當(dāng)發(fā)布訊息時(shí),就會(huì)稍微前進(jìn)一點(diǎn),范圍在r之內(nèi),直到1*r或是全范圍為止。
#!/usr/bin/env python
from time import sleep
import numpy as np
import rospy
from std_msgs.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
m = ( np.sin( angles * np.pi/ 180. ) 1 )/2
for mi in np.nditer(m):
pos = currentPosition mi*r
print “pos: “, pos
pub.publish(pos)
sleep(0.05)
currentPosition = targetPosition
print “pos-e: “, currentPosition
pub.publish(currentPosition)
def listener():
SIEMENS6ES7323-1BH01-OAAO
SIEMENS6ES7331-7KF02-0AB0模塊
品牌型號(hào)品名
SIEMENS6ES7322-1BL00-0AA0模塊
SIEMENS6ES331-7KF02-0AB0模塊
siemens6ES7317-2EK13-0AB0模塊
siemens6ES7407-0DA02-0AA0模塊
siemens6ES7407-0DA02-0AA0模塊
siemens6ES7216-2BD23-OXBO模塊
SIEMENS6ES7214-2AD23-0XB0模塊
SIEMENS6ES7 953-8LJ30-0AA0儲(chǔ)存卡
SIEMENS6ES7 132-4BF00-0AA0模塊
SIEMENS6ES7 350-1AH03-0AE0模塊
SIEMENS6ES7 138-4CA01-0AA0模塊
SIEMENS6ES7 151-1AA05-0AB0模塊
siemens6ES7151-1AA05-0AB0模塊
siemens6AV6 642-OBC01-1-1AX1觸摸屏
siemens6ES7153-1AA03-0XB0模塊
siemens6ES7952-0KH00-0AA0存儲(chǔ)卡
SIEMENS6ES7 138-4CA01-0AA0模塊
siemens6AV6643-0AA01-1AX0觸摸屏
siemens6ES7414-2XG03-0AB0模塊
SIEMENS6ES7322-1HH01-0AA0模塊
SIEMENS6ES7153-1AA03-0XB0模塊
SIEMENS6ES7414-2XK05-0ABO模塊
SIEMENS6ES7972-0BA41-0XA0連接器
SIEMENS6ES7322-1HH00-0AA0模塊
SIEMENS6ES7131-4BD01-0AA0模塊
SIEMENS6ES7235-0KD22-0XA8模塊
SIEMENS6EP1 334-3BAOO電源
SIEMENS3SB3000-1BA20開關(guān)