创建工作空间、工作包:
mkdir -p ~/catkin_ws/src
cd catkin_ws/src && catkin_init_workspace
cd .. && catkin_make
cd ~/catkin_ws/src
catkin_create_pkg off_node roscpp std_msgs geometry_msgs mavros_msgs
创建节点 以及放入飞行代码:
在 off_node 功能包下的 src 目录下新建一个 offb_node.cpp 文件(touch offb_node.cpp 创建文本文档),将飞行代码放进此cpp文件
将下面内容添加到 off_node 功能包下的 CMakeLists.txt 文件里:
add_executable(offb_node src/offb_node.cpp)
target_link_libraries(offb_node ${catkin_LIBRARIES})
编译运行:
cd ~/catkin_ws
catkin_make
见 带你玩转PX4无人机仿真(1) —— 运行官方案例(C++)
添加PX4仿真环境变量:
终端输入:
sudo gedit ~/.bashrc
在ROS行(source /opt/ros/melodic/setup.bash)后面添加环境变量:
source ~/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash ~/PX4-Autopilot ~/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic
启动仿真:
roslaunch px4 mavros_posix_sitl.launch
另起终端启动功能包节点:
rosrun off_node offb_node