Esempio n. 1
0
line_sub = rospy.Subscriber('line', Segment, update_line)
line = Segment()
# --------------------------------------------------------------------------------
# Publisher position
# --------------------------------------------------------------------------------
pose_pub = rospy.Publisher('car/pose', Pose2D, queue_size=1)

# --------------------------------------------------------------------------------
# Simulation
# --------------------------------------------------------------------------------
rate = rospy.Rate(10)
cmd = Twist()
# plt.ion()

while not rospy.is_shutdown():
    plt.clf()
    # Simulation
    car.simulate(cmd.linear.x, cmd.angular.z)
    # Affichage
    img = car.draw()
    plt.plot(img[0], img[1])
    plt.plot([line.entry.x, line.exit.x], [line.entry.y, line.exit.y])
    plt.axis([car.x - 50, car.x + 50, car.y - 50, car.y + 50])
    print 'Car position: {}, {}, {}'.format(car.x, car.y, car.theta)
    # Publication pose
    pose = Pose2D(x=car.x, y=car.y, theta=car.theta)
    pose_pub.publish(pose)
    plt.pause(rate.sleep_dur.to_sec())
    rate.sleep()