lgsvl / lanefollowing

ROS2 End-to-End Lane Following Model with SVL Simulator
Other
49 stars 16 forks source link

Unable to: "docker-compose up build" #7

Closed ninjacoder0 closed 4 years ago

ninjacoder0 commented 5 years ago

I have LGSVL 3.5 running fine.

I have the repository and pulled the docker image. When I get to the 3rd line which is "docker-compose up build" I get the error shown in the image. Could you please inform me why I am getting this error.

Thank you

Lanefollowing

martins-mozeiko commented 5 years ago

Do you have nvidia-docker installed?

Aquarian-source commented 5 years ago

hey. i am also trying to work on this. i do not have nvidia docker installed. just want to see the architecture of the model how ROS communicates with lg simulator. is it possible without nvidia doc? if not can you suggest, i am using ubuntu in virtual machine that is why i am unbale to install drivers of nvidia. is there a way around that?

martins-mozeiko commented 5 years ago

You cannot install nvidia drivers in virtual machine unless you forward GPU to it. That requires separate GPU on your host.

If you want to only run simulator and see ROS messages, then you don't need nvidia-docker. You can run ROS either on your host or inside docker without GPU access. Lanefollowing example uses GPU only for running DNN on image. If you don't run full lanefollowing example, the GPU is not needed.

Aquarian-source commented 5 years ago

hey i have hard time understanding the rostopic, ros message used to control vehicle from ROS to lg simulator. could you please guide me anything regarding that. actually i am trying to build a car based on camera,lidar and imu sensor controlled through ROS. also regarding rostopics for camera lidar imu, does it depend on car model? any help wd be delightful for me

martins-mozeiko commented 5 years ago

Simplest thing would be to sent same message as Autoware is sending. Check autoware_msgs/VehicleCmd ROS type. Simulator uses ctrl_cmd member of this message to control the car.

If you want to control car differently or send custom message, then it will require modifying simulator code. Check VehicleControlData structure (this is filled in from Autoware/Apollo control messages) and VehicleControlSensor.cs sendor that subscribes to this data type. Modify these as necessary.

Sensor functionality does not depend on car model. They work the same. Only differences are where they are position and how they are oriented.

Aquarian-source commented 5 years ago

thankyou so much for such a detailed reply. so i will just sum up, plz let me know if its right. i am trying to build AD functions to control Ego car in lg simulator. i will run autoware along with lg sim and check for autoware_msgs/VehicleCmd for vehicle control and for getting sensors output i can see rostopic list for respective sensors. is this right? and, running autoware is necessary? also i want to use ground truth value to get object list and use it in my AD functions, how can we do that?

martins-mozeiko commented 5 years ago

There is no need to run Autoware. You can send this message from any other ROS code you are writing. To get ground truth data about vehicles in scene, you can add Ground Truth sensors, these will publish messages from lgsvl_msgs repository.

Aquarian-source commented 5 years ago

i understand, for vehicle control you have told the autoware message types, but how would i know the rostopics, message types used for camera lidar imu etc? i thought i shd run autoware to find out the rostopics and message types for this? also, is there any project which takes sensor output as autoware message types and perform vehicle control? that wd clear alot of things for me. thanx in advance

martins-mozeiko commented 5 years ago

Easiest way to see what topic messages simulator will use is to run it with Autoware and then examine topic list - either in simulator, or with rostopic.

Some sensors use standard ROS messages. For example, lidar uses sensor_msgs/PointCloud2. Camera uses sensor_msgs/CompressedImage.

Some other sensors uses Autoware specific messages. But you can use them outside of Autoware, they'll work fine as long as you get their msg files inside your environment.

Aquarian-source commented 5 years ago

hey @martins-mozeiko. thanx for your help. i really appreciate that i still have one issue though regarding canbus. can we access canbus data using autoware vehicle as we discussed above? i think rostopic used for it is pb_msgs/Chassis, and it is Apollo specific message. how can we use this message type for our case(autoware vehicle)? also how can we access odometry data?for example the distances the car has travelled in x,y direction and also the yaw angle?

martins-mozeiko commented 5 years ago

Currently canbus/chassis message is sent only for Apollo AD stack (CyberRT or ROS Apollo bridge). If you want to receive it as regular ROS message it will require adding a bit of extra code.

Similar for distance car has traveled - such data is not published currently. You would need to add it.

yaw angle you can get out of current imu message (orientation field in sensor_msgs/Imu message type).