LPS and ROS issues

All discussions related to the Loco Positioning system
Post Reply
ciccio
Beginner
Posts: 9
Joined: Mon Dec 04, 2017 7:59 am

LPS and ROS issues

Post by ciccio »

Hi Crazyflie Teamwork,

we are students who are working on a thesis project which plans to fly crazyfies autonomously, using the ROS environment and the LPS positioning system and we have a series of problems:

1)
We were able to configure the LPS system and to fly a single crazyflie, using the autonomousSequence.py script, finding the expected results.

We have expanded the configuration by adding a second crazyflie and compiling the firmware of both in TWR-TDMA mode and using the swarmSequence.py script, this time finding the expected results even if with some small problem.

Using a third crazyflie, the configuration becomes extremely unstable as the IMU "goes crazy" to all the crazyflie and they can not find their position in space and we can not execute the script swarmSequenceCircle.py

We have already tried to change the firmware of the crazyflie and of the anddoaggi in TDoA mode but the crazyflie can not calculate their position. Furthermore, some LPS nodes turn off. How could we solve?

2)

https://ibb.co/cDrrnw
https://ibb.co/jPATZb

Using the ROS driver and launching the command: roslaunch bitcraze_lps_estimator dwm_loc_ekf_hover.launch are the problems attached in the images, ie that both the crazyflie and the joystick are not recognized on rviz.
What do you suggest?

Thank you in advance
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: LPS and ROS issues

Post by arnaud »

Hi,

1) Are you sure you have set the number of slot accordingly and that each Crazyflie is set on a different slot? Increasing the number of slots should result in less positioning accuracy but you should not see it go completely crazy, this is more a sign of timeslot collision. I have been able to successfully fly TWR-TDMA with up to 16 slots, though at this rate it is not very pretty and flies all around, but it can stay in the air.

For TDoA it is very important that you start within the convex hull, you can start from a chair for example to make sure you are within the hull.

We have been working last week on TDoA 2 and it start to exhibit very good results, it is missing an outlier filter still but even without it it starts to look as good as TWR. You can test it by upgrading the Crazyflie NRF firmware to the latest master, the STM firmware to the tdoa2 branch and by setting all your anchor to TDoA 2 from the TDOA2 branch of the lps-node-firmware.

2) For the gamepad, do you have a gamepad connected to the computer?

For the Crazylfie connection, it seems that the crazyflie_server is crashing. I can try to reproduce the problem, what version of the ros driver are you using?
ciccio
Beginner
Posts: 9
Joined: Mon Dec 04, 2017 7:59 am

Re: LPS and ROS issues

Post by ciccio »

Hi Arnaud and thank you for answer,

We increased the number of slots and we managed to fly 3 cf even if with a poor accuracy.

We can not currently test TDoA 2 because we are waiting for equipment and will test the protocol later.

For the gamepad, we connected it to the pc, the client recognizes it but rviz fails.

We are using version 0.0.1 of the ros driver. This is the only version we had found.

Thank you for help
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: LPS and ROS issues

Post by arnaud »

For the ROS driver, did you clone it from the latest master commit in git?
ciccio
Beginner
Posts: 9
Joined: Mon Dec 04, 2017 7:59 am

Re: LPS and ROS issues

Post by ciccio »

We have clone git from: https://github.com/whoenig/crazyflie_ros.
We tried again but issue on robot model persist.
chilli65
Beginner
Posts: 10
Joined: Sat Oct 21, 2017 11:44 pm

Re: LPS and ROS issues

Post by chilli65 »

I realize LPS TDOA2 firmware shown positioning values during TTY access. Do I need to set the position into the anchor? How?
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: LPS and ROS issues

Post by arnaud »

You can set the position of the anchor both from parameters (in ros) and in the anchors.

You can set the position in the anchor using the LPS tab of the Crazyflie client the same way you would do it for a TWR system.
Post Reply