From 7ba807c8d1d7cfd7d2dfef49c7c42ef30e4d7ddb Mon Sep 17 00:00:00 2001 From: Morss1 <1148211873@qq.com> Date: Wed, 25 Sep 2024 11:00:08 +0800 Subject: [PATCH] eularcar_change --- ...11\350\243\205\346\225\231\347\250\213.md" | 160 ++++++++ ...07\347\250\213\344\273\213\347\273\215.md" | 160 ++++++++ hi-slam/PID_change/PID.md | 56 +++ .../image/image-20240810162250427.png | Bin 0 -> 37150 bytes .../image/image-20240810162410179.png | Bin 0 -> 39168 bytes .../image/image-20240810163823546.png | Bin 0 -> 39175 bytes .../image/image-20240810164455488.png | Bin 0 -> 47211 bytes .../image/image-20240810164937528.png | Bin 0 -> 32580 bytes .../image/image-20240810170152582.png | Bin 0 -> 67463 bytes .../image/image-20240810170343639.png | Bin 0 -> 211291 bytes .../image/image-20240814130927265.png | Bin 0 -> 96480 bytes .../image/image-20240814131020763.png | Bin 0 -> 179471 bytes .../image/image-20240814131022174.png | Bin 0 -> 179471 bytes .../image/image-20240814142126203.png | Bin 0 -> 201367 bytes .../image/image-20240814162730458.png | Bin 0 -> 189084 bytes .../image/image-20240814163540747.png | Bin 0 -> 98880 bytes .../image/image-20240814164248792.png | Bin 0 -> 90563 bytes .../image/image-20240814195148168.png | Bin 0 -> 29008 bytes .../image/image-20240815131303179.png | Bin 0 -> 10096359 bytes .../image/image-20240815131305888.png | Bin 0 -> 10096359 bytes .../image/image-20240815133719967.png | Bin 0 -> 128709 bytes .../image/image-20240815133749789.png | Bin 0 -> 109397 bytes hi-slam/REP-105.md | 57 +++ hi-slam/ROS2_recode/ROS2.md | 170 +++++++++ .../ROS2_recode/image-20240627193324303.png | Bin 0 -> 60060 bytes .../ROS2_recode/image-20240627193420557.png | Bin 0 -> 37679 bytes .../ROS2_recode/image-20240628121322590.png | Bin 0 -> 242137 bytes ...67\350\276\276\345\273\272\345\233\276.md" | 37 ++ .../eulercar_cartographer/CMakeLists.txt | 32 ++ .../config/fishbot_laser_2d.lua | 63 ++++ .../launch/cartographer_pure_laser.launch.py | 51 +++ .../eulercar_cartographer/package.xml | 18 + .../image-20240831202405218.png | Bin 0 -> 240766 bytes .../d92db2f25582d385aa1f51958a079a8c.png | Bin 0 -> 145246 bytes .../images/image-20240826110644076.png | Bin 0 -> 240766 bytes .../images/image-20240826112043593.png | Bin 0 -> 38131 bytes .../images/image-20240826112204784.png | Bin 0 -> 28692 bytes .../images/image-20240826121123332.png | Bin 0 -> 20512 bytes ...72\345\233\276\350\277\207\347\250\213.md" | 251 ++++++++++++ .../Mapping/config/euler_laser_2d.lua" | 64 ++++ .../Mapping/include/node_options.h" | 51 +++ .../launch/cartographer_laser.launch.py" | 63 ++++ .../Mapping/readme.md" | 53 +++ .../Navigation/launch/euler_nav2_launch.py" | 39 ++ .../Navigation/param/nav2_params.yaml" | 356 ++++++++++++++++++ .../Navigation/readme.md" | 39 ++ .../launch/display.launch.py" | 47 +++ .../euler_bot_description/readme.md" | 33 ++ .../description/euler_bot_description.urdf" | 109 ++++++ .../lidar.jpg" | Bin 0 -> 92992 bytes ...56\351\242\230\346\242\263\347\220\206.md" | 298 +++++++++++++++ .../lib/fdilink_ahrs/ahrs_driver_node | Bin 0 -> 900712 bytes .../fdilink_ahrs/lib/fdilink_ahrs/imu_tf_node | Bin 0 -> 737200 bytes .../package_run_dependencies/fdilink_ahrs | 1 + .../resource_index/packages/fdilink_ahrs | 0 .../parent_prefix_path/fdilink_ahrs | 1 + .../share/colcon-core/packages/fdilink_ahrs | 1 + .../cmake/fdilink_ahrsConfig-version.cmake | 14 + .../cmake/fdilink_ahrsConfig.cmake | 42 +++ .../environment/ament_prefix_path.dsv | 1 + .../environment/ament_prefix_path.sh | 4 + .../share/fdilink_ahrs/environment/path.dsv | 1 + .../share/fdilink_ahrs/environment/path.sh | 5 + .../fdilink_ahrs/hook/cmake_prefix_path.dsv | 1 + .../fdilink_ahrs/hook/cmake_prefix_path.sh | 3 + .../fdilink_ahrs/launch/ahrs_driver.launch.py | 36 ++ .../fdilink_ahrs/launch/imu_tf.launch.py | 18 + .../share/fdilink_ahrs/local_setup.bash | 46 +++ .../share/fdilink_ahrs/local_setup.dsv | 2 + .../share/fdilink_ahrs/local_setup.sh | 184 +++++++++ .../share/fdilink_ahrs/local_setup.zsh | 59 +++ .../share/fdilink_ahrs/package.dsv | 4 + .../share/fdilink_ahrs/package.sh | 87 +++++ .../share/fdilink_ahrs/package.xml | 27 ++ hi-slam/images/Mind Map.jpg | Bin 0 -> 111116 bytes hi-slam/images/image-20240827102427288.png | Bin 0 -> 68643 bytes hi-slam/images/image-20240827102935627.png | Bin 0 -> 20512 bytes hi-slam/images/image-20240827103404295.png | Bin 0 -> 31434 bytes hi-slam/images/image-20240827103432147.png | Bin 0 -> 31434 bytes hi-slam/images/image-20240827103535836.png | Bin 0 -> 31330 bytes hi-slam/odom_ekf.md | 205 ++++++++++ ...52\346\265\213\346\212\245\345\221\212.md" | 247 ++++++++++++ 82 files changed, 3196 insertions(+) create mode 100644 "hi-slam/Cartographer\345\256\211\350\243\205\346\225\231\347\250\213.md" create mode 100644 "hi-slam/Cartographer\345\273\272\345\233\276\350\277\207\347\250\213\344\273\213\347\273\215.md" create mode 100644 hi-slam/PID_change/PID.md create mode 100644 hi-slam/PID_change/image/image-20240810162250427.png create mode 100644 hi-slam/PID_change/image/image-20240810162410179.png create mode 100644 hi-slam/PID_change/image/image-20240810163823546.png create mode 100644 hi-slam/PID_change/image/image-20240810164455488.png create mode 100644 hi-slam/PID_change/image/image-20240810164937528.png create mode 100644 hi-slam/PID_change/image/image-20240810170152582.png create mode 100644 hi-slam/PID_change/image/image-20240810170343639.png create mode 100644 hi-slam/PID_change/image/image-20240814130927265.png create mode 100644 hi-slam/PID_change/image/image-20240814131020763.png create mode 100644 hi-slam/PID_change/image/image-20240814131022174.png create mode 100644 hi-slam/PID_change/image/image-20240814142126203.png create mode 100644 hi-slam/PID_change/image/image-20240814162730458.png create mode 100644 hi-slam/PID_change/image/image-20240814163540747.png create mode 100644 hi-slam/PID_change/image/image-20240814164248792.png create mode 100644 hi-slam/PID_change/image/image-20240814195148168.png create mode 100644 hi-slam/PID_change/image/image-20240815131303179.png create mode 100644 hi-slam/PID_change/image/image-20240815131305888.png create mode 100644 hi-slam/PID_change/image/image-20240815133719967.png create mode 100644 hi-slam/PID_change/image/image-20240815133749789.png create mode 100644 hi-slam/REP-105.md create mode 100644 hi-slam/ROS2_recode/ROS2.md create mode 100644 hi-slam/ROS2_recode/image-20240627193324303.png create mode 100644 hi-slam/ROS2_recode/image-20240627193420557.png create mode 100644 hi-slam/ROS2_recode/image-20240628121322590.png create mode 100644 "hi-slam/Single_LiDAR_Mapping/ROS2+\345\215\225\346\277\200\345\205\211\351\233\267\350\276\276\345\273\272\345\233\276.md" create mode 100644 hi-slam/Single_LiDAR_Mapping/eulercar_cartographer/CMakeLists.txt create mode 100644 hi-slam/Single_LiDAR_Mapping/eulercar_cartographer/config/fishbot_laser_2d.lua create mode 100644 hi-slam/Single_LiDAR_Mapping/eulercar_cartographer/launch/cartographer_pure_laser.launch.py create mode 100644 hi-slam/Single_LiDAR_Mapping/eulercar_cartographer/package.xml create mode 100644 hi-slam/Single_LiDAR_Mapping/image-20240831202405218.png create mode 100644 hi-slam/eulercar_mapping/images/d92db2f25582d385aa1f51958a079a8c.png create mode 100644 hi-slam/eulercar_mapping/images/image-20240826110644076.png create mode 100644 hi-slam/eulercar_mapping/images/image-20240826112043593.png create mode 100644 hi-slam/eulercar_mapping/images/image-20240826112204784.png create mode 100644 hi-slam/eulercar_mapping/images/image-20240826121123332.png create mode 100644 "hi-slam/eulercar_mapping/\346\265\267\351\270\245\346\264\276\345\273\272\345\233\276\350\277\207\347\250\213.md" create mode 100644 "hi-slam/eulercar_submit/\346\254\247\346\213\211\345\260\217\350\275\246\346\217\220\344\272\244\346\226\207\344\273\266/Mapping/config/euler_laser_2d.lua" create mode 100644 "hi-slam/eulercar_submit/\346\254\247\346\213\211\345\260\217\350\275\246\346\217\220\344\272\244\346\226\207\344\273\266/Mapping/include/node_options.h" create mode 100644 "hi-slam/eulercar_submit/\346\254\247\346\213\211\345\260\217\350\275\246\346\217\220\344\272\244\346\226\207\344\273\266/Mapping/launch/cartographer_laser.launch.py" create mode 100644 "hi-slam/eulercar_submit/\346\254\247\346\213\211\345\260\217\350\275\246\346\217\220\344\272\244\346\226\207\344\273\266/Mapping/readme.md" create mode 100644 "hi-slam/eulercar_submit/\346\254\247\346\213\211\345\260\217\350\275\246\346\217\220\344\272\244\346\226\207\344\273\266/Navigation/launch/euler_nav2_launch.py" create mode 100644 "hi-slam/eulercar_submit/\346\254\247\346\213\211\345\260\217\350\275\246\346\217\220\344\272\244\346\226\207\344\273\266/Navigation/param/nav2_params.yaml" create mode 100644 "hi-slam/eulercar_submit/\346\254\247\346\213\211\345\260\217\350\275\246\346\217\220\344\272\244\346\226\207\344\273\266/Navigation/readme.md" create mode 100644 "hi-slam/eulercar_submit/\346\254\247\346\213\211\345\260\217\350\275\246\346\217\220\344\272\244\346\226\207\344\273\266/euler_bot_description/launch/display.launch.py" create mode 100644 "hi-slam/eulercar_submit/\346\254\247\346\213\211\345\260\217\350\275\246\346\217\220\344\272\244\346\226\207\344\273\266/euler_bot_description/readme.md" create mode 100644 "hi-slam/eulercar_submit/\346\254\247\346\213\211\345\260\217\350\275\246\346\217\220\344\272\244\346\226\207\344\273\266/euler_bot_description/src/description/euler_bot_description.urdf" create mode 100644 "hi-slam/eulercar_submit/\346\254\247\346\213\211\345\260\217\350\275\246\346\217\220\344\272\244\346\226\207\344\273\266/lidar.jpg" create mode 100644 "hi-slam/eulercar_submit/\346\254\247\346\213\211\345\260\217\350\275\246\346\217\220\344\272\244\346\226\207\344\273\266/\351\227\256\351\242\230\346\242\263\347\220\206.md" create mode 100644 hi-slam/fdilink_ahrs/lib/fdilink_ahrs/ahrs_driver_node create mode 100644 hi-slam/fdilink_ahrs/lib/fdilink_ahrs/imu_tf_node create mode 100644 hi-slam/fdilink_ahrs/share/ament_index/resource_index/package_run_dependencies/fdilink_ahrs create mode 100644 hi-slam/fdilink_ahrs/share/ament_index/resource_index/packages/fdilink_ahrs create mode 100644 hi-slam/fdilink_ahrs/share/ament_index/resource_index/parent_prefix_path/fdilink_ahrs create mode 100644 hi-slam/fdilink_ahrs/share/colcon-core/packages/fdilink_ahrs create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/cmake/fdilink_ahrsConfig-version.cmake create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/cmake/fdilink_ahrsConfig.cmake create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/environment/ament_prefix_path.dsv create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/environment/ament_prefix_path.sh create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/environment/path.dsv create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/environment/path.sh create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/hook/cmake_prefix_path.dsv create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/hook/cmake_prefix_path.sh create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/launch/ahrs_driver.launch.py create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/launch/imu_tf.launch.py create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/local_setup.bash create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/local_setup.dsv create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/local_setup.sh create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/local_setup.zsh create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/package.dsv create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/package.sh create mode 100644 hi-slam/fdilink_ahrs/share/fdilink_ahrs/package.xml create mode 100644 hi-slam/images/Mind Map.jpg create mode 100644 hi-slam/images/image-20240827102427288.png create mode 100644 hi-slam/images/image-20240827102935627.png create mode 100644 hi-slam/images/image-20240827103404295.png create mode 100644 hi-slam/images/image-20240827103432147.png create mode 100644 hi-slam/images/image-20240827103535836.png create mode 100644 hi-slam/odom_ekf.md create mode 100644 "hi-slam/\351\241\271\347\233\256\350\207\252\346\265\213\346\212\245\345\221\212.md" diff --git "a/hi-slam/Cartographer\345\256\211\350\243\205\346\225\231\347\250\213.md" "b/hi-slam/Cartographer\345\256\211\350\243\205\346\225\231\347\250\213.md" new file mode 100644 index 00000000..b45a363e --- /dev/null +++ "b/hi-slam/Cartographer\345\256\211\350\243\205\346\225\231\347\250\213.md" @@ -0,0 +1,160 @@ +# Cartographer建图过程介绍 + +这里只给出源码安装方式,若简单apt安装请百度搜索、 + +## 1.源码安装 + +```sh +创建工作间 +mkdir ros2_ws +cd ros2_ws +mkdir src +cd src + +``` + +将下面的源码克隆到ros2_ws的src目录下 + +```sh +git clone https://github.com/ros2/cartographer.git -b ros2 +git clone https://github.com/ros2/cartographer_ros.git -b ros2 +``` + +## 2.依赖安装 + +运行如下命令进行依赖的安装 + +```sh +rosdepc install -r --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y +``` + +> 如果依赖安装失败或没有rosdepc,使用如下命令先安装rosdepc + +```sh +wget http://fishros.com/install -O fishros && . fishros +``` + +选择一键配置rosdep即可 + +> rosdepc 是小鱼制作的国内版rosdep,是一个用于安装依赖的工具。该工具的安装可以采用[一键安装](https://fishros.org.cn/forum/topic/20)进行,选项编号为3。安装完成后运行一次rodepc update即可使用。 + +## 3.编译 + +```sh +colcon build --packages-up-to cartographer_ros +``` + +> –packages-up-to,意思是其所有依赖后再编译该包 + +## 4.测试安装是否成功 + +```sh +ros2 pkg list | grep cartographer +``` + +能看到下面结果即可 + +```sh +cartographer_ros +cartographer_ros_msgs +``` + +## 5.Cartographer参数配置 + +### 5.1前端参数 + +#### 文件:trajectory_builder_2d + +路径:src/cartographer/configuration_files/trajectory_builder_2d.lua + +```lua + -- 是否使用IMU数据 + use_imu_data = true, + -- 深度数据最小范围 + min_range = 0., + -- 深度数据最大范围 + max_range = 30., + -- 传感器数据超出有效范围最大值时,按此值来处理 + missing_data_ray_length = 5., + -- 是否使用实时回环检测来进行前端的扫描匹配 + use_online_correlative_scan_matching = true + -- 运动过滤,检测运动变化,避免机器人静止时插入数据 + motion_filter.max_angle_radians +``` + +### 5.2后端参数 + +#### 文件:pose_graph.lua + +路径:src/cartographer/configuration_files/pose_graph.lua + +```lua +--Fast csm的最低分数,高于此分数才进行优化。 +constraint_builder.min_score = 0.65 +--全局定位最小分数,低于此分数则认为目前全局定位不准确 +constraint_builder.global_localization_min_score = 0.7 +``` + +### 5.3Carotgrapher_ROS参数配置 + +#### 文件:backpack_2d.lua + +路径:src/cartographer_ros/cartographer_ros/configuration_files/backpack_2d.lua + +```lua +include "map_builder.lua" +include "trajectory_builder.lua" + +options = { + map_builder = MAP_BUILDER, + trajectory_builder = TRAJECTORY_BUILDER, + -- 用来发布子地图的ROS坐标系ID,位姿的父坐标系,通常是map。 + map_frame = "map", + -- SLAM算法跟随的坐标系ID + tracking_frame = "base_link", + -- 将发布map到published_frame之间的tf + published_frame = "base_link", + -- 位于“published_frame ”和“map_frame”之间,用来发布本地SLAM结果(非闭环),通常是“odom” + odom_frame = "odom", + -- 是否提供里程计 + provide_odom_frame = true, + -- 只发布二维位姿态(不包含俯仰角) + publish_frame_projected_to_2d = false, + -- 是否使用里程计数据 + use_odometry = false, + -- 是否使用GPS定位 + use_nav_sat = false, + -- 是否使用路标 + use_landmarks = false, + -- 订阅的laser scan topics的个数 + num_laser_scans = 0, + -- 订阅多回波技术laser scan topics的个数 + num_multi_echo_laser_scans = 1, + -- 分割雷达数据的个数 + num_subdivisions_per_laser_scan = 10, + -- 订阅的点云topics的个数 + num_point_clouds = 0, + -- 使用tf2查找变换的超时秒数 + lookup_transform_timeout_sec = 0.2, + -- 发布submap的周期间隔 + submap_publish_period_sec = 0.3, + -- 发布姿态的周期间隔 + pose_publish_period_sec = 5e-3, + -- 轨迹发布周期间隔 + trajectory_publish_period_sec = 30e-3, + -- 测距仪的采样率 + rangefinder_sampling_ratio = 1., + --里程记数据采样率 + odometry_sampling_ratio = 1., + -- 固定的frame位姿采样率 + fixed_frame_pose_sampling_ratio = 1., + -- IMU数据采样率 + imu_sampling_ratio = 1., + -- 路标采样率 + landmarks_sampling_ratio = 1., +} +``` + +参考文章: + +https://blog.csdn.net/qq_27865227/article/details/132525447?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522172481287416800225526597%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=172481287416800225526597&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-132525447-null-null.nonecase&utm_term=Cartographer&spm=1018.2226.3001.4450 \ No newline at end of file diff --git "a/hi-slam/Cartographer\345\273\272\345\233\276\350\277\207\347\250\213\344\273\213\347\273\215.md" "b/hi-slam/Cartographer\345\273\272\345\233\276\350\277\207\347\250\213\344\273\213\347\273\215.md" new file mode 100644 index 00000000..b45a363e --- /dev/null +++ "b/hi-slam/Cartographer\345\273\272\345\233\276\350\277\207\347\250\213\344\273\213\347\273\215.md" @@ -0,0 +1,160 @@ +# Cartographer建图过程介绍 + +这里只给出源码安装方式,若简单apt安装请百度搜索、 + +## 1.源码安装 + +```sh +创建工作间 +mkdir ros2_ws +cd ros2_ws +mkdir src +cd src + +``` + +将下面的源码克隆到ros2_ws的src目录下 + +```sh +git clone https://github.com/ros2/cartographer.git -b ros2 +git clone https://github.com/ros2/cartographer_ros.git -b ros2 +``` + +## 2.依赖安装 + +运行如下命令进行依赖的安装 + +```sh +rosdepc install -r --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y +``` + +> 如果依赖安装失败或没有rosdepc,使用如下命令先安装rosdepc + +```sh +wget http://fishros.com/install -O fishros && . fishros +``` + +选择一键配置rosdep即可 + +> rosdepc 是小鱼制作的国内版rosdep,是一个用于安装依赖的工具。该工具的安装可以采用[一键安装](https://fishros.org.cn/forum/topic/20)进行,选项编号为3。安装完成后运行一次rodepc update即可使用。 + +## 3.编译 + +```sh +colcon build --packages-up-to cartographer_ros +``` + +> –packages-up-to,意思是其所有依赖后再编译该包 + +## 4.测试安装是否成功 + +```sh +ros2 pkg list | grep cartographer +``` + +能看到下面结果即可 + +```sh +cartographer_ros +cartographer_ros_msgs +``` + +## 5.Cartographer参数配置 + +### 5.1前端参数 + +#### 文件:trajectory_builder_2d + +路径:src/cartographer/configuration_files/trajectory_builder_2d.lua + +```lua + -- 是否使用IMU数据 + use_imu_data = true, + -- 深度数据最小范围 + min_range = 0., + -- 深度数据最大范围 + max_range = 30., + -- 传感器数据超出有效范围最大值时,按此值来处理 + missing_data_ray_length = 5., + -- 是否使用实时回环检测来进行前端的扫描匹配 + use_online_correlative_scan_matching = true + -- 运动过滤,检测运动变化,避免机器人静止时插入数据 + motion_filter.max_angle_radians +``` + +### 5.2后端参数 + +#### 文件:pose_graph.lua + +路径:src/cartographer/configuration_files/pose_graph.lua + +```lua +--Fast csm的最低分数,高于此分数才进行优化。 +constraint_builder.min_score = 0.65 +--全局定位最小分数,低于此分数则认为目前全局定位不准确 +constraint_builder.global_localization_min_score = 0.7 +``` + +### 5.3Carotgrapher_ROS参数配置 + +#### 文件:backpack_2d.lua + +路径:src/cartographer_ros/cartographer_ros/configuration_files/backpack_2d.lua + +```lua +include "map_builder.lua" +include "trajectory_builder.lua" + +options = { + map_builder = MAP_BUILDER, + trajectory_builder = TRAJECTORY_BUILDER, + -- 用来发布子地图的ROS坐标系ID,位姿的父坐标系,通常是map。 + map_frame = "map", + -- SLAM算法跟随的坐标系ID + tracking_frame = "base_link", + -- 将发布map到published_frame之间的tf + published_frame = "base_link", + -- 位于“published_frame ”和“map_frame”之间,用来发布本地SLAM结果(非闭环),通常是“odom” + odom_frame = "odom", + -- 是否提供里程计 + provide_odom_frame = true, + -- 只发布二维位姿态(不包含俯仰角) + publish_frame_projected_to_2d = false, + -- 是否使用里程计数据 + use_odometry = false, + -- 是否使用GPS定位 + use_nav_sat = false, + -- 是否使用路标 + use_landmarks = false, + -- 订阅的laser scan topics的个数 + num_laser_scans = 0, + -- 订阅多回波技术laser scan topics的个数 + num_multi_echo_laser_scans = 1, + -- 分割雷达数据的个数 + num_subdivisions_per_laser_scan = 10, + -- 订阅的点云topics的个数 + num_point_clouds = 0, + -- 使用tf2查找变换的超时秒数 + lookup_transform_timeout_sec = 0.2, + -- 发布submap的周期间隔 + submap_publish_period_sec = 0.3, + -- 发布姿态的周期间隔 + pose_publish_period_sec = 5e-3, + -- 轨迹发布周期间隔 + trajectory_publish_period_sec = 30e-3, + -- 测距仪的采样率 + rangefinder_sampling_ratio = 1., + --里程记数据采样率 + odometry_sampling_ratio = 1., + -- 固定的frame位姿采样率 + fixed_frame_pose_sampling_ratio = 1., + -- IMU数据采样率 + imu_sampling_ratio = 1., + -- 路标采样率 + landmarks_sampling_ratio = 1., +} +``` + +参考文章: + +https://blog.csdn.net/qq_27865227/article/details/132525447?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522172481287416800225526597%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=172481287416800225526597&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-132525447-null-null.nonecase&utm_term=Cartographer&spm=1018.2226.3001.4450 \ No newline at end of file diff --git a/hi-slam/PID_change/PID.md b/hi-slam/PID_change/PID.md new file mode 100644 index 00000000..7e82c24b --- /dev/null +++ b/hi-slam/PID_change/PID.md @@ -0,0 +1,56 @@ +# 小车底盘代码修改 + +## 下载代码 + +```shell +git clone https://gitee.com/HiEuler/eulercar_controller.git +``` + +在`HiSpark Studio`中打开工程,此时工程中会有很多报错,将`c_cpp_properties.json`内的`compilerPath`更改到自己电脑中`HiSpark Studio`安装路径下即可解决 + +





+
+打开`./user/generatecode/system_init.c`,定义串口0中断服务函数,修改`UART0_Init()`,设置串口0接收模式为中断接收,接收`fifo`水线设置为1,使能串口接收中断
+
+
+
+打开`./user/eulercar_control.c`,定义串口调参相关变量、串口0下发数据代码
+
+

+
+将串口0数据发送函数添加到定时器0中断内
+
+
+
+串口0接收解析函数,转速执行函数放在`while(1)`中,将按键功能更改为调整目标速度
+
+
+
+改动后的代码工程下载链接:
+
+>https://github.com/codingnoobwyh/Eulercar_PID_Params_Tuning.git
+
+# Qt上位机
+
+使用欧拉小车上排针引出的串口0连接电脑,在Qt上位机中打开对应串口,波特率选择115200,使用按键调整预期速度。按下`开始转动`按键,小车电机则开始转动;按下`停止转动`按键,电机停止转动,PID积分项清零。输入框中输入对应参数按下`设定参数`可以调整PID参数
+
+

+
+
diff --git a/hi-slam/PID_change/image/image-20240810162250427.png b/hi-slam/PID_change/image/image-20240810162250427.png
new file mode 100644
index 0000000000000000000000000000000000000000..2ddd05d94d14f147612346fd86f9a6f9f39fd58b
GIT binary patch
literal 37150
zcma%iWmH^Um*y?p-63dz0Kr{?1_(ieyGw9)E1ckj;O_436+E~Gm*B2J3LW0Bzh2$5
zW>(Mqt94f0TXlDx+WWEdO-Vr-9fbr1004BEPal;500s*HKw3yJuPaik0eb*I3CMgD
zQ}xI=UiH;gxm^``CPbEz6AgR|{sM&4HgP@@6yr}TuLfvBZzf;P 25a8i$nl~g#cZ>FnG2@D)IC$NTPfWHgaDnftPU>&dK>|rL`sJZPU{G
zx?!*KaRe$%!|Rb5Ps)TUe9^%u08GjkA $Q2@#%bD
z4%uzL5c$7ZfKW?jAi8)BQPT?}M5q)2Oy?ji=_CM71%<2#0~l4BUc} H_HjmiM
zJOIEEWV~Cmgr~WXqWqfy>w;K6{`)ZQhWV7ph)89xyQou##4!~HRF{=BmdW^&
zOiF&Oj_1RKa*9w+#a@5>@gnifc|#Bs{Y4fA+$cl4KDX~eVy-l!WL?^oh4(|`!_~f{
z=L0vo%?B9!_pw+-%+Z^0f1jjx0DB?o)f3b?_d?&JN|r=?DD%*w@8nooKz*U#x#yo+
zMa=E=*)cK#^|8%jku=RyT!igtE+%e6t1h)DN6F1zg}D1-<|Id$hY#Q1zPitOv8o73
zc-h
5qA#
zeBf|WwWUzaZ-p$4$H%6?Jf#O{>SB;SW>PF1n2;C6X
#Gy&|GVt2|7WH$a~H3n@MUquW#7}e
zW&{@b@P&d#?N3DDOz(YNPIlllN|!)rz6QUXEB=GXH+6^3*smBjS#ynwA4GU66k(`V
zi*iQ%-L<$;iJweLACi$AS_ODlXA1ZXy5YGiet2&zZ
DkX^qlJUR)_
z^Nazn)wx^_D?$MtsOP-lD_qW|Mq(11uLneL)epHG6Qw~oPw-FX7K~ggRRg-&5-(ye
zPiQ>;lVg-Ts_A9Ydj2(sRU@+*tl44&M5hK&^X?h
2^awOt&|o2)O7Uoj>a2(o-rPPQGx9b
zsVX+ENGuQFKF|PrepL96f8r+R*ikT1mv$jJro604WCLwoOjz5=3tA7tm_TG4!1&tHi`Fx@
zb6ep49mT#)9i%*6#MNxp`==Fc(kyWOjYa3_W?iCzBjxI($VIwv28K7aGAy|VpL5s|
zXhJUlE=L{W|2>Bs)3(N