epsilonorion / roscopter Goto Github PK
View Code? Open in Web Editor NEWThis project forked from aletty/roscopter
ROS to Ardupilot Mega communication
This project forked from aletty/roscopter
ROS to Ardupilot Mega communication
I'm struggling with getting this to work on my quadcopter. I have an APM controller, which seems to be working normally. When I connect to it through APM Planner, it fully connects and is functional. However, when I try to connect to it through roscopter I'm stuck at the message "Waiting for APM heartbeat". I cannot for the life of me figure out why it won't detect a heartbeat from the APM when it works fine through APM planner. I have tried multiple versions of firmware, including 3.1 and 3.2. Any thoughts?
Hi guys I am using fuerte.
I rosmade the package following the rules and tried to rosrun using the following command:
rosrun roscopter roscopter.py --device=/dev/ttyACM0 --baudrate=115200
I get the following error:
Traceback (most recent call last):
File "/home/pi/fuerte_workspace/sandbox/roscopter/nodes/roscopter.py", line 373, in
rospy.Service("/apm/command", roscopter.srv.APMCommand, command_callback)
AttributeError: 'module' object has no attribute 'srv'
Any suggestions?
Talha
Hi, I just follow the wiki to build and install this package.
But when I run it, there exist an error.
> rosrun roscopter driver.py --device=/dev/ttyUSB0 --baudrate=57600
Traceback (most recent call last):
File "/home/aqua/ros_catkin/src/roscopter/scripts/driver.py", line 6, in <module>
import roscopter.msg
ImportError: No module named msg
I'm using ROS hydro and catkin_make successfully.
the path is "~/ros_catkin/src/roscopter/msg"
roscopter.msg should be correct
Should I modify something?
I'm using Hydro on Ubuntu 13.04
Thanks,
Aqua
I'm trying to install it on Hydro following the install options, but when I get to the
"To build mavlink, navigate to the "pymavlink" folder and run the command "sudo python setup.py install"."
Then while mavlink seemingly compiles after restarting there is no ROS anymore, catkin_make, roscore, etc all returns command not found.
Hi,
I can arm with no problems by calling rosservice call /arm as a console command.
But I tried to call it inside the code and it does nothing... both /arm and /disarm.
Can someone show me how to properly call it inside the code? I already followed the Service and clients tutorials of the ROS wiki... It should work...
Maybe I am missing something really stupid.
Anyways, thanks in advance.
Regards,
Lucas
Hi!
I 'm trying to use roscopter with APM. I think I was able to successfully follow the wiki pages for building the package (catkin_make didn't return any errors, catkin_make --pkg roscopter also worked well).
I am able to run the module without any problem, the APM initializes correctly. The problem occures when I try to echo some of the rostopic connected to roscopter, then I get an error:
ERROR: Cannot load message class for [roscopter/Attitude]. Are your messages built?
I could successfully echo /gps message therefore I suspect the problem I have is with roscopter messages.
Do you have any ideas what I might be doing wrong? I am using ros hydro.
Hi, I'm just reading the code of imu_transform_publish.py
I found there is a frame change, from NED to ENU.
Is it because the RPY data we use for tf.transformations.quaternion_from_euler
should be in ENU frame instead of NED?
But when I run rviz to see the dynamic data from imu frame_id, there is something wrong.
The pitch is correct, but the roll seems to be in wrong direction. i.e. when I turn the right side upper, the left side rise in rviz.
So I feel confused why this in not matched.
To enable control, run the roscopter node with --enable-control=true option.
But when I try
>rosrun roscopter driver.py --device=/dev/ttyUSB0 --baudrate=57600 --enable-control=true
Usage: roscopter.py [options]
driver.py: error: no such option: --enable-control
also I cannot use roscopter.py because I'm using hydro.
what should I do to enable control, or is it default enabled?
Hi,
I use ros fuerte and when I roscopter build with rosmake I take this error "roscopter ROS_NOBUILD in package roscopter No Makefile in package roscopter".
Can you help me ?
Thank you.
I run rosrun roscopter imu_transform_publish.py
but failed today.
It worked well before and I didn't change any file related to roscopter package..
The error is
[ERROR] [WallTime: 1401205871.351031] bad callback: <function imu_callback at 0x13e8578>
Traceback (most recent call last):
File "/opt/ros/hydro/lib/python2.7/dist-packages/rospy/topics.py", line 682, in _invoke_callback
cb(msg)
File "/home/aqua/ros_catkin/src/roscopter/scripts/imu_transform_publish.py", line 74, in imu_callback
q = tf.transformations.quaternion_from_euler(roll,pitch,yaw)
AttributeError: 'module' object has no attribute 'transformations'
no idea how to solve that currently....
I was trying to set up roscopter with the ARDrone, problem is that when I try to send a command it always timeouts? Waypoint are received correctly by the drone (verified by using QGroundControl), but commands not. Any ideas how or what could cause this?
Also after receiving the waypoints with QGroundControl I am able to make it fly what I have requested from the roscopter .... a bit weird
Hi,
I'm trying to send the waypoints data.
I find /waypoint
is a service and I can find using rosservice list
instead of a topic as what wiki says.
the type of /waypoint
is roscopter/SendWaypoint
I use rossrv show
to check the type format:
roscopter/Waypoint waypoint
uint8 TYPE_NAV=1
uint8 TYPE_CONDITION_YAW=2
uint8 TYPE_CONDITION_CHANGE_ALT=3
uint8 TYPE_TAKEOFF=4
int32 latitude
int32 longitude
int32 altitude
uint16 pos_acc
uint8 speed_to
uint16 hold_time
int32 yaw_from
int32 pan_angle
int32 tilt_angle
uint8 waypoint_type
---
bool result
then I run the command:
rosservice call /waypoint 15 22 0 40 0 30 3 0 0 0
I put 10 arguments for 10 parameters but got the error:
ERROR: Incompatible arguments to call service:
Too many arguments:
* Given: [15, 22, 0, 40, 0, 30, 3, 0, 0, 0]
* Expected: ['waypoint']
Provided arguments are:
* 15 (type int)
* 22 (type int)
* 0 (type int)
* 40 (type int)
* 0 (type int)
* 30 (type int)
* 3 (type int)
* 0 (type int)
* 0 (type int)
* 0 (type int)
Service arguments are: [waypoint.latitude waypoint.longitude waypoint.altitude waypoint.pos_acc waypoint.speed_to waypoint.hold_time waypoint.yaw_from waypoint.pan_angle waypoint.tilt_angle waypoint.waypoint_type]
the content of waypoint.msg
# latitude and longitude given in decimal degrees (* 10^7)
int32 latitude
int32 longitude
# height in mm
int32 altitude
# posAcc given in mm
uint16 pos_acc
# max speed to travel to waypoint in % of 100
uint8 speed_to
# time to stay at waypoint in ms
uint16 hold_time
# yawFrom angle given in degrees (* 1000)
int32 yaw_from
# camera pan and tilt angles during waypoint travel given in degrees (* 1000)
int32 pan_angle
int32 tilt_angle
# Type of Waypoint
uint8 waypoint_type
uint8 TYPE_NAV = 1
uint8 TYPE_CONDITION_YAW = 2
uint8 TYPE_CONDITION_CHANGE_ALT = 3
uint8 TYPE_TAKEOFF = 4
Then I used the following format but there is still an error:
>rosservice call /waypoint "{waypoint.latitude: 15, waypoint.longitude: 22, waypoint.speedTo: 0, waypoint.altitude: 40, waypoint.hold_time: 0, waypoint.yaw_from: 30, waypoint.pos_acc: 3, waypoint.pan_angle: 0,waypoint.tilt_angle: 0,waypoint_type: 1}"
ERROR: Incompatible arguments to call service:
No field name [waypoint.longitude]
Provided arguments are:
* {'waypoint.longitude': 22, 'waypoint.speedTo': 0, 'waypoint.altitude': 40, 'waypoint.tilt_angle': 0, 'waypoint.pan_angle': 0, 'waypoint.latitude': 15, 'waypoint.hold_time': 0, 'waypoint.yaw_from': 30, 'waypoint_type': 1, 'waypoint.pos_acc': 3} (type dict)
Service arguments are: [waypoint.latitude waypoint.longitude waypoint.altitude waypoint.pos_acc waypoint.speed_to waypoint.hold_time waypoint.yaw_from waypoint.pan_angle waypoint.tilt_angle waypoint.waypoint_type]
So I think I should send all the data in one group as the type waypoint
, but I don't know what to do...
Thanks
Hi,
rosservice call /command "command: 3"
I run some this command connection and some no connection. I don't understand this problem, why does it have ?
Best regards.
Thank you.
Hi,
In roscopter/scripts/driver.py, inside of the waypoint_list_cb() function, there's a small typo that made us unable to use the /waypoint_list service until it gets fixed.
Essentially, the request value (req) for the waypoint_list_cb() function has a variable called waypoints, which is accessed with req.waypoints. Unfortunately, in one place (line 622), the variable is accessed as req.waypoint, with no 's', like so: req.waypoint[i].altitude
We added an 's' to the req.waypoint[i].altitude call and it worked, would suggest doing so.
Hi,
I am trying to install roscopter in fuerte. I succesfully rosmake without any errors. And when I "rosrun roscopter roscopter.py --device=/dev/ttyUSB0 --baudrate=57600" I get the following error.
Traceback (most recent call last):
File "/root/fuerte_workspace/sandbox/roscopter/nodes/roscopter.py", line 45, in
import mavutil
File "/root/fuerte_workspace/sandbox/roscopter/nodes/../mavlink/pymavlink/mavutil.py", line 22, in
from .mavextra import *
ValueError: Attempted relative import in non-package
What should I do to make it run?
Thanks in advance
I am pretty new to this so bare with me. While trying to build roscopter I am following instructions on the wiki and I get to the catkin_make part and when I try to run it I get this error.
The specified base path "/home/ark/roscopter" contains a CMakeLists.txt but "catkin_make" must be invoked in the root of workspace
Can anyone kindly help me out?
I've tried building the mavlink folder in the src folder like someone did in another issue. But I have the same result.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.