文章目录
1 安装Ubuntu20.04
Ubuntu是基于Linux内核的操作系统,可以选择装双系统或者在虚拟机上安装Ubuntu。
由于ROS-noetic版本适配Ubuntu20.04,所以建议安装该版本。
1 Win10安装Ubuntu18.04双系统,图文详解,全网最详细教程
3 VMware虚拟机安装Ubuntu20.04详细图文教程_vmware ubuntu-CSDN博客
2 安装ROS的noetic版本
2.1 安装terminator终端
Ubuntu自带的终端窗口不能开启多个小窗口,需要运行多个指令时就需要开启多个窗口,很不方便,所以可以选择安装terminator终端来满足需求。
2.1.1 安装
- 使用Ctrl+Alt+T打开终端,更新安装源
sudo apt update
- 安装terminator
sudo apt-get install terminator
2.1.2 terminator常用快捷键
序号 | 快捷键 | 作用 |
---|---|---|
1 | Ctrl + Shift + O | 水平分割终端(分成上下两个窗口) |
2 | Ctrl + Shift + E | 垂直分割终端(分成左右两个窗口) |
3 | Ctrl + Shift + Right/Left | 在垂直分割的终端中将分割条向右/左移动 |
4 | Ctrl + Shift + S | 隐藏/显示滚动条 |
5 | Ctrl + Shift + Q | 关闭所有终端(退出程序) |
6 | Ctrl + Shift + T | 开一个新终端窗口 |
7 | Ctrl + Shift + Tab | 逆时针选择小窗口 |
8 | Ctrl + Tab | 瞬时针选择小窗口 |
9 | Ctrl + Shifr + X/Z | 放大该窗口,隐藏其他小窗口 |
10 | Ctrl + D | 关闭当前小窗口 |
11 | Ctrl + C | 终止但前命令行 |
2.1.3 更换默认终端
- 终端输入
sudo update-alternatives --config x-terminal-emulator
- 输入对应的编号
可以看到有两个终端,/usr/bin/gnome-terminal.wrapper就是默认的终端,lusr/bin/terminator是新安装的Terminator终端
- 最后关闭终端重新打开即可
参考资料
参考资料2
解决不能垂直分屏问题
Terminator
2.2 安装ROS-noetic
wget http://fishros.com/install -O fishros && . fishros
3 安装环境依赖
- 进入终端依次执行以下命令:
sudo apt-get install python3-rosinstall
sudo apt-get install python3-rosdep
sudo apt-get install python3-pip
sudo pip3 install 6-rosdep
sudo 6-rosdep
sudo rosdep init
rosdep update
sudo apt-get install ros-noetic-spacenav-node
sudo apt-get install ros-noetic-effort-controllers
sudo apt-get install git-core python3-wstool python3-vcstools python3-rosdep ros-noetic-control-msgs ros-noetic-moveit-core
sudo apt-get install gazebo11 ros-noetic-gazebo-ros-control ros-noetic-gazebo-ros-pkgs ros-noetic-ros-control ros-noetic-control-toolbox ros-noetic-realtime-tools ros-noetic-ros-controllers ros-noetic-xacro python3-wstool ros-noetic-tf-conversions ros-noetic-kdl-parser
4 创建ROS工作空间并进行环境配置
4.1 建立ROS工作空间
- 创建工作空间
mkdir -p baxter_ws/src
cd baxter_ws
- 编译
catkin_make
catkin_make install
- 把工作空间地址加入环境变量
source ~/baxter_ws/devel/setup.bash
或者添加到~/.bashrc文件,下次打开终端就不用执行手动执行这条命令了
echo "source ~/baxter_ws/devel/setup.bash" >> ~/.bashrc
4.2 安装Baxter的SDK
4.2.1 下载Baxter的SDK软件包
选择Baxter的noetic版本下载,然后解压复制到工作空间的src下(~/baxter_ws/src)
编译之前不要安装Anaconda
,因为他的某个Qt包与Baxter的SDK冲突,建议有需要的话安装miniconda
。
在编译过程中系统如果找不到baxter_pykdl功能包中的某一个依赖包,暂时也用不到这个包,可以在这个功能包下建立忽视编译的目录CATKIN_IGNORE
。
4.2.2 安装
- 使用rosdep工具进行依赖包安装
cd baxter_ws/src
rosdep update
- 检查功能包缺失的依赖包
rosdep check --from-paths . --ignore-src --rosdistro noetic
- 安装缺失依赖包
rosdep install --from-paths . --ignore-src --rosdistro noetic -y
- 编译工作空间
cd ~/baxter_ws
catkin_make
如果出现这个问题:Could not find a configuration file for package “ignition-common3-graphics” that exactly matches requested version “3.14.2”.则安装它。
sudo apt-get update
sudo apt-get install --only-upgrade libignition-common3-graphics-dev
4.2.3 配置
通过baxter.sh文件配置Baxter机器人与PC的通信IP地址
进入刚下载的SDK软件包,复制~/baxter_ws/src/baxter_noetic/baxter/baxter-master路径下的baxter.sh文件到/baxter_ws路径下。
修改baxter.sh文件:
gedit ~/baxter_ws/baxter.sh
修改baxter的序列号:baxter_hostname换为机器人实际的序列号,序列号在机器人背部的铭牌上看到。只进行仿真的话这个可以无需修改。
baxter_hostname="baxter_hostname.local"
修改PC的IP地址:
your_IP="具体的IP"
可通过ifconfig查看IP地址
检查baxter.sh是否配置成功
cd ~/baxter_ws
./baxter.sh sim # 仿真要加上sim
出现下图黄色前缀即配置成功
5 连接Baxter机器人
ROS是分布式通信,一个主控制master可以与多个从机进行连接。Baxter是主控,所以从机需要与Baxter处于同一个局域网内,且开启roscore
都需要执行以下命令。
cd ~/baxter_ws
./baxter.sh sim # 仿真要加上sim
参考资料
RethinkRobotics/baxter:百特研究机器人 SDK — RethinkRobotics/baxter: Baxter Research Robot SDK (github.com)