Giter Club home page Giter Club logo

vista's Introduction

VISTA Driving Simulator

Docs PyPIDownloads Stars PyPI

https://raw.githubusercontent.com/vista-simulator/vista/main/docs/source/_static/overview.jpg

VISTA is a data-driven simulation engine for autonomous driving perception and control. The VISTA API provides an interface for transforming real-world datasets into virtual environments with dynamic agents, sensor suites, and task objectives. Because VISTA is data-driven, it is side-steps many of the traditional issues of simulators, such as their lack of photorealism and ability to accurately model reality.

Installation

VISTA can be installed into your Python 3 environment using the PyPi package interface.

>> pip install vista

Please also ensure that you have all required dependencies to successfully run VISTA. Details on dependencies are outlined in the documentation.

paper1 paper2 paper3

Citing VISTA

If VISTA is useful or relevant to your research, we ask that you recognize our contributions by citing the following three original VISTA papers in your research:

% VISTA 1.0: Sim-to-real RL
@article{amini2020learning,
   title={Learning Robust Control Policies for End-to-End Autonomous Driving from Data-Driven Simulation},
   author={Amini, Alexander and Gilitschenski, Igor and Phillips, Jacob and Moseyko, Julia and Banerjee, Rohan and Karaman, Sertac and Rus, Daniela},
   journal={IEEE Robotics and Automation Letters},
   year={2020},
   publisher={IEEE}
}

% VISTA 2.0: Multi-sensor simulation
@inproceedings{amini2022vista,
 title={VISTA 2.0: An Open, Data-driven Simulator for Multimodal Sensing and Policy Learning for Autonomous Vehicles},
 author={Amini, Alexander and Wang, Tsun-Hsuan and Gilitschenski, Igor and Schwarting, Wilko and Liu, Zhijian and Han, Song and Karaman, Sertac and Rus, Daniela},
 booktitle={2022 International Conference on Robotics and Automation (ICRA)},
 year={2022},
 organization={IEEE}
}

% VISTA 2.0: Multi-agent simulation
@inproceedings{wang2022learning,
 title={Learning Interactive Driving Policies via Data-driven Simulation},
 author={Wang, Tsun-Hsuan and Amini, Alexander and Schwarting, Wilko and Gilitschenski, Igor and Karaman, Sertac and Rus, Daniela},
 booktitle={2022 International Conference on Robotics and Automation (ICRA)},
 year={2022},
 organization={IEEE}
}

Contribution Guidelines

VISTA is constantly being advanced and has been built with research, extensibility, and community development as a priority. We actively encourage contributions to the VISTA repository and codebase, including issues, enhancements, and pull requests.

vista's People

Contributors

aamini avatar zswang666 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vista's Issues

How to source the data from the example files

Hi guys, congrats on making such an interesting project.

How can we source the data from the example files? I got the vista_traces file but i dont know how to connect it to the program. When i import vista i get:
2022-09-04 19:37:06,783::WARNING::[vista.entities.sensors.EventCamera.<module>] Fail to import module for event camera. Remember to do source <some-dir>/openeb/build/utils/scripts/setup_env.shCan ignore this if not using it

There must be a simple solution to this problem, i searched the docs but i could not find the explaination for this.

How to use the depth map and camera intrinsics to make a 3D world frame, by which vista can use the relative transformation to count next observation

Hi Amini, thanks for sharing the surprising and very useful project. I am very intresting in the data-driven simulation of RGB camera. So I read your paper 'Learning Robust Control Policies for End-to-End Autonomous Driving from Data-Driven Simulation'. This part make me confused
'From the single closest monocular image, a depth map is estimated using a convolutional neural network using self-supervision of stereo cameras [28]. Using the estimated depth map and camera intrinsics, our algorithm projects from the sensor frame into the 3D world frame'
Could you please give me more details about how to use the depth map and camera intrinsics to make a 3D world frame and use the relative transformation to count next observation.
Best Regards

regarding RIG.xml files

Hi,

I have a couple of questions.

  1. When I try to run examples/basic_usage/sim_event, it asks for a RIG.xml file. Where can I find this file?
  2. How can I synthesize the view, and visualize it? Which script would be good to get started on generating views?

Best,

How to import my own data to Vista

Hi, I have an image dataset, I want to use in vista. So I want to know if I can do this and how to do this if I can do.
Thanks in advance.

How to use RGBD and Stereo cameras in this software?

Hello,

Congratulations on a great effort and thanks for sharing it with the public. I have a query regarding the sensor suite.
Query:

  1. As there are handful of proprietery cameras like Intel D4115, D435, ZED1 and 2, OAK-D etc. how should someone be able to use those camera models into the current software stack of vista2.0.5?

Eager to know from you,

How to compute quaternion parameters if I know camera position and Euler's angles?

I've been trying to learn the control policy for custom datasets. And I can get quaternion values right in the file params.xml. I either get the wrong translation or even though visually the translations are more or less similar to the translations with the vista dataset. Nonetheless, the total reward eventually stuck around five and never recover afterward.

Not able to run basic usage examples

Hello All,
I am trying to run following basic code

import argparse
import numpy as np
import os
import cv2
import vista
from vista.utils import transform
from vista.entities.agents.Dynamics import tireangle2curvature
trace_path = ["/home/parvez_alam/Downloads/vista_traces/20210726-131322_lexus_devens_center"]

def main(trace_path):
   world = vista.World(trace_path, trace_config={'road_width': 4})
   car = world.spawn_agent(
   config={
        'length': 5.,
        'width': 2.,
        'wheel_base': 2.78,
        'steering_ratio': 14.7,
        'lookahead_road': True
    })

camera = car.spawn_camera(config={
    'size': (200, 320),
})
display = vista.Display(world)

world.reset()
display.reset()

while not car.done:
    action = follow_human_trajectory(car)
    car.step_dynamics(action)
    car.step_sensors()

    vis_img = display.render()
    cv2.imshow('Visualize RGB', vis_img[:, :, ::-1])
    cv2.waitKey(20)


def follow_human_trajectory(agent):
    action = np.array([
       agent.trace.f_curvature(agent.timestamp),
       agent.trace.f_speed(agent.timestamp)
    ])
    return action






main(trace_path)

But it is showing following error
2023-08-01 16:24:26,442::WARNING::[vista.entities.sensors.EventCamera.] Fail to import module for event camera. Remember to do source /openeb/build/utils/scripts/setup_env.shCan ignore this if not using it
2023-08-01 16:24:27,060::WARNING::[vista.core.Trace._divide_to_good_segments] No video_label.csv
2023-08-01 16:24:28,728::WARNING::[vista.entities.sensors.Camera.reset] No flow data
Traceback (most recent call last):
File "vista1.py", line 54, in
main(trace_path)
File "vista1.py", line 37, in main
vis_img = display.render()
File "/home/parvez_alam/.local/lib/python3.8/site-packages/vista/core/Display.py", line 227, in render
patch = PolygonPatch(patch,
File "/home/parvez_alam/.local/lib/python3.8/site-packages/descartes/patch.py", line 87, in PolygonPatch
return PathPatch(PolygonPath(polygon), **kwargs)
File "/home/parvez_alam/.local/lib/python3.8/site-packages/descartes/patch.py", line 62, in PolygonPath
vertices = concatenate([
File "/home/parvez_alam/.local/lib/python3.8/site-packages/descartes/patch.py", line 63, in
concatenate([asarray(t.exterior)[:, :2]] +
IndexError: too many indices for array: array is 0-dimensional, but 2 were indexed

Unable to run basic examples.

I'm trying to run the sim_control.py and I'm encountering an error with the descartes package.

File "d:VISTA2.py", line 91, in
main()
File "d:VISTA2.py", line 34, in main
vis_img = display.render()
File "D:vista\lib\site-packages\vista\core\Display.py", line 227, in render
patch = PolygonPatch(patch,
File "D:vista\lib\site-packages\descartes\patch.py", line 87, in PolygonPatch
return PathPatch(PolygonPath(polygon), **kwargs)
File "D:vista\lib\site-packages\descartes\patch.py", line 62, in PolygonPath
vertices = concatenate([
File "D:vista\lib\site-packages\descartes\patch.py", line 63, in
concatenate([asarray(t.exterior)[:, :2]] +
IndexError: too many indices for array: array is 0-dimensional, but 2 were indexed

Any help would be appreciated

Feature Request: Adding a comprehensive setup for learning how to use VISTA.

Description:

Dear contributors at MIT and the VISTA community, my name is Mark, and I am a computer science student in Taiwan. I have found out that some newcomers to the VISTA simulator couldn't run a basic example with ease. The issue of #6 and #4 have shown some problems with the environment set-up for the people who have never engaged with the VISTA simulator.

Solution:

Develop a Python script to automatically set up the environment needed for running the VISTA simulator and its examples.

@aamini and @zswang666 is there any channel for us to apply for the contributor for this repository? Or, could you specify the process to get involved in this project?

Mark Chen,
Student Researcher.

Trying to get the installation done in Jupyter Notebook

I have done !py -m pip install vista to install vista. When i try to do import vista i am getting this error.

image

If you have any idea how to get pass this error that would be amazing cause i am stuck at the moment. all of the other dependencies are installed. if you also have an idea for a better ide for this that would be great too. not a big fan of jupyter notebook.

error running sim_lidar.py basic usage examples..

Hello,
thanks for this work it's great !! For my project, I wanted to test the lidar sim functionality. I am running into some issues, seems like some resource files related to Lidar aren't pushed, which seems to be causing the issue.
the error I am getting.
self.avg_mask = np.load(str(rsrc_path / "Lidar/avg_mask2.npy"))
File "/home/amohan/python_env/vista_env/lib/python3.8/site-packages/numpy/lib/npyio.py", line 390, in load
fid = stack.enter_context(open(os_fspath(file), "rb"))
FileNotFoundError: [Errno 2] No such file or directory: '/home/amohan/python_env/vista_env/lib/python3.8/site-packages/vista/resources/Lidar/avg_mask2.npy'

As you can see from the LidarSynthetisis code it requires some files
image
kindly push or provide a way to download those files if they already exist point me towards them.
Thanks in advance.

Cannot run basic examples

Hi,

I am trying to run basic examples (i.e sim_control.py, sim_lidar.py) after the installation, however, it gives me the following error "~/python3.8/site-packages/vista/core/World.py", line 32, in init
self._traces: List[Trace] = [
TypeError: 'NoneType' object is not iterable"

Any help would be appreciated.

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.