Unable to echo /crazyflie/imu data
kashishdhal opened this issue · 15 comments
Hello @whoenig,
I am able to successfully launch hover_vicon.launch (please see below) as specified on your github. However, when I echo /crazyflie/imu or battery or pressure, I don't see any data. I made sure to source devel/setup.bash
Please let me know if you would be able to help me with the same. Note, I don't have a joystick but I don't know if that will make a difference in imu or pressure topics.
gnclab@system76-pc:~$ roslaunch crazyflie_demo hover_vicon.launch x:=0 y:=0 z:=0.5 ... logging to /home/gnclab/.ros/log/40dd63d2-72fc-11ea-a41b-1c697a0794e3/roslaunch-system76-pc-16294.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt WARNING: disk usage in log directory [/home/gnclab/.ros/log] is over 1GB. It's recommended that you use the 'rosclean' command. /opt/ros/melodic/lib/python2.7/dist-packages/roslaunch/loader.py:412: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. data = yaml.load(text) xacro.py is deprecated; please use xacro instead started roslaunch server http://system76-pc:34579/ SUMMARY ======== PARAMETERS * /crazyflie/controller/PIDs/X/integratorMax: 0.1 * /crazyflie/controller/PIDs/X/integratorMin: -0.1 * /crazyflie/controller/PIDs/X/kd: 20.0 * /crazyflie/controller/PIDs/X/ki: 2.0 * /crazyflie/controller/PIDs/X/kp: 40.0 * /crazyflie/controller/PIDs/X/maxOutput: 10.0 * /crazyflie/controller/PIDs/X/minOutput: -10.0 * /crazyflie/controller/PIDs/Y/integratorMax: 0.1 * /crazyflie/controller/PIDs/Y/integratorMin: -0.1 * /crazyflie/controller/PIDs/Y/kd: -20.0 * /crazyflie/controller/PIDs/Y/ki: -2.0 * /crazyflie/controller/PIDs/Y/kp: -40.0 * /crazyflie/controller/PIDs/Y/maxOutput: 10.0 * /crazyflie/controller/PIDs/Y/minOutput: -10.0 * /crazyflie/controller/PIDs/Yaw/integratorMax: 0.0 * /crazyflie/controller/PIDs/Yaw/integratorMin: 0.0 * /crazyflie/controller/PIDs/Yaw/kd: -20.0 * /crazyflie/controller/PIDs/Yaw/ki: 0.0 * /crazyflie/controller/PIDs/Yaw/kp: -200.0 * /crazyflie/controller/PIDs/Yaw/maxOutput: 200.0 * /crazyflie/controller/PIDs/Yaw/minOutput: -200.0 * /crazyflie/controller/PIDs/Z/integratorMax: 1000.0 * /crazyflie/controller/PIDs/Z/integratorMin: -1000.0 * /crazyflie/controller/PIDs/Z/kd: 6000.0 * /crazyflie/controller/PIDs/Z/ki: 3500.0 * /crazyflie/controller/PIDs/Z/kp: 5000.0 * /crazyflie/controller/PIDs/Z/maxOutput: 60000.0 * /crazyflie/controller/PIDs/Z/minOutput: 10000.0 * /crazyflie/controller/frame: /vicon/gncQuad/gn... * /crazyflie/controller/worldFrame: world * /crazyflie/crazyflie_add/enable_logging: False * /crazyflie/crazyflie_add/enable_logging_battery: True * /crazyflie/crazyflie_add/enable_logging_imu: True * /crazyflie/crazyflie_add/enable_logging_magnetic_field: True * /crazyflie/crazyflie_add/enable_logging_packets: True * /crazyflie/crazyflie_add/enable_logging_pose: False * /crazyflie/crazyflie_add/enable_logging_pressure: True * /crazyflie/crazyflie_add/enable_logging_temperature: True * /crazyflie/crazyflie_add/pitch_trim: 0 * /crazyflie/crazyflie_add/roll_trim: 0 * /crazyflie/crazyflie_add/tf_prefix: crazyflie * /crazyflie/crazyflie_add/uri: radio://0/80/2M * /crazyflie/crazyflie_add/use_ros_time: True * /crazyflie/joy/dev: /dev/input/js0 * /crazyflie/joystick_controller/use_crazyflie_controller: True * /crazyflie/pose/name: goal * /crazyflie/pose/rate: 30 * /crazyflie/pose/x: 0 * /crazyflie/pose/y: 0 * /crazyflie/pose/z: 0.5 * /robot_description: <?xml version="1.... * /rosdistro: melodic * /rosversion: 1.14.3 * /vicon/datastream_hostport: 192.168.10.1:801 * /vicon/stream_mode: ClientPull * /vicon/tf_ref_frame_id: /world NODES /crazyflie/ baselink_broadcaster (tf/static_transform_publisher) controller (crazyflie_controller/crazyflie_controller) crazyflie_add (crazyflie_driver/crazyflie_add) joy (joy/joy_node) joystick_controller (crazyflie_demo/controller.py) pose (crazyflie_demo/publish_pose.py) / crazyflie_server (crazyflie_driver/crazyflie_server) rviz (rviz/rviz) vicon (vicon_bridge/vicon_bridge) auto-starting new master process[master]: started with pid [16307] ROS_MASTER_URI=http://localhost:11311 setting /run_id to 40dd63d2-72fc-11ea-a41b-1c697a0794e3 process[rosout-1]: started with pid [16318] started core service [/rosout] process[crazyflie_server-2]: started with pid [16325] process[crazyflie/crazyflie_add-3]: started with pid [16326] process[crazyflie/joy-4]: started with pid [16332] process[crazyflie/joystick_controller-5]: started with pid [16338] [ INFO] [1585623834.224473439]: wait_for_service /add_crazyflie [ INFO] [1585623834.225827631]: found /add_crazyflie [ INFO] [1585623834.228366335]: Adding radio://0/80/2M as crazyflie with trim(0.000000, 0.000000). Logging: 1, Parameters: 0, Use ROS time: 1 process[crazyflie/controller-6]: started with pid [16344] [ERROR] [1585623834.230447030]: Couldn't open joystick /dev/input/js0. Will retry every second. process[crazyflie/pose-7]: started with pid [16347] process[crazyflie/baselink_broadcaster-8]: started with pid [16350] process[vicon-9]: started with pid [16355] process[rviz-10]: started with pid [16362] [ INFO] [1585623834.266429805]: Connecting to Vicon DataStream SDK at 192.168.10.1:801 ... [ INFO] [1585623834.267349363]: . [ INFO] [1585623834.268865711]: CF Console: SYS: ---------------------------- [ INFO] [1585623834.271229262]: CF Console: SYS: Crazyflie 2.1 is up and running! [ INFO] [1585623834.273392815]: CF Console: SYS: Production release 2020.02 [ INFO] [1585623834.276974643]: CF Console: SYS: I am 0x20383347344D500800250035 and I have 1024KB of flash! [ INFO] [1585623834.278490793]: CF Console: CFGBLK: v1, verification [OK] [ INFO] [1585623834.279885338]: CF Console: DECK_CORE: 0 deck(s) found [ INFO] [1585623834.282406961]: CF Console: IMU: BMI088 Gyro I2C connection [OK]. [ INFO] [1585623834.284764807]: CF Console: IMU: BMI088 Accel I2C connection [OK] [ INFO] [1585623834.287125852]: CF Console: IMU: BMP388 I2C connection [OK] [ INFO] [1585623834.289723674]: CF Console: ESTIMATOR: Using Complementary (1) estimator [ INFO] [1585623834.292115265]: CF Console: CONTROLLER: Using PID (1) controller [ INFO] [1585623834.294487187]: CF Console: MTR-DRV: Using brushed motor driver [ INFO] [1585623834.295911004]: CF Console: EEPROM: I2C connection [OK]. [ INFO] [1585623834.307399908]: CF Console: STAB: Wait for sensor calibration... [ INFO] [1585623834.308824721]: CF Console: SYS: Free heap: 8216 bytes [ INFO] [1585623834.310125405]: CF Console: STAB: Ready to fly. [ INFO] [1585623834.311002275]: Requesting parameters... [ INFO] [1585623834.367665112]: Found variables in cache. [crazyflie/crazyflie_add-3] process has finished cleanly log file: /home/gnclab/.ros/log/40dd63d2-72fc-11ea-a41b-1c697a0794e3/crazyflie-crazyflie_add-3*.log [ INFO] [1585623834.663208415]: Requesting memories... [ INFO] [1585623834.700935269]: Memories: 8 [ INFO] [1585623834.739220622]: Ready... [ INFO] [1585623834.739249062]: Elapsed: 0.475502 s [INFO] [1585623834.818719]: found update_params service [INFO] [1585623834.819596]: waiting for emergency service [INFO] [1585623834.821553]: found emergency service [INFO] [1585623834.822548]: waiting for land service [INFO] [1585623834.824954]: found land service [INFO] [1585623834.825984]: waiting for takeoff service [INFO] [1585623834.828023]: found takeoff service [ INFO] [1585623835.267563366]: ... connected! [ INFO] [1585623835.267649953]: Setting Stream Mode to ClientPull: Success [ INFO] [1585623835.267715562]: Axis Mapping: X-Forward Y-Left Z-Up [ INFO] [1585623835.267798269]: Version: 1.3.0 [ INFO] [1585623835.267864272]: setting up grab_vicon_pose service server ... [ INFO] [1585623835.269357908]: setting up segment calibration service server ... [ WARN] [1585623835.273258602]: grab frame returned false [ WARN] [1585623835.277218383]: gncQuad occluded, not publishing... [ INFO] [1585623835.288111332]: creating new object gncQuad/gncQuad ... [ WARN] [1585623835.290802863]: unable to load zero pose for gncQuad/gncQuad [ INFO] [1585623835.290888505]: ... done, advertised as " vicon/gncQuad/gncQuad"
It looks like enable_logging
is set to False in the launch file, which would prevent it from creating any ROS topics. You do not need a joystick for operation, it is just convenient for emergency shutoff etc. I hope that helps!
Hello @whoenig ,
Thanks for the reply. When I do rostopic list, I am able to see all the topics but rostopic echo does not return any result.
I modified the launch file as per your suggestion and still could not echo the topics. Please let me know what shoudl I do next?
Here is the output from the launch after modification of the launch file:
gnclab@system76-pc:~$ roslaunch crazyflie_demo hover_vicon.launch ... logging to /home/gnclab/.ros/log/19989308-755b-11ea-a41b-1c697a0794e3/roslaunch-system76-pc-9974.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt WARNING: disk usage in log directory [/home/gnclab/.ros/log] is over 1GB. It's recommended that you use the 'rosclean' command. /opt/ros/melodic/lib/python2.7/dist-packages/roslaunch/loader.py:412: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. data = yaml.load(text) xacro.py is deprecated; please use xacro instead started roslaunch server http://system76-pc:37301/ SUMMARY ======== PARAMETERS * /crazyflie/controller/PIDs/X/integratorMax: 0.1 * /crazyflie/controller/PIDs/X/integratorMin: -0.1 * /crazyflie/controller/PIDs/X/kd: 20.0 * /crazyflie/controller/PIDs/X/ki: 2.0 * /crazyflie/controller/PIDs/X/kp: 40.0 * /crazyflie/controller/PIDs/X/maxOutput: 10.0 * /crazyflie/controller/PIDs/X/minOutput: -10.0 * /crazyflie/controller/PIDs/Y/integratorMax: 0.1 * /crazyflie/controller/PIDs/Y/integratorMin: -0.1 * /crazyflie/controller/PIDs/Y/kd: -20.0 * /crazyflie/controller/PIDs/Y/ki: -2.0 * /crazyflie/controller/PIDs/Y/kp: -40.0 * /crazyflie/controller/PIDs/Y/maxOutput: 10.0 * /crazyflie/controller/PIDs/Y/minOutput: -10.0 * /crazyflie/controller/PIDs/Yaw/integratorMax: 0.0 * /crazyflie/controller/PIDs/Yaw/integratorMin: 0.0 * /crazyflie/controller/PIDs/Yaw/kd: -20.0 * /crazyflie/controller/PIDs/Yaw/ki: 0.0 * /crazyflie/controller/PIDs/Yaw/kp: -200.0 * /crazyflie/controller/PIDs/Yaw/maxOutput: 200.0 * /crazyflie/controller/PIDs/Yaw/minOutput: -200.0 * /crazyflie/controller/PIDs/Z/integratorMax: 1000.0 * /crazyflie/controller/PIDs/Z/integratorMin: -1000.0 * /crazyflie/controller/PIDs/Z/kd: 6000.0 * /crazyflie/controller/PIDs/Z/ki: 3500.0 * /crazyflie/controller/PIDs/Z/kp: 5000.0 * /crazyflie/controller/PIDs/Z/maxOutput: 60000.0 * /crazyflie/controller/PIDs/Z/minOutput: 10000.0 * /crazyflie/controller/frame: /vicon/gncQuad/gn... * /crazyflie/controller/worldFrame: world * /crazyflie/crazyflie_add/enable_logging: True * /crazyflie/crazyflie_add/enable_logging_battery: True * /crazyflie/crazyflie_add/enable_logging_imu: True * /crazyflie/crazyflie_add/enable_logging_magnetic_field: True * /crazyflie/crazyflie_add/enable_logging_packets: True * /crazyflie/crazyflie_add/enable_logging_pose: False * /crazyflie/crazyflie_add/enable_logging_pressure: True * /crazyflie/crazyflie_add/enable_logging_temperature: True * /crazyflie/crazyflie_add/pitch_trim: 0 * /crazyflie/crazyflie_add/roll_trim: 0 * /crazyflie/crazyflie_add/tf_prefix: crazyflie * /crazyflie/crazyflie_add/uri: radio://0/80/2M * /crazyflie/crazyflie_add/use_ros_time: True * /crazyflie/joy/dev: /dev/input/js0 * /crazyflie/joystick_controller/use_crazyflie_controller: True * /crazyflie/pose/name: goal * /crazyflie/pose/rate: 30 * /crazyflie/pose/x: 0 * /crazyflie/pose/y: 0 * /crazyflie/pose/z: 0.5 * /robot_description: <?xml version="1.... * /rosdistro: melodic * /rosversion: 1.14.3 * /vicon/datastream_hostport: 192.168.10.1:801 * /vicon/stream_mode: ClientPull * /vicon/tf_ref_frame_id: /world NODES /crazyflie/ baselink_broadcaster (tf/static_transform_publisher) controller (crazyflie_controller/crazyflie_controller) crazyflie_add (crazyflie_driver/crazyflie_add) joy (joy/joy_node) joystick_controller (crazyflie_demo/controller.py) pose (crazyflie_demo/publish_pose.py) / crazyflie_server (crazyflie_driver/crazyflie_server) rviz (rviz/rviz) vicon (vicon_bridge/vicon_bridge) auto-starting new master process[master]: started with pid [9990] ROS_MASTER_URI=http://localhost:11311 setting /run_id to 19989308-755b-11ea-a41b-1c697a0794e3 process[rosout-1]: started with pid [10001] started core service [/rosout] process[crazyflie_server-2]: started with pid [10008] process[crazyflie/crazyflie_add-3]: started with pid [10009] process[crazyflie/joy-4]: started with pid [10015] [ INFO] [1585884472.865712680]: wait_for_service /add_crazyflie [ INFO] [1585884472.867321656]: found /add_crazyflie process[crazyflie/joystick_controller-5]: started with pid [10021] [ INFO] [1585884472.869034704]: Adding radio://0/80/2M as crazyflie with trim(0.000000, 0.000000). Logging: 1, Parameters: 1, Use ROS time: 1 [ERROR] [1585884472.872919554]: Couldn't open joystick /dev/input/js0. Will retry every second. process[crazyflie/controller-6]: started with pid [10027] process[crazyflie/pose-7]: started with pid [10031] process[crazyflie/baselink_broadcaster-8]: started with pid [10033] process[vicon-9]: started with pid [10038] process[rviz-10]: started with pid [10044] [ INFO] [1585884472.913230538]: Connecting to Vicon DataStream SDK at 192.168.10.1:801 ... [ INFO] [1585884472.914094086]: . [ INFO] [1585884472.943285506]: Requesting parameters... [ INFO] [1585884473.021640906]: Found variables in cache. [crazyflie/crazyflie_add-3] process has finished cleanly log file: /home/gnclab/.ros/log/19989308-755b-11ea-a41b-1c697a0794e3/crazyflie-crazyflie_add-3*.log [ INFO] [1585884473.325641027]: Requesting Logging variables... [ INFO] [1585884473.372667900]: Found variables in cache. terminate called after throwing an instance of 'std::runtime_error' what(): Could not find gyro.x in log toc! [INFO] [1585884473.461288]: found update_params service [INFO] [1585884473.462521]: waiting for emergency service [INFO] [1585884473.464464]: found emergency service [INFO] [1585884473.465377]: waiting for land service [WARN] [1585884473.467375]: wait_for_service(/crazyflie/land): failed to contact, will keep trying [crazyflie_server-2] process has died [pid 10008, exit code -6, cmd /home/gnclab/catkin_ws/devel/lib/crazyflie_driver/crazyflie_server __name:=crazyflie_server __log:=/home/gnclab/.ros/log/19989308-755b-11ea-a41b-1c697a0794e3/crazyflie_server-2.log]. log file: /home/gnclab/.ros/log/19989308-755b-11ea-a41b-1c697a0794e3/crazyflie_server-2*.log [ INFO] [1585884473.914310212]: ... connected! [ INFO] [1585884473.914422459]: Setting Stream Mode to ClientPull: Success [ INFO] [1585884473.914521716]: Axis Mapping: X-Forward Y-Left Z-Up [ INFO] [1585884473.914640461]: Version: 1.3.0 [ INFO] [1585884473.914767153]: setting up grab_vicon_pose service server ... [ INFO] [1585884473.916741515]: setting up segment calibration service server ... [ WARN] [1585884473.919794355]: grab frame returned false [ WARN] [1585884473.922739034]: aslRover1 occluded, not publishing... [ WARN] [1585884473.922839279]: gncQuad occluded, not publishing... [ INFO] [1585884473.933036509]: creating new object aslRover1/aslRover1 ... [ INFO] [1585884473.933252202]: creating new object gncQuad/gncQuad ... [ WARN] [1585884473.936435123]: unable to load zero pose for aslRover1/aslRover1 [ INFO] [1585884473.936551007]: ... done, advertised as " vicon/aslRover1/aslRover1" [ WARN] [1585884473.938421950]: unable to load zero pose for gncQuad/gncQuad [ INFO] [1585884473.938513883]: ... done, advertised as " vicon/gncQuad/gncQuad" [INFO] [1585884474.074684]: wait_for_service(/crazyflie/land): finally were able to contact [rosrpc://system76-pc:44611] [INFO] [1585884474.077905]: found land service [INFO] [1585884474.080997]: waiting for takeoff service [INFO] [1585884474.087241]: found takeoff service
Hello @whoenig,
I just noticed in my output [crazyflie_server-2] process has died which means it's not able to find radio now (i don't know why?)
Scan command line returns the following:
gnclab@system76-pc:~$ rosrun crazyflie_tools scan radio://0/80/2M
In the cfclient I am able to connect to the following address: 0xE7E7E7E7E7
My launch file looks like the following:
arg name="uri" default="radio://0/80/2M/0xE7E7E7E7E7"
arg name="frame" default="/vicon/gncQuad/gncQuad"
Please let me know where I am going wrong?
The process seemed to have died because of Could not find gyro.x in log toc!
. Which firmware version are you using?
Hello @whoenig ,
Thanks for the reply. I am using the latest firmware, I guess it was 2020.02.
I also noticed that whenever my IMU parameter is set to True, it gives error in gyro.x.
Please help!
This logging variable still exists in the latest firmware (see https://github.com/bitcraze/crazyflie-firmware/blob/master/src/modules/src/stabilizer.c#L613-L617), so the issue must come from somewhere else.
- Try deleting the TOC cache files "~/.ros/log*.csv"
- Re-run and post the the output of the newly created cache file. Alternatively, you can use
rosrun crazyflie_tools listLogVariables --uri radio://0/80/2M/0xE7E7E7E7E7
and post the output of that command.
Hello @whoenig,
Here is the output after deleting the log file:
gnclab@system76-pc:~$ roslaunch crazyflie_demo hover_vicon.launch ... logging to /home/gnclab/.ros/log/cc27d664-8014-11ea-a41b-1c697a0794e3/roslaunch-system76-pc-22919.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt WARNING: disk usage in log directory [/home/gnclab/.ros/log] is over 1GB. It's recommended that you use the 'rosclean' command. /opt/ros/melodic/lib/python2.7/dist-packages/roslaunch/loader.py:412: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. data = yaml.load(text) xacro.py is deprecated; please use xacro instead started roslaunch server http://system76-pc:40113/ SUMMARY ======== PARAMETERS * /crazyflie/controller/PIDs/X/integratorMax: 0.1 * /crazyflie/controller/PIDs/X/integratorMin: -0.1 * /crazyflie/controller/PIDs/X/kd: 20.0 * /crazyflie/controller/PIDs/X/ki: 2.0 * /crazyflie/controller/PIDs/X/kp: 40.0 * /crazyflie/controller/PIDs/X/maxOutput: 10.0 * /crazyflie/controller/PIDs/X/minOutput: -10.0 * /crazyflie/controller/PIDs/Y/integratorMax: 0.1 * /crazyflie/controller/PIDs/Y/integratorMin: -0.1 * /crazyflie/controller/PIDs/Y/kd: -20.0 * /crazyflie/controller/PIDs/Y/ki: -2.0 * /crazyflie/controller/PIDs/Y/kp: -40.0 * /crazyflie/controller/PIDs/Y/maxOutput: 10.0 * /crazyflie/controller/PIDs/Y/minOutput: -10.0 * /crazyflie/controller/PIDs/Yaw/integratorMax: 0.0 * /crazyflie/controller/PIDs/Yaw/integratorMin: 0.0 * /crazyflie/controller/PIDs/Yaw/kd: -20.0 * /crazyflie/controller/PIDs/Yaw/ki: 0.0 * /crazyflie/controller/PIDs/Yaw/kp: -200.0 * /crazyflie/controller/PIDs/Yaw/maxOutput: 200.0 * /crazyflie/controller/PIDs/Yaw/minOutput: -200.0 * /crazyflie/controller/PIDs/Z/integratorMax: 1000.0 * /crazyflie/controller/PIDs/Z/integratorMin: -1000.0 * /crazyflie/controller/PIDs/Z/kd: 6000.0 * /crazyflie/controller/PIDs/Z/ki: 3500.0 * /crazyflie/controller/PIDs/Z/kp: 5000.0 * /crazyflie/controller/PIDs/Z/maxOutput: 60000.0 * /crazyflie/controller/PIDs/Z/minOutput: 10000.0 * /crazyflie/controller/frame: /vicon/crazyflie/... * /crazyflie/controller/worldFrame: world * /crazyflie/crazyflie_add/enable_logging: True * /crazyflie/crazyflie_add/enable_logging_battery: True * /crazyflie/crazyflie_add/enable_logging_imu: True * /crazyflie/crazyflie_add/enable_logging_magnetic_field: True * /crazyflie/crazyflie_add/enable_logging_packets: True * /crazyflie/crazyflie_add/enable_logging_pose: False * /crazyflie/crazyflie_add/enable_logging_pressure: True * /crazyflie/crazyflie_add/enable_logging_temperature: True * /crazyflie/crazyflie_add/pitch_trim: 0 * /crazyflie/crazyflie_add/roll_trim: 0 * /crazyflie/crazyflie_add/tf_prefix: crazyflie * /crazyflie/crazyflie_add/uri: radio://0/80/2M/0... * /crazyflie/crazyflie_add/use_ros_time: True * /crazyflie/joy/dev: /dev/input/js0 * /crazyflie/joystick_controller/use_crazyflie_controller: True * /crazyflie/pose/name: goal * /crazyflie/pose/rate: 30 * /crazyflie/pose/x: 0 * /crazyflie/pose/y: 0 * /crazyflie/pose/z: 0.5 * /robot_description: <?xml version="1.... * /rosdistro: melodic * /rosversion: 1.14.3 * /vicon/datastream_hostport: 192.168.10.1:801 * /vicon/stream_mode: ClientPull * /vicon/tf_ref_frame_id: /world NODES /crazyflie/ baselink_broadcaster (tf/static_transform_publisher) controller (crazyflie_controller/crazyflie_controller) crazyflie_add (crazyflie_driver/crazyflie_add) joy (joy/joy_node) joystick_controller (crazyflie_demo/controller.py) pose (crazyflie_demo/publish_pose.py) / crazyflie_server (crazyflie_driver/crazyflie_server) rviz (rviz/rviz) vicon (vicon_bridge/vicon_bridge) auto-starting new master process[master]: started with pid [22932] ROS_MASTER_URI=http://localhost:11311 setting /run_id to cc27d664-8014-11ea-a41b-1c697a0794e3 process[rosout-1]: started with pid [22943] started core service [/rosout] process[crazyflie_server-2]: started with pid [22950] process[crazyflie/crazyflie_add-3]: started with pid [22951] process[crazyflie/joy-4]: started with pid [22956] process[crazyflie/joystick_controller-5]: started with pid [22963] process[crazyflie/controller-6]: started with pid [22968] [ INFO] [1587063740.988908585]: wait_for_service /add_crazyflie [ INFO] [1587063740.990543462]: found /add_crazyflie [ INFO] [1587063740.992442149]: Adding radio://0/80/2M/0xE7E7E7E7E7 as crazyflie with trim(0.000000, 0.000000). Logging: 1, Parameters: 1, Use ROS time: 1 process[crazyflie/pose-7]: started with pid [22970] [ERROR] [1587063740.995060777]: Couldn't open joystick /dev/input/js0. Will retry every second. process[crazyflie/baselink_broadcaster-8]: started with pid [22976] process[vicon-9]: started with pid [22980] process[rviz-10]: started with pid [22986] [ INFO] [1587063741.031412890]: Connecting to Vicon DataStream SDK at 192.168.10.1:801 ... [ INFO] [1587063741.032833049]: . [ WARN] [1587063741.041584316]: Received unrequested data for block: 0 [ WARN] [1587063741.046748234]: Received unrequested data for block: 0 [ INFO] [1587063741.047609069]: Requesting parameters... [ INFO] [1587063741.056511013]: Found variables in cache. [crazyflie/crazyflie_add-3] process has finished cleanly log file: /home/gnclab/.ros/log/cc27d664-8014-11ea-a41b-1c697a0794e3/crazyflie-crazyflie_add-3*.log [ INFO] [1587063741.361339195]: Requesting Logging variables... [ INFO] [1587063741.370799989]: Log: 364 [INFO] [1587063741.564809]: found update_params service [INFO] [1587063741.566307]: waiting for emergency service [INFO] [1587063741.568434]: found emergency service [INFO] [1587063741.569260]: waiting for land service [INFO] [1587063741.572742]: found land service [INFO] [1587063741.575347]: waiting for takeoff service [INFO] [1587063741.577881]: found takeoff service terminate called after throwing an instance of 'std::runtime_error' what(): Could not find acc.z in log toc! [ INFO] [1587063742.032990879]: ... connected! [ INFO] [1587063742.033025941]: Setting Stream Mode to ClientPull: Success [ INFO] [1587063742.033049205]: Axis Mapping: X-Forward Y-Left Z-Up [ INFO] [1587063742.033065091]: Version: 1.3.0 [ INFO] [1587063742.033075128]: setting up grab_vicon_pose service server ... [ INFO] [1587063742.033690511]: setting up segment calibration service server ... [ WARN] [1587063742.034696665]: grab frame returned false [ WARN] [1587063742.036726603]: crazyflie occluded, not publishing... [ INFO] [1587063742.046439751]: creating new object crazyflie/crazyflie ... [ WARN] [1587063742.047484558]: unable to load zero pose for crazyflie/crazyflie [ INFO] [1587063742.047525883]: ... done, advertised as " vicon/crazyflie/crazyflie" [crazyflie_server-2] process has died [pid 22950, exit code -6, cmd /home/gnclab/catkin_ws/devel/lib/crazyflie_driver/crazyflie_server __name:=crazyflie_server __log:=/home/gnclab/.ros/log/cc27d664-8014-11ea-a41b-1c697a0794e3/crazyflie_server-2.log]. log file: /home/gnclab/.ros/log/cc27d664-8014-11ea-a41b-1c697a0794e3/crazyflie_server-2*.log
And here is the output from the
rosrun crazyflie_tools listLogVariables --uri radio://0/80/2M/0xE7E7E7E7E7
gnclab@system76-pc:~$ rosrun crazyflie_tools listLogVariables --uri radio://0/80/2M/0xE7E7E7E7E7 gyro.xRaw (int16) gyro.yRaw (int16) gyro.zRaw (int16) kalman_states.oy (float) gyro.yVariance (float) kalman_states.vy (float) pwm.m1_pwm (uint32) pwm.m2_pwm (uint32) pwm.m3_pwm (uint32) pwm.m4_pwm (uint32) crtp.rxRate (uint16) crtp.txRate (uint16) pm.vbat (float) pm.vbatMV (uint16) gps.hMSL (float) pm.extVbatMV (uint16) pm.extCurr (float) pm.chargeCurrent (float) pm.state (int8) pm.batteryLevel (uint8) ranging.distance0 (float) radio.isConnected (uint8) sys.canfly (int8) sitAw.FFAccWZDetected (uint8) sitAw.ARDetected (uint8) sitAw.TuDetected (uint8) extrx.ch0 (uint16) extrx.ch1 (uint16) extrx.ch2 (uint16) ranging.pressure1 (float) extrx.thrust (uint16) extrx.roll (float) extrx.pitch (float) extrx.yaw (float) memTst.errCntW (uint32) range.front (uint16) range.back (uint16) twr.rangingPerSec0 (uint8) range.left (uint16) range.right (uint16) range.zrange (uint16) ext_pos.X (float) ext_pos.Y (float) ext_pos.Z (float) locSrvZ.tick (uint16) pid_attitude.roll_outP (float) pid_attitude.roll_outI (float) pid_attitude.roll_outD (float) pid_attitude.pitch_outP (float) tdoa.d0-1 (float) pid_attitude.pitch_outD (float) pid_attitude.yaw_outP (float) pid_attitude.yaw_outI (float) pid_attitude.yaw_outD (float) pid_rate.roll_outP (float) pid_rate.roll_outI (float) pid_rate.roll_outD (float) pid_rate.pitch_outP (float) pid_rate.pitch_outI (float) pid_rate.pitch_outD (float) pid_rate.yaw_outP (float) tdoa.cc5 (float) tdoa.cc6 (float) tdoa.cc7 (float) sensfusion6.qx (float) sensfusion6.qy (float) sensfusion6.qz (float) sensfusion6.gravityX (float) sensfusion6.gravityY (float) sensfusion6.gravityZ (float) sensfusion6.accZbase (float) sensfusion6.isInit (uint8) sensfusion6.isCalibrated (uint8) acc.x (float) acc.y (float) acc.z (float) tdoa3.stRx (float) baro.temp (float) baro.pressure (float) controller.ctr_yaw (int16) ctrltarget.x (float) ctrltarget.y (float) ctrltarget.z (float) tdoa3.cc (float) ctrltarget.vy (float) ctrltarget.vz (float) ctrltarget.ax (float) ctrltarget.ay (float) ctrltarget.az (float) ctrltarget.roll (float) ctrltarget.pitch (float) outlierf.accLev (float) outlierf.errD (float) ctrltargetZ.y (int16) ctrltargetZ.z (int16) ctrltargetZ.vx (int16) ctrltargetZ.vy (int16) ctrltargetZ.vz (int16) ctrltargetZ.ax (int16) ctrltargetZ.ay (int16) ctrltargetZ.az (int16) oa.front (uint16) oa.back (uint16) oa.up (uint16) oa.left (uint16) oa.right (uint16) activeMarker.btSns (uint8) activeMarker.i2cOk (uint8) health.motorVarXM3 (float) health.motorVarYM3 (float) health.motorVarXM4 (float) health.motorVarYM4 (float) health.motorPass (uint8) health.motorTestCount (uint16) mag.x (float) mag.y (float) mag.z (float) stabilizer.roll (float) stabilizer.pitch (float) stabilizer.yaw (float) stabilizer.thrust (float) stabilizer.rtStab (float) stabilizer.intToOut (uint32) stateEstimate.x (float) stateEstimate.y (float) stateEstimate.z (float) stateEstimate.vx (float) stateEstimate.vy (float) stateEstimate.vz (float) stateEstimate.ax (float) stateEstimate.ay (float) stateEstimate.az (float) stateEstimate.roll (float) stateEstimate.pitch (float) stateEstimate.yaw (float) stateEstimate.qx (float) stateEstimate.qy (float) stateEstimate.qz (float) stateEstimate.qw (float) stateEstimateZ.x (int16) stateEstimateZ.y (int16) stateEstimateZ.z (int16) stateEstimateZ.vx (int16) stateEstimateZ.vy (int16) stateEstimateZ.vz (int16) stateEstimateZ.ax (int16) stateEstimateZ.ay (int16) stateEstimateZ.az (int16) stateEstimateZ.quat (uint32) stateEstimateZ.rateRoll (int16) stateEstimateZ.ratePitch (int16) stateEstimateZ.rateYaw (int16) posEstAlt.estimatedZ (float) posEstAlt.estVZ (float) posEstAlt.velocityZ (float) posCtl.targetVX (float) posCtl.targetVY (float) posCtl.targetVZ (float) posCtl.targetX (float) posCtl.targetY (float) posCtl.targetZ (float) posCtl.Xp (float) posCtl.Xi (float) posCtl.Xd (float) posCtl.Yp (float) posCtl.Yi (float) posCtl.Yd (float) posCtl.Zp (float) posCtl.Zi (float) posCtl.Zd (float) posCtl.VXp (float) posCtl.VXi (float) posCtl.VXd (float) posCtl.VZp (float) posCtl.VZi (float) posCtl.VZd (float) controller.cmd_thrust (float) controller.cmd_roll (float) controller.cmd_pitch (float) controller.cmd_yaw (float) controller.r_roll (float) controller.r_pitch (float) controller.r_yaw (float) controller.accelz (float) controller.actuatorThrust (float) controller.roll (float) controller.pitch (float) controller.yaw (float) controller.rollRate (float) controller.pitchRate (float) controller.yawRate (float) ctrlMel.cmd_thrust (float) ctrlMel.cmd_roll (float) ctrlMel.cmd_pitch (float) ctrlMel.cmd_yaw (float) ctrlMel.r_roll (float) ctrlMel.r_pitch (float) ctrlMel.r_yaw (float) ctrlMel.accelz (float) ctrlMel.zdx (float) ctrlMel.zdy (float) ctrlMel.zdz (float) ctrlMel.i_err_x (float) ctrlMel.i_err_y (float) ctrlMel.i_err_z (float) ctrlINDI.cmd_thrust (float) ctrlINDI.cmd_roll (float) ctrlINDI.cmd_pitch (float) ctrlINDI.cmd_yaw (float) ctrlINDI.r_roll (float) ctrlINDI.r_pitch (float) ctrlINDI.r_yaw (float) ctrlINDI.accelz (float) ctrlINDI.u_act_dyn.p (float) ctrlINDI.u_act_dyn.q (float) ctrlINDI.u_act_dyn.r (float) ctrlINDI.du.p (float) ctrlINDI.du.q (float) ctrlINDI.du.r (float) ctrlINDI.ang_accel_ref.p (float) ctrlINDI.ang_accel_ref.q (float) ctrlINDI.ang_accel_ref.r (float) ctrlINDI.rate_d[0] (float) ctrlINDI.rate_d[1] (float) ctrlINDI.rate_d[2] (float) motor.m4 (int32) motor.m1 (int32) motor.m2 (int32) motor.m3 (int32) kalman.inFlight (uint8) kalman.stateX (float) kalman.stateY (float) kalman.stateZ (float) kalman.statePX (float) kalman.statePY (float) kalman.statePZ (float) kalman.stateD0 (float) kalman.stateD1 (float) kalman.stateD2 (float) kalman.varX (float) kalman.varY (float) kalman.varZ (float) kalman.varPX (float) kalman.varPY (float) kalman.varPZ (float) kalman.varD0 (float) kalman.varD1 (float) kalman.varD2 (float) kalman.q0 (float) kalman.q1 (float) kalman.q2 (float) kalman.q3 (float) kalman.rtUpdate (float) kalman.rtPred (float) kalman.rtBaro (float) kalman.rtFinal (float) kalman.rtApnd (float) kalman.rtRej (float) kalman_states.ox (float) kalman_states.oy (float) kalman_states.vx (float) kalman_states.vy (float) kalman_pred.predNX (float) kalman_pred.predNY (float) kalman_pred.measNX (float) kalman_pred.measNY (float) outlierf.lhWin (int32) ring.fadeTime (float) gps.lat (int32) gps.lon (int32) gps.hMSL (float) gps.hAcc (float) gps.nsat (int32) gps.fix (int32) loco.mode (uint8) ranging.state (uint16) ranging.distance0 (float) ranging.distance1 (float) ranging.distance2 (float) ranging.distance3 (float) ranging.distance4 (float) ranging.distance5 (float) ranging.distance6 (float) ranging.distance7 (float) ranging.pressure0 (float) ranging.pressure1 (float) ranging.pressure2 (float) ranging.pressure3 (float) ranging.pressure4 (float) ranging.pressure5 (float) ranging.pressure6 (float) ranging.pressure7 (float) twr.rangingSuccessRate0 (uint8) twr.rangingPerSec0 (uint8) twr.rangingSuccessRate1 (uint8) twr.rangingPerSec1 (uint8) twr.rangingSuccessRate2 (uint8) twr.rangingPerSec2 (uint8) twr.rangingSuccessRate3 (uint8) twr.rangingPerSec3 (uint8) twr.rangingSuccessRate4 (uint8) twr.rangingPerSec4 (uint8) twr.rangingSuccessRate5 (uint8) twr.rangingPerSec5 (uint8) tdoa.d7-0 (float) tdoa.d0-1 (float) tdoa.d1-2 (float) tdoa.d2-3 (float) tdoa.d3-4 (float) tdoa.d4-5 (float) tdoa.d5-6 (float) tdoa.d6-7 (float) tdoa.cc0 (float) tdoa.cc1 (float) tdoa.cc2 (float) tdoa.cc3 (float) tdoa.cc4 (float) tdoa.cc5 (float) tdoa.cc6 (float) tdoa.cc7 (float) tdoa.dist7-0 (uint16) tdoa.dist0-1 (uint16) tdoa.dist1-2 (uint16) tdoa.dist2-3 (uint16) tdoa.dist3-4 (uint16) tdoa.dist4-5 (uint16) tdoa.dist5-6 (uint16) tdoa.dist6-7 (uint16) tdoa.stRx (uint16) tdoa.stSeq (uint16) tdoa.stData (uint16) tdoa.stEst (uint16) tdoa3.stRx (float) tdoa3.stEst (float) tdoa3.stTime (float) tdoa3.stFound (float) tdoa3.stCc (float) tdoa3.stHit (float) tdoa3.stMiss (float) tdoa3.cc (float) tdoa3.tof (uint16) tdoa3.tdoa (float) outlierf.bucket0 (int32) outlierf.bucket1 (int32) outlierf.bucket2 (int32) outlierf.bucket3 (int32) outlierf.bucket4 (int32) outlierf.accLev (float) outlierf.errD (float) motion.motion (uint8) motion.deltaX (int16) motion.deltaY (int16) motion.shutter (uint16) motion.maxRaw (uint8) motion.minRaw (uint8) motion.Rawsum (uint8) motion.outlierCount (uint8) oa.front (uint16) oa.back (uint16) gyro.z (float) health.motorVarXM1 (float) oa.right (uint16) health.motorVarXM2 (float) health.motorVarYM2 (float)
In another run I got:
[ INFO] [1587083586.987459511]: Requesting Logging variables... [ INFO] [1587083587.029726883]: Found variables in cache. terminate called after throwing an instance of 'std::runtime_error' what(): Could not find baro.pressure in log toc! [crazyflie_server-2] process has died [pid 31766, exit code -6, cmd /home/gnclab/catkin_ws/devel/lib/crazyflie_driver/crazyflie_server __name:=crazyflie_server __log:=/home/gnclab/.ros/log/00ea1e74-8043-11ea-a41b-1c697a0794e3/crazyflie_server-2.log]. log file: /home/gnclab/.ros/log/00ea1e74-8043-11ea-a41b-1c697a0794e3/crazyflie_server-2*.log [WARN] [1587083587.228487]: wait_for_service(/crazyflie/update_params): failed to contact, will keep trying
My guess is that this is related to the safelink, but I'll need to try to reproduce this. You can disable the safelink here [followed by catkin_make
to rebuilt].
Thanks @whoenig , it worked!
What is the function of this feature that we disabled? Should we worry about it or should not bother for now?
Thanks for the update! There are two communication modes: "safelink" and "non-safelink". Both have the exact same feature set, so you don't need to worry. "Safelink" is a bit newer, but apparently not mature yet. I'll roll-back the default version to not use safelink anymore for the time being.
Okay thanks! I'm glad that it would help others too.
Also, I was wondering if it is possible that we can add a .c file inside MCU for our custom applications. I just purchased a debugger and Arm JTAG. Please let me know.
I disabled safelink by default. For your custom application: Yes that is entirely possible (you don't even need the debugger, although the debugger is nice to find issues in your custom code). You can probably get best help at forum.bitcraze.io on how to add your custom code.
Oka thanks @whoenig
Hello @whoenig ,
I am not getting Covariance data in IMU topic, any clue why? Is it disabled somewhere?
Regards,
Kashish Dhal