ethz-asl / mav_tools_public

General launch files, parameters and wiki entries on our systems and related issues
95 stars 21 forks source link

What if I use Raspberry pi GPIO pins? #1

Open habib-Boloorchi opened 5 years ago

habib-Boloorchi commented 5 years ago

Hey @ZacharyTaylor I want to use ROVIO but I dont know if it is possible to use Raspberry pi GPIO fro get data from IMU(mpu6050) does it works as well as using arduino? I also have Arducam with global shutter and external trigger. this is the link of the camera code it has mt9v034 which are used in skybotics. https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield would you tell me if I need put all sending data (both IMU and camera) from one node to make the be more synchronized. I would be very grateful of any help about the implementation of getting data from mpu6050 and use it in ros I already found this link : https://github.com/chrisspen/ros_mpu6050_node but it has some problems in initializing and I don't know if it just needs 4 wire(SCL,SDA,vcc,grnd) or I need to use a trigger for IMU too.

ZacharyTaylor commented 5 years ago

My only experience with using a MPU6050 is using the one built into the pixhawk, where the interface was already provided by mavros. A similar setup to what we do with our sensors is given with a MPU6050 here http://grauonline.de/wordpress/?page_id=1951 (though I have never tried this setup).

Having things in separate or combined nodes won't make much of a difference. I don't really know enough about the rpi GPIO to comment. If it has the same functionality as a micro-controller it would probably work, though I don't know how it interacts with the linux OS and so it is possible there could be some latency issues that would cause problems.

patrickpoirier51 commented 5 years ago

GPIO pins is generally driven within userspace and Debian is not considered as hard real time system (even when patching with RT) making this option inappropriate. I have builded a setup equivalent to http://grauonline.de/wordpress/?page_id=1951 and using a mpu9250 (instead of MPU6050) is making it more stable (once the temperature is stabilized). Time synchronization is possible if the unit is connected to the same time domain.

https://files.gitter.im/patrickpoirier51/ZJsM/image.png

@ZacharyTaylor the mav_tool_public is simply amazing, its good to find answers and pratical solution related to problems related on the integration of UAV with VIO congrats !!

Razbotics commented 5 years ago

@patrickpoirier51 which camera module is this https://files.gitter.im/patrickpoirier51/ZJsM/image.png?

patrickpoirier51 commented 5 years ago

This is a DIY VIO , here is the link https://discuss.ardupilot.org/t/experiment-with-visual-odometry-rovio/40120