turtlebot/turtlebot4_robot

Standard launch results to I2C error after upgrading to ROS2 Humble

Opened this issue · 3 comments

  • OS: Ubuntu 22.04
  • ROS Distro: Humble
  • Built from source or installed: source
  • Package version: turtlebot4_base -b humble

Expected behaviour
Robot Bringup with standard launch file fails.

ros2 launch turtlebot4_bringup standard.launch.py

Actual behaviour
All the nodes of the robot should be spawned up. But I am getting the I2C Bus Error.

[turtlebot4_base_node-2] I2C Bus Error. Resetting.
[turtlebot4_base_node-2] int8_t turtlebot4_base::I2cInterface::close_bus(): Failed to close : Bad file descriptor
[turtlebot4_base_node-2] int8_t turtlebot4_base::I2cInterface::open_bus(): Could not open: /dev/i2c-3 with error: No such file or directory
[turtlebot4_base_node-2] int8_t turtlebot4_base::I2cInterface::set_device_id(uint8_t): Failed to 60 device: Bad file descriptor
[turtlebot4_base_node-2] I2C Bus Error. Resetting.
[turtlebot4_base_node-2] int8_t turtlebot4_base::I2cInterface::close_bus(): Failed to close : Bad file descriptor
[turtlebot4_base_node-2] int8_t turtlebot4_base::I2cInterface::open_bus(): Could not open: /dev/i2c-3 with error: No such file or directory
[turtlebot4_base_node-2] int8_t turtlebot4_base::I2cInterface::set_device_id(uint8_t): Failed to 60 device: Bad file descriptor

To Reproduce

  1. In a fresh sd card with Ubuntu 22.04 and ROS2 humble installed, try to build the turtlebot4 according to the setup page https://turtlebot.github.io/turtlebot4-user-manual/setup/basic.html

@sumitpaulde Is this on a TurtleBot4 Lite or Standard?

It is a standard version. The lite.launch.py works without any errors.

@sumitpaulde You likely don't have the i2c-3 bus enabled in boot/config.txt.

Is there a reason you are not using the turtlebot4 RPI image?