Skip to content

Commit a6bf5a9

Browse files
Rover: Simulation Update (#25644)
* gz: update submodule * rover: update simulation airframes * docs: rover simulation
1 parent 5dab3dd commit a6bf5a9

13 files changed

Lines changed: 93 additions & 64 deletions

File tree

ROMFS/px4fmu_common/init.d-posix/airframes/50000_gz_rover_differential

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ param set-default NAV_ACC_RAD 0.5
1717
param set-default RD_WHEEL_TRACK 0.6
1818
param set-default RD_TRANS_DRV_TRN 0.785398
1919
param set-default RD_TRANS_TRN_DRV 0.174533
20+
param set-default RD_YAW_STK_GAIN 0.6
2021

2122
# Rate Control Parameters
2223
param set-default RO_YAW_RATE_I 0.01
@@ -25,6 +26,8 @@ param set-default RO_YAW_RATE_LIM 250
2526
param set-default RO_YAW_ACCEL_LIM 400
2627
param set-default RO_YAW_DECEL_LIM 800
2728
param set-default RO_YAW_RATE_CORR 1
29+
param set-default RO_YAW_EXPO 0.85
30+
param set-default RO_YAW_SUPEXPO 0.3
2831

2932
# Attitude Control Parameters
3033
param set-default RO_YAW_P 5

ROMFS/px4fmu_common/init.d-posix/airframes/4012_gz_rover_ackermann renamed to ROMFS/px4fmu_common/init.d-posix/airframes/51000_gz_rover_ackermann

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/sh
2-
# @name Rover Ackermann
2+
# @name Generic Ackermann Rover
33
# @type Rover
44
# @class Rover
55

@@ -14,30 +14,32 @@ param set-default SIM_GZ_EN 1 # Gazebo bridge
1414
param set-default NAV_ACC_RAD 0.5
1515

1616
# Ackermann Parameters
17-
param set-default RA_WHEEL_BASE 0.321
17+
param set-default RA_WHEEL_BASE 0.5
1818
param set-default RA_ACC_RAD_GAIN 2
19-
param set-default RA_ACC_RAD_MAX 3
19+
param set-default RA_ACC_RAD_MAX 1.5
2020
param set-default RA_MAX_STR_ANG 0.5236
2121
param set-default RA_STR_RATE_LIM 360
2222

23-
# Rover Control Parameters
24-
param set-default RO_ACCEL_LIM 3
25-
param set-default RO_DECEL_LIM 6
26-
param set-default RO_JERK_LIM 15
27-
param set-default RO_MAX_THR_SPEED 3.1
28-
29-
# Rover Rate Control Parameters
30-
param set-default RO_YAW_RATE_I 0.1
31-
param set-default RO_YAW_RATE_P 1
32-
param set-default RO_YAW_RATE_LIM 180
23+
# Rate Control Parameters
24+
param set-default RO_YAW_RATE_I 0.01
25+
param set-default RO_YAW_RATE_P 0.25
26+
param set-default RO_YAW_RATE_LIM 130
27+
param set-default RO_YAW_ACCEL_LIM 800
28+
param set-default RO_YAW_DECEL_LIM 800
3329
param set-default RO_YAW_RATE_CORR 1
30+
param set-default RO_YAW_EXPO 0.85
31+
param set-default RO_YAW_SUPEXPO 0.3
3432

35-
# Rover Attitude Control Parameters
33+
# Attitude Control Parameters
3634
param set-default RO_YAW_P 3
3735

38-
# Rover Velocity Control Parameters
39-
param set-default RO_SPEED_LIM 3
40-
param set-default RO_SPEED_I 0.1
36+
# Velocity Control Parameters
37+
param set-default RO_ACCEL_LIM 4
38+
param set-default RO_DECEL_LIM 6
39+
param set-default RO_JERK_LIM 10
40+
param set-default RO_MAX_THR_SPEED 3.1
41+
param set-default RO_SPEED_LIM 2.5
42+
param set-default RO_SPEED_I 0.01
4143
param set-default RO_SPEED_P 1
4244
param set-default RO_SPEED_RED 1
4345

@@ -48,8 +50,8 @@ param set-default PP_LOOKAHD_MIN 1
4850

4951
# Wheels
5052
param set-default SIM_GZ_WH_FUNC1 101
51-
param set-default SIM_GZ_WH_MIN1 0
52-
param set-default SIM_GZ_WH_MAX1 200
53+
param set-default SIM_GZ_WH_MIN1 70
54+
param set-default SIM_GZ_WH_MAX1 130
5355
param set-default SIM_GZ_WH_DIS1 100
5456

5557
# Steering

ROMFS/px4fmu_common/init.d-posix/airframes/4015_gz_r1_rover_mecanum renamed to ROMFS/px4fmu_common/init.d-posix/airframes/52000_gz_rover_mecanum

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
#!/bin/sh
2-
# @name Aion Robotics R1 Rover
2+
# @name Generic Mecanum Rover
33
# @type Rover
44
# @class Rover
55

66
. ${R}etc/init.d/rc.rover_mecanum_defaults
77

88
PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
99
PX4_GZ_WORLD=${PX4_GZ_WORLD:=rover}
10-
PX4_SIM_MODEL=${PX4_SIM_MODEL:=r1_rover_mecanum}
10+
PX4_SIM_MODEL=${PX4_SIM_MODEL:=rover_mecanum}
1111

1212
param set-default SIM_GZ_EN 1 # Gazebo bridge
1313

1414
param set-default NAV_ACC_RAD 0.5
1515

1616
# Mecanum Parameters
17-
param set-default RM_WHEEL_TRACK 0.3
17+
param set-default RM_WHEEL_TRACK 0.6
18+
param set-default RM_YAW_STK_GAIN 0.6
1819

1920
# Rover Control Parameters
2021
param set-default RO_ACCEL_LIM 3
@@ -29,15 +30,21 @@ param set-default RO_YAW_RATE_LIM 120
2930
param set-default RO_YAW_ACCEL_LIM 240
3031
param set-default RO_YAW_DECEL_LIM 1000
3132
param set-default RO_YAW_RATE_CORR 1.75
33+
param set-default RO_YAW_EXPO 0.85
34+
param set-default RO_YAW_SUPEXPO 0.3
3235

3336
# Rover Attitude Control Parameters
3437
param set-default RO_YAW_P 5
3538

36-
# Rover Velocity Control Parameters
37-
param set-default RO_SPEED_LIM 2
38-
param set-default RO_SPEED_I 0.5
39-
param set-default RO_SPEED_P 1
40-
param set-default RO_SPEED_RED 1
39+
# Velocity Control Parameters
40+
param set-default RO_ACCEL_LIM 4
41+
param set-default RO_DECEL_LIM 6
42+
param set-default RO_JERK_LIM 10
43+
param set-default RO_MAX_THR_SPEED 3.1
44+
param set-default RO_SPEED_LIM 2.5
45+
param set-default RO_SPEED_I 0.01
46+
param set-default RO_SPEED_P 0.1
47+
param set-default RO_SPEED_RED 0.5
4148

4249
# Pure Pursuit parameters
4350
param set-default PP_LOOKAHD_GAIN 0.5
@@ -48,24 +55,24 @@ param set-default PP_LOOKAHD_MIN 1
4855
param set-default SENS_EN_MAGSIM 1
4956

5057
# Actuator mapping
51-
param set-default SIM_GZ_WH_FUNC1 102 # right wheel front
58+
param set-default SIM_GZ_WH_FUNC1 104 # left wheel back
5259
param set-default SIM_GZ_WH_MIN1 70
5360
param set-default SIM_GZ_WH_MAX1 130
5461
param set-default SIM_GZ_WH_DIS1 100
5562

56-
param set-default SIM_GZ_WH_FUNC2 101 # left wheel front
63+
param set-default SIM_GZ_WH_FUNC2 103 # right wheel back
5764
param set-default SIM_GZ_WH_MIN2 70
5865
param set-default SIM_GZ_WH_MAX2 130
5966
param set-default SIM_GZ_WH_DIS2 100
6067

61-
param set-default SIM_GZ_WH_FUNC3 104 # right wheel back
68+
param set-default SIM_GZ_WH_FUNC3 102 # left wheel front
6269
param set-default SIM_GZ_WH_MIN3 70
6370
param set-default SIM_GZ_WH_MAX3 130
6471
param set-default SIM_GZ_WH_DIS3 100
6572

66-
param set-default SIM_GZ_WH_FUNC4 103 # left wheel back
73+
param set-default SIM_GZ_WH_FUNC4 101 # right wheel front
6774
param set-default SIM_GZ_WH_MIN4 70
6875
param set-default SIM_GZ_WH_MAX4 130
6976
param set-default SIM_GZ_WH_DIS4 100
7077

71-
param set-default SIM_GZ_WH_REV 10
78+
param set-default SIM_GZ_WH_REV 0

ROMFS/px4fmu_common/init.d-posix/airframes/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,8 @@ px4_add_romfs_files(
8080
4009_gz_r1_rover
8181
4010_gz_x500_mono_cam
8282
4011_gz_lawnmower
83-
4012_gz_rover_ackermann
8483
4013_gz_x500_lidar_2d
8584
4014_gz_x500_mono_cam_down
86-
4015_gz_r1_rover_mecanum
8785
4016_gz_x500_lidar_down
8886
4017_gz_x500_lidar_front
8987
4018_gz_quadtailsitter
@@ -114,6 +112,8 @@ px4_add_romfs_files(
114112
17002_flightgear_tf-g2
115113

116114
50000_gz_rover_differential
115+
51000_gz_rover_ackermann
116+
52000_gz_rover_mecanum
117117

118118
60002_gz_uuv_bluerov2_heavy
119119

45.9 KB
Loading
48.9 KB
Loading
38.2 KB
Loading
63.7 KB
Loading

docs/en/frames_rover/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,10 @@ Each wheel is driven by its own motor, and by controlling the speed and directio
6464

6565
## Simulation
6666

67-
[Gazebo](../sim_gazebo_gz/index.md) provides simulations for ackermann and differential rovers:
67+
PX4 provides synthetic simulation models for [Gazebo](../sim_gazebo_gz/index.md) of all three rover types to test the software and validate changes and new features:
6868

6969
- [Ackermann rover](../sim_gazebo_gz/vehicles.md#ackermann-rover)
7070
- [Differential rover](../sim_gazebo_gz/vehicles.md#differential-rover)
71+
- [Mecanum rover](../sim_gazebo_gz/vehicles.md#mecanum-rover)
7172

7273
![Rover gazebo simulation](../../assets/airframes/rover/rover_simulation.png)

0 commit comments

Comments
 (0)