天天看点

ubuntu16.04安装ros和mavros及仿真1.安装ROS2.安装mavros3.创建工作空间,在空间里创建节点再编译4.仿真

1.安装ROS

参考文献

流程参照

官网安装

rosdep init和update失败

验证

roscore
rosrun turtlesim turtlesim_node
           

  出现小海龟gui界面就行了,因为我这里安装完整版所以有界面显示。comm版本运行roscore不报错即可。

2.安装mavros

参考文献

安装参考

官网二进制安装

可能出现的错

  二进制安装就这几步

sudo apt-get install ros-kinetic-mavros ros-kinetic-mavros-extras 

sudo /opt/ros/kinetic/lib/mavros/install_geographiclib_datasets.sh
           

测试mavros

roslaunch mavros px4.launch
           

  如果只出现

FCU: DeviceError:serial:open: No such file or directory

说明成功了。这里不用开启roscore。

3.创建工作空间,在空间里创建节点再编译

参考文献

1

2

cd catkin_ws/src
catkin_create_pkg demo std_message mavros roscpp      
           

demo文件名,后面3个是属性。

要修改demo里面的cmakelist,不然不具备运行的属性

  119 include

  136add_executable

  149target_link_libraries开始3行

  复制136行后面文件名demo_node.cpp在demo的src里面创建demo_node.cpp文件,内容直接移植,随便找一个例子好了。

cd catkin_ws
catkin_make
           
source ./devel/setup.bash  
           

  使用ros节点的话一定要运行上面的代码添加一下环境变量,再启动ros节点。这里直接把他添加到bashrc这样每次运行就不用添加环境变量。

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

4.仿真

1.在Firmware中打开gazebo:

make posix_sitl_default gazebo

2.在Firmware中打开ros内核:

roscore

3.在Firmware中打开连接飞控和ubuntu:

roslaunch mavros px4.launch fcu_url:="udp://:[email protected]:14557"

连接本地,这是仿真,不连接数传

roslaunch mavros px4.launch fcu_url:=/dev/ttyUSB0:57600

连接飞控,这是真的飞,数传连接;需要把qgc参数SYS_COMPAION设置成对应57600,才能连接上。

4.创建好mavros节点后编译,就是上一步

5.

cd ~/catkin_ws

打开终端输入

rosrun demo demo_node

开启节点,可以看到gazebo无人机飞起来或者实体无人机直接开始飞了,在室内最好把螺旋桨去掉。

继续阅读