2

阿木币

0

精华

1 小时

在线时间

应届白菜

Rank: 1

发表于 2024-6-6 17:58:50 1135 浏览 1 回复

[飞控嵌入式] mavlink协议控制jMAVSim仿真环境里面的无人机飞行,起飞不了

本帖最后由 16670150941 于 2024-6-7 09:08 编辑

使用c语言编写了一个示例UDP服务器,通过mavlink协议控制jMAVSim仿真环境里面的无人机飞行,进入offboard模式后,以4HZ频率不断发送设置点信息给无人机,仿真环境里面的无人机也能收到数据,但是就是起飞不了
image.png

接收解析到无人机的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;






我知道答案 回答被采纳将会获得2 阿木币 已有1人回答

扫一扫浏览分享
回复

使用道具 举报

156

阿木币

0

精华

32 小时

在线时间

老司机

Rank: 2

发表于 2024-7-6 23:14:06
如果发送数据的频率不够,无人机是不会飞的,因为不足以支持无人机需要的控制频率。
回复 点赞

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表