ethz-asl / asctec_mav_framework

Framework for data aquisition and position control to be used with the highlevel processor of Ascending Technologies helicopters
http://www.ros.org/wiki/asctec_mav_framework
36 stars 40 forks source link

Asctec_hl_interface tutorial problem #37

Closed ghost closed 9 years ago

ghost commented 9 years ago

Hi im following this tutorilal http://wiki.ros.org/asctec_hl_interface/Tutorials/hlp%20position%20control#Onboard_State_Estimation iv updated the fcu_parameters.launch file as fcu/state_estimation : HighLevel_SSDK fcu/position_control : Highlevel all other things are the same when i run rosrun asctec_hl_interface plot_position_input all the values on /fcu/debug/data[22]
/fcu/debug/data[23]
/fcu/debug/data[3]
are zero. when i move the pelican by hand with joystick to acc mode and serial on or off nothing happens is this normal? rostopic echo /fcu/current_pose gives position and orientation as all 0's

then i do roslaunch asctec_hl_interface fcu.launch rosrun asctec_hl_interface waypoint_server

and on the ground pc i run waypoint client node but when i give waypoints the pelican just goes out of control ! any suggentions?

thanks farhan

markusachtelik commented 9 years ago

you need to switch on the serial interface switch in order to see the output of the debug channels you mentioned. What do you use to supply position measurements to the HL?

ghost commented 9 years ago

Hi Markus I switched to GPS mode and the switched to serial interface on (both left and right switch of fatuba were up). I still dont get any values in /fcu/debug[22] ..... [23] ..... [3] channels. and im already running the fcu.launch and waypoint_server. I dont get your question "What do you use to supply position measurements to the HL?" im sending waypoints by waypoint_client i have not made any changes in the fcu_parameters.launch except for the above mentioned two.

thanks Farhan

ghost commented 9 years ago

Hi Markus Here is my fcu_parameters.launch file

fcu/serial_port: /dev/ttyS2

fcu/baudrate: 460800

fcu/baudrate: 57600

fcu/baudrate: 115200

fcu/baudrate: 921600

fcu/frame_id: fcu fcu/packet_rate_imu: 100.0 fcu/packet_rate_rc: 20.0 fcu/packet_rate_gps: 5.0 fcu/packet_rate_ssdk_debug: 10.0 fcu/packet_rate_ekf_state: 0.0 fcu/max_velocity_xy: 0.3 fcu/max_velocity_z: 0.3

fcu/state_estimation: HighLevel_SSDK

fcu/state_estimation: off

fcu/position_control: HighLevel

fcu/position_control: off

fcu/battery_warning: 10.8

and ssdk_parameters.yaml file is

ssdk/p21: 12.0 # Kd xy ssdk/p22: 5.0 # Kp xy ssdk/p24: 2.0 # Ki xy ssdk/p41: 18.01 # L1 xy ssdk/p42: 45.18 # L2 xy ssdk/p43: 0.45 # L3 xy ssdk/p35: 18.01 # L1 z ssdk/p36: 45.18 # L2 z ssdk/p37: 0.45 # L3 z ssdk/p9: 15.0 # Kp z ssdk/p17: 15.0 # Kd z ssdk/p18: 4.0 # Ki z ssdk/p23: 1.3 # mass [kg] ssdk/p40: 1.0 # K stick yaw ssdk/p45: 1.0 # K stick height ssdk/p38: 1.0 # K stick xy ssdk/p46: 0.5 # Kp yaw

ssdk/p39: 1.0 # k_ff pos xy ssdk/omega_0_z: 8.0 ssdk/omega_0_xy: 2.5 ssdk/zeta_z: 1.0 ssdk/zeta_xy: 1.0

ssdk/p20: 32.0 # max overall thrust [N]

ssdk/p48: 2.0 # max acc refmodel x y [m/s^2] ssdk/p49: 2.0 # max acc refmodel z [m/s^2] ssdk/p16: 5.0 # max speed refmodel stick input

ssdk/tf_ref_frame_id: world ssdk/tf_tracked_frame_id: pelican when i send waypoint_client 0 0 1 0 0.1 0 0 the pelican just goes out of control !

thanks Farhan

markusachtelik commented 9 years ago

the HL needs a position (+yaw) measurement. hl_node listens on the topic "fcu/pose" for that. The estimator on the HL fuses this with the accelerometer measurements in order to get a good estimate of position and yaw. Simple integration of IMU measurements does not work.

ghost commented 9 years ago

Thanks for the info. What do in need to change ? Or do? Thanks Farhan

ghost commented 9 years ago

Thanks for the info. What do in need to change ? Or do? Thanks Farhan

markusachtelik commented 9 years ago

You need a position and yaw measurement. That can be from motion capture systems, GPS+magnetometer, april-tags, visual slam / visual odometry, optical flow, laser-based slam, kinect ... The list is long and depends on your application in the end. However, this is nothing that you can fix within an evening. If you can briefly describe what you plan to to, I can try to point you into the right direction for further reading.

yshi329 commented 5 years ago

Hi

You need a position and yaw measurement. That can be from motion capture systems, GPS+magnetometer, april-tags, visual slam / visual odometry, optical flow, laser-based slam, kinect ... The list is long and depends on your application in the end. However, this is nothing that you can fix within an evening. If you can briefly describe what you plan to to, I can try to point you into the right direction for further reading.

I am working on using Asctec Pelican to perform GPS waypoint navigation in ROS, so I am trying to use RTK GPS signal as the position input, should I write a script to publish converted position on "fcu/pose" topic as the position input? I am also wondering if I could get the height (z) from the GPS directly?