控制串口舵机

控制串口舵机1、实验目标2、实验准备3、实验效果4、程序源码

1、实验目标

控制Rosmaster上的串口舵机运动,通过滑块控制机串口舵机,读取串口舵机当前的角度值。

 

2、实验准备

下图片中红色方框的位置就是串口舵机的接口,该接口具有防反接功能,使用Rosmaster的舵机排线无需担心插反问题。

image-20220316173417779

更多关于串口舵机的资料,请查看以下网页内容:

15kg串行总线智能舵机 (yahboom.com)

控制串口舵机需要用到的Rosmaster_Lib库函数有以下内容:

参数解释:控制一个串口舵机,s_id:对应ID编号:1~6,run_time控制舵机运行的时间,有效范围内,时间越小,舵机转动越快,单位为毫秒,最小值为0。

s_angle:对应舵机角度值,根据s_id不同范围不同,1~4:[0, 180], 5:[0, 270], 6:[30, 180]

返回值:无。

参数解释:控制六个串口舵机,angle_s控制六个舵机的角度值,控制范围与上面的范围一样,run_time控制舵机运行的时间,有效范围内,时间越小,舵机转动越快,单位为毫秒,最小值为0。

返回值:无。

参数解释:关闭/打开串口舵机扭矩力, enable=[0, 1]。

enable=0:关闭舵机扭矩力,可以用手转动舵机,但命令无法控制转动;enable=1:打开扭矩力,命令可以控制转动,不可以用手转动舵机。

返回值:无

参数解释:读取串口舵机的角度,s_id表示要读取的舵机的ID号,s_id=[1-6]

返回值:返回输入ID当前的角度,读取错误返回-1。

参数解释:一次性读取六个舵机的角度[xx, xx, xx, xx, xx, xx],如果某个舵机错误则那一位为-1

返回值:[angle_1, angle_2, angle_3, angle_4, angle_5, angle_6]。

 

3、实验效果

请查看课程配套视频。

 

4、程序源码

将Rosmaster机器人打开电源开机,并打开Jetson Nano或者远程电脑的浏览器进入Jupyter lab编辑器。

参考代码路径:Rosmaster/Samples/9.arm_servo.ipynb