Skip to content

Commit c59dbfd

Browse files
committed
updated changed from latest vlm_ros
1 parent b67fe70 commit c59dbfd

8 files changed

Lines changed: 64 additions & 20 deletions

File tree

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

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ sensorMountingOffsets:
33
ros__parameters:
44
sensorOffsetX: 0.0
55
sensorOffsetY: 0.0
6-
sensorOffsetZ: -0.4
6+
sensorOffsetZ: 0.0
77

88
# SLAM sensor configuration
99
feature_extraction_node:
@@ -23,16 +23,20 @@ imu_preintegration_node:
2323

2424
localPlanner:
2525
ros__parameters:
26+
# obstacle height threshold
27+
obstacleHeightThre: 0.1 # 0.1 for flat terrain
28+
29+
# Sensor offset
30+
sensorOffsetX: 0.0
31+
sensorOffsetY: 0.0
32+
2633
# Vehicle dimensions
2734
vehicleLength: 0.5
2835
vehicleWidth: 0.5
2936

3037
# Speed limits
31-
maxSpeed: 0.875
32-
autonomySpeed: 0.875
33-
34-
# obstacle height threshold
35-
obstacleHeightThre: 0.05
38+
maxSpeed: 0.75
39+
autonomySpeed: 0.75
3640

3741
# Path planning
3842
pathScale: 0.875
@@ -55,15 +59,15 @@ pathFollower:
5559
maxAccel: 1.5
5660
goalYawGain: 2.0
5761

58-
maxSpeed: 0.875
59-
autonomySpeed: 0.875
62+
maxSpeed: 0.75
63+
autonomySpeed: 0.75
6064

6165
# Slow down threshold
6266
slowDwnDisThre: 0.875
6367
omniDirDiffThre: 1.5
6468
yawRateGain: 1.5
6569
stopYawRateGain: 1.5
66-
maxYawRate: 60.0
70+
maxYawRate: 40.0 #slow 40.0, fast 60.0
6771
dirDiffThre: 0.4
6872
stopDisThre: 0.4
6973

src/base_autonomy/terrain_analysis/launch/terrain_analysis.launch

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<node pkg="terrain_analysis" exec="terrainAnalysis" name="terrainAnalysis" output="screen">
44
<param name="scanVoxelSize" value="0.05" />
55
<param name="decayTime" value="1.0" />
6-
<param name="noDecayDis" value="0.0" /> <!-- 1.5 for flat terrain -->
6+
<param name="noDecayDis" value="1.5" />
77
<param name="clearingDis" value="8.0" />
88
<param name="useSorting" value="true" />
99
<param name="quantileZ" value="0.25" />
@@ -13,10 +13,10 @@
1313
<param name="clearDyObs" value="true" />
1414
<param name="minDyObsDis" value="0.14" />
1515
<param name="absDyObsRelZThre" value="0.2" />
16-
<param name="minDyObsVFOV" value="-30.0" />
17-
<param name="maxDyObsVFOV" value="35.0" />
16+
<param name="minDyObsVFOV" value="-55.0" />
17+
<param name="maxDyObsVFOV" value="10.0" />
1818
<param name="minDyObsPointNum" value="1" />
19-
<param name="minOutOfFovPointNum" value="10" />
19+
<param name="minOutOfFovPointNum" value="20" />
2020
<param name="obstacleHeightThre" value="0.1" />
2121
<param name="noDataObstacle" value="false" />
2222
<param name="noDataBlockSkipNum" value="0" />

src/base_autonomy/terrain_analysis/launch/terrain_analysis.launch.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
def generate_launch_description():
1212
# Get robot config from environment variable or use default
13-
robot_config_env = os.environ.get('ROBOT_CONFIG_PATH', 'unitree/unitree_go2')
13+
robot_config_env = os.environ.get('ROBOT_CONFIG_PATH', 'unitree/unitree_g1')
1414

1515
# Declare launch arguments
1616
robot_config_arg = DeclareLaunchArgument(
@@ -32,8 +32,8 @@ def generate_launch_description():
3232
'clearDyObs': True,
3333
'minDyObsDis': 0.14,
3434
'absDyObsRelZThre': 0.2,
35-
'minDyObsVFOV': -30.0,
36-
'maxDyObsVFOV': 35.0,
35+
'minDyObsVFOV': -55.0,
36+
'maxDyObsVFOV': 10.0,
3737
'minDyObsPointNum': 1,
3838
'minOutOfFovPointNum': 20,
3939
'obstacleHeightThre': 0.1,

src/slam/arise_slam_mid360/config/livox_mid360.yaml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,28 @@ feature_extraction_node:
1919
scan_line: 4 #16 64
2020
sensor: "livox"
2121
mapping_skip_frame: 1
22+
lidar_flip: false
23+
blindFront: 0.2
24+
blindBack: -0.2
25+
blindLeft: 0.3
26+
blindRight: -0.3
27+
blindDiskLow: -0.05
28+
blindDiskHigh: 0.05
29+
blindDiskRadius: 0.5
2230
use_imu_roll_pitch: false
2331
use_dynamic_mask: false
2432
use_up_realsense_points: false
2533
use_down_realsense_points: false
26-
min_range: 0.15 #<!-- remove too closed points -->
34+
min_range: 0.1 #<!-- remove too closed points -->
2735
max_range: 130.
2836
skip_realsense_points: 3
2937
provide_imu_laser_extrinsic: true
3038
provide_point_time: 1
3139
debug_view: false
3240

41+
imu_acc_x_offset: 0.04
42+
imu_acc_y_offset: 0.0
43+
imu_acc_z_offset: 0.0
3344
imu_acc_x_limit: 1.0
3445
imu_acc_y_limit: 1.0
3546
imu_acc_z_limit: 1.0
@@ -98,6 +109,9 @@ imu_preintegration_node:
98109
g_norm: 9.80511 # 0 means you need to provide both imu-camera and laser-camera extrinsic
99110
use_imu_roll_pitch: false
100111
lidar_flip: false
101-
imu_acc_x_limit: 0.4
102-
imu_acc_y_limit: 0.4
103-
imu_acc_z_limit: 0.2
112+
imu_acc_x_offset: 0.04
113+
imu_acc_y_offset: 0.0
114+
imu_acc_z_offset: 0.0
115+
imu_acc_x_limit: 0.3
116+
imu_acc_y_limit: 0.2
117+
imu_acc_z_limit: 0.1

src/slam/arise_slam_mid360/include/arise_slam_mid360/FeatureExtraction/featureExtraction.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ namespace arise_slam {
9696
SensorType sensor;
9797
double livox_pitch;
9898

99+
double imu_acc_x_offset;
100+
double imu_acc_y_offset;
101+
double imu_acc_z_offset;
99102
double imu_acc_x_limit;
100103
double imu_acc_y_limit;
101104
double imu_acc_z_limit;

src/slam/arise_slam_mid360/include/arise_slam_mid360/ImuPreintegration/imuPreintegration.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ namespace arise_slam {
5757
bool lidar_flip;
5858
SensorType sensor;
5959

60+
double imu_acc_x_offset;
61+
double imu_acc_y_offset;
62+
double imu_acc_z_offset;
6063
double imu_acc_x_limit;
6164
double imu_acc_y_limit;
6265
double imu_acc_z_limit;

src/slam/arise_slam_mid360/src/FeatureExtraction/featureExtraction.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,9 @@ namespace arise_slam {
183183
this->declare_parameter<int>("provide_point_time");
184184
this->declare_parameter<std::string>("sensor");
185185
this->declare_parameter<bool>("debug_view", false);
186+
this->declare_parameter<double>("imu_acc_x_offset");
187+
this->declare_parameter<double>("imu_acc_y_offset");
188+
this->declare_parameter<double>("imu_acc_z_offset");
186189
this->declare_parameter<double>("imu_acc_x_limit");
187190
this->declare_parameter<double>("imu_acc_y_limit");
188191
this->declare_parameter<double>("imu_acc_z_limit");
@@ -206,6 +209,9 @@ namespace arise_slam {
206209
config_.provide_point_time = this->get_parameter("provide_point_time").as_int();
207210
config_.use_dynamic_mask = this->get_parameter("use_dynamic_mask").as_bool();
208211
config_.debug_view_enabled = get_parameter("debug_view").as_bool();
212+
config_.imu_acc_x_offset = get_parameter("imu_acc_x_offset").as_double();
213+
config_.imu_acc_y_offset = get_parameter("imu_acc_y_offset").as_double();
214+
config_.imu_acc_z_offset = get_parameter("imu_acc_z_offset").as_double();
209215
config_.imu_acc_x_limit = get_parameter("imu_acc_x_limit").as_double();
210216
config_.imu_acc_y_limit = get_parameter("imu_acc_y_limit").as_double();
211217
config_.imu_acc_z_limit = get_parameter("imu_acc_z_limit").as_double();
@@ -1197,6 +1203,10 @@ namespace arise_slam {
11971203
msg_in->angular_velocity.y *= -1.0;
11981204
msg_in->angular_velocity.z *= -1.0;
11991205
}
1206+
1207+
msg_in->linear_acceleration.x += config_.imu_acc_x_offset;
1208+
msg_in->linear_acceleration.y += config_.imu_acc_y_offset;
1209+
msg_in->linear_acceleration.z += config_.imu_acc_z_offset;
12001210

12011211
m_buf.lock();
12021212
auto msg = msg_in;

src/slam/arise_slam_mid360/src/ImuPreintegration/imuPreintegration.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,9 @@ namespace arise_slam {
127127
this->declare_parameter<bool>("use_imu_roll_pitch",true);
128128
this->declare_parameter<bool>("lidar_flip",false);
129129
this->declare_parameter<std::string>("sensor");
130+
this->declare_parameter<double>("imu_acc_x_offset", 0.0);
131+
this->declare_parameter<double>("imu_acc_y_offset", 0.0);
132+
this->declare_parameter<double>("imu_acc_z_offset", 0.0);
130133
this->declare_parameter<double>("imu_acc_x_limit", 1.0);
131134
this->declare_parameter<double>("imu_acc_y_limit", 1.0);
132135
this->declare_parameter<double>("imu_acc_z_limit", 1.0);
@@ -140,6 +143,9 @@ namespace arise_slam {
140143
config_.smooth_factor = this->get_parameter("smooth_factor").as_double();
141144
config_.use_imu_roll_pitch = this->get_parameter("use_imu_roll_pitch").as_bool();
142145
config_.lidar_flip = this->get_parameter("lidar_flip").as_bool();
146+
config_.imu_acc_x_offset = this->get_parameter("imu_acc_x_offset").as_double();
147+
config_.imu_acc_y_offset = this->get_parameter("imu_acc_y_offset").as_double();
148+
config_.imu_acc_z_offset = this->get_parameter("imu_acc_z_offset").as_double();
143149
config_.imu_acc_x_limit = this->get_parameter("imu_acc_x_limit").as_double();
144150
config_.imu_acc_y_limit = this->get_parameter("imu_acc_y_limit").as_double();
145151
config_.imu_acc_z_limit = this->get_parameter("imu_acc_z_limit").as_double();
@@ -851,6 +857,10 @@ namespace arise_slam {
851857
imu_raw->angular_velocity.y *= -1.0;
852858
imu_raw->angular_velocity.z *= -1.0;
853859
}
860+
861+
imu_raw->linear_acceleration.x += config_.imu_acc_x_offset;
862+
imu_raw->linear_acceleration.y += config_.imu_acc_y_offset;
863+
imu_raw->linear_acceleration.z += config_.imu_acc_z_offset;
854864

855865
std::lock_guard<std::mutex> lock(mBuf);
856866

0 commit comments

Comments
 (0)