Hello Shunya, I took a look at these two lines, render_step_size = 1.0 / 100 render_steps = math.ceil((1.0 / render_step_size) / step_size) the render_steps will be ceil(100/step_size), which means an image is written every (100/step_size) time steps.
You probably want to do something like, render_steps = math.ceil((render_step_size) / step_size) Thank you, Luning On Monday, June 19, 2023 at 4:15:20 PM UTC-5 Shunya wrote: > Thanks both of you! > I would like to ask an additional question. > > About Q1: > I entered the code you gave me, but only the first render was saved. > I saved the code to an image, and I need some advice. > > About Q2: > I would like the acceleration for each calculation step to be added in csv > during the simulation. > In the current code (image), only the latest acceleration is saved in csv. > This question is far from PyChrono, but I would like to get some advice on > how to implement it. > > Best regards, > Shunya > > [image: スクリーンショット 2023-06-19 161104.png] > > 2023年6月16日金曜日 16:38:08 UTC-5 [email protected]: > > > For Q1, there's an API, WriteImageToFile(filename) , for taking a > snapshot of the irrlicht visualization at each rendering frame, then you > can stitch together the pictures to make a video. > > > > vis.BeginScene() > > vis.Render() > > vis.EndScene() > > > > if (steps % render_steps == 0): > > filename = 'img_'+ str(render_frame).zfill(4) +'.jpg' > > vis.WriteImageToFile(filename) > > render_frame += 1 > > > > Thank you, > > Luning > On Friday, June 16, 2023 at 4:24:35 PM UTC-5 Nevindu Batagoda wrote: > > Hello Shunya, > > For Q2, I don't believe there is a direct API call to do this but what you > can do is, > > 1. Push a data access filter for the IMU (either for the > accelerometer, gyro, or magnetometer) after constructing it. Ex: acc > .PushFilter(sens.ChFilterAccelAccess()) > 2. Then during the simulation loop, access the IMU data and publish > them into a CSV file. Here is an example of accessing and printing > accelerometer data, > > while (ch_time < end_time): > > # Access the sensor data > acc_data = acc.GetMostRecentAccelBuffer() > # Check data is present > # If so, print out the max value > if acc_data.HasData(): > print("Accelerometer:",acc_data.GetAccelData().shape,"max:",np > .max(acc_data.GetAccelData())) > > A full demo can be seen here: > https://github.com/projectchrono/chrono/blob/main/src/demos/python/sensor/demo_SEN_sensors.py > > Let me know if there's anything else. > > Best, > Nevindu M. Batagoda > On Friday, June 16, 2023 at 3:28:16 PM UTC-5 Shunya wrote: > > *Dear all,* > I hava two questions about PyChrono's API. > Q1:Is it possible to record video of the simulation using PyChrono's API? > Q2: Is it possible to save IMU data to CSV using PyChrono's API? > > Background of questions: > I am making the vehicle runnning model in PyChrono, referring to > "demo_MBS_tracks.cpp". > I would like to save the data from IMU to CSV in order to check the > running status. > And I would like to save the video of the nehicle running in the > simulation. > > Best regards, > > -- You received this message because you are subscribed to the Google Groups "ProjectChrono" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/a412ddb7-06d5-4d7a-a380-ad20c547730dn%40googlegroups.com.
