Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to connect Icarous and MAVProxy #53

Closed
FabianSchuessler opened this issue Sep 27, 2018 · 5 comments
Closed

How to connect Icarous and MAVProxy #53

FabianSchuessler opened this issue Sep 27, 2018 · 5 comments

Comments

@FabianSchuessler
Copy link

The first picture shows the screenshot of MAVProxy running on a virtual machine which has a connection to a telemetry radio. The second picture is of the user interface of a drone which is running Icarous. Now I have this question how to make the connection between the Icarous on the drone and MAVProxy on the virtual machine.

image

rsz_neue_bitmap

@SweeWarman
Copy link
Contributor

SweeWarman commented Sep 29, 2018

For running Icarous on a drone platform, assuming you want to send telemetry to the ground station over a radio (using the serial port) there are couple of things that must be done:

  1. You don't have to use the -DSITL=ON flag for compilation. This is only required for connecting to the SITL simulator.

  2. Specify the serial port parameters in the #else section in the intf_tbl.c file of the ardupilot app.

  • (2.1) The autopilot interface is defined by apPortType and ap address. These should define the serial port on which your hardware device running icarous connects to the ardupilot (pixhawk hardware). This depends on the actual hardware you are using and you will have to figure this out. For examples, on devices such as beagle bones (https://beagleboard.org/bone), these are /dev/ttyS0, /dev/ttyS1 etc... For Nvidia Jetsons (https://developer.nvidia.com/embedded/buy/jetson-tx2), they are /dev/ttyTHS0, /dev/ttyTHS1,....

  • (2.2) You'll specify the serial port parameters for telemetry radio in gsPortType and gs address. Usually, if you are using a USB radio, this would be /dev/ttyUSB0,/dev/ttyUSB1,... If you are not using a USB radio, it will be similar to the serial port names specified previously (in 2.1)

#else
ArdupilotTable_t TblStruct = {
SERIAL, // apPortType
57600, // baudrate
0, // apPortin
0, // apPortout
"/dev/ttyACM0", // ap address
SERIAL, // gsPortType
57600, // baudrate
0, // gsPortin
0, // gsPortout
"/dev/ttyUSB0" // gs address
};
#endif

  1. For you ground station, it seems like you are using the runGS.sh script. This script was defined only to connect to the SITL. You can launch mavproxy directly as follows:

mavproxy.py --master=/dev/ttyUSBX,brate

where "/dev/ttyUSBX" should be replaced with the name of the port on which the telemetry radio is connected on your ground station computer and the "brate" specifies the baudrate at which you are sending data. This baudrate should also be equal to the baudrate you specify on the drone in the previous section (2.2).

Hope this helps.

@aogrcs
Copy link

aogrcs commented Oct 10, 2018

@FabianSchuessler Did you run ICAROUS on another board, like raspberry or beaglebones? Thanks

@FabianSchuessler
Copy link
Author

@aogrcs Yes, it is running on Raspberry.

@aogrcs
Copy link

aogrcs commented Oct 10, 2018

@FabianSchuessler I see that you use Erle Copter, and do you run ICAROUS and ArduCopter both on Raspberry?
Nice work! Thanks

@FabianSchuessler
Copy link
Author

@aogrcs yes, both are running on the Raspberry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants