news 2026/4/23 3:55:49

如何分析复现一个新的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/4/16 22:35:23

手机号查QQ完整指南:3分钟掌握账号关联查询技巧

手机号查QQ完整指南&#xff1a;3分钟掌握账号关联查询技巧 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾经因为忘记绑定的QQ号而苦恼&#xff1f;或者需要快速验证手机号是否关联了QQ账号&#xff1f;别担心&#xff0c;…

作者头像 李华
网站建设 2026/4/18 22:07:51

UAssetGUI:解锁Unreal Engine资产编辑的终极可视化方案

UAssetGUI&#xff1a;解锁Unreal Engine资产编辑的终极可视化方案 【免费下载链接】UAssetGUI A tool designed for low-level examination and modification of Unreal Engine 4 game assets by hand. 项目地址: https://gitcode.com/gh_mirrors/ua/UAssetGUI 在Unrea…

作者头像 李华
网站建设 2026/4/23 12:33:11

终极指南:如何用Nucleus Co-Op轻松实现PC游戏分屏多人体验

终极指南&#xff1a;如何用Nucleus Co-Op轻松实现PC游戏分屏多人体验 【免费下载链接】nucleuscoop Starts multiple instances of a game for split-screen multiplayer gaming! 项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop 还在为单机游戏无法本地多人…

作者头像 李华
网站建设 2026/4/23 8:50:18

CogVideoX1.5重磅发布:10秒超高清视频一键生成!

CogVideoX1.5重磅发布&#xff1a;10秒超高清视频一键生成&#xff01; 【免费下载链接】CogVideoX1.5-5B-SAT 项目地址: https://ai.gitcode.com/zai-org/CogVideoX1.5-5B-SAT 导语&#xff1a;CogVideoX1.5开源视频生成模型正式发布&#xff0c;带来长达10秒的视频生…

作者头像 李华
网站建设 2026/4/9 10:45:52

猫抓cat-catch实战应用:从基础配置到高级功能

猫抓cat-catch实战应用&#xff1a;从基础配置到高级功能 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为视频资源嗅探的各种问题困扰吗&#xff1f;本文将带你全面掌握猫抓扩展的实战应用技巧…

作者头像 李华
网站建设 2026/4/23 9:56:55

IBM Granite-4.0:15万亿token训练的多语言AI模型

IBM Granite-4.0&#xff1a;15万亿token训练的多语言AI模型 【免费下载链接】granite-4.0-micro-base 项目地址: https://ai.gitcode.com/hf_mirrors/ibm-granite/granite-4.0-micro-base IBM最新发布的Granite-4.0系列大语言模型&#xff0c;以15万亿token的训练规模…

作者头像 李华