def load_car_models(self): """ Loads all car models from car_models.csv. Returns ------- None. """ cast = Cast("Car Model") self.car_models = dict() csv_helper = CSVHelper("data", "car_models.csv") for row in csv_helper.data: uid = cast.to_positive_int(row[0], "Uid") cast.uid = uid car_model_name = str(row[1]).strip(" ").strip('"') car_consumption = cast.to_positive_float(row[2], "Car consumption") drag_coeff = cast.to_positive_float(row[3], "Drag coeff") frontal_area = cast.to_positive_float(row[4], "Frontal area") mass = cast.to_positive_float(row[5], "Mass") battery_capacity \ = cast.to_positive_float(row[6], "Battery capacity") charger_capacity \ = cast.to_positive_float(row[7], "Charger capacity") cm = CarModel(uid, car_model_name, car_consumption, drag_coeff, frontal_area, mass, battery_capacity, charger_capacity) self.car_models[uid] = cm
def __init__(self): rospy.init_node('car_sim') rospy.Subscriber('twist2d', Twist, self.update_command) dt = rospy.get_param('~dt', default=0.05) noisy = rospy.get_param('~noisy', default=False) self.rate = rospy.Rate(1. / dt) self.car = CarModel(dt=dt) self.speed, self.steering = 0, 0 self.last_time = rospy.Time.now() self.pose_pub = rospy.Publisher('car_pose', Pose2D, queue_size=1)
def __init__(self, car_model, N=2000, delta_bn=15, delta_s=0.5, T_prop=0.5): super(Simulation, self).__init__(car_model, N, delta_bn, delta_s, T_prop) self.car = CarModel() self.steer_pub = rp.Publisher('/steering', Steering, queue_size=10)
try: rp.init_node('simulation') rp.Rate(50) iterations = rp.get_param('~iterations') delta_bn = rp.get_param('~delta_bn') delta_s = rp.get_param('~delta_s') T_prop = rp.get_param('~T_prop') L = rp.get_param('~mid_fronwheel_dist') max_steering_angle = rp.get_param('~max_steering_angle') max_lin_vel = rp.get_param('~max_lin_vel') max_ang_vel_wheel = rp.get_param('~max_ang_vel_wheel') max_x_coord = rp.get_param('~max_x_coord') max_y_coord = rp.get_param('~max_y_coord') car = CarModel(max_x_coord, max_y_coord, L, max_steering_angle, max_lin_vel, max_ang_vel_wheel) sim = Simulation(car, iterations, delta_bn, delta_s, T_prop) G = sim.sst_planning() controls, route = sim.get_route(G) i = 0 prev_time = rp.Time.now().to_sec() while not rp.is_shutdown(): sim.publish_route(route, all_points=True) sim.publish_control(controls[i][0]) time = rp.Time.now().to_sec() delta_t = time - prev_time