Open nijilong1224 opened 3 years ago
This seems that you are getting bad data from the sensors. Have you tried collecting data from the bridge? What is the rate you are running the sim and the sensor publish? Have you tried increasing the rate to match the rate you are getting the data from the api? More information will help us solve the issue.
Also, what version of simulator are you using? Any other info on how you are collecting this data will be helpful. Adding @cyberphysicalrobotics because of the awesome graphs you posted @nijilong1224 :)
This seems that you are getting bad data from the sensors. Have you tried collecting data from the bridge? What is the rate you are running the sim and the sensor publish? Have you tried increasing the rate to match the rate you are getting the data from the api? More information will help us solve the issue.
Hello @EricBoiseLGSVL , Sorry, the command and data collection is not through Python API, I just send throttle command to lgsvl control sensor, rate is 100 Hz; the IMU sensor publish rate is 100Hz; acceleration data is from the imu topic from rosbridge(ROS1), update rate is 100Hz.
Also, what version of simulator are you using? Any other info on how you are collecting this data will be helpful. Adding @cyberphysicalrobotics because of the awesome graphs you posted @nijilong1224 :)
My simulator version is 2021.2.2 windows-64. I mount a LGSVL control sensor on ego, the sensor configuration is I use python to send control message (with constant throttle value) at 100Hz to lgsvl control sensor and update my acceleration data at 100Hz which match IMU publish rate, the speed info is from canbus sensor topic rate is 10Hz. if a new speed info arrived, the latest acceleration data will be paired. Ideally, the speed and acceleration time mismatch is 10ms in worst case.
Thanks Best Regards
@cyberphysicalrobotics is this the same issue you were investigating? @nijilong1224 have you tried using the latest release and does it have the same issue? We have many fixes and this may be solved already.
@cyberphysicalrobotics is this the same issue you were investigating? @nijilong1224 have you tried using the latest release and does it have the same issue? We have many fixes and this may be solved already.
I have tried the lastest version 2021.3, it has the same issue, thanks. Best Regards
I tested Lexus2016RX with LGSVL Control Sensor on ROS2. I published /lgsvl/vehicle_control_cmd:
ros2 topic pub --rate 10 /lgsvl/vehicle_control_cmd lgsvl_msgs/msg/VehicleControlData "{acceleration_pct: 0.2}"
The important thing is ros2 should publish every command at rate over 10. If there is some incoming input throttle not coming within 500ms, it's falling into resetting throttle input 0.
Since ROS2 has better bridge than ROS1, could you test this on ROS2 with lgsvl_bridge?
I tested Lexus2016RX with LGSVL Control Sensor on ROS2. I published /lgsvl/vehicle_control_cmd:
ros2 topic pub --rate 10 /lgsvl/vehicle_control_cmd lgsvl_msgs/msg/VehicleControlData "{acceleration_pct: 0.2}"
The important thing is ros2 should publish every command at rate over 10. If there is some incoming input throttle not coming within 500ms, it's falling into resetting throttle input 0.
Hello @cyberphysicalrobotics , our control cmd publish rate is 100Hz, I think the input throttle will always coming within 500ms.
Since ROS2 has better bridge than ROS1, could you test this on ROS2 with lgsvl_bridge?
Thanks a lot, I will try that, however our AD stack only support ROS1 communication. :(
Hello @cyberphysicalrobotics @EricBoiseLGSVL I test the vehicle with only keyboard control sensors, accelerate the vehicle to speed above 8m/s, then stop keyboard control, let the vehicle deceleration naturally. Seems the vehicle always oscillated at 5~7m/s, please check the gif file attached.
because size limit, cannot upload High resolution gif, the vehicle oscillation at 5~5.7m/s。 I have test the Lexus 2016 Hybrid and Lincoln 2017 MKZ, same result in 2021.2.2 and 2021.3.
You will need to look into the VehicleSMI to see why it is accelerating.
Hello, I am using Python API to collect vehicle (lexus 2016) acceleration and speed with given throttle input, try to generate a calibration table with these data. While I find the acceleration always oscillate at specific speed (5~8m/s), the speed info is from canbus sensor, acceleration is from IMU sensor (data along the x axis), I think the car dynamic use the default dynamic model Unity's PhysX physics engine and components.
I think the problem could either from car dynamic model or IMU sensor, please help. Thanks a lot!