虚拟机软件
VM软件下载地址链接
ubuntu镜像文件地址链接
注意: 下载arm架构镜像文件
中文
设置里面语言,改为中文,要重新启动。
环境配置
存储空间默认20G,需要扩容。扩容后的空间为未分配空间,需要进行分配。
- 首先分配到逻辑卷中,安装Gparted:
sudo apt-get update sudo apt-get install gparted
- 查看所有块设备
lsblk
,查看卷信息vgdisplay
,看有没有未分配空间 - 在原有基础上增加49G
lvextend -L +49G /dev/ubuntu-vg/ubuntu-lv
- 调整大小
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
共享文件夹
- 查看共享文件夹是否创建成功
vmware-hgfsclient
若创建成功,则会显示出已经创建的文件夹名称 - 手动挂载共享文件夹
// 创建挂载目录
sudo mkdir /mnt/hgfs/d
// 挂载
sudo mount -t fuse.vmhgfs-fuse .host:GitHub ~/11/ -o allow_other
sudo mount -t fuse.vmhgfs-fuse .host:/D /mnt/hgfs/d/ -o allow_other
// 卸载
sudo umount -a fuse.vmhgfs-fuse .host:/D /mnt/hgfs/d/
.host:/D:共享名称,vmware-hgfsclient查看得到,/mnt/hgfs/d/:挂载点
- 自动挂载共享文件夹
系统启动后自动挂载文件夹
// 在文件最后加入
.host:/D /mnt/hgfs/d/ fuse.vmhgfs-fuse allow_other 0 0
安装Ros
一键安装:wget http://fishros.com/install -O fishros && . fishros
检查:
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
安装gazebo
官网:安装步骤
遇到问题:
启动报错:解决办法
QT_QPA_PLATFORM=xcb gz sim -v 4 shapes.sdf
禁止使用3D加速
Gazebo和rviz2联合仿真实验
YouTube视频链接
实验准备
安装好Gazebo(版本:Harmonic)、Ros2(版本:Jazzy)、Ubuntu(版本:24.04)
安装package
此外还需要安装以下package:
sudo apt install ros-jazzy-ros2-control
sudo apt install ros-jazzy-ros2-controllers
sudo apt install ros-jazzy-ros-gz
sudo apt install ros-jazzy-gz-ros2-control
sudo apt install ros-jazzy-joy*
sudo apt install ros-jazzy-joint-state-publisher
代码准备
链接
见附件
ros_gz_bridge GitHub page:链接
代码执行
colcon build
source install/setup.bash
- 窗口一:
ros2 launch fws_robot_sim fws_robot_spawn.launch.py
- 窗口二:
ros2 launch velocity_pub four_ws_control.launch
实现效果
手柄控制无人车运动。
GPT总结:
压缩包解压后包含多个目录和文件,主要涉及三个主要组件:fws_robot_description
、fws_robot_sim
和 velocity_pub
。以下是各组件及其文件的简要总结:
1. fws_robot_description
- 配置文件与构建文件
package.xml
: 包的元数据文件,定义了依赖关系和包信息。CMakeLists.txt
: 用于ROS构建系统的CMake配置文件。
- 配置文件
config/fws_robot_config.rviz
: RViz配置文件,设置RViz可视化工具的显示配置。config/fws_robot_sim.yaml
: 仿真相关的配置文件。
- 机器人模型文件
gazebo/fws_robot.gazebo.xacro
: Gazebo仿真环境中的机器人模型描述文件。robots/fws_robot.urdf.xacro
: 机器人模型的URDF描述文件,包含Xacro格式的宏定义。robots/parts/
: 包含机器人各部分(底盘、激光雷达、悬挂、轮子等)的Xacro文件,分别描述了各个部分的模型和仿真配置。
- 网格文件
meshes/DAE/
: 包含多个网格模型文件(.dae格式),用于3D可视化和仿真。这些网格文件包括底盘、传感器、轮子等部件的模型。
2. fws_robot_sim
- 配置文件与构建文件
CMakeLists.txt
: ROS 2的CMake配置文件。package.xml
: 包的元数据文件,定义了依赖关系和包信息。
- 启动文件
launch/fws_robot_spawn.launch.py
: ROS 2的启动文件,用于在仿真环境中生成机器人。
- 仿真世界文件
worlds/fws_robot_world.sdf
: SDF格式的仿真世界文件,用于定义仿真环境中的世界场景。
3. velocity_pub
- 配置文件与构建文件
CMakeLists.txt
: ROS 2的CMake配置文件。package.xml
: 包的元数据文件,定义了依赖关系和包信息。
- 启动文件
launch/four_ws_control.launch.py
: 用于启动四轮转向控制的ROS 2启动文件。
- 控制脚本
scripts/robot_control.py
: 实现了机器人运动控制逻辑的Python脚本。
总结
压缩包中的文件主要用于构建和仿真一个四轮转向机器人(fws_robot
)。fws_robot_description
包含了机器人模型和相关的配置文件,fws_robot_sim
提供了在Gazebo仿真环境中生成机器人的文件,velocity_pub
负责实现和发布机器人的运动控制逻辑。这些文件共同组成了一个完整的ROS 2项目,涵盖了从机器人模型定义到仿真控制的各个方面。