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

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

JetBot ROS AI Kit 进阶教程目录



步骤1、jetbot进行SSH登录

  • 准备一个不小于64G的SD卡插入到jetson nano中,连接电源
  • 连接网线,通过SSH登录,给jetbot连接WIFI
sudo nmcli device wifi connect <ssid_name> password <password>   #其中<ssid_name>,<password> 替换为你的WIFI账号密码

步骤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.lis t'     
  • 配置密钥。这一步是确保我们的系统认为这个路径是安全的,下载文件是没有问题的。不然下载的东西会立刻被清除掉
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-melodic-desktop-full     

步骤4、配置ROS环境到系统

  • 在你使用 ROS 之前,需要初始化 rosdep。rosdep 让你能够轻松地安装被想要编译的 源代码,或被某些 ROS 核心组件需要的系统依赖。 在终端依次输入下面指令
sudo rosdep init  
rosdep update
  • 不幸的是,一般人走到这里都会遇到rosdep初始化错误和失败,主要是翻越境外这堵墙有些难;小编这里极力推荐“鱼香肉丝”公众号的解决办法,方法简单又高效。操作如下:
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

步骤5、添加环境变量和ROS依赖项

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

步骤6、验证ROS环境

  • 使用ROS欢迎小程序:爬行的小乌龟 来展示ROS系统
  • ROS系统的启动需要一个ROS Master,即节点管理器,我们可以在终端输入roscore指令来启动ROS Master
roscore   
J43.png
  • 打开新的终端,启动小乌龟节点
rosrun turtlesim turtlesim_node  
  • 启动键盘控制节点,通 过↑、↓、←、→来控制小乌龟的移动
rosrun turtlesim turtle_teleop_key  
  • 当小海龟“撞墙”的时候,终端会有提示数据的输出
J44.png
  • 至此,ROS系统安装完成

步骤7、创建工作空间

  • 创建工作空间catkin_ws,将自己的工程项目文件都放在该目录下
mkdir -p ~/catkin_ws/src 
cd ~/catkin_ws
catkin_make     #编译


步骤8、下载jetbot_pro源码并编译

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

步骤9、添加环境变量,安装依赖库

sudo sh -c 'echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc'
#安装依赖库
sudo apt-get install ros-melodic-robot-pose-ekf
sudo apt-get install ros-melodic-gmapping
sudo apt-get install ros-melodic-hector-slam
sudo apt-get install ros-melodic-slam-karto
sudo apt-get install ros-melodic-cartographer-ros
sudo apt-get install ros-melodic-navigation
sudo apt-get install ros-melodic-teb-local-planner
sudo apt-get install ros-melodic-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环境搭建已完成,接下来请继续搭建Ubuntu虚拟机的ROS环境