ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Does the lgsvl_interface package only works with the LGSVL simulator running within ADE?

asked 2021-01-25 10:12:58 -0600

guillermoherreraf gravatar image

updated 2021-01-25 10:14:17 -0600

Hello! I have installed Autoware.Auto in a Jetson Xavier NX from source and I have the LGSVL simulator installed in another machine running Windows 10. I have already tested the connection between them with the ros2_lgsvl_bridge and installing the ROS2 lgsvl_msg package in the AutowareAuto workspace. I succesfully send the simulated sensors data from the simulator to the Jetson and visualize it with rviz2 (mainly Lidar pointcloud and camera raw images). The procedure I followed is basically this one, with some modifications considering I'm not using the ADE environment.

Next, I wanted to try some of the demos from AutowareAuto with the described configuration. I connected a videogame controller to the Jetson and ran the ros2 launch lgsvl_interface, following this. I also ran ros2 topic echo /joy to see that there is data being published to the topic, and everything looks fine. However, the simulator fails to connect to the Jetson and I believe it is related to the lgsvl_interface package.

So my main question is, in order to use the lgsvl_interface package do we need to run the simulator within the ADE environment, or can I still succesfully use it with my configuration: LGSVL simulator running on a Windows machine and AutowareAuto stack installed from source in a Jetson Xavier NX?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-01-25 13:53:20 -0600

Josh Whitley gravatar image

The answer is "not right now, but we're working on it." In order to utilize a custom ROS2 bridge from, we build our own custom build of LGSVL. Before the 2020.06 release, LGSVL only supported sending/receiving messages that were defined in autoware_auto_msgs. Release 2020.06 now supports sending/receiving messages defined in lgsvl_msgs (which helps de-couple the ROS2 compatibility from Autoware.Auto). However, we have not yet updated Autoware.Auto to send/receive lgsvl_msgs when using lgsvl_interface. We are working on this now in this issue. Once it is capable of doing this, I will update this answer.

edit flag offensive delete link more


Hello @Josh Whitley. Thanks for your quick answer. I see. Do you think I can easily modify or create a new node that subscribes to the topics published by the joystick_vehicle_interface_node and send the commands to the simulator as lgsvl_msgs? (Using the ros2_lgsvl_bridge)

Update: In the end I created a node that interfaces with lgsvl_interface and outputs the corresponding command in lgsvl_msgs. I just tested with the videogame controller and it works fine.

guillermoherreraf gravatar image guillermoherreraf  ( 2021-01-26 02:00:08 -0600 )edit

This MR is also worth testing - it modifies lgsvl_interface to use lgsvl_msgs instead. We are almost ready with a 2020.06 release with the native bridge for ADE as well.

Josh Whitley gravatar image Josh Whitley  ( 2021-01-26 12:03:19 -0600 )edit

Great @Josh Whitley. Right now I'm not able to change the gear of the vehicle to reverse. I've tried to change it with the target_gear attribute from the lgsvl_msgs.msg.VehicleControlData message and also with the current_gear attribute from the lgsvl_msgs.msg.VehicleStateData message (publishing it to the topics /lgsvl/vehicle_control_cmd and /lgsvl/vehicle_state_cmd, correspondingly). In either case, the gear does not change. I'm monitoring the selected_gear attribute from the /lgsvl/state_report topic and it does not change. Any idea why this happens?

guillermoherreraf gravatar image guillermoherreraf  ( 2021-01-27 09:33:45 -0600 )edit

@guillermoherreraf This is a separate question from the one asked here. Please create a new ROS Answers question for this.

Josh Whitley gravatar image Josh Whitley  ( 2021-01-27 13:31:00 -0600 )edit

Yes sorry about that @Josh Whitley. Here is the link to the question.

guillermoherreraf gravatar image guillermoherreraf  ( 2021-01-28 01:52:11 -0600 )edit

@Josh Whitley I just tested the MR you recommended (with the video-game controller) and it works quite nice. I can change to reverse and everything. However, I will still add a node in between because there is some extrange behavior. Specially, when the brakes are actuated the direction goes to the right (the steering should remain 0). And to control freely the acceleration and brake commands without editing the original version. Thanks a lot! Let me know if you end up merging it to the master branch!

guillermoherreraf gravatar image guillermoherreraf  ( 2021-01-28 10:13:39 -0600 )edit

Would you mind commenting on the MR? It's still in-progress and we would love to hear real feedback.

Josh Whitley gravatar image Josh Whitley  ( 2021-01-28 17:08:48 -0600 )edit

Ok Josh I will post a comment there... actually I modified the logitech_f30.default.param.yaml configuration file and it started working better. The problem was that two axes were activating the steering command. I will try to test it with a steering wheel + pedals game set.

guillermoherreraf gravatar image guillermoherreraf  ( 2021-01-29 03:04:28 -0600 )edit

Question Tools



Asked: 2021-01-25 10:12:58 -0600

Seen: 388 times

Last updated: Jan 25 '21