黄生:18120764596/微信 厦门圣企机电设备有限公司 固话:0592-6081295 QQ:2708880336
淘宝店铺: />
/head/tilt
/rosout
/rosout_agg
$ rostopic pub -1 /head/tiltstd_msgs/Float32 0.4
1746-OB32发货1746-OB32发货1746-OB32发货
$ rostopic pub -1 /head/tilt std_msgs/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 import Float32
currentPosition = 0.5
pub = None
A06B-0315-B001
A06B-1008-B100
A06B-6134-H302
A06B-1008-B702
A06B-6134-H303
A06B-1012-B100
A06B-6134-K003
A06B-0315-B002
A06B-1012-B102
A06B-6134-K201
A06B-0315-B004
A06B-1040-B200
A06B-0315-B005
A06B-1405-B100
A06B-6140-H006
A06B-0315-B032
A06B-1408-B200
A06B-6140-H011
A06B-0315-B043
A06B-1444-B100
A06B-6140-H026
A06B-0315-B062
A06B-6035-H321
A06B-6140-H030
A06B-0315-B069
A06B-6039-K303
A06B-6140-H037
A06B-0315-B072
A06B-6041-H103
A06B-6140-H045
A06B-0315-B202
A06B-6044-H007
A06B-6140-H055
A06B-0315-B204
A06B-6044-H008
A06B-6141-H006
A06B-0315-B574
A06B-6044-H103
A06B-6141-H011
A06B-0317-B002
A06B-6047-H004
A06B-6141-H022
A06B-0317-B006
A06B-6047-H050
A06B-6141-H026
A06B-0317-B072
A06B-6050-H050
A06B-6141-H030
A06B-0317-B074
A06B-6050-H052
A06B-6141-H037
A06B-0317-B202
A06B-6050-H053
A06B-0317-B274
A06B-6050-H054
A06B-6141-H045