使用例程的apritag通过mavlnk发送信息,ubuntu怎样查看发过来的信息啊?
-
@fr5c 使用的英伟达通过串口接收openmv发送的mavlink数据,该怎么读取解析呢?
-
你的接线图是什么?
英伟达什么产品?
-
@kidswong999 我直接使用的是串口,现在英伟达怎么解析mavlink例子发送的数据啊?有没有相关代码?
-
@kidswong999 def send_landing_target_packet(tag, w, h, tag_size):
global packet_sequence
temp = struct.pack("<qfffffbb",
0,
((tag.cx() / w) - 0.5) * h_fov,
((tag.cy() / h) - 0.5) * v_fov,
min(max(z_to_mm(tag.z_translation(), tag_size) / 1000, MAV_LANDING_TARGET_min_distance), MAV_LANDING_TARGET_max_distance),
0.0,
0.0,
0,
MAV_LANDING_TARGET_frame)
temp = struct.pack("<bbbbb30s",
30,
packet_sequence & 0xFF,
MAV_system_id,
MAV_component_id,
MAV_LANDING_TARGET_message_id,
temp)
temp = struct.pack("<b35sh",
0xFE,
temp,
checksum(temp, MAV_LANDING_TARGET_extra_crc))
packet_sequence += 1
uart.write(temp)Main Loop
clock = time.clock()
while(True):
clock.tick()
img = sensor.snapshot()
tags = sorted(img.find_apriltags(fx=f_x, fy=f_y, cx=c_x, cy=c_y), key = lambda x: x.w() * x.h(), reverse = True)if tags and (tags[0].id() in valid_tag_ids): if MAX_DISTANCE_SENSOR_enable: send_distance_sensor_packet(tags[0], valid_tag_ids[tags[0].id()]) send_landing_target_packet(tags[0], img.width(), img.height(), valid_tag_ids[tags[0].id()]) 这个是发送,那我接收端怎么解析呢?有没有相关代码啊? img.draw_rectangle(tags[0].rect()) img.draw_cross(tags[0].cx(), tags[0].cy()) print("Distance %f mm - FPS %f" % (z_to_mm(tags[0].z_translation(), valid_tag_ids[tags[0].id()]), clock.fps())) else: print("FPS %f" % clock.fps())
-
我没看懂,px4和英伟达有什么关系?
英伟达是卖显卡的公司,你说的具体是什么产品。
-
@kidswong999 无人机搭载nvidia,我需要把识别到的apritag位置信息发给无人机,控制无人机降落,但是我没有解析send_landing_target_packet这种发送数据的代码
-
@kidswong999 ?????????
-
看上去你的飞控不是px4。
如果你的飞控是可以编程的,你有3个选择,
1,OpenMV上编程,直接串口发送数据给你的飞控。协议自己定。飞控根据协议写代码。教程https://singtown.com/learn/50235/
2,用rpc库,openmv直接烧录代码,其他的控制器可以读取OpenMV的数据。
OpenMV的代码:https://github.com/openmv/openmv/blob/master/scripts/examples/34-Remote-Control/popular_features_as_the_remote_device.py
其他控制器的的代码(比如飞控):https://github.com/openmv/openmv/tree/master/tools/rpc
3,如果一定要用mavlink,mavlink官网是有教程的。https://mavlink.io/en/getting_started/installation.html
还有完整的协议说明https://mavlink.io/en/messages/common.html
-
mavlink是ardupilot和px4内置的协议,你描述的不清不楚的,也不说飞控具体型号。谁也不知道你说的nvidia是个啥。
-
@kidswong999 我把apritag信息(x,y,z,3个角度)通过mavlink协议发送给pix4,请问怎么发送呢?