MPU9250 - Arduino Mega
SCL 21
SDA 20
VDD 3.3V
GND GND
sudo apt-get install ros-<ros_version>-rosserial-arduino
sudo apt-get install ros-<ros_version>-rosserial
sudo apt-get install ros-<ros_version>-imu-complementary-filter*
- Install ros_lib library to your IDE library directory
cd <sketchbook>/libraries
rm -rf ros_lib
rosrun rosserial_arduino make_libraries.py .
- Copy MPU9250-master library to your IDE library directory
If you get "Permission Denied" error during the uploading process of the code at mpu_9250_v22 directory:
Check your USB connection
ls /dev/tty*
After you find the name of your connection, make this port executable.
sudo chmod a+rw /dev/tty<port_name>
udevadm info --name=/dev/tty<port_name> --attribute-walk
cd /etc/udev/rules.d
sudo touch 99-usb-serial.rules
sudo nano 99-usb-serial.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0042", SYMLINK+="a_mega"
sudo udevadm trigger
ls -l /dev/<device_name>
sudo usermod -a -G tty $USER
sudo usermod -a -G dialout $USER
sudo reboot
- arduino node that publishes "/imu/data_raw" message that doesn't have orientation data.
roslaunch mpu9250_ros_driver arduino.launch
- complementary_filter_node that subscribes "/imu/data_raw" and publishes "imu/data" message that has orientation data.
- robot_state_publisher node that publishes robot model.
- enable rpy_tf node that updates robot orientation by using upcoming "imu/data".
- enable RViZ.
roslaunch mpu9250_ros_driver imu_demo.launch