Kobuki ROS2 Galactic 驱动编译并运行

1. 下载 ecl_lite

在github上下载ecl_lite的foxy版本的包,这个包也可以在galactic下运行。
注意编译的顺序,先把能编译过的编译了,再运行下面的命令,再进行编译。

source .bashrc
. /ecl_lite_ws/install/setup.bash

2. 下载 Kobuki 驱动包

在github上下载kobuki的ROS2的驱动,这个包也可以在galactic下运行。
注意编译的顺序,先把能编译过的编译了,再运行下面的命令,再进行编译。

source .bashrc
. /kobuki_ros2_ws/install/setup.bash

3. 运行 Kobuki 的驱动

在github上下载ftdi并编译,这个包会在你的电脑上发现Kobuki。
编译结束后,应该可以发现/dev/kobuki的文件位置。
此时在开启Kobuki并连接到电脑的情况下,运行ros2 run kobuki_node kobuki_ros_node的命令(不确定,我忘了是不是这个节点名称了),就可以运行Kobuki了。发送个速度指令测试一下吧~

3.1 Kobuki : no device port given on the parameter server (e.g. /dev/ttyUSB0)

kobuki_node/src/kobuki_ros.cpp的文件第213行处添加Kobuki的端口名称:

 parameters.device_port = this->declare_parameter("device_port", "/dev/kobuki");
 
 if (parameters.device_port.empty()) {
    throw std::runtime_error("Kobuki : no device port given on the parameter server (e.g. /dev/ttyUSB0).");
  }

3.2 运行Kobuki一顿一顿的

kobuki_node/src/kobuki_ros.cpp文件325行附近进行修改:

  if (kobuki_.isEnabled() && odometry_->commandTimeout(this->get_clock()->now())) {
    if (!cmd_vel_timed_out_) {
      // kobuki_.setBaseControl(0, 0);
      cmd_vel_timed_out_ = true;
      RCLCPP_WARN(get_logger(), "Incoming velocity commands not received for more than %.2f seconds -> zero'ing velocity commands", odometry_->timeout().seconds());
    }
  }
  else {
    cmd_vel_timed_out_ = false;
  }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值