1.ROS目录架构
ROS1ROS2
工作空间(Workspace)是一个存放工程开发相关文件的文件夹
src:代码空间(Source Space)
build:编译空间(Build Space)
devel:开发空间(Development Space)
install:安装空间(Install Space)
工作空间(Workspace)是一个存放项目开发相关文件的文件夹;是开发过程的大本营。
src:代码空间(Source Space)
build:编译空间(Build Space)
install:安装空间(Install Space)
log:日志空间(Log Space)
2.ROS常用指令
2.1ROS1指令
2.1.1工作空间和功能包指令
创建工作空间
123mkdir -p ~/catkin_ws/srccd ~/catkin_ws/srccatkin_init_workspace
编译工作空间
12cd ~/catkin_wscatkin_make
设置环境变量
1source devel/setup.bash
检查环境变量
1echo $ROS_PAC ...
1.环境安装
推荐使用鱼香ros的一键安装脚本:一行代码搭建机器人开发环境(ROS/ROS2/ROSDEP)
1wget http://fishros.com/install -O fishros && . fishros
支持工具
一键安装:ROS(支持ROS和ROS2,树莓派Jetson) 贡献@小鱼
一键安装:VsCode(支持amd64和arm64) 贡献@小鱼
一键安装:github桌面版(小鱼常用的github客户端) 贡献@小鱼
一键安装:nodejs开发环境(通过nodejs可以预览小鱼官网噢) 贡献@小鱼
一键配置:rosdep(小鱼的rosdepc,又快又好用) 贡献@小鱼
一键配置:ROS环境(快速更新ROS环境设置,自动生成环境选择) 贡献@小鱼
一键配置:系统源(更换系统源,支持全版本Ubuntu系统) 贡献@小鱼
一键安装:Docker(支持amd64和arm64) 贡献@alyssa
一键安装:cartographer 贡献@小鱼&Catalpa
一键安装:微信客户端 贡献@小鱼
开源地址:https://github.com ...
*描述*:欢迎来到CERLAB无人机自主框架,这是一个用于自主无人飞行器 (UAV) 的多功能模块化框架。该框架包括不同的组件 (模拟器,感知,映射,规划和控制),以实现自主导航,未知探索和目标检查。
*视频演示*: YouTube, BiliBili
1. 论文解析
相关论文:前往下载
论文代码:https://github.com/Zhefan-Xu/onboard_detector
Chatpaper
Basic Information:
Title: Onboard Dynamic-Object Detection and Tracking for Autonomous Robot Navigation With RGB-D Camera (基于RGB-D相机的机载动态物体检测和跟踪用于自主机器人导航)
Authors: Zhefan Xu, Xiaoyang Zhan, Yumeng Xiu, Christopher Suzuki, Kenji Shimada
Affiliation: Department of Mechanical E ...
CERLAB无人机自主框架
未读CERLAB UAV Autonomy Framework
描述:欢迎来到CERLAB无人机自主框架,这是一个用于自主无人飞行器 (UAV) 的多功能模块化框架。该框架包括不同的组件 (模拟器,感知,映射,规划和控制),以实现自主导航,未知探索和目标检查。
视频演示: YouTube, BiliBili
1.模块介绍
autonomous_flight: 集成了用于各种任务的所有其他模块的自主飞行包。详细信息
global_planner: 自主机器人的全球航点规划器库。详细信息
map_manager: 自主机器人的3D映射库。详细信息
onboard_detector: 自主机器人的动态障碍物检测和跟踪算法。详细信息
remote_control: Rviz配置和启动文件,便于可视化。详细信息
time_optimizer: 自主机器人的最优轨迹时间分配库。详细信息
tracking_controller: 自主机器人的轨迹跟踪控制器。详细信息
trajectory_planner: 自主机器人的轨迹规划库。详细信息
uav_simulator: 基于轻型Gazebo/ROS的 ...
技术分享
未读
参考教程:连接 USB 设备 | Microsoft Learn
1.安装usbipd-win
WSL 本身并不支持连接 USB 设备,因此你需要安装开源usbipd-win项目【下载Releases · dorssel/usbipd-win (github.com)】
2.共享USB设备
通过以管理员模式打开PowerShell或者CMD并输入以下命令,列出所有连接到Windows的USB设备。 列出设备后,选择并复制要附加到WSL的设备总线 ID。
12cd C:\Program Files\usbipd-winusbipd list
在附加 USB 设备之前,必须使用命令 usbipd bind 来共享设备,从而允许它附加到 WSL。 这需要管理员权限。 选择要在 WSL 中使用的设备总线 ID,然后运行以下命令。 运行命令后,请再次使用命令 usbipd list 验证设备是否已共享。
1usbipd bind --busid <busid>
若要附加USB设备,请运行以下命令。(不再需要使用提升的管理员提示)确保WSL命令提示符处于打开状态,以使WSL2轻型V ...
DV官方文档:Get Started · DV (inivation.gitlab.io)
DV事件相机的ROS包:https://github.com/uzh-rpg/rpg_dvs_ros
事件相机的资源汇总:https://github.com/uzh-rpg/event-based_vision_resources
1.DV事件相机ROS包驱动程序安装
注意:将以下指令中提及的任何noetic替换为您当前ROS发行版的名称
安装ROS依赖
12sudo apt-get install ros-noetic-camera-info-managersudo apt-get install ros-noetic-image-view
安装libcaer
123sudo add-apt-repository ppa:inivation-ppa/inivationsudo apt-get updatesudo apt-get install libcaer-dev
安装catkin工具
1sudo apt-get install python3-catkin-tools
...
相关论文:前往下载
论文代码:ZJU-FAST-Lab/FAST-Dynamic-Vision: Detecting and Tracking Dynamic Objects with Event and Depth Sensing (github.com)
Basic Information:
Title: FAST-Dynamic-Vision: Detection and Tracking Dynamic Objects with Event and Depth Sensing (FAST-Dynamic-Vision: 基于事件和深度感知的动态物体检测与跟踪)
Authors: Botao He, Haojia Li, Siyuan Wu, Dong Wang, Zhiwei Zhang, Qianli Dong, Chao Xu, Fei Gao
Affiliation: State Key Laboratory of Industrial Control Technology, Institute of Cyber-Systems an ...
环境
机载电脑
系统:Ubuntu20.04 LST
ROS1:noetic
飞控:PX4
mavros
QGroundControl
动捕系统电脑
动捕配套软件:XING-NOKOV
关于系统、PX4、mavros、QGroundContorl等安装参考下面两篇文章:
从0制作自主空中机器人-3-【环境与常用软件安装】 | MGodmonkeyの世界
从0制作自主空中机器人-4-【PX4与Gazebo入门】 | MGodmonkeyの世界
1. 准备工作
1.1 动捕系统电脑
打开动捕系统软件XING-NOKOV,进行如下操作
标定与贴点:数据采集前准备:标定与贴点 (xiaoeknow.com)
刚体创建:锁帧->shift键框选5个点->右键创建刚体,名称: Tracker0
网络拓扑结构
1.2 机载电脑
通过ssh等工具连接上机载电脑,进行如下操作
打开QGroundContorl连接上无人机飞控,并进行PX4的配置
EKF2_AID_MASK = 24
EKF2_HGT_MODE = 2
PX4配置需要保存 ...
从0制作自主空中机器人
未读
前言: 从上一篇的文章 从0制作自主空中机器人-3-【环境与常用软件安装】 | MGodmonkeyの世界 中我们的机载电脑已经安装了系统和常用的软件,这一篇文章中我们入门一下无人机常用的开源飞控PX4,以及ROS中无人机的仿真
1. PX4的安装
1.1 PX4固件代码的下载与编译
通过github下载PX4代码(下载慢时可以找一些github的镜像网站)
1git clone https://github.com/PX4/PX4-Autopilot.git --recursive
安装必要的依赖
123sudo apt-get install protobuf-compiler libeigen3-dev libopencv-dev -ybash ./PX4-Autopilot/Tools/setup/ubuntu.sh
如果安装PX4的环境比较纯净,比如说刚装的Ubuntu系统,运行bash脚本过程中会报好几次错!因为他需要安装的依赖包比较多。解决方法其实也很简单,即 【确定导致报错的依赖包名,网上检索安装这个依赖包的方法】。我们只需要将导致报错的依赖包都安装好了, ...
从0制作自主空中机器人
未读1. 常用资料以及官方网站
无人机飞控PX4用户使用手册(无人机基本设置、地面站使用教程、软硬件搭建等):https://docs.px4.io/main/en/
PX4固件开源地址:https://github.com/PX4/PX4-Autopilot
飞控硬件、数传模块、GPS、分电板等—holybro官网:http://www.holybro.com/
无人机动力系统–TMotor官网:https://uav-cn.tmotor.com/
无人机在线课程、开源项目—阿木实验室:https://amovlab.com/
2. 机架推荐/可二次开发整机无人机
Holybro无人机(整机无人机以及无人机机架散件):【前往】
阿木实验室无人机:【前往】
FPV梦工厂(机架,专门为FPV竞赛设计):【前往】
3. 无人机各个重要模块功能及选型
3.1 航模电池
主要的参数及选型推荐
参数
说明
推荐值
容量
电池容量,表示电池可以放出的电量多少,以mh为单位
5000mAH
电芯节数
电芯数量,决定了电池输出电压大小。通常 ...
从0制作自主空中机器人
未读
关于本课程:
本次课程是一套面向对自主空中机器人感兴趣的学生、爱好者、相关从业人员的免费课程,包含了从硬件组装、机载电脑环境设置、代码部署、实机实验等全套详细流程,带你从0开始,组装属于自己的自主无人机,并让它可以在未知的环境中自由避障穿行。
本次课程的重心主要落在自主空中机器人的搭建、代码部署及调试上,关于自主空中机器人的一些理论基础,例如动力学模型,路径搜索,轨迹规划,地图构建等内容。
课程视频
B站:【完结】从0制作自主空中机器人 | 开源 | 浙江大学Fast-Lab
深蓝学院:从0制作自主空中机器人
相关源码
GitHub:https://github.com/ZJU-FAST-Lab/Fast-Drone-250
Gitee:https://gitee.com/pn_code/Fast-Drone-250
1. 机载电脑环境安装
机载电脑推荐环境
系统:Ubuntu20.04 LST
ROS1:noetic
ROS2:foxy
说明:ROS1和ROS2可以安装在同一个系统,但需要进行一点配置,见【ROS1和ROS2的共存问题】
目前很多算法,包括本教程都是基于ROS1 ...
资源汇总
未读
视觉SLAM
ORB SLAM2(单双目RGB-D):https://github.com/raulmur/ORB_SLAM2
DSO(单目):https://github.com/JakobEngel/dso
InfiniTAM v3(RGB-D):https://github.com/victorprad/InfiniTAM
视觉+惯导SLAM
VINS-Fusion(单双目+IMU):https://github.com/HKUST-Aerial-Robotics/VINS-Fusion
OKVIS(单双目 + IMU):https://github.com/ethz-asl/okvis
ORB SLAM33(单双目 + IMU):https://github.com/UZ-SLAMLab/ORB_SLAM3
激光SLAM
LeGO-LOAM:https://github.com/RobustFieldAutonomyLab/LeGO-LOAM
Cartographer(LIDAR + IMU):https://github.com/googlecartograp ...