自编程使松灵机器人转圈
1.USB转CAN 驱动:
sudo modprobe gs_usb
sudo ip link set can0 up type can bitrate 500000
2.启动机器人底盘:
roslaunch scout_base scout_base.launch
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/936dea47901af912eec5070675f0d58f.png)
看到松灵机器人官方文档,以为启动底盘节点在scout_bringup功能包里。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7d4080d7f7dd808c347b65f77070f105.png)
3.编程发布话题使小车转圈
rosrun bringup draw_circle.py(bringup自己定义的功能包)
下面展示一些
代码片
。
#!/usr/bin/env python3
import rospy
from geometry_msgs.msg import Twist
INTRODUCTION = """
发布者控制命令使小车以圆形轨迹运动
"""
def main():
# 打印介绍信息
print(INTRODUCTION)
#初始化Twist控制信息
twist =Twist()
twist.linear.x = 0.3
twist.linear.y = 0
twist.linear.z = 0
twist.angular.x = 0
twist.angular.y = 0
twist.angular.z = 1.5
# ROS节点初始化
rospy.init_node('draw_circle', anonymous=True)
# 创建一个Publisher,cmd_vel的topic,消息类型为geometry_msgs::Twist,队列长度1
cmd_vel_pub = rospy.Publisher('cmd_vel', Twist, queue_size=1)# queue_size队列长度
# 设置循环的频率
rate = rospy.Rate(10)
#初始化ros主循环
while not rospy.is_shutdown():
# 发布控制命令
cmd_vel_pub.publish(twist)
# 按照循环频率延时
rate.sleep()
if __name__ == '__main__':
main()