阿木实验室G1吊舱ROS SDK

介绍

  • gimbal-sdk-ros V2.0.0 是阿木实验室基于amov-gimbal-libs针对ROS环境推出的ros功能包,在原有V1.0.0的基础上进行了优化,更加灵活、易用,同时提高了云台姿态信息的发布频率(与云台实际更新频率相同)
  • 云台支持类型可参考/launch路径下的支持,同时用户可参考节点实现编写自己需要的功能
  • 控制节点支持平台与amov-gimbal-libs相同
  • 图像节点支持平台 allspark Ⅰ/Ⅱ

前期准备

  1. 安装 amov-gimbal-libs(Tags > V2.0.0) (已安装可忽略)
  2. 安装ros串口库 (已安装可忽略)
sudo apt-get install ros-melodic-serial   # 以melodic(18.04)为例
  1. 安装 Gstreamer (已安装可忽略)
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
  1. 编译及安装opencv(已启用Gstreamer的可忽略)
  • 编译选项添加 -D WITH_GSTREAMER=ON
  1. 创建并进入工作空间(已有空间可以忽略)
mkdir  catkin_ws/src
cd catkin_ws/src
  1. 获取代码
git clone https://gitee.com/amovlab/gimbal-sdk-ros.git
cd gimbal-sdk-ros/
git checkout V2.0.0

编译

cd catkin_ws                                            #进入此前工作空间路径
catkin_make

运行

cd catkin_ws                                            #进入此前工作空间路径
source devel/setup.bash
roslaunch src/gimbal-sdk-ros/launch/gimbal_G1.launch

节点说明

节点功能
amov_gimbal_ros_control_node吊舱控制节点
amov_gimbal_ros_image_node吊舱图像节点

话题说明

默认话题名称功能所属节点
/amov_gimbal_ros/gimbal_state吊舱当前姿态amov_gimbal_ros_control_node
/amov_gimbal_ros/gimbal_control吊舱控制信息amov_gimbal_ros_control_node
/amov_gimbal_ros/amov_camera_image吊舱当前图像amov_gimbal_ros_image_node

服务说明

默认服务名称功能所属节点
/amov_gimbal_ros/gimbal_server吊舱执行拍照等服务amov_gimbal_ros_control_node

修改节点参数及话题

  • 可于src/gimbal-sdk-ros/launch/gimbal_XX.launch 中修改相应参数修改默认节点参数及话题

测试环境

我们在以下系统环境完成测试,理论上也支持其他环境(opencv满足版本要求的情况下),但无法保证

  • OpenCV:3.3.1
  • 硬件平台: Allspark(核心板:Jetson NX)
  • 操作系统 :Ubuntu 18.04
  • C++版本:C++11
  • ROS 版本:melodic

在其他ros版本上使用可能涉及到opencv版本与cv_bridge冲突导致无法正常获取图像,可以参照这里进行处理

联系我们

  • 阿木实验室官网:https://www.amovlab.com/
  • 阿木实验室论坛:https://bbs.amovlab.com/