Skip to content

Commit fd8d550

Browse files
committed
updated terrain analysis and g1 parameters
1 parent 29e58b7 commit fd8d550

12 files changed

Lines changed: 122 additions & 30 deletions

src/base_autonomy/local_planner/config/unitree/unitree_g1.yaml

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ feature_extraction_node:
1111
lidar_flip: false
1212
blindFront: 0.2
1313
blindBack: -0.2
14-
blindLeft: 0.2
15-
blindRight: -0.2
16-
blindDiskLow: -0.8
17-
blindDiskHigh: 0.8
18-
blindDiskRadius: 0.3
14+
blindLeft: 0.3
15+
blindRight: -0.3
16+
blindDiskLow: -0.05
17+
blindDiskHigh: 0.05
18+
blindDiskRadius: 0.5
1919

2020
imu_preintegration_node:
2121
ros__parameters:
@@ -28,22 +28,46 @@ localPlanner:
2828
vehicleWidth: 0.5
2929

3030
# Speed limits
31-
maxSpeed: 0.5
31+
maxSpeed: 0.875
3232
autonomySpeed: 0.875
3333

34+
# obstacle height threshold
35+
obstacleHeightThre: 0.05
36+
37+
# Path planning
38+
pathScale: 0.875
39+
minPathScale: 0.675
40+
pathScaleStep: 0.1
41+
minPathRange: 0.8
42+
pathRangeStep: 0.6
43+
adjacentRange: 3.5
44+
3445
# Goal tolerances
3546
goalClearRange: 0.6
3647
goalBehindRange: 0.8
37-
goalReachedThreshold: 0.5
48+
goalReachedThreshold: 0.3
3849
goalYawThreshold: 0.15
3950

4051
pathFollower:
4152
ros__parameters:
4253
# Control parameters
4354
lookAheadDis: 0.5
44-
maxAccel: 2.0
55+
maxAccel: 1.5
4556
goalYawGain: 2.0
4657

58+
maxSpeed: 0.875
59+
autonomySpeed: 0.875
60+
4761
# Slow down threshold
4862
slowDwnDisThre: 0.875
49-
omniDirDiffThre: 1.5
63+
omniDirDiffThre: 1.5
64+
yawRateGain: 1.5
65+
stopYawRateGain: 1.5
66+
maxYawRate: 60.0
67+
dirDiffThre: 0.4
68+
stopDisThre: 0.4
69+
70+
terrainAnalysis:
71+
ros__parameters:
72+
minDyObsVFOV: -55.0
73+
maxDyObsVFOV: 10.0
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
import os
2+
3+
from launch import LaunchDescription
4+
from launch.actions import DeclareLaunchArgument
5+
from launch.substitutions import LaunchConfiguration, PythonExpression
6+
from launch_ros.actions import Node
7+
from launch_ros.substitutions import FindPackageShare
8+
from ament_index_python.packages import get_package_share_directory
9+
10+
11+
def generate_launch_description():
12+
# Get robot config from environment variable or use default
13+
robot_config_env = os.environ.get('ROBOT_CONFIG_PATH', 'unitree/unitree_go2')
14+
15+
# Declare launch arguments
16+
robot_config_arg = DeclareLaunchArgument(
17+
'robot_config',
18+
default_value=robot_config_env,
19+
description='Robot-specific config file (without .yaml extension)'
20+
)
21+
22+
base_params = {
23+
'scanVoxelSize': 0.05,
24+
'decayTime': 1.0,
25+
'noDecayDis': 1.5,
26+
'clearingDis': 8.0,
27+
'useSorting': True,
28+
'quantileZ': 0.25,
29+
'considerDrop': False,
30+
'limitGroundLift': False,
31+
'maxGroundLift': 0.15,
32+
'clearDyObs': True,
33+
'minDyObsDis': 0.14,
34+
'absDyObsRelZThre': 0.2,
35+
'minDyObsVFOV': -30.0,
36+
'maxDyObsVFOV': 35.0,
37+
'minDyObsPointNum': 1,
38+
'minOutOfFovPointNum': 20,
39+
'obstacleHeightThre': 0.1,
40+
'noDataObstacle': False,
41+
'noDataBlockSkipNum': 0,
42+
'minBlockPointNum': 10,
43+
'vehicleHeight': 1.5,
44+
'voxelPointUpdateThre': 100,
45+
'voxelTimeUpdateThre': 2.0,
46+
'minRelZ': -1.5,
47+
'maxRelZ': 0.3,
48+
'disRatioZ': 0.2,
49+
}
50+
51+
terrain_node = Node(
52+
package='terrain_analysis',
53+
executable='terrainAnalysis',
54+
name='terrainAnalysis',
55+
output='screen',
56+
parameters=[
57+
base_params,
58+
PythonExpression([
59+
"'", FindPackageShare('local_planner'), "/config/",
60+
LaunchConfiguration('robot_config'), ".yaml'"
61+
]),
62+
]
63+
)
64+
65+
return LaunchDescription([
66+
robot_config_arg,
67+
terrain_node,
68+
])

src/base_autonomy/terrain_analysis/src/terrainAnalysis.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ int terrainVoxelHalfWidth = (terrainVoxelWidth - 1) / 2;
7070
const int terrainVoxelNum = terrainVoxelWidth * terrainVoxelWidth;
7171

7272
// planar voxel parameters
73-
float planarVoxelSize = 0.1;
74-
const int planarVoxelWidth = 101;
73+
float planarVoxelSize = 0.2;
74+
const int planarVoxelWidth = 51;
7575
int planarVoxelHalfWidth = (planarVoxelWidth - 1) / 2;
7676
const int planarVoxelNum = planarVoxelWidth * planarVoxelWidth;
7777

@@ -690,4 +690,4 @@ int main(int argc, char **argv) {
690690
}
691691

692692
return 0;
693-
}
693+
}

src/base_autonomy/vehicle_simulator/launch/system_bagfile.launch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ def generate_launch_description():
3939
)
4040

4141
start_terrain_analysis = IncludeLaunchDescription(
42-
FrontendLaunchDescriptionSource(os.path.join(
43-
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch')
42+
PythonLaunchDescriptionSource(os.path.join(
43+
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch.py')
4444
)
4545
)
4646

src/base_autonomy/vehicle_simulator/launch/system_bagfile_with_exploration_planner.launch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ def generate_launch_description():
4141
)
4242

4343
start_terrain_analysis = IncludeLaunchDescription(
44-
FrontendLaunchDescriptionSource(os.path.join(
45-
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch')
44+
PythonLaunchDescriptionSource(os.path.join(
45+
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch.py')
4646
)
4747
)
4848

src/base_autonomy/vehicle_simulator/launch/system_bagfile_with_route_planner.launch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ def generate_launch_description():
4848
)
4949

5050
start_terrain_analysis = IncludeLaunchDescription(
51-
FrontendLaunchDescriptionSource(os.path.join(
52-
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch')
51+
PythonLaunchDescriptionSource(os.path.join(
52+
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch.py')
5353
)
5454
)
5555

src/base_autonomy/vehicle_simulator/launch/system_real_robot.launch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ def generate_launch_description():
3939
)
4040

4141
start_terrain_analysis = IncludeLaunchDescription(
42-
FrontendLaunchDescriptionSource(os.path.join(
43-
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch')
42+
PythonLaunchDescriptionSource(os.path.join(
43+
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch.py')
4444
)
4545
)
4646

src/base_autonomy/vehicle_simulator/launch/system_real_robot_with_exploration_planner.launch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ def generate_launch_description():
4141
)
4242

4343
start_terrain_analysis = IncludeLaunchDescription(
44-
FrontendLaunchDescriptionSource(os.path.join(
45-
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch')
44+
PythonLaunchDescriptionSource(os.path.join(
45+
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch.py')
4646
)
4747
)
4848

src/base_autonomy/vehicle_simulator/launch/system_real_robot_with_route_planner.launch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ def generate_launch_description():
4848
)
4949

5050
start_terrain_analysis = IncludeLaunchDescription(
51-
FrontendLaunchDescriptionSource(os.path.join(
52-
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch')
51+
PythonLaunchDescriptionSource(os.path.join(
52+
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch.py')
5353
)
5454
)
5555

src/base_autonomy/vehicle_simulator/launch/system_simulation.launch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ def generate_launch_description():
3939
)
4040

4141
start_terrain_analysis = IncludeLaunchDescription(
42-
FrontendLaunchDescriptionSource(os.path.join(
43-
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch')
42+
PythonLaunchDescriptionSource(os.path.join(
43+
get_package_share_directory('terrain_analysis'), 'launch', 'terrain_analysis.launch.py')
4444
)
4545
)
4646

0 commit comments

Comments
 (0)