舵机任意角度程序_ROS驱动优必选舵机3

本文介绍了如何通过ROS系统控制优必选舵机实现任意角度的转动。利用Python的struct.pack函数将接收到的话题消息序列化并发送至串口,通过tkinter创建的图形界面调整滑条来改变舵机的角度和速度。视频演示了功能的完成情况。
摘要由CSDN通过智能技术生成
83470eb1c5dd505dcf5ac1de37e8d4f8.png
https://www.zhihu.com/video/1225495400418816000

话不多说,已经实现的视频先摆上。

1 控制舵机程序,很简单。思路就是 接收话题消息,收到消息后把消息写到串口中即可。优必选的舵机是接收串口消息动作的。这里边留意这个函数 struct.pack 很有意思,可以理解为把结构体序列化。用python确实简单很多,很多东西都有现成的。

import rospy
import serial
import struct
from python_ros.msg import Steering
def callback_fun(msg):
    # rospy.loginfo(rospy.get_caller_id(), "%d",msg.ID)
    data=struct.pack('>HBBHHBB',msg.head,msg.ID,msg.cmd,msg.parameter1,msg.parameter2,msg.check,msg.end)
    ser.write(data)
    # 回调函数 收到的参数.data是通信的数据 默认通过这样的 def callback(data) 取出data.data数据


def listener():
    rospy.init_node('steeringlistener', anonymous=False)
    rospy.Subscriber("steeringctl", Steering, callback
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值