cd~/sketchbook/libraries
rm-rf ros_lib
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_m::Float32& msg )
{
const float min = 45;
const float range = 90;
float v = msg.data;
if( v > 1 ) v = 1;
if( v < 0 ) v = 0;
float angle = min + (range * v);
servo.write(angle);
}
ros::Subscriber
ros::NodeHandle nh;
void setup()
{
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_m/Float32 0.4
$ rostopic pub -1 /head/tilt std_m/Float320.9SIEMENS 6ES7090-0XX84-0AB0 主板
SIEMENS 6SX7010-0KC00 EB2板
SIEMENS 6ES7090-0XX84-0FF5 通讯板
SIEMENS 6GK1561-1AA01 模块
SIEMENS 6AV6643-0CD01-1AX1 触摸屏
SIEMENS 6AV6648-0BC11-3AX0 显示屏
SIEMENS 6AV6648-0BC11-3AX0 显示屏
SIEMENS A5E00282044(二手) 板子
SIEMENS 6ES7-153-2BA82-0XB0 模块
Siemens 6GK1105-2AA10 工控机
SIEMENS 6ES7 321-1BH02-0AA0 模块
SIEMENS 6ES7 322-1BH01-0AA0 模块
SIEMENS 6ES7 315-2AG10-0AB0 模块
SIEMENS 6ES7 972-0BA12-0XA0 DP接头
SIEMENS 6ES7 153-1AA03-0XB0 模块
SIEMENS 6ES7 972-0CB20-0XA0 数据线
SIEMENS 6SN1123-1AA00-0DA2 驱动器
SIEMENS 214-1AD23-0XB8 模块
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 模块
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 板卡A06B-0077-B203A06B-0077-B203A06B-0077-B203SIEMENS C-A5E00282044(FBG PSU2) 板卡
SIEMENS 6SN1123-1AB00-0CA3 驱动器
SIEMENS 1FK7042-5AF71-1SA0 电机
A06B-0077-B203
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
详细信息
相关产品
相关a06b产品
- 佛山FANUC驱动器A06B-6200-H026报20维修2023-11-24
- 发那科伺服电机A06B-1428-B153维修有保障2023-11-29
- 武汉发那科A06B-6114-H104发那科驱动器故障维修2023-12-13
- a06b-6160-h002报警dclink电压低,找到郑州明川当天修好免费检测站2023-12-14
- 原装拆机发那科伺服电机A06B-0117-B855#0049、伺服电机维修2023-12-16
- 发货速度快市场推送:A06B-6050-H102货物运输2023省市县+乡镇+派+送保证时效2023-12-18
- 福州A06B-0116-B503#0100 变频器全系列现货2023-12-20
- 发那科主轴驱动器维修A06B-6134-H202维修、A06B-6134-H303#A维修2023-12-21
- A06B-1477-B133伺服电机维修无反应2023-12-21
- 发那科A06B-6111-H015#H550伺服驱动器维修实力强2024-03-15
- 四川发那科伺服驱动器修理A06B-6117-H3032025-01-25
- A06B-0502-B272 数字输出模块 库存供应2025-03-13