-
Notifications
You must be signed in to change notification settings - Fork 19
Home
- ROSCOPTER
Currently it supports controlling the arducopter by overriding the RC command, and it publishes all the sensor data.
* Checkout repo * Checkout and build mavlink in the roscopter folder, or create a symlink to your existing mavlink build. The `roscopter/mavlink` folder should point to the built mavlink folder. * Mavlink can be checked-out from : git clone https://github.com/mavlink/mavlink.git * To setup Mavlink, navigate to the "pymavlink" folder and run the command "sudo python setup.py install". * Build roscopter using `rosmake`.
* Checkout repo * Checkout and build mavlink in the roscopter folder, or create a symlink to your existing mavlink build. The `roscopter/mavlink` folder should point to the built mavlink folder. * Mavlink can be checked-out from : git clone https://github.com/mavlink/mavlink.git * To setup Mavlink, navigate to the "pymavlink" folder and run the command "sudo python setup.py install". * Navigate back to Catkin folder and run 'catkin_make'.
nodes/roscopter.py --device=/dev/ttyUSB0 --baudrate=57600
* `--device` specifies the serial device. It could be `/dev/ACMx` or `/dev/ttyUSBx`. * `--baudrate` specifies the baudrate. This should be 57600 if you are using XBee to talk to the APM, and 115200 if you are using a direct wired connection.
Roscopter publishes sensor and other state data on the following topics:
* /attitude : imu information * /gps :gps fix * /rc : value of current raw rc input * /state : shows wether the copter is armed or not, and the current mode * /vfr_hud : airspeed, groundspeed, heading, throttle, alt, climb
To enable control, run the roscopter node with --enable-control=true option.
nodes/roscopter.py --device=/dev/ttyUSB0 --baudrate=57600 --enable-control=true
Currently the only way of controlling the arducopter is by publishing to `/send_rc` topic. It takes raw RC channel values (between 1000-2000), and uses them to override the values received from the RC controller. To give control back to RC, publish "0" for the corresponding channel. A value of "-1" for a corresponding channel means no change should be made to that channels current value. To send the -1, the value given for the channel should be "65535".
rostopic pub -1 send_rc roscopter/RC "{channel:[1000,]}"
Note: 1000-2000 is the standard PPM Modulation scheme; some receivers/transmitters might violate this specification.
Arming and disarming can be done by calling the `/arm` and `/disarm` services with no parameters.
- Roll
- Pitch
- Throttle
- Yaw
- Change APM Mode
- Optional
- Optional
- Optional