1.ROS学习笔记@ROS安装
2.Cartographer ROS编译安装及相关可执行文件理解
3.Ubuntu22.04 安装 Ros1 Noetic
4.ROS2测试源码编译安装cartographer
5.ORB-SLAM2 的源码编译运行(ubuntu20.04)以及ROS1安装
6.Autoware.io源码编译安装
ROS学习笔记@ROS安装
安装ROS的步骤如下:
首先,检查CMake版本是安装否已安装,若有新版本的源码Cmake,可稍后再安装。安装若未安装,源码则在安装ROS后安装所需版本的安装车牌识别 控制卡 源码Cmake。
接着,源码确认Ubuntu安装的安装ROS版本。对于Ubuntu .,源码对应的安装是RS Melodic版本,需避免误安装其他版本。源码参考ROS官网查看其他对应版本。安装
安装步骤如下:
在安装前,源码确保Ubuntu软件和更新源已检查并更新。安装推荐更换为国内源以提高速度,源码例如阿里云、清华或中科大。
添加ROS软件源,使用终端输入相应命令。
设置ROS安装密钥,使用apt-key命令,同时检查软件包密钥。
更新Ubuntu软件源,使用终端输入命令。
安装ROS桌面完整版,输入终端命令,安装包括ROS、rqt、rviz和机器人通用库在内的内容。选择桌面安装或ROS-Base安装。
为安装特定ROS软件包,替换下划线为软件包名称的破折号,并使用命令查找可用包。
设置ROS环境变量,使用终端命令。若要自动添加到当前bash会话,可输入相应命令。goble源码对于zsh用户,需运行不同命令。
安装ROS工具,使用命令执行。
在使用ROS工具前,初始化rosdep,使用终端命令。若遇到从国外网站raw.githubusercontent.com拉取信息导致错误,可修改/etc/hosts和/etc/resolv.conf文件。
更新rosdep,使用终端命令。遇到更新超时错误时,可尝试多次执行或本地更新以解决。
运行小海龟和rviz检查安装情况,使用roscore启动ROS核心,然后运行turtlesim_node和turtle_teleop_key控制小海龟,最后启动rviz检查高级功能。
至此,Ubuntu .的ROS安装过程结束。源码安装内容将在后续研究。
Cartographer ROS编译安装及相关可执行文件理解
一、编译安装Cartographer ROS
为了安装 Cartographer ROS,首先需要确保ROS版本为kinetic,操作系统为Ubuntu.,并创建一个名为catkin_ws的工作空间。
安装所需的工具和依赖项,包括wstool、rosdep、ninja。然后,通过catkin_make工具构建并安装cartographer_ros。
加载数据包进行测试,运行launch和rosbag,最终可以生成slam图。
二、编译方法
编译Cartographer ROS时,大厂源码使用catkin_make命令,这简化了catkin的标准工作流程,依次调用cmake、make和make install。
编译后的工作空间内将有src、build_isolated、devel_isolated、install_isolated等文件夹,分别用于源代码、孤立编译、开发和安装。
三、install_isolated内可执行文件
在install_isolated文件夹内,有多种可执行文件,如cartographer_assets_writer、cartographer_autogenerate_ground_truth、cartographer_compute_relations_metrics、cartographer_dev_rosbag_publisher等。
cartographer_assets_writer用于保存和使用有效资源;cartographer_autogenerate_ground_truth自动生成期望的真实输出;cartographer_compute_relations_metrics计算相关指标。
cartographer_dev_rosbag_publisher发布rosbag信息,用于数据收集与分析;cartographer_dev_trajectory_comparison进行轨迹比较;cartographer_migrate_serialization_format迁移序列化格式。
cartographer_node为ROS中的核心节点,负责实时SLAM;cartographer_occupancy_grid_node构建并发布ROS的occupancy_grid地图;cartographer_offline_node进行离线SLAM。
cartographer_pbstream_map_publisher创建静态占据栅格;cartographer_pbstream_to_ros_map将pbstream格式转换为标准ROS格式地图;cartographer_rosbag_validate验证rosbag数据。
cartographer_start_trajectory用于在本地化模式中设置起始位姿。
通过这些工具和节点,Cartographer ROS提供了一个全面的SLAM解决方案,包括数据收集、处理、验证和应用。
Ubuntu. 安装 Ros1 Noetic
在Ubuntu .系统上安装Ros1 Noetic并不直接支持apt安装,因为Ros官方已停止对Ros1的官方适配。不过,可以通过源码编译的方式在Ubuntu 上运行。以下是具体步骤:
1. **添加Ros2源**:首先,你需要通过Ros2 Humble的Qscitinlla源码官方指南添加Ros2的官方源,尽管这不是安装Ros1的直接步骤。
2. **内核版本考虑**:Ubuntu 的内核版本5.已相对过时,可能不适用于年后的硬件,因此在安装时需要考虑升级或选择其他方式。
3. **安装引导程序依赖**:安装rosdep和vcstools等源码安装工具,初始化rosdep时,可能需要手动解决hddtemp包的问题。
4. **修改base.yaml和-default.list**:下载base.yaml并编辑,添加适用于Ubuntu 的内容。同时,更新-default.list以引用本地的base.yaml。
5. **连接问题**:更新rosdep时可能遇到Github连接问题,可尝试修改hosts文件或其他连接方法。
6. **catkin工作区与安装**:创建catkin工作区,使用vcstools下载Desktop版本的Ros包。推荐安装Desktop full版本以确保功能全面。
7. **兼容性处理**:在构建Ros1 Noetic前,需要对src文件夹中的两个包进行手动修补以适应Ubuntu .。
8. **源码安装依赖**:使用rosdep自动检测并安装缺失的依赖。
9. **包文件生成和下载**:生成包文件并下载依赖,注意包的顺序和完整性,避免因依赖问题导致的编译失败。
. **替换rosconsole和urdf**:新生成的包可能需要替换rosconsole和urdf,参照依赖问题部分进行操作。
. **构建和安装Ros1 Noetic**:使用catkin_make_isolated构建并安装Ros1,将其源码安装到指定工作区的install_isolated文件夹,然后将source命令添加到bashrc中。
. **额外安装**:Ros1 Desktop full版本可能不包含所有需要的包,如octomap和mavros,需要单独安装。
总的来说,虽然在Ubuntu .上安装Ros1 Noetic的过程较为复杂,但通过源码编译并遵循上述步骤,可以实现系统的兼容和功能的正常使用。
ROS2测试源码编译安装cartographer
Cartographer是一个跨平台、传感器配置提供实时同步定位和绘图(SLAM)的适配 源码系统,具有回环检测优势,资源占用适中。
选择源码编译安装方式,以适应后期项目修改和移植需求。首先,使用Ubuntu虚拟机测试验证。
若国内访问github受限,可选择Gitee上的备份仓库进行下载。尝试多个版本,确认在Ubuntu humble版本下能够成功下载和安装。
在安装过程中,需要下载依赖项。在Ubuntu上,首先安装libabsl-dev、libceres-dev以及liblua5.3-dev等包。对于ceres-solver,需确保CUDA、显卡加速和TBB指令集优化选项已配置。
在开发板上,通过源码编译安装三方依赖。确保所有依赖包均正确安装,包括protobuf版本为v3.4.1分支。
完成所有依赖安装后,开始编译Cartographer源码。首先下载官方数据集,注意ROS2格式的rosbag转换,使用rosbags工具进行转换。
介绍ROSbag格式,ROS1的.rosbag文件为二进制存储格式,而ROS2使用SQLite数据库格式,支持跨平台和扩展性。两种格式转换方法,推荐使用rosbags工具,无需依赖ROS环境。
测试Cartographer时,使用ros2命令启动示例launch文件,输入特定的bag文件名以加载数据集。测试3D数据集时,使用相应的launch文件和bag文件名。
资源占用情况分析将后续进行。
ORB-SLAM2 的编译运行(ubuntu.)以及ROS1安装
在 Ubuntu . 环境中,编译并运行 ORB-SLAM2 需要一系列的准备工作和库的安装。首先,确保已安装了所需的依赖项,然后按照指定链接从 GitHub 下载并安装 Pangolin-0.6 稳定版。
接着,进行 OpenCV-3.4.5 的安装,包括下载、配置编译环境和查询版本信息以验证安装是否成功。对于 Eigen3,建议源码安装默认的 Eigen 版本(3.3.9),并将其头文件复制到相应目录以确保正常工作。若需要使用特定版本(如3.3.7),需手动安装并调整位置。
在编译 ORB-SLAM2 时,需处理常见的报错,例如在 `System.h` 中添加 `#include` 以解决 `usleep` 报错,并根据特定链接调整 `LoopClosing.h` 文件中的代码以解决第二个报错。第三个报错需删除 `CMakeCache.txt` 文件并重新执行 `cmake ..` 和 `make` 命令。
成功编译后,需在特定目录下运行 ORB-SLAM2,确保使用正确的终端打开以找到可执行文件。此外,安装 ROS1 可以通过一键安装工具完成,注意管理日志目录的大小以避免警告。在安装完成后,启动 ROS Master、小海龟仿真器和海龟控制节点,以验证 ROS1 是否已成功安装。
安装过程中可能遇到的问题包括 ROS 目录的位置和库查找问题,以及如何在编译 ORB-SLAM2 时指定依赖目录。通过将 ROS 目录添加到环境变量(如 `PYTHONPATH` 或 `LD_LIBRARY_PATH`)中,可以解决这些问题并确保库的正确查找。
Autoware.io源码编译安装
要编译安装Autoware.io,首先请确保已安装ROS1,如Ubuntu .版本的Melodic。以下步骤将指导你完成依赖安装及源码编译过程。安装依赖
1. 对于CUDA的支持(可选但建议),你需要下载CUDA .0,链接位于developer.nvidia.com/cuda。安装时,遇到驱动安装询问时选择n,后续步骤默认安装即可。 2. 安装cudnn,从developer.nvidia.com/rd...获取并进行安装。在cuda目录下进行软链接配置,并通过验证测试。其他依赖安装
3. 安装eigen3.3.7,接着是opencv3,安装时需先安装依赖库,然后解压、配置和编译。源码下载与编译
4. 创建新的工作区,下载并配置工作区,然后下载Autoware.ai源码。 5. 使用rosdep安装依赖库,有CUDA版本和无CUDA版本两种编译方式。测试与问题解决
6. 下载并运行demo,可能遇到的问题包括编译错误和链接问题。问题1:calibration_publisher报错,需修改CMakeList.txt文件。
问题2:ndt_gpu编译错误,需替换Eigen3Config.cmake文件中的版本信息。
问题3:opencv链接问题,需要检查和调整。
问题4:rosdep更新慢,可通过修改源码和配置文件解决。
问题5:runtime manager花屏,需安装wxPython 4.和libsdl1.2-dev。
通过上述步骤,你应该能够成功编译并测试Autoware.io。如有任何疑问,查阅官方文档或社区论坛寻求帮助。阅读理解:在树莓派上安装 ROS 2 是几个意思?
在树莓派上安装 ROS 2 有两个基本含义。首先,它是将 ROS 2 安装在树莓派硬件上,这通常涉及安装适合树莓派的 Ubuntu 版本,然后通过预集成的工具一键安装 ROS 2。相反,第二意义是直接在树莓派原生操作系统上安装 ROS 2,这是一个相对复杂的过程,更推荐使用 Docker 的镜像来进行。
Raspberry Pi 支持 位(arm)和 位(arm)ARM 处理器,但 arm 是一级支持,arm 则为三级支持。一级支持意味着已提供特定发行版的软件包和二进制文件,而三级支持需要用户自行从源代码编译 ROS 2。使用一级支持的配置是最快速和简便的方法。
通常,推荐在树莓派上安装 位的 Ubuntu 系统,或在 位的 Raspberry Pi 操作系统中使用 Docker 容器来运行 ROS 2。
在 Raspberry Pi 上使用 Ubuntu Linux 与 ROS 2 的安装过程与使用常规的二进制安装说明相匹配,具体步骤请参考 Ubuntu Linux 的官方指南。
此外,可以采用 Docker 技术在 Raspberry Pi OS 的 位版本上运行 ROS 2。下载 Debian 基于的 Raspberry Pi OS,并根据文档安装 Docker。官方的 OSRF ROS 2 Docker 容器配置在 GitHub 上提供,有针对桌面的多种不同版本可供选择。
为了构建 Docker 容器,需要在 Raspberry Pi 上克隆 Docker images 仓库,然后在对应的目录中执行构建命令,所需时间在支持的系统上通常只需要几分钟。
预构建的 Docker 容器提供了更方便的选择,允许用户直接通过 docker pull 命令获取所需版本,对于桌面用户,可以查阅文档以获取详细信息。
基于NVIDIA Xavier NX(ubuntu.)的Optitrack视觉定位 PX4+ros noetic(实 物运行记录)
欢迎关注: csdn:会变身的火娃(+粉丝) 个人博客:www.huowa.xyz 微信公众号:会变身的火娃
前言
在基于NVIDIA Xavier NX(ubuntu.)的Optitrack视觉定位系统中,PX4和ROS Noetic的集成与实机运行记录详述如下。
一:硬件准备
硬件准备包括一台主电脑(NX)、网线(用于直接连接)和无线网卡(用于远程连接)。
二:软件准备
1:远程登录软件 NoMachine
下载Linux版NoMachine,解压安装,并添加权限,使用时需注意Linux与Windows间的兼容性。
2:安装ROS
采用小鱼一键安装ROS的代码。
3:源码安装mavros(示例的ROS版本为noetic)
依赖安装、创建工作空间、更新获取最新mavlink和mavros,解决访问问题,下载并安装源码包,编译源码,添加环境变量。
三:PX4和NX通信硬件连接
Nx硬件接口与px4硬件接口的连接,需确认连接方式,确保通信链路稳定。
四:软件配置
飞控参数设置,使用非QGC官方版本的Windows或Mac进行调参。网卡驱动安装,确保无线网络正常。
五:连接验证
Mavros测试,修改串口位置与波特率,执行指令验证通讯成功,确保电池接入,实现Mavros与px4间的通讯。
六:基于机载电脑利用Optitrack为PX4提供定位
在ubuntu机载电脑环境下安装vrpn,配置并验证与主机的通信。通过vrpn_client_node运行程序,将optitrack位置数据通过mavros传给飞控。
七:实机运行记录
在集成与调试过程中,记录了从硬件准备到软件安装,从通信测试到定位实现的详细步骤,为后续类似项目的参考提供了宝贵经验。
ROS自学笔记九:创建并构建ROS功能包
了解并运用ROS(Robot Operating System)是构建机器人系统的重要技能。在上一期文章中,我们深入探讨了Gazebo的使用,而这一期,我们将聚焦于如何创建和构建ROS功能包。首先,确保你已安装了ROS,若未安装,可参考官方文档进行。接下来,通过以下步骤开始你的编程之旅:
1. 打开终端并切换至你计划创建功能包的目录。
2. 利用`catkin_create_pkg`命令创建功能包,指定功能包名称及依赖软件包,例如:创建名为"my_package"的功能包,并添加"roscpp"与"std_msgs"依赖。
3. 进入新创建的功能包目录。
4. 在功能包中添加源代码文件或资源。在`src`文件夹内编写C++或Python代码,在`launch`文件夹中创建启动文件。
5. 返回至工作区根目录,执行构建功能包操作。此步骤将编译所有ROS功能包并生成可执行文件。
6. 运行ROS节点。使用`rosrun`命令执行你的ROS节点,确保功能包在正确路径下。