Ubuntu18.04 读取PixHawk硬件的IMU数据
实现方式
使用mavros
话题读取到Pixhawk
飞控的IMU数据
实现步骤
安装ros
-
检查是否安装cmake(未安装根据提示安装)
cmake -version
-
设置软件和更新源(此处使用的中科大源)
-
终端设置源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
-
设置公钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
-
更新
sudo apt update
-
安装(全套安装)
sudo apt install ros-melodic-desktop-full
-
安装组件
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
-
初始化与更新(国内不易安装)解决方法:请点击链接
sudo rosdep init rosdep update
-
环境配置
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc
-
测试(开三个新终端)
roscore rosrun turtlesim turtle_teleop_key rosrun turtlesim turtlesim_node
出现乌龟即成功
安装mavros
- 新建工作空间
问题: catkin:未找到命令mkdir -p ~/mavros_catkin_ws/src cd mavros_catkin_ws/ catkin init wstool init src
解决: sudo apt-get install python-catkin-tools - 安装组件
sudo apt-get install python-catkin-tools python-rosinstall-generator -y
- 在
mavros_catkin_ws
目录下执行如下命令
执行成功会出现如下提示:rosinstall_generator --rosdistro melodic mavlink | tee /tmp/mavros.rosinstall
执行成功会出现如下提示:rosinstall_generator --upstream mavros | tee -a /tmp/mavros.rosinstall
执行成功会出现如下提示:wstool merge -t src /tmp/mavros.rosinstall
不报错,逐条执行下面命令:wstool update -t src -j4 rosdep install --from-paths src --ignore-src -y catkin build
- 验证
执行完如下图所示,表示成功source devel/setup.bash roscd mavros
数据读取
- 将
PixHawk
通过USB
连接电脑 - 查看端口(一般为ttyACM0 )
ls /dev/
- 设置端口权限
sudo chmod 777 /dev/ttyACM0
- 进入上面创建的
mavros_catkin_ws
工作空间执行下面命令:source ./devel/setup.bash roslaunch mavros px4.launch
- 新开一个终端执行下面命令:
注意:rostopic echo /mavros/imu/data
在数据读取时,如果不能读取或出现错,可尝试如下操作:
- 进入
QGC
找到CBRK_USB_CHK
将其值设为0
- 在进行上述操作
- 进入