新树莓派系统安装ROS记录

树莓派系统更新了,作为版本控的我怎么能忍住不更新系统,为了提高系统的速度,买了张170M的告诉sd卡,我要说的是,这个高速SD卡的钱花的最值得了,千万不要觉得树莓派都买了4,还要什么高速SD卡(自行车)呢,这样想是不对的,谁用谁知道,自从用了高速SD卡,卡顿没有了。切入正题,上篇帖子中用的,这次居然不行了,无语啊。看来看去,还是官网教程最靠谱,就他了,不行再更改吧。

 一、前期准备:安装必要的软件的环境了,安装pyqt5-dev pyqt5-dev-tools是为了避免编译catkin工作空间在第64个文件包时出现错误, pyqt5-dev pyqt5-dev-tools

  sudo apt-get install python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential

如果上边的命令出错了,就乖乖的执行下面两条命令:

  sudo pip install -U rosdep rosinstall_generator wstool rosinstall 

  sudo pip install --upgrade setuptools

安装初始化:
  sudo rosdep init
  rosdep update

二、安装
1、创建catkin工作空间
  mkdir ~/ros_catkin_ws
  cd ~/ros_catkin_ws
2、安装ros,建议Desktop Install: ROS, rqtrviz, and robot-generic libraries
  rosinstall_generator desktop --rosdistro melodic --deps --tar > melodic-desktop.rosinstall
  wstool init -j8 src melodic-desktop.rosinstall
  如果执行中有错误:
  wstool update -j 4 -t src
3、解决安装依赖的问题:
  rosdep install --from-paths src --ignore-src --rosdistro melodic -y
4、编译catkin工作空间
  ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
  如果在这个过程中出现了qt_gui_cpp错误的话,就安装pyqt5-dev和pyqt5-dev-tools两个软件包
  sudo apt install pyqt5-dev pyqt5-dev-tools,当然也可以提前安装即可。
  source ~/ros_catkin_ws/install_isolated/setup.bash
5、保持源的更新
  mv -i melodic-desktop-full.rosinstall melodic-desktop-full.rosinstall.old
  rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall
  比较新旧的包的升级情况:
  diff -u melodic-desktop-full.rosinstall melodic-desktop-full.rosinstall.old

  如果正好需要需要的升级,那么就升级吧:
  wstool merge -t src melodic-desktop-full.rosinstall
  wstool update -t src

  重新编译你的工作空间:
  ./src/catkin/bin/catkin_make_isolated --install

  初始化环境:
  source ~/ros_catkin_ws/install_isolated/setup.bash
6、到此就是一个闭合的环节了,安装,升级,还可以一直这么升级下去的。赶紧试试小乌龟,看看能不能动下吧。
  无论什么时间出现没有命令之类的错误:执行命令:
source ~/ros_catkin_ws/install_isolated/setup.bash基本没有问题

  打开一个终端:roscore                              #运行ros环境


  打开一个终端:rosrun turtlesim turtlesim_node        #打开小乌龟运行场景


  打开一个终端:rosrun turtlesim turtle_teleop_key                                           #使用终端控制箭头可以控制小乌龟了

到此为止,树莓派4b上的ROS可以告一个段落了。

7接着:创建工作空间

一、source /opt/ros/melodic/setup.bash        //环境变量生效

二、mkdir -p ~/catkin_ws/src                   //建立工作空间 

三、cd   ~/catkin_ws/src                     //进入空间源目录

四、catkin_init_workspace                    //初始化工作空间

五、cd   ~/catkin_ws/                     //进入工作空间

六、catkin_make                          //编译工作空间

七、source devel/setup.bash                 //空间变量生效

八、echo $ROS_PACKAGE_PATH              //查看空间变量

九、echo "WORKSPACE=~/catkin_ws" >> ~/.bashrc         //让空间变量在所有的终端中都有效

  echo "source /WORKSPACE/devel/setup.bash" >> ~/.bashrc 


8然后:创建功能包

一、cd ~/catkin_ws/src/                  //进入空间源目录

二、catkin_create_pkg learning_communication std_msgs rospy roscpp   //创建功能包,指定包名和包的依赖

三、cd ~/catkin_ws/ && catkin_make              //编译工作空间

 四、source ~/catkin_ws/devel/setup.bash          //空间变量生效

原文地址:https://www.cnblogs.com/guochaoxxl/p/11622214.html