树莓派3B源码安装ROS及raspicam_node

ros版本:kinetic
树莓派3B版本:buster
raspicam_node版本:0.4.0

#sudo apt install dirmngr

1.添加ROS仓库
  sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
2.更新软件包
sudo apt update
3.安装Bootstrap依赖
  sudo apt install python-rosdep python-rosinstall-generator python-wstool python-rosinstall python-catkin-tools python-psutil build-essential cmake
4.初始化rosdep
  sudo rosdep init
  rosdep update
5.创建catkin工作空间
  mkdir -p ~/ros_catkin_ws
  cd ~/ros_catkin_ws/
6.下载ROS包源码
  rosinstall_generator ros_comm --rosdistro kinetic --deps --wet-only --tar > kinetic-ros_comm-wet.rosinstall
  wstool init src kinetic-ros_comm-wet.rosinstall
7.安装下载包的依赖
 rosdep install -y --from-paths src --ignore-src --rosdistro kinetic -r
 catkin init
#源码安装boost 1.58

ROS Kinetic中大部分包使用的boost版本为1.58,如果使用apt-get安装,在链接ROS核心库 librosconsole 时会发生错误,故需要从源码安装libboost1.58

  wget -O boost_1_58_0.tar.bz2 http://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.bz2/download
  tar --bzip2 -xvf boost_1_58_0.tar.bz2
  cd boost_1_58_0
  ./bootstrap.sh --with-libraries=all --with-toolset=gcc
  ./b2 toolset=gcc
  sudo ./b2 install --prefix=/usr
  sudo bash -c 'echo "/usr/lib" > /etc/ld.so.conf.d/mylib.conf'
  sudo ldconfig
8.构建并安装
  catkin config --install -i /opt/ros/kinetic -j 2
  sudo catkin build
9.测试ROS Master节点
  echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

a.输入roscore,运行Master节点
b.在另一个终端执行rostopic list,会看到/rosout 和 /rosout_agg 的topic

10.添加和更新ROS包

a.以添加joy包为例,首先需要创建一个新的rosinstall文件

rosinstall_generator joy --rosdistro kinetic --deps --wet-only --tar > joy.rosinstall

b.然后把他和我们的workspace进行合并

wstool merge joy.rosinstall -t src
wstool update -t src

c.安装相应包的依赖

rosdep install -y --from-paths src --ignore-src --rosdistro kinetic -r

d.重新构建

sudo catkin build
11.安装raspicam_node, rosdep版本为0.18.0, 系统是原生Raspbian buster

a.首先按照raspicam_node的README一步步来,地址:

https://github.com/UbiquityRobotics/raspicam_node.git

b.在执行rosdep这一步,debian系统会报错,提示缺少各种依赖包的定义

rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y

c.手动解决每一个依赖即可
参考: https://venelinpetkov.com/2017/11/19/how-to-install-a-raspberry-camera-node-on-ros-kinetic-raspbian-stretch/

0x1: 添加依赖包
rosinstall_generator compressed_image_transport --rosdistro kinetic --deps --wet-only --tar > kinetic-compressed_image_transport-wet.rosinstall
rosinstall_generator camera_info_manager --rosdistro kinetic --deps --wet-only --tar > kinetic-camera_info_manager-wet.rosinstall
rosinstall_generator dynamic_reconfigure --rosdistro kinetic --deps --wet-only --tar > kinetic-dynamic_reconfigure-wet.rosinstall
rosinstall_generator diagnostic_updater --rosdistro kinetic --deps --wet-only --tar > kinetic-diagnostic_updater-wet.rosinstall
0x2: 合并到workspace并更新
wstool merge -t src kinetic-compressed_image_transport-wet.rosinstall
wstool merge -t src kinetic-camera_info_manager-wet.rosinstall
wstool merge -t src kinetic-dynamic_reconfigure-wet.rosinstall
wstool merge -t src kinetic-diagnostic_updater-wet.rosinstall
wstool update -t src

d.接着之前出错的那一步

rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y

e.重新构建

sudo catkin build

PS: 我到这里不知道为什么找不到catkin命令了,但是看python-catkin-tools包还在,又安装一下才好,不知道怎么回事

sudo apt-get install python-catkin-tools
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值