$ cat rosservo.launch $ roslaunch ./rosservo.lanch rostopic指令可以看出ROS讯息传送到机器人的哪个部位。看了下面的程序代码就会发现,「/head/tilt」可以透过Arduino使用。讯息要使用「rostopic」传送。-1的选项只会发布(publish)讯息一次,通知/head/tilt传送一个浮点数。 $ rostopic list /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」时一定会呼叫SIEMENS 6ES7314-1AF11-0AB0 模块 SIEMENS 6SN1145-1BA01-0BA1 驱动 SIEMENS 6SN1118-0DK23-0AA2 板卡 SIEMENS 6SN1118-1NH01-0AA1 驱动 SIEMENS 6GK7343-1EX20-0XE0 模块 Siemens A5E00151091-0 板卡 SIEMENS 6ES7214-2BD23-0XB0 模块 SIEMENS 6ES7216-2BD23-0XB0 模块 SIEMENS 6ES7231-0HF22-0XA0 模块 SIEMENS 6ES7277-0AA22-0XA0 模块 SIEMENS 6GK7243-1EX01-0XE0 模块 SIEMENS 6ES7313-6CG04-0AB0 模块 IC640HWP306常规IC640HWP306常规IC640HWP306常规 SIEMENS 6ES7314-6CH04-0AB0 模块 SIEMENS 6ES7953-8LJ30-0AA0 模块 SIEMENS 6ES7365-0BA01-0AA0 模块 SIEMENS 6GK7343-1CX00-0XE0 模块 SIEMENS 214-1BD23-0XB8 模块 SIEMENS 307-1EA01-0AA0 模块 SIEMENS 6SE6430-2UD31-5CA0 变频器 SIEMENS 6ES7038-6GL84-1BG2 板卡 SIEMENS C-A5E00282044(FBG PSU2) 板卡 SIEMENS 6SN1123-1AB00-0CA3 驱动器