[Solved] Pixy IR Lock Works But not with Pixhawk and says "Bad Vision Position"

I have a pixy1, pixymon v1.0.2 software and IR Lock firmware v1.0.3. I tested my pixy I2C and SPI interfaces with arduino and it’s ok. But when I connect it to my pixhawk2 cube and set parameters (In mission Planner : “PLND_ENABLED = 1”,“PLND_TYPE = 2” In Pixymon: “outport =1”,“Restore default parameter values”) Mission planner says “Bad Vision Position”. I tested my pixy with different copter versions like Copter v4.0.3 Hexa frame and Copter v3.6.11 Quadcopter frame. Also I changed PLND_BUS parameter to 1 and -1 in both states. I tested it with three different pixhawk2 cube but in all cases i had “Bad Vision Position” on HUD. :frowning:
What Can I do else? any idea?

Same here. Bad vision position.
Did you manage to solve the problem?

No. I could’nt solve the problem.Worse than it I don’t have any idea what should I do else. Every thing is ok but it doesn’t work !!! :upside_down_face:

Here is my log and params 1 11-10-1348 03-30-00 ق.ظ.bin (788 KB) 1 11-10-1348 03-30-00 ق.ظ.bin.log.param (17.6 KB)

So I guess you tried with internal bus (0) and powering with a dedicated UBEC (with common ground connections)?

@ThomasSFL can help?

I tried with all buses -1,0 and 1. And I’m powering the sensor by pixhawk cube2 i2c port.

The log shows no rangefinder connected. Precision Landing requires a rangefinder.

2 Likes

Well. Nice Point. I installed a HereFlow sensor that has a Lidar RangeFinder and Flow Camera. I have Bad Vision Position yet. new logs and params are here. Hexa.param (17.9 KB) 1 11-10-1348 03-30-00 ق.ظ.bin (788 KB)

and I’m Logging Disarmed

Dear @ThomasSFL Can you help me?

Hereflow lidar is short range I’m afraid it’s not qualified for this usecase, but it should show in the logs

I know that. it’'s just for indoor flight. I’ll use better rangefinder in future. but first I want “Bad vision position” to disappear.I don’t know what is the source of error. pixy, pixhawk, mission params or some thing else. I used Hereflow just to have a rangefinder. but I have bad vision position error yet

You will probably need a standalone rangefinder for Precision Landing.

Regarding the comms, you should do a flight test for each I2C bus parameter setting (and save logs). You may have the wrong bus selected. Then, you will need to check your connections.

I’ll do that. I’ll post the logs after tests here. thanks Thomas, thanks ppoirier

Great! That’s it. Thanks Thomas. I bought a Benewake Tfmini rangefinder and set PLND_BUS to 0. The error goes but I don’t know how to make sure it works properly. I Logged two logs. “Heal” in logs changed from 1 to 0.1 11-10-1348 03-30-00 ق.ظ.bin (788 KB)1 11-10-1348 03-30-00 ق.ظ.bin (788 KB) What do you think? Is it ok?

You will need Heal to be 1. 0 indicates that the connection or settings are not correct.

Best,
Thomas

Was there ever any resolution to this? I’m pulling my hair out with the same errors, having tried various port settings and double checking the pixymon configurations, but can’t see to get the error to go away. I’m using the benewake TF-02 i got from the IR-Lock folks with the Blue cube on the mini carrier board. 2 weeks of troubleshooting and i got nothing!

Chris

Hi Chris. Sorry for delay
You can check your pixy with an arduino. If it works pixy is ok and there is no problem. The main parameter in mission planner is i2c bus that it should set correct. So you should run both your pixy and rangefinder and then change i2c bus paramter. If it didn’t work check your wiring that it should be like this
VCC -> 5v
SCL -> SCL
SDA -> SDA
GND -> 0v
https://learn.trossenrobotics.com/projects/150-pixy-getting-started-guide.html


then if it doesn’t work you can suspect your carrier board i2c. One recommendation is that don’t plug in/out i2c port when carrier board is on. Beacause it can harm your i2c bus and it can’t transfer data any more. So if it happens you should change your carrier board or the cube.
For configuration pixy i2c address should be 0x54 (default) and set outport to 1.
Good luck.

workkkkk
you need to change protocol to i2c