JetBot ROS AI Kit 教程六、Jetson nano 安装ROS系统及环境配置
来自Waveshare Wiki
JetBot ROS AI Kit 进阶教程目录
- JetBot ROS AI Kit 教程一、雷达数据分析
- JetBot ROS AI Kit 教程二、SLAM激光雷达建图
- JetBot ROS AI Kit 教程三、自主导航
- JetBot ROS AI Kit 教程四、ROS OpenCV
- JetBot ROS AI Kit 教程五、ROS智能语音
- JetBot ROS AI Kit 教程六、Jetson nano 安装ROS系统及环境配置
- JetBot ROS AI Kit 教程七、Ubuntu 虚拟机安装ROS系统及环境配置
- JetBot ROS AI Kit 教程八、ROS语音环境配置
- JetBot 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-melodic-desktop-full
步骤4、添加环境变量和安装ROS依赖项
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc #添加环境变量 source ~/.bashrc #生效环境变量 sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential #安装依赖项
步骤5、初始化 rosdep
- 在你使用 ROS 之前,需要初始化 rosdep。rosdep 让你能够轻松地安装被想要编译的 源代码,或被某些 ROS 核心组件需要的系统依赖。 在终端依次输入下面指令
sudo apt install python-rosdep sudo rosdep init rosdep update
- 不幸的是,一般人走到这里都会遇到rosdep初始化错误和失败,主要是翻越境外这堵墙有些难,国内可以使用rosdepc软件替代,操作如下:
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、验证ROS环境
- 使用ROS欢迎小程序:爬行的小乌龟 来展示ROS系统
- ROS系统的启动需要一个ROS Master,即节点管理器,我们可以在终端输入roscore指令来启动ROS Master
roscore
- 至此,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-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环境基本搭建已完成。如果需要智能语音功能还需要添加智能语音设置。