[ROS2]下载Navigation2源码来学习

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

下面的操作是基于galactic

代码下载

#安装git和编译工具
sudo apt-get install git python3-vcstool build-essential python3-colcon-common-extensions
mkdir -p turtlebot3_ws/src
cd turtlebot3_ws/

#下载turtlebot3代码
git clone https://ghproxy.com/https://github.com/ROBOTIS-GIT/turtlebot3.git src/turtlebot3 -b galactic-devel
git clone https://ghproxy.com/https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git src/turtlebot3_msgs -b galactic-devel
git clone https://ghproxy.com/https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git src/turtlebot3_simulations -b galactic-devel

#下载navigation2
git clone https://ghproxy.com/https://github.com/ros-planning/navigation2.git src/navigation2 -b galactic
git clone https://ghproxy.com/https://github.com/ros-planning/navigation2_tutorials.git src/navigation2_tutorials -b master

#下载teb_local_planner
git clone https://ghproxy.com/https://github.com/rst-tu-dortmund/costmap_converter.git src/costmap_converter -b ros2
git clone https://ghproxy.com/https://github.com/rst-tu-dortmund/teb_local_planner.git src/teb_local_planner -b ros2-master

注意:链接中的https://ghproxy.com/ 为使用代理下载github代码。

可选使用vcs工具下载源码:

安装vcs

sudo apt-get install python3-vcstool

在turtlebot3_ws目录下新建tmp.repos 。复制下面的内容到该文件并保存。

repositories:
  costmap_converter:
    type: git
    url: https://ghproxy.com/https://github.com/rst-tu-dortmund/costmap_converter.git
    version: ros2
  navigation2:
    type: git
    url: https://ghproxy.com/https://github.com/ros-planning/navigation2.git
    version: galactic
  navigation2_tutorials:
    type: git
    url: https://ghproxy.com/https://github.com/ros-planning/navigation2_tutorials.git
    version: master
  teb_local_planner:
    type: git
    url: https://ghproxy.com/https://github.com/rst-tu-dortmund/teb_local_planner.git
    version: ros2-master
  turtlebot3:
    type: git
    url: https://ghproxy.com/https://github.com/ROBOTIS-GIT/turtlebot3.git
    version: galactic-devel
  turtlebot3_msgs:
    type: git
    url: https://ghproxy.com/https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
    version: galactic-devel
  turtlebot3_simulations:
    type: git
    url: https://ghproxy.com/https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
    version: galactic-devel

turtlebot3_ws目录下运行

vcs import src < tmp.repos

解决依赖

注意:rosdepc是通过小鱼的一键安装工具安装的。

rosdepc update

rosdep install --from-paths src --ignore-src --rosdistro galactic -yr

编译

在turtlebot3_ws目录下source编译好的程序

colcon build --symlink-install
source install/setup.bash

觉得有用就点赞吧!

我是首飞,一个帮大家填坑的机器人开发攻城狮。

另外在公众号《首飞》内回复“机器人”获取精心推荐的C/C++,Python,Docker,Qt,ROS1/2等机器人行业常用技术资料。

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 下载ROS Kinetic导航功能包(navigation package)的源代码 要下载 ROS Kinetic 中 navigation 功能包的源代码,可以通过以下方法实现。navigation 功能包是 ROS 导航栈的核心部分,包含了多个子包,例如 `move_base`、`amcl` 等[^2]。 #### 方法一:通过 Git 克隆官方仓库 navigation 功能包的源代码托管在 ROS 的官方 GitHub 仓库中。可以直接使用以下命令克隆其源代码: ```bash git clone https://github.com/ros-planning/navigation.git -b melodic-devel ``` 需要注意的是,navigation 的分支命名与 ROS 发行版相关联。对于 ROS Kinetic,应选择 `kinetic-devel` 分支[^3]。因此,正确的命令为: ```bash git clone https://github.com/ros-planning/navigation.git -b kinetic-devel ``` #### 方法二:通过 Catkin 工作空间手动安装 如果需要将 navigation 功能包集成到现有的 Catkin 工作空间中,可以按照以下步骤操作: 1. 创建或进入一个 Catkin 工作空间的 `src` 目录: ```bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src ``` 2. 克隆 navigation 源代码: ```bash git clone https://github.com/ros-planning/navigation.git -b kinetic-devel ``` 3. 返回工作空间根目录并编译: ```bash cd ~/catkin_ws catkin_make ``` #### 常见依赖问题及解决方法 在编译 navigation 源代码时,可能会遇到一些依赖项缺失的问题,例如 `Could NOT find Bullet` 或 `Could NOT find SDL_image` 等[^3]。以下是解决方法: - 安装必要的 ROS 依赖项: ```bash sudo apt-get update sudo apt-get install ros-kinetic-navigation ``` - 安装系统级别的依赖项: ```bash sudo apt-get install libbullet-dev libsdl-image1.2-dev ``` - 如果仍然存在未解决的依赖项,可以使用 `rosdep` 自动解析依赖: ```bash sudo apt-get install python-rosdep rosdep init rosdep update rosdep install --from-paths src --ignore-src -r -y ``` #### 注意事项 - 如果需要额外的功能包(如 `navigation_tutorials` 或 `navigation_experimental`),可以参考以下命令进行克隆[^1]: ```bash git clone https://github.com/ros-planning/navigation_tutorials.git git clone https://github.com/ros-planning/navigation_experimental.git ``` - 对于某些特定功能包(如 `laser_scan_matcher`),由于 ROS Kinetic 下可能没有预编译的 APT 包,需从源码编译[^4]。 --- ### 示例代码:自动解析依赖并编译 以下是一个完整的脚本示例,用于自动化创建工作空间、克隆 navigation 源代码并编译: ```bash #!/bin/bash # 创建 Catkin 工作空间 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src # 克隆 navigation 源代码 git clone https://github.com/ros-planning/navigation.git -b kinetic-devel # 返回工作空间根目录 cd ~/catkin_ws # 解析依赖 rosdep install --from-paths src --ignore-src -r -y # 编译 catkin_make ``` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

首飞爱玩机器人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值