Giter Club home page Giter Club logo

roar's People

Contributors

asdegoyeneche avatar cac-berkeley avatar cfanguo avatar chpmk98 avatar fcr3 avatar listar2000 avatar tlzh0001 avatar vanconywhale avatar wuxiaohua1011 avatar xingyuli9961 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

Watchers

 avatar  avatar  avatar  avatar

roar's Issues

ROAR Jetson Freeze after 1 min of runtime

Describe the bug
Running python3 runner_jetson.py and wait for about 1 minute, its going to freeze. It seems like the program is still runing in the background, but is just blocked by something.

To Reproduce
Steps to reproduce the behavior:

  1. run python3 runner_jetson.py on Jetson Nano
  2. Wait for about 1 minute

Expected behavior
It keeps going until agent is finished

Carla bridge functions doesn't work as expectation

Describe the bug
In carla_bridge.py:
convert_xx_from_agent_to_source functions have issue:

def convert_location_from_agent_to_source(self, source: Location) -> carla.Location:
"""Convert Agent's Location to a Carla.Location."""
return carla.Location(x=source.x, y=-source.z, z=source.y)
def convert_rotation_from_agent_to_source(self, source: Rotation) -> carla.Rotation:
"""Convert Agent's Rotation to a Carla.Rotation."""
return carla.Rotation(pitch=source.yaw, yaw=source.pitch, roll=source.roll)
def convert_transform_from_agent_to_source(
self, source: Transform
) -> carla.Transform:
"""Convert Agent's Transform to a Carla.Transform."""
return carla.Transform(
location=self.convert_location_from_agent_to_source(source=source.location),
rotation=self.convert_rotation_from_agent_to_source(source=source.rotation),
)

are not inverse functions of

def convert_location_from_source_to_agent(self, source: carla.Location) -> Location:
"""w
Convert Location data from Carla.location to Agent's location data type
invert the Z axis to make it into right hand coordinate system
Args:
source: carla.location
Returns:
"""
return Location(x=source.x, y=source.z, z=source.y)
# return Location(x=source.x, y=source.y, z=source.z)
def convert_rotation_from_source_to_agent(self, source: carla.Rotation) -> Rotation:
"""Convert a CARLA raw rotation to Rotation(pitch=float,yaw=float,roll=float)."""
roll, pitch, yaw = source.roll, source.pitch, source.yaw
if yaw <= 90:
yaw = yaw + 90
else:
yaw = yaw - 270
return Rotation(roll=roll, pitch=pitch, yaw=-yaw)
def convert_transform_from_source_to_agent(
self, source: carla.Transform
) -> Transform:
"""Convert CARLA raw location and rotation to Transform(location,rotation)."""
return Transform(
location=self.convert_location_from_source_to_agent(source=source.location),
rotation=self.convert_rotation_from_source_to_agent(source=source.rotation),
)

To Reproduce

  1. Create a agent transform
  2. Convert it to carla transform using convert_transform_from_agent_to_source
  3. Convert it back to agent transform using convert_transform_from_source_to_agent
  4. The new agent transform is different from the original one

Expected behavior
The original agent transform should be the same thing as the new agent transform (the one converted to carla and converted back)

Desktop (please complete the following information):

  • OS: Windows 11, Carla

Multi Threading VS Multi Processing

Is your feature request related to a problem? Please describe.
The code currently is using Multi-Threadding. However, according to multiple sources
https://www.guru99.com/difference-between-multiprocessing-and-multithreading.html
https://stackoverflow.com/questions/3044580/multiprocessing-vs-threading-python

It seems like the proper solution should be using multi processing, to avoid race condition, and etc.

Might be useful to get the right parallelism right.

Describe the solution you'd like
Utilize multiprocessing in Jetson modules, and also ensure that proper Agent classes have the ability to run in parallel

Unknown object caused collision in ROAR easy map

Describe the bug
There is unknown object caused collision at a corner in ROAR easy map, but it didn't report collision.
Could you check the ROAR easy map?

ROAR_easy.mp4

Thanks,
To Reproduce
Steps to reproduce the behavior:

  1. Go to 'roar_easy_windows'
  2. Click on 'CarlaUE4.exe' to launch
  3. Open terminal to run "python .\runner_competition_evaluator.py"
  4. See attached video the car spin over near the corner in ROAR easy map, but it didn't report collision on the left.

Expected behavior
Expect the car can run near the corner in ROAR easy map without spin over or report collision.

Screenshots
Attached the video

Desktop (please complete the following information):

  • OS: Win10

runner_sim.py and runner_competition_evaluator.py work differently

Describe the bug
The car does not behave the same way when running runner_sim.py vs. runner_competition_evaluator.py.

To Reproduce
Steps to reproduce the behavior:

  1. Run both scripts and observe the speed of the car.

Expected behavior
The car speeds up more during runner_sim.py.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows 10
  • GPU

Additional context
Add any other context about the problem here.

Ground Plane detection module does not work on actual Realsense camera

Describe the bug
Ground Plane detection module does not work on actual realsense camera

To Reproduce
Steps to reproduce the behavior:

  1. Use OccupancyMapAgent in jetson_runner.py
  2. make sure in ground_plane_detector.py, the lines for displaying the image is enabled

Expected behavior
a cv2 windows should pop up, as do in the simulator

better look ahead + PID values

Is your feature request related to a problem? Please describe.
More aggressive/better PID values
current car doesn't move smoothly, that's probably due to a combination of PID and look ahead values. Need to do more experiment to find an optimal value set.

add astern function

Is your feature request related to a problem? Please describe.
the car running on the Carla can’t move backward. It will cause when the users operate the car collision with the 'wall', the car will can't move. The user have to restart the runner_sim.py .

Left hand vs Right hand coordinate issue

Describe the bug
So after some rolling back, i figured out that it is indeed some bad translation between left-hand and right hand coordinate system that messes things up. However, I am stucked at how to make it right. The commit that is working (in the left hand coordinate system) is this one:https://github.com/augcog/ROAR/tree/0bde066531e559e291fc8e395b9c3a53de8f014f/ROAR

Make sure to checkout both the ROAR_Sim and ROAR on that commit. 
I've also raised an issue on Github. 
I believe the core issue is that we've got many points where we need to notice the coordinate1. Translating data from ROAR Agent to Carla2. Translating data from Carla to ROAR Agent3. Reading in txt waypoint file (since the waypoint file is recorded by the ROAR agent, therefore it will be impacted if the ROAR agent is in the left or right coordinate system).4. Specifically this line that does the transformation in visualization:https://github.com/augcog/ROAR/blob/main/ROAR/visualization_module/visualizer.py#L141

To Reproduce
Steps to reproduce the behavior:
Just run the agent with next waypoint visulazation, it is not going to draw a straight line

find_k_values function PID Controller clips pid values

np.clip() got applied to Kp, Ki, Kd raw coefficients in find_k_values function in PIDController class.

PID values got clipped where the minimum is 0 and the maximum is 1.

Steps to reproduce the behavior:

  1. Go to def find_k_values in class PIDController in 'pid_controller.py'.
  2. return np.clip([k_p, k_d, k_i], a_min=0, a_max=1) # this is problematic

Expected behavior
PID values can go over 1, for example k_p = 10000 is valid

Additional context
np.clip is used in 33 places across 11 files. Need to be checked.

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.