ROS很适合用在Ubuntu或Debian上,无须编译。建置时要在Linux机器上执行Ubuntu,使用业余用伺服机、Arduino和普通的导线。ROS要在Ubuntu机器上启动,讯息则透过USB传送到Arduino。只要安装二进制的ROS套件,就会在主控台程序(像是gnome-terminal或konsole)追加以下指令,这样Arduino系统就能辨识ROS函式库。
cd~/sketchbook/libraries
rm-rf ros_libA06B-0314-B504A06B-0314-B504A06B-0314-B504
rosrunrosserial_arduino make_l ibraries.py .
Arduino的程序
接下来要将程序代码上传到Arduino当中,执行低阶的伺服机控制,以便能从Linux机器操作。这时要以限制范围内的百分比(0.0~1.0)指定伺服机的位置。之所以使用百分比而不是写明角度,是因为Arduino的程序代码限制了正确的角度,要避免在指定角度时发生冲突。
就如各位所见,使用ROS之后,一般的循环函数就会变得相当简单。循环函数只会订阅(subscribe)数据,任何Arduino循环都一样。设定时要将ROS初始化,将各个ROS讯息订阅者的订阅叫出来。每个订阅者会占据Arduino的RAM,数量取决于要用程序代码做什么,以6个到12个为限。
Servo servo;
void servo_cb( const std_msgs::Float32& msg )
SIEMENS 模块 6ES7431-1KF00-0AB0
SIEMENS 6DD1607-0CA1 模块
SIEMENS 6ES7431-1KF10-0AB0 模块
SIEMENS 6ES7416-2XK04-0AB0 模块
SIEMENS 6SE7031-0EF84-1JC0 板卡
SIEMENS 6ES7318-3EL00-0AB0 模块
SIEMENS 6EP1336-3BA00 电源
SIEMENS 6ES7407-0KR02-0AA0 模块
SIEMENS 6ES7 952-1AL00-0AA0 内存卡
SIEMENS 6ES7 132-4BF00-0AA0 模块
SIEMENS 6ES7 131-4BD51-0AA0 模块
SIEMENS 6SE7038-6GL84-1JA1 电源板
SIEMENS 6ES7193-4CG30-0AA0 模块
SIEMENS 6ES7147-6BG00-0AB0 模块
SIEMENS 6ES7151-1BA02-0AB0 模块
SIEMENS 6ES7151-1AA05-0AB0 模块
SIEMENS 6ES7138-4FB04-0AB0 模块
SIEMENS 6ES7138-4FA05-0AB0 模块
SIEMENS 6ES7142-6BR00-0AB0 模块
SIEMENS 6ES7151-3BA23-0AB0 模块
SIEMENS 6ES7158-3AD01-0xA0 模块
SIEMENS PS-M06D12S5-NJ1L(S) 高压板
SIEMENS 6AV6642-0BD01-3AX0 触摸屏
SIEMENS 6ES7953-8LL11-0AA0 内存卡
SIEMENS 6GK7342-5DA02-0xE0 模块
SIEMENS 6SE6430-2UD31-5CA0 变频器