Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added A1-Koohi-403723151-report.pdf
Binary file not shown.
173 changes: 173 additions & 0 deletions a1_sensors.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import carla\n",
"import time\n",
"import os"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"client = carla.Client(\"localhost\", 2000)\n",
"client.set_timeout(10.0)\n",
"world = client.get_world()\n",
"blueprint_library = world.get_blueprint_library()\n",
"\n",
"vehicle_bp = blueprint_library.filter(\"vehicle.tesla.model3\")[0]\n",
"spawn_point = world.get_map().get_spawn_points()[0]\n",
"vehicle = world.spawn_actor(vehicle_bp, spawn_point)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# LiDAR sensor\n",
"lidar_bp = blueprint_library.find('sensor.lidar.ray_cast')\n",
"lidar_bp.set_attribute('range', '50')\n",
"lidar_location = carla.Location(0, 0, 2)\n",
"lidar_rotation = carla.Rotation(0, 0, 0)\n",
"lidar_transform = carla.Transform(lidar_location, lidar_rotation)\n",
"lidar = world.spawn_actor(lidar_bp, lidar_transform, attach_to=vehicle)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# RADAR sensor\n",
"radar_bp = blueprint_library.find('sensor.other.radar')\n",
"radar_location = carla.Location(0.2, 0, 1)\n",
"radar_rotation = carla.Rotation(0, 0, 0)\n",
"radar_transform = carla.Transform(radar_location, radar_rotation)\n",
"radar = world.spawn_actor(radar_bp, radar_transform, attach_to=vehicle)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# Collision sensor\n",
"collision_bp = blueprint_library.find('sensor.other.collision')\n",
"collision_sensor = world.spawn_actor(collision_bp, carla.Transform(), attach_to=vehicle)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"# Saving data\n",
"def save_lidar_data(data):\n",
" filename = f\"output/lidar/{data.frame}.ply\"\n",
" data.save_to_disk(filename)\n",
"\n",
"def save_radar_data(data):\n",
" filename = f\"output/radar/{data.frame}.radar\"\n",
" with open(filename, 'wb') as f:\n",
" f.write(data.raw_data)\n",
"\n",
"def save_collision_data(event):\n",
" filename = f\"output/collision/{event.frame}.txt\"\n",
" with open(filename, 'w') as f:\n",
" f.write(str(event))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# Create Folders\n",
"os.makedirs('output/lidar', exist_ok=True)\n",
"os.makedirs('output/radar', exist_ok=True)\n",
"os.makedirs('output/collision', exist_ok=True)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"lidar.listen(lambda data: save_lidar_data(data))\n",
"radar.listen(lambda data: save_radar_data(data))\n",
"collision_sensor.listen(lambda event: save_collision_data(event))\n",
"\n",
"time.sleep(30)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Cleaning\n",
"lidar.stop()\n",
"radar.stop()\n",
"collision_sensor.stop()\n",
"vehicle.destroy()\n",
"lidar.destroy()\n",
"radar.destroy()\n",
"collision_sensor.destroy()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "CARLA",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.20"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Empty file added output/collision/.gitkeep
Empty file.
Loading