Skip to content

Add VMC test world and optimize legged chassis messages#292

Open
WiseL00k wants to merge 7 commits intorm-controls:masterfrom
WiseL00k:series_leg
Open

Add VMC test world and optimize legged chassis messages#292
WiseL00k wants to merge 7 commits intorm-controls:masterfrom
WiseL00k:series_leg

Conversation

@WiseL00k
Copy link

No description provided.

Copilot AI review requested due to automatic review settings March 11, 2026 12:59
@netlify
Copy link

netlify bot commented Mar 11, 2026

Deploy Preview for rm-control ready!

Name Link
🔨 Latest commit 5de5bab
🔍 Latest deploy log https://app.netlify.com/projects/rm-control/deploys/69b167287ce69d00089f3ef9
😎 Deploy Preview https://deploy-preview-292--rm-control.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.


<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find rm_gazebo)/worlds/rmul2026.world"/>
<arg name="paused" value="false"/>
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

paused is declared as an arg for this launch file, but the included Gazebo empty_world.launch hard-codes paused to false, so passing paused:=true to this launch file has no effect. Use value="$(arg paused)" (or remove the unused arg) to avoid confusing/ineffective configuration.

Suggested change
<arg name="paused" value="false"/>
<arg name="paused" value="$(arg paused)"/>

Copilot uses AI. Check for mistakes.
Comment on lines +143 to +171
<state world_name='default'>
<sim_time>36 582000000</sim_time>
<real_time>36 753468831</real_time>
<wall_time>1753689095 941445034</wall_time>
<iterations>36582</iterations>
<model name='ground_plane'>
<pose>0 0 0 0 -0 0</pose>
<scale>1 1 1</scale>
<link name='link'>
<pose>0 0 0 0 -0 0</pose>
<velocity>0 0 0 0 -0 0</velocity>
<acceleration>0 0 0 0 -0 0</acceleration>
<wrench>0 0 0 0 -0 0</wrench>
</link>
</model>
<model name='unit_box'>
<pose>0.000665 0.00764 0.499996 -1e-06 9e-06 -2e-06</pose>
<scale>1 0.23663 1</scale>
<link name='link'>
<pose>0.000665 0.00764 0.499996 -1e-06 9e-06 -2e-06</pose>
<velocity>0 0 0 0 -0 0</velocity>
<acceleration>0.984348 -0.232776 -8.16025 -2.67587 1.17539 3.14113</acceleration>
<wrench>0.984348 -0.232776 -8.16025 0 -0 0</wrench>
</link>
</model>
<light name='sun'>
<pose>0 0 10 0 -0 0</pose>
</light>
</state>
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This world file contains a <state> snapshot (sim_time/real_time/wall_time, link velocities/accelerations, etc.). Keeping a saved runtime state in a checked-in test world can make startup non-deterministic (e.g., starting at sim_time 36s and with non-zero accelerations) and is usually accidental output from Gazebo's “Save World”. Consider removing the entire <state ...> block so the world starts from the model definitions above.

Suggested change
<state world_name='default'>
<sim_time>36 582000000</sim_time>
<real_time>36 753468831</real_time>
<wall_time>1753689095 941445034</wall_time>
<iterations>36582</iterations>
<model name='ground_plane'>
<pose>0 0 0 0 -0 0</pose>
<scale>1 1 1</scale>
<link name='link'>
<pose>0 0 0 0 -0 0</pose>
<velocity>0 0 0 0 -0 0</velocity>
<acceleration>0 0 0 0 -0 0</acceleration>
<wrench>0 0 0 0 -0 0</wrench>
</link>
</model>
<model name='unit_box'>
<pose>0.000665 0.00764 0.499996 -1e-06 9e-06 -2e-06</pose>
<scale>1 0.23663 1</scale>
<link name='link'>
<pose>0.000665 0.00764 0.499996 -1e-06 9e-06 -2e-06</pose>
<velocity>0 0 0 0 -0 0</velocity>
<acceleration>0.984348 -0.232776 -8.16025 -2.67587 1.17539 3.14113</acceleration>
<wrench>0.984348 -0.232776 -8.16025 0 -0 0</wrench>
</link>
</model>
<light name='sun'>
<pose>0 0 10 0 -0 0</pose>
</light>
</state>

Copilot uses AI. Check for mistakes.
Comment on lines +172 to +178
<gui fullscreen='0'>
<camera name='user_camera'>
<pose>5.29511 0.080612 1.43762 0 0.267643 3.07219</pose>
<view_controller>orbit</view_controller>
<projection_type>perspective</projection_type>
</camera>
</gui>
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This world file includes a <gui> block with a saved camera pose. This is typically local/user-specific state and tends to create noisy diffs; it can also override user preferences when launching Gazebo. Consider removing the <gui> section (or keeping only intentional GUI settings) to keep the test world minimal and reproducible.

Suggested change
<gui fullscreen='0'>
<camera name='user_camera'>
<pose>5.29511 0.080612 1.43762 0 0.267643 3.07219</pose>
<view_controller>orbit</view_controller>
<projection_type>perspective</projection_type>
</camera>
</gui>

Copilot uses AI. Check for mistakes.
@@ -0,0 +1 @@
bool upstair_flag
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The term upstair_flag appears to be a typo/inconsistent with the UPSTAIRS mode name in LeggedChassisMode.msg. Since this is a new message, consider renaming to upstairs_flag (and aligning the message filename if applicable) to avoid propagating a misspelling into the public API.

Suggested change
bool upstair_flag
bool upstairs_flag

Copilot uses AI. Check for mistakes.
float64[] right_leg_u
float64[] left_leg_ref
float64[] right_leg_ref
float64[] F_leg
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

float64[] F_leg uses an uppercase field name. ROS message field identifiers are expected to be lowercase (and in practice genmsg will reject names that start with an uppercase letter), so this is likely to break message generation. Rename the field to a lowercase snake_case name (e.g., f_leg) and update any publishers/subscribers accordingly.

Suggested change
float64[] F_leg
float64[] f_leg

Copilot uses AI. Check for mistakes.
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find rm_gazebo)/worlds/rmul2026.world"/>
<arg name="paused" value="false"/>
<arg name="use_sim_time" value="true"/>r
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is an extra trailing r after the self-closing use_sim_time arg tag (... value="true"/>r), which makes this launch file invalid XML and will cause roslaunch to fail parsing it. Remove the stray character so the tag is well-formed.

Suggested change
<arg name="use_sim_time" value="true"/>r
<arg name="use_sim_time" value="true"/>

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants