|
发表于 2024-6-6 17:56:25
304 浏览 0 回复
[飞控嵌入式]
mavlink指令控制无人机,进入offboard模式控制,起飞不了
使用c语言编写了一个示例UDP服务器,通过mavlink协议,控制jMAVSim仿真环境里面的无人机飞行,进入offboard模式后,以4HZ频率不断发送设置点信息,仿真环境里面的无人机也能收到数据,但是就是起飞不了
接收解析到无人机的position_target_local_ned点坐标数据总是显示nan:xyz:[ nan, nan, nan ], vxyz:[ nan, nan, nan ]
不知道是哪里设置错误了,但是无人机自动退出offboard模式然后自动上锁
设置点的赋值如下:
```
#define MAVLINK_MSG_SET_POSITION_TARGET_LOCAL_NED_POSITION 0b0000110111111000
#define MAVLINK_MSG_SET_POSITION_TARGET_LOCAL_NED_VELOCITY 0b0000110111000111
#define MAVLINK_MSG_SET_POSITION_TARGET_LOCAL_NED_ACCELERATION 0b0000110000111111
#define MAVLINK_MSG_SET_POSITION_TARGET_LOCAL_NED_FORCE 0b0000111000111111
#define MAVLINK_MSG_SET_POSITION_TARGET_LOCAL_NED_YAW_ANGLE 0b0000100111111111
#define MAVLINK_MSG_SET_POSITION_TARGET_LOCAL_NED_YAW_RATE 0b0000010111111111
mavlink_set_position_target_local_ned_t position_target
set_pos_ned.time_boot_ms = (uint32_t) (get_time_usec()/1000);
set_pos_ned.target_system = 1;
set_pos_ned.target_component = 1;
set_pos_ned.coordinate_frame = MAV_FRAME_LOCAL_NED;
set_pos_ned.type_mask = MAVLINK_MSG_SET_POSITION_TARGET_LOCAL_NED_POSITION & MAVLINK_MSG_SET_POSITION_TARGET_LOCAL_NED_VELOCITY;
set_pos_ned.x = 0;
set_pos_ned.y = 0;
set_pos_ned.z = -5;
set_pos_ned.vx = 1;
set_pos_ned.vy = 1;
set_pos_ned.vz = -1;
set_pos_ned.yaw = NAN;
set_pos_ned.yaw_rate = NAN;
```
|
 扫一扫浏览分享
|
|
|
|
|
|
|