![]() |
mick_robot repositoryautonomous-car autonomous-vehicles mick-robot mickrobot_bringup mickrobot_description openslam_gmapping slam_gmapping_sim navigation_sim imu_100d4_node keyboard oradar_lidar |
Repository Summary
Description | 基于ROS2的移动机器人导航开源项目 |
Checkout URI | https://github.com/rupingcen/mick_robot.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-08-11 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | autonomous-car autonomous-vehicles mick-robot |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
mickrobot_bringup | 3.0.1 |
mickrobot_description | 0.0.0 |
openslam_gmapping | 0.1.2 |
slam_gmapping_sim | 0.0.0 |
navigation_sim | 0.0.0 |
imu_100d4_node | 0.0.0 |
keyboard | 0.0.0 |
oradar_lidar | 0.0.0 |
README
mick_robot
mick_robot 是一个开源的自主导航小车项目名称,使用四轮差速小车和32线3D激光雷达作为传感器,2D导航框架是基于move_base进行修改,主要面向室内环境。3D导航框架对autoware代码就行修改和裁剪得到,面向室外环境。目前支持麦克纳姆轮和四轮差速底盘,该开源项目从机械装配部分开始,分享小车底层的嵌入式控制,上层的建图和导航部分,最终实现A点到B的自主导航。 当前master分支代码基于ROS2实现,分支ROS1为早期版本。更新说明
使用该导航代码需要自备一台实验小车,如有自行搭建小车底盘的想法可以参考我们另外一个开源项目: mick_robot_chassis ,更多的信息可以参考博客-熊猫飞天
mick_robot 包含移动机器人定位和导航部分算法开发
mick_robot_chasiss 包含移动机器人底盘的开发(机械设计/底层的嵌入式控制/PCB设计)
代码目录说明
- mick_bringup : 为麦克纳姆轮和四轮差速ROS底盘的ROS节点
- mick_description : 存放模型文件和URDF文件
- mick_navigation: move base导航配置文件
# 1 Gazebo仿真环境下运行小车
1.1 启动Gazebo仿真环境
安装gazebo环境运行的依赖包
sudo apt install ros-humble-gazebo-ros-pkgs ros-humble-gazebo-plugins
启动gazebo仿真节点
ros2 launch mickrobot_description gazebo.launch.py
启动后节点将发布以下话题
/camera_sensor/camera_info
/camera_sensor/image_raw
/cmd_vel
/imu
/joint_states
/odom
/parameter_events
/performance_metrics
/robot_description
/rosout
/scan
/sensors/gazebo_ros_gps/vel
/sensors/gps
/tf
/tf_static
1.2 在Gazebo仿真环境中启动导航测试程序
注:需要将mickrobot_description/urdf/mickrobot_stl.urdf文件中的3D 模型的路径修改为自己电脑上文件存放路径
由于ROS2环境下Fast DDS与nav2的兼容性不是很好,需要修改默认dds为 Cyclone DDS。 首先,安装Cyclone DDS
sudo apt install ros-humble-rmw-cyclonedds-cpp
配置环境变量使ROS2 使用Cyclone DDS来替代默认的 DDS。
可以在 .bahsrc 文件中添加以下行:export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp 。
step1 建图(如果不更换world,则不需要建图)
1.使用gmapping算法建图
ros2 launch slam_gmapping_sim slam_gmapping.launch.py
2.按键控制小车移动扫图
新建一个终端,利用键盘控制节点控制小车,在目录 sensor_interface目录下有键盘控制节点 keyboard,启动该节点利用键盘方向件以及 w x a d s 按键 分别控制小车前、后、左、右、停止。
ros2 run keyboard keyboard
3.保存地图
ros2 run nav2_map_server map_saver_cli -f ~/map_name
step2 导航
1.启动gazebo仿真环境
ros2 launch mickrobot_description gazebo.launch.py
3.启动导航仿真
File truncated at 100 lines see the full file