news 2026/6/9 18:46:31

如何分析复现一个新的Ros工作区间源码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何分析复现一个新的Ros工作区间源码

1、清理现有编译文件

1、清楚原先编译好的文件:
进入到工作区间,利用rm -rf build devel来删除
2、集合src下的.CMakeList文件内容,补充安装功能包:
sudo apt update sudo apt install ros-noetic-gmapping \ ros-noetic-map-server \ ros-noetic-navigation \ ros-noetic-octomap-ros \ ros-noetic-octomap-server \ ros-noetic-gazebo-ros-control \ ros-noetic-ros-control \ ros-noetic-ros-controllers \ ros-noetic-joint-state-publisher-gui \ libgazebo11-dev
3、重新编译catkin_make
4、如果CMake出现错误:
先删除掉原先的.catkin_workspace
然后重新初始化空间catkin_init_workspace

2、整理工作区间

1、如果能够编译成功,说明文件整体架构没问题,但是要注意:
1>工作区间的目录是否包含中文,一定要改成英文,因为对于Gazebo的模型,中文容易加载不出来,因此,这是第一个
2>工作区间目录改到主目录~/下面,方面操作
3>修改目录后,原先编译的再编译就会出错,需要删除build和devel重新编译,然后source devel/setup.bash刷新环境

3、整理环境变量

1、如果涉及到Gazebo仿真,那么对于模型的位置就要修改
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:~/simulation_ws/src/robot_simulation/models
可以在终端运行(生效一次),也可以放到~/.bashrc里面(永久生效,打开终端自动生效)

4、给模型穿衣服(贴图片)

1、找好图片文件放到src/config文件下
2、urdf模型里添加标签:

<gazebo reference="base_link">

<material>Gazebo/TheNumber</material>

</gazebo>
3、配置material材质文件:

# 进入功能包目录
cd ~/simulation_ws/src/robot_simulation

# 创建存放脚本和图片的标准文件夹
mkdir -p media/materials/scripts
mkdir -p media/materials/textures
# 复制图片
cp config/TheNumber.png media/materials/textures/
创建文件来定义材质:
gedit media/materials/scripts/TheNumber.material
material Gazebo/TheNumber { technique { pass { texture_unit { texture TheNumber.png } } } }
4、配置src下的package.xml文件,让ros找得到
<export>
<gazebo_ros gazebo_media_path="${prefix}"/>
</export>
5、重新编译并启动(可以不用删除之前编译的):

# 1. 关闭之前的终端
# 2. 重新编译一下(虽然改的是配置,但重新 source 比较稳妥)
cd ~/simulation_ws
catkin_make
source devel/setup.bash

# 3. 再次启动
roslaunch robot_simulation work2.launch

5、按键控制cmd_vel

1、安装功能包:
sudo apt install ros-noetic-teleop-twist-keyboard
rosrun teleop_twist_keyboard teleop_twist_keyboard.py运行节点
注意:麦克阿姆轮是可以通过切换大写键来横向或者斜向移动
2、打开RVIZ实时查看:
rosrun rviz rviz -d ~/simulation_ws/src/robot_simulation/config/2D_lidar_car.rviz
-d指的是加载现有.rviz文件参数
3、rosbag进行录制相关话题数据
cd ~/simulation_ws # 建议在工作空间下录制,方便找
rosbag record /scan /odom /tf /tf_static /cmd_vel
之后crtl+c停止会自动保存.bag文件,可以通过stat加文件名来查看信息

6、Gmapping建图

1、不需要开启Gazebo仿真,直接运行roscore
2、第二个终端:
rosparam set use_sim_time true,启动仿真时间,不用真实时间,同一终端

# 记得先 source
source ~/simulation_ws/devel/setup.bash

# 启动建图算法
roslaunch robot_simulation gmapping.launch
3、开启第三个终端:
rosrun rviz rviz -d ~/simulation_ws/src/robot_simulation/config/2D_lidar_car.rviz
4、回放数据:

cd ~/simulation_ws

# 播放数据,--clock 参数表示发布模拟时钟
rosbag play --clock 2025-12-27-08-42-34.bag
5、保存地图:

# 先进入你想保存地图的目录(通常是 map 文件夹)
cd ~/simulation_ws/src/robot_simulation/map/

# 运行地图保存命令(文件名可以自己取,比如 my_final_map)
rosrun map_server map_saver -f my_final_map
最终会得到:

  • my_final_map.pgm(图片文件)

  • my_final_map.yaml(配置文件)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 11:29:01

GLM-Z1-32B震撼发布:开源大模型推理能力媲美GPT-4o?

GLM-Z1-32B震撼发布&#xff1a;开源大模型推理能力媲美GPT-4o&#xff1f; 【免费下载链接】GLM-Z1-32B-0414 项目地址: https://ai.gitcode.com/zai-org/GLM-Z1-32B-0414 导语&#xff1a;GLM系列再添新成员&#xff0c;320亿参数的开源大模型GLM-Z1-32B-0414正式发布…

作者头像 李华
网站建设 2026/6/6 11:22:57

3步掌握GKD订阅管理:告别混乱配置的终极指南

3步掌握GKD订阅管理&#xff1a;告别混乱配置的终极指南 【免费下载链接】GKD_THS_List GKD第三方订阅收录名单 项目地址: https://gitcode.com/gh_mirrors/gk/GKD_THS_List GKD订阅管理工具是一个专门为GKD用户设计的订阅资源聚合平台&#xff0c;通过智能化的订阅管理…

作者头像 李华
网站建设 2026/6/9 3:45:18

QMC音频格式转换工具:3步实现QQ音乐加密文件自由播放

QMC音频格式转换工具&#xff1a;3步实现QQ音乐加密文件自由播放 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 还在为QQ音乐的加密音频无法在其他设备上播放而烦恼吗&…

作者头像 李华
网站建设 2026/6/8 0:19:09

AssetRipper终极指南:彻底解决Unity资源提取难题的利器

AssetRipper终极指南&#xff1a;彻底解决Unity资源提取难题的利器 【免费下载链接】AssetRipper GUI Application to work with engine assets, asset bundles, and serialized files 项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper 你是否曾为Unity项…

作者头像 李华
网站建设 2026/6/6 15:59:37

初学者避坑指南:STM32CubeMX安装包常见误区解析

STM32CubeMX 安装翻车实录&#xff1a;新手最容易踩的5个坑&#xff0c;你中了几个&#xff1f;最近带几个实习生入门STM32开发&#xff0c;发现一个惊人“规律”&#xff1a;还没开始写第一行代码&#xff0c;就已经被环境问题卡住三天了。最常见的一幕是——他们兴冲冲地打开…

作者头像 李华
网站建设 2026/6/5 5:05:55

Jamba推理3B:30亿参数玩转256K超长上下文

AI21 Labs推出全新轻量级大语言模型Jamba Reasoning 3B&#xff0c;以30亿参数实现256K超长上下文处理能力&#xff0c;重新定义了小型语言模型的性能边界。 【免费下载链接】AI21-Jamba-Reasoning-3B 项目地址: https://ai.gitcode.com/hf_mirrors/ai21labs/AI21-Jamba-Rea…

作者头像 李华