Ububtu 20.04.6 LTS 安装ROS2和Gazebo
记录本人在Ububtu 20.04.6 LTS系统下安装ROS2和Gazebo的步骤,方便需要时查阅
安装ROS2 Foxy
获取签名
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
添加软件源
以下指令二选一执行即可
官方给出的软件源地址
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
替换为国内镜像,速度更快
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu/ $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
安装
sudo apt install ros-foxy-desktop python3-argcomplete
安装过程中,若出现如下提示,则使用aptitude指令安装,并修复依赖
下列软件包有未满足的依赖关系:
ros-foxy-desktop :
依赖: ros-foxy-depthimage-to-laserscan 但是它将不会被安装
依赖: ros-foxy-image-tools 但是它将不会被安装
依赖: ros-foxy-intra-process-demo 但是它将不会被安装
依赖: ros-foxy-joy 但是它将不会被安装
依赖: ros-foxy-pcl-conversions 但是它将不会被安装
依赖: ros-foxy-rqt-common-plugins 但是它将不会被安装
依赖: ros-foxy-teleop-twist-joy 但是它将不会被安装
配置环境(可选)
每次运行ros2指令时,需要先在该终端里执行source /opt/ros/foxy/setup.bash,切换终端后失效。
若执行以下语句,后续可直接使用ros2指令。
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
测试安装-控制海龟移动
终端输入ros2 run turtlesim turtlesim_node,会出现一个有海龟的窗口。
在另一个终端输入ros2 run turtlesim turtle_teleop_key,按照提示,可以使用键盘控制海龟移动
安装Gazebo
安装
sudo apt install gazebo11
sudo apt install ros-foxy-gazebo-ros-pkgs
建议把其他的包也安装了
sudo apt install ros-foxy-gazebo-*
安装完成后,/opt/ros/foxy/share目录下将有若干gazebo相关文件夹

测试安装
终端输入
gazebo --verbose /opt/ros/foxy/share/gazebo_plugins/worlds/gazebo_ros_diff_drive_demo.world
另一个终端
ros2 topic pub /demo/cmd_demo geometry_msgs/Twist '{linear: {x: 1.0}}' -1
执行效果:小车模型沿直线移动
注:在虚拟机中运行Gazebo,若模型透明,可尝试如下两种解决方法:
- 使用如下命令,将
export SVGA_VGPU10=0添加至用户home目录下的.bashrc文件末尾
echo "export SVGA_VGPU10=0" >> ~/.bashrc
- 将World>Scene>Property>shadows改为False,如下图
![]()
参考:


浙公网安备 33010602011771号