Hello,大家好!最近由于课题需要开始摸索ros+gazebo内容,主要做多无人机的协同仿真,准备写成一个系列,想要学习的朋友可以订阅我的频道。

我的电脑配置:ubuntu20.04
目标安装:ROS noetic版本+gazebo11

好的,下面让我们一起开始吧!

先用几句话介绍一下,首先,gazebo 是仿真器,但本身跟我们之前学的solidworks之类的软件不同,它不能直接建立三维模型,我们只能在里面用工具搭建仿真环境,模型使用urdf格式文件导入的,我们做的是编写launch文件启动gazebo仿真。而ROS更多的是消息的发布和订阅。

安装ROS noetic版本+gazebo11

1、更新软件包列表

sudo apt-get update

2、安装ROS (noetic版本)常见地,选择全部安装

sudo apt-get install ros-noetic-desktop-full

3、初始化reodep

sudo rosdep init
rosdep update

这块容易出问题,

  • 第一个问题:sudo:rosdep:command not found
    解决方法:安装这个包:sudo apt-get install python-rosdep
  • 第二个问题:ERROR:cannot download default sources list from https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Websitemay be down.
    解决方法:https://blog.csdn.net/qq_17685565/article/details/105741864

4、设置环境变量,将ROS添加到bash会话中:

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

5、验证ros是否安装成功

分别打开三个终端输入

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

运行roscore的时候可能会出现找不到defusedxml的问题,这可能是你的python链接到python3.7上,要想正确运行ros就得链接到python2.7上,执行如下步骤,问题解决。
查看软连接:

ls -n /usr/bin/python

删除软连接:

sudo rm -rf /usr/bin/python

重新连接到python2.7上:

sudo ln -s /usr/bin/python2.7 /usr/bin/python

ubuntu的各种python版本问题,真的,坑了我不知道多少回。

6、安装gazebo(版本为11)一般都是这么对应的,用11版本对应noetic

sudo apt-get install gazebo11

7、安装gazebo的ROS包

sudo apt-get install ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control

打开gazebo : 终端输入gazebo会直接打开一个空的gazebo界面

创建ROS工作空间

mkdir -p ~/catkin_ws/src #工作空间名字carkin
cd catkin_ws/src
catkin_init_workspace #初始化工作空间
cd ..
catkin_make #创建很多文件,如devel build等
#这一步会将src文件夹下的所有软件包都make一下,由于我们现在里面还没有添加任何东西,这一步可以先省略

后面我们会知道catkin_make这一步也经常会出现很多找不到包的问题,慢慢解决吧,别急!

Logo

更多推荐