servo.write(angle);
}
ros::Subscriber
ros::NodeHandle nh;
void setup()
IC600PM503RR常規IC600PM503RR常規IC600PM503RR常規

{
servo.attach(SERVOPIN);
nh.initNode();
nh.subscribe(sub);
}
void loop()
{
nh.spinOnce();
delay(1); }
接下來要設法透過Arduino在ROS的世界說話。最簡單的方法是使用機器人啟動檔。雖然以下的檔案內容非常簡單,但是這里要追加啟動檔,如此一來即使是非常復雜的機器人,也能用一個指令啟動。
$ 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_msgs/Float32 0.4
SIEMENS6EP1436-3BA00模塊
SIEMENS6ES7331-7KF02-0AB0模塊
SIEMENS6ES7322-5HD01-0AB0模塊
SIEMENS6ES7307-1KA01-0AA0模塊
SIEMENS6ES7315-2EH14-0AB0模塊
SIEMENS6ES7321-1BH02-0AA0模塊
SIEMENS6ES7365-0BA01-0AA0模塊
SIEMENS6ES7331-7KF02模塊
SIEMENS6ES7390-1AF30-0AA0導軌
SIEMENS6ES7315-2EH14-0AB0模塊
SIEMENS6ES7953-8LJ32-0AA0儲存卡
SIEMENS6ES7322-1BL00模塊
SIEMENS6ES7321-1BL00模塊
SIEMENS6ES7392-1AM00-0AA0端子
SIEMENS6ES7392-1AJ00-0AA0端子
SIEMENS6ES7307-1EA01-0AA0電源模塊
SIEMENS6ES7153-1AA03-0XB0模塊
SIEMENS6ES7222-1HF22-0XA0模塊
SIEMENS3TK2827-2BB40配件
Siemens3ZX1012-0RT02-1AA1 輔助觸頭(3RH1921-1HA22)配件
SIEMENSC79459-A1890-A10
SIEMENS6ES7650-1AH62-5XX0
SIEMENS3RT1016-1BB42 24V
SIEMENS3RV2021-1CA15 17-22A
SIEMENS3SB3500-4MD01
SIEMENS6ES7-340-1AH02-0AE0