0、准备
虚拟机:VMware workstation
平台:ubuntu20(官网上只能下最新的22、23版本,20版本去https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04/下载)
我下载的是ros的noetic版本,属于ros1
参考文献(文章主要是看第二条链接的文档,并做了一些解释与版本改变)
https://wiki.ros.org/noetic/Installation/Ubuntu
https://www.yuque.com/xtdrone/manual_cn/basic_config#uFGnh
https://www.bilibili.com/video/BV1uG4y1b7tq/?spm_id_from=333.999.0.0&vd_source=e2b3aa8b3f718eb509122bc525516e04
https://blog.csdn.net/m0_57038303/article/details/127100719
1、基本设置
打开settings(齿轮图标),翻到最下边About。如果没有,就先去Users那里unlock权限。
然后打开Software Updates,除了Source Code全部勾选,并在Download from选择如图源
打开终端,输入:
sudo apt update
sudo apt upgrade
2、依赖安装
(python包,执行程序,可忽略黄色警告)
sudo apt install ninja-build exiftool ninja-build protobuf-compiler libeigen3-dev genromfs xmlstarlet libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev python3-pip gawk
pip3 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml
pip3 install packaging numpy empy toml pyyaml jinja2 pyargparse
3、ROS安装
中科大与阿里云源貌似不行,用清华源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt install ros-noetic-desktop-full
4、环境配置
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
选择主目录文件查看隐藏文件,有.bashrc,第118行出现网址则成功(第119行后面会提到)
5、依赖2
第一:rosdep,一路安装下去即可
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo apt install python3-rosdep
sudo rosdep init
rosdep update
第二、rosdepc
参考https://zhuanlan.zhihu.com/p/398754989
终端输入:
sudo pip install rosdepc
如果显示没有pip可以试试pip3:
sudo pip3 install rosdepc
如果pip3还没有,那就输入:
sudo apt-get install python3-pip
sudo pip install rosdepc
前面没有问题之后,使用:
sudo rosdepc init
rosdepc update
6、测试
一、首先打开三个终端,第一个终端输入
roscore
启动运行ROS节点。
若出现以下字符则成功
... logging to /home/fhm/.ros/log/a73e5a18-b28c-11ee-91a7-95904e7778df/roslaunch-ubuntu-66431.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://ubuntu:35161/
ros_comm version 1.16.0
SUMMARY
========
PARAMETERS
* /rosdistro: noetic
* /rosversion: 1.16.0
NODES
auto-starting new master
process[master]: started with pid [66439]
ROS_MASTER_URI=http://ubuntu:11311/
setting /run_id to a73e5a18-b28c-11ee-91a7-95904e7778df
process[rosout-1]: started with pid [66449]
started core service [/rosout]
二、打开一个新的终端(基本所有roscore之后都要打开新终端操作),在第二个终端输入:
rosrun turtlesim turtlesim_node
如果没有问题就会出现小乌龟弹窗界面。
三、在第三个终端输入
rosrun turtlesim turtle_teleop_key
如果没有抛出异常,就可以在第三个终端界面通过控制方向键来控制小乌龟移动。
假如想在第一个终端推出roscore模式,只需要按下Ctrl+C就可
7、分空间
(尚未知意义何在
sudo apt install python3-catkin-tools
mkdir -p ~/catkin_ws/src
mkdir -p ~/catkin_ws/scripts
cd catkin_ws && catkin init
catkin build
8、gazebo安装
输入:
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
cat /etc/apt/sources.list.d/gazebo-stable.list
如果成功你会看见
deb http://packages.osrfoundation.org/gazebo/ubuntu-stable bionic main
继续输入:
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
成功的话你会看见:
Hint: make sure the apt-get update process ends without any errors, the console output ends in Done
similar to below:
$ sudo apt-get update
...
Hit http://ppa.launchpad.net bionic/main Translation-en
Ign http://us.archive.ubuntu.com bionic/main Translation-en_US
Ign http://us.archive.ubuntu.com bionic/multiverse Translation-en_US
Ign http://us.archive.ubuntu.com bionic/restricted Translation-en_US
Ign http://us.archive.ubuntu.com bionic/universe Translation-en_US
Reading package lists... Done
然后安装(安装gazebo9是比较适配这个ros版本的)
sudo apt-get install gazebo9
sudo apt-get install libgazebo9-dev
然后直接输入
gazebo
界面出来就成功力
9、gazebo的ros插件改造
输入:
sudo apt-get install ros-noetic-moveit-msgs ros-noetic-object-recognition-msgs ros-noetic-octomap-msgs ros-noetic-camera-info-manager ros-noetic-control-toolbox ros-noetic-polled-camera ros-noetic-controller-manager ros-noetic-transmission-interface ros-noetic-joint-limits-interface
下载xtdrone:
git clone https://gitee.com/robin_shaun/XTDrone.git
cd XTDrone
git submodule update --init --recursive
cd ~/catkin_ws
cp -r ~/XTDrone/sitl_config/gazebo_ros_pkgs src/
catkin build
然后直接终端输入
source ~/catkin_ws/devel/setup.bash
我们还需要打开主文件夹下的.bashrc,将source ~/catkin_ws/devel/setup.bash放进最后面(应该是119行,正如我在第四节说的那样)
然后重启终端输入
roscore
打开新终端输入
rosrun gazebo_ros gazebo
测试就完成力
然后下载他给的模型包(本机),直接复制到虚拟机的下载文件夹,选择“全部跳过”
解压完复制到主文件夹下.gazebo文件夹里边
然后就没了(笑