JetBot Orin ROS AI Kit 教程六、Jetson nano 安装ROS系统及环境配置

来自Waveshare Wiki
跳转至: 导航搜索

JetBot Orin ROS AI Kit 进阶教程目录

前言

  • 我们提供已经配置好的的镜像,如果需要自己安装ROS系统配置环境,可以参考下面操作。初始使用建议使用我们配置好的镜像。
  • 配置镜像最好是使用科学上网,否则可能出现各种因为网络原因导致的安装不正常。
  • jetson nano使用的是ubuntu 系统,版本为18.04,最高可以安装的ros版本为Melodic。

步骤1、jetson nano烧录系统

这里推荐使用jetbot镜像配置,使用jetson nano原版镜像,则需要下载jetbot程序库并安装,否则OLED不能正常显示,jetbot部分功能不能使用。

  • JetBot官网:http://jetbot.org/
  • 4G镜像版本:jetbot-043_nano-4gb-jp45.zip
  • 准备一个不小于64G的SD卡烧录jetbot镜像并插入到jetson nano中,连接电源启动。
  • 连接网线,通过SSH登录
  • 输入以下命令可以扫描可用的WiFi网络,并找到要连接的WIFI名称
sudo nmcli device wifi list
  • 连接到选定的WIFI网络,其中<ssid_name>,<password> 替换为你的WIFI账号密码。
sudo nmcli device wifi connect <ssid_name> password <password>
  • 运行如下命令可以查询WIFI 接口wlan0 的 IP 地址,OLED显示器上将显示IP地址。
ifconfig

步骤2、配置ROS软件仓库

  • 在安装后Ubuntu系统之后,打开终端,输入以下命令配置ROS软件仓库
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  • 若下载速度缓慢,推荐就近选择一个国内镜像源替换上面的命令,推荐使用中科大USTC镜像源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ro s/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'     
  • 配置密钥。这一步是确保我们的系统认为这个路径是安全的,下载文件是没有问题的。不然下载的东西会立刻被清除掉
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

步骤3、安装ROS Melodic

  • 我们在加入了新的源之后,需要对源列表进行一次更新,在终端输入
sudo apt-get update
  • 在 ROS 中有很多不同的库和工具。一般有:Desktop-Full【桌面完整版】、Desktop【桌面版本】、ROS-Base【基础版本】
  • Desktop-Full【桌面完整版】包含 ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及 2D/3D 感知包;这里我们安装完整版。
sudo apt install ros-noetic-desktop-full

步骤4、添加环境变量和安装ROS依赖项

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc   #添加环境变量
source ~/.bashrc  #生效环境变量
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential  #安装依赖项

步骤5、初始化 rosdep

  • 在你使用 ROS 之前,需要初始化 rosdep。rosdep 让你能够轻松地安装被想要编译的 源代码,或被某些 ROS 核心组件需要的系统依赖。 在终端依次输入下面指令
sudo apt install python3-rosdep
sudo rosdep init
rosdep update
  • 不幸的是,一般人走到这里都会遇到rosdep初始化错误和失败,主要是翻越境外这堵墙有些难,国内可以使用rosdepc软件替代,操作如下:
sudo pip3 install rosdepc
#若pip3也没有,那就安装吧
sudo apt-get install python3-pip
sudo pip install rosdepc
#安装后请输入以下命令,结束战斗吧
sudo rosdepc init
rosdepc update

步骤6、验证ROS环境

  • 使用ROS欢迎小程序:爬行的小乌龟 来展示ROS系统
  • ROS系统的启动需要一个ROS Master,即节点管理器,我们可以在终端输入roscore指令来启动ROS Master
roscore   
Jetbot image009.png
  • 至此,ROS系统安装完成

步骤7、创建工作空间

  • 创建工作空间catkin_ws,将自己的工程项目文件都放在该目录下
mkdir -p ~/catkin_ws/src 
cd ~/catkin_ws
catkin_make     #编译
sudo sh -c 'echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc' #添加环境变量
source ~/.bashrc  #生效环境变量


步骤8、下载jetbot_pro 机器人端源码并编译

cd ~/catkin_ws/src
git clone https://github.com/waveshare/jetbot_pro.git
cd ~/catkin_ws && catkin_make && source ~/catkin_ws/devel/setup.bash

步骤9、安装依赖库

#安装依赖库
sudo apt-get install ros-noetic-robot-pose-ekf
sudo apt-get install ros-noetic-gmapping
sudo apt-get install ros-noetic-hector-slam
sudo apt-get install ros-noetic-slam-karto
#sudo apt-get install ros-noetic-cartographer-ros noetic无此项
sudo apt-get install ros-noetic-navigation
sudo apt-get install ros-noetic-teb-local-planner
sudo apt-get install ros-noetic-audio-common

步骤10、安装摄像头功能包

sudo apt-get install gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev
cd ~/catkin_ws/src
git clone https://github.com/peter-moran/jetson_csi_cam.git 
git clone https://github.com/ros-drivers/gscam.git
cd gscam
sed -e "s/EXTRA_CMAKE_FLAGS = -DUSE_ROSBUILD:BOOL=1$/EXTRA_CMAKE_FLAGS = -DUSE_ROSBUILD:BOOL=1 -DGSTREAMER_VERSION_1_x=On/" -i Makefile
cd ~/catkin_ws && catkin_make && source ~/catkin_ws/devel/setup.bash
  • IMX219-160 Camera摄像头图像颜色偏红可以通过如下操作改善
wget http://www.waveshare.net/w/upload/e/eb/Camera_overrides.tar.gz
tar zxvf Camera_overrides.tar.gz 
sudo cp camera_overrides.isp /var/nvidia/nvcam/settings/
sudo chmod 664 /var/nvidia/nvcam/settings/camera_overrides.isp
sudo chown root:root /var/nvidia/nvcam/settings/camera_overrides.isp

步骤11、安装激光雷达功能包

cd ~/catkin_ws/src
git clone https://github.com/Slamtec/rplidar_ros.git
cd ~/catkin_ws && catkin_make && source ~/catkin_ws/devel/setup.bash
  • 至此,jetbot机器人ROS环境基本搭建已完成。如果需要智能语音功能还需要添加智能语音设置。