Offboard control setup question

I am working on getting off board control running on my system. Currently I have a Jetston TK1 as my onboard computer, which is connected to the pixhawk via a usb cable. I have no problem connecting to the pixhawk through mavros, and I am able to send my Vicon pose to the mavros with no issue.

I would like to start doing offboard control now that I have position hold working properly, but I cannot seem to get it to work. When I run the offb_node.cpp example script, nothing happens.

My question is: is it required that offboard commands are sent directly to the telem2 serial port? I figured that since mavros worked fine through the micro usb port, I wouldn’t have any trouble sending off board commands this way as well.


I added in some ROS_INFO messages to pinpoint where the script was getting hung up. For some reason the /mavros/state topic wasn’t populating, and this was keeping the off_node.ccp script from changing the mode to off board.


I currently have the same setup as you using a Vicon system and TK1 as the offboard computer. However I am having trouble getting the Vicon pose message to the pixhawk. Are you using the vicon_bridge ROS package? Could you go into detail on how to integrate the Vicon position?


I am not using the vicon_bridge package. I switched over to the vrpn_client_ros package because it works on our onboard computer. All I had to do was remap the /vrpn_client_ros/ModelName/pose topic to the /mavros/mocap/pose topic. I also set the mocap use_pose parameter to true in the px4_config.yaml script, however I think this is the default for mavros. I am using the current build of the px4 firmware with the lpe extension (make px4fmu-v2_lpe). In the parameter list in QGC, I have the fusion mask set to only integrate mocap data.

The status LED should breath green once it is receiving mocap data properly. You can check to make sure your local position estimate matches your mocap data by checking that the /mavros/mocap/pose topic and the /mavros/local_position/pose topic match.

Same conf here, u should use the port which is configured as companion computer, generally Telemetry 2 port. This should be arranged in system parameters. I’m able to move the copter via a TX1 module using a uart conn in between. (Telemetry 2 port as SYS_COMPANION)

My question is, how do u handle the Jetson’s temperature issue? Are u using a fan? Seems it gets too hot after a while without a fan.

I have been using the usb port on the Pixhawk to interface with a usb hub connected to the micro-usb port on my TK1 board. I haven’t experienced any temperature issues with the TK1, which has its own onboard fan for the processor. We are also doing image processing onboard and I still haven’t experienced any temperature issues.

HI mohrad
How to setup the tracker in the windows computer to enable the VRPN?