樹莓派系統更新了,作為版本控的我怎么能忍住不更新系統,為了提高系統的速度,買了張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, rqt, rviz, 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 //空間變量生效
