carla-simulator / ros-bridge

ROS bridge for CARLA Simulator
MIT License
524 stars 429 forks source link

Create Official Docker Image #583

Open Bonifatius94 opened 2 years ago

Bonifatius94 commented 2 years ago

Hi,

I've seen that you provide a Dockerfile for installing the carla_ros_bridge into the CARLA simulation environment which is really nice.

Could you also provide it as official Docker image, e.g. on DockerHub or as GitHub release?

Bonifatius94 commented 2 years ago

I've created my own little Docker image that actually works for launching scenarios with RVIZ + scenario runner, etc. I'll publish it in a few months once my internal project is over.

MTDzi commented 2 years ago

@Bonifatius94 did you have any spare time to publish this? It doesn't need to be pretty ;)

Bonifatius94 commented 2 years ago

You know, I'm in a competition that's still ongoing until the end of March, but I promise I have some goodies for you ^^

It's an Image that's based on osrf/ros:noetic-desktop-full-focal. It allows you to specify vehicle sensors, set up a custom RVIZ layout, spawn NPCs and adjust various settings like car spawn settings, world settings, XOSC scenarios, etc.

So, please remind me in 3 months and I'll be happy to share my Dockerfile with the world :D

MTDzi commented 2 years ago

Awesome, thanks for the reply, I've just marked a date in my calendar ;)

And since you've been this responsive, I'll ask another question: do you have knowledge / opinion about how well CARLA works with the ROS2 bridge?

I tried running it with the ROS1 bridge > year ago and there were some glitches (there was a weird jerkiness to the car) so I've just started gathering intel on whether I should go with CARLA + ROS2-bridge, or use the LGSVL (for which the ROS2 bridge works, as far as I know).

I'm just curious what

Bonifatius94 commented 2 years ago

Sorry to disappoint you, but I'm not at all into ROS 2, so can't give you any advice on that one.

And about this jerkiness. I have only tried CARLA 0.9.10.1 and that one works somewhat fine. You can set up the ROS bridge to work in a timestep-based synchronous mode in case your graphics are too bad for real-time. At my project, we're using a NVIDIA 3080 Ti, so this could really be the issue, depending on the amount of sensors you're trying to use for perception tasks.

Another interesting point is the Ackermann PID controller which is set up to react very delayed when using the default settings. We're dealing with it by sending 10 driving signals / s and also the PID settings had to be customized a bit to let the changes through more quickly.

Hope this helps, although it is a bit off-topic :) Best wishes, Marco

MTDzi commented 2 years ago

Thanks! I just realized I cut my last sentence short, but I guess you've figured out how I was going to end it ;)

All the best in the competition you're participating!

Bonifatius94 commented 2 years ago

Thanks man. See you in 3 months :)