ROS机器人操作系统
文章平均质量分 93
奔跑的chanchanchan
这个作者很懒,什么都没留下…
展开
-
ROS | Gazebo仿真—阿克曼(Ackermann)四轮小车模型
Gazebo仿真——阿克曼(Ackermann)四轮小车模型1. 仿真描述2. Gazebo简介2.1 Gazebo的典型用途2.2 Gazebo的主要特点3. ros_control4. 配置物理仿真模型4.1 为link添加惯性参数和碰撞属性4.2 为link添加Gazebo标签4.2.1 颜色4.2.2 重力4.3 为joint添加传动装置4.4 为部分link添加阻尼系数和摩擦系数(可选)4.5 添加ros_control插件5. 配置ros_control控制器6. 在Gazebo中添加传感器插件原创 2021-06-04 18:52:10 · 17938 阅读 · 17 评论 -
ROS | ros_control和arbotix_ros简介
ros_control和arbotix_ros简介1.ros_controlController ManagerControllerHardware InterfaceTransmissionsJoint Limits2.arbotix_rosarbotix在ROS中的使用1.ros_controlros_control就是ROS为用户提供的应用与机器人之间的中间件,包含一系列控制器接口、传动装置接口、硬件接口、控制器工具箱等等,可以帮助机器人应用快速落地,提高开发效率。上图是ros_control原创 2021-06-02 19:04:54 · 1500 阅读 · 0 评论 -
ROS | xacro模型—阿克曼(Ackermann)四轮小车模型
ROS | xacro模型—阿克曼(Ackermann)四轮小车模型1. 模型描述2. xacro模型与URDF模型的区别2.1 URDF模型存在的问题2.2 xacro模型的特点3. xacro优化方法3.1 常量定义3.2 常量使用3.3 宏定义3.4 宏调用3.5 文件包含4. 创建xacro文件5. xacro模型显示5.1 将xacro文件转化成URDF文件5.2 直接调用xacro文件解析器5.3 启动RvizGithub链接:https://github.com/chanchanchan97原创 2021-05-27 21:29:31 · 3675 阅读 · 0 评论 -
ROS | URDF模型—阿克曼(Ackermann)四轮小车模型
URDF模型——阿克曼(Ackermann)四轮小车模型1.模型描述2.URDF文件3.link元素4.link属性详解5.joint元素6.joint属性详解7.Rviz可视化7.1创建launch文件7.2启动RvizGithub链接:https://github.com/chanchanchan97/ROS1.模型描述本项目的目的是创建一个基于阿克曼转向机构(Ackermann steering)的简易四轮小车模型,该模型采用后轮双驱,而前轮在设计时选择独立转向,之后通过算法对两个前轮单独控制,原创 2021-05-25 20:29:08 · 9959 阅读 · 2 评论 -
ROS | launch启动文件的使用
ROS | launch启动文件的使用1. launch文件功能2. launch文件语法2.1 <launch>标签2.2 <node>标签2.3 <param>标签2.4 <rosparam>标签2.5 <arg>标签2.6 <remap>标签2.7 <include>标签3. launch文件使用3.1 创建launch文件3.2 编译launch文件3.3 启动launch文件3.4 节点通信可视化1. launc原创 2021-05-23 14:39:28 · 2559 阅读 · 0 评论 -
ROS | TF坐标系变换的编程实现
ROS | TF坐标系变换的编程实现1. 创建功能包2. 节点编程2.1 案例说明2.2 TF坐标系广播器编程2.3 TF坐标系监听者编程3. 配置与编译3.1 在CMaKeLists.txt中添加编译选项3.2 编译文件4. 话题可视化1. 创建功能包在ROS工作空间ROS_ws的src文件夹目录下创建一个功能包,命名为tf_lidar_task,并编译完成。2. 节点编程2.1 案例说明广播并监听机器人的坐标变换,已知激光雷达和机器人底盘的坐标关系,求解激光雷达数据在底盘坐标系下的坐标值。原创 2021-05-23 09:57:21 · 1518 阅读 · 4 评论 -
ROS | 动作服务器与客户端的内部交互(进阶)
ROS | 动作服务器与客户端的内部交互(进阶)1. 动作服务器1.1 服务器状态1.2 状态转换命令2. 动作客户端2.1 服务器触发转换2.2 客户端触发转换2.3 “跳过”状态3. 动作接口及传输层3.1 数据关联与Goal ID3.2 消息3.2.1 goal topic: Sending Goals3.2.2 cancel topic: Cancelling Goals3.2.3 status topic: Server goal state updates3.2.4 feedback topic翻译 2021-05-22 18:28:02 · 843 阅读 · 0 评论 -
ROS | 动作通信的编程实现
ROS | 动作通信的编程实现1. 创建功能包2. 节点编程与动作消息定义2.1 案例说明2.2 动作消息的定义2.3 创建.cpp文件2.4 动作客户端编程2.5 action服务器编程3. 配置与编译3.1 在CMaKeLists.txt中添加编译选项3.2 在package.xml中添加功能包依赖3.3 编译文件4. 话题可视化1. 创建功能包在ROS工作空间ROS_ws的src文件夹目录下创建一个功能包,命名为action_task。2. 节点编程与动作消息定义2.1 案例说明客户端发送原创 2021-05-19 00:52:40 · 1408 阅读 · 0 评论 -
ROS | 服务通信的编程实现
ROS | 服务通信的编程实现1. 创建功能包2. 节点编程与服务数据定义2.1 案例说明2.2 服务数据的定义2.3 创建.cpp文件2.4 客户端编程2.5 服务器编程3. 配置与编译3.1 在CMaKeLists.txt中添加编译选项3.2 在package.xml中添加功能包依赖3.3 编译文件1. 创建功能包在ROS工作空间ROS_ws的src文件夹目录下创建一个功能包,命名为communication_pkg,并编译完成。2. 节点编程与服务数据定义2.1 案例说明定义一个客户端Cl原创 2021-05-19 00:10:41 · 1474 阅读 · 0 评论 -
ROS | 话题通信的编程实现
ROS | 话题通信的编程实现1. 创建功能包2. 节点编程与消息定义2.1 案例说明2.2 话题消息的定义2.3 创建.cpp文件2.4 话题发布者编程2.5 话题订阅者编程3. 配置与编译3.1 在CMaKeLists.txt中添加编译选项3.2 在package.xml中添加功能包依赖3.3 编译文件4. 话题可视化5. rostopic指令的使用常用指令1常用指令2常用指令31. 创建功能包在ROS工作空间ROS_ws的src文件夹目录下创建一个功能包,命名为test_pkg,并编译完成。2原创 2021-05-17 23:04:20 · 1650 阅读 · 2 评论 -
ROS | 工作空间及功能包的创建
ROS | 工作空间及功能包的创建1. 创建工作空间2. 创建功能包1. 创建工作空间工作空间是一个存放工程开发相关文件的文件夹,创建工作空间首先在Linux系统中打开一个新的终端,并按照以下步骤输入指令。$ mkdir -p ~/ROS_ws/src$ cd ~/ROS_ws/src$ catkin_init_workspace$ cd ..$ catkin_make install说明:第一条指令表示在/home/用户名/下创建一个ROS工作空间,即文件夹ROS_ws。同时在工作空原创 2021-05-17 10:18:02 · 3356 阅读 · 3 评论 -
ROS | 机器人操作系统简介
机器人操作系统(ROS)简介1.ROS基本概念2.ROS架构2.1OS层2.2中间层2.3应用层3.通信机制4.计算图4.1节点(Node)4.2节点管理器(Master)4.3消息(Message)4.4话题(Topic)4.5服务(Service)4.6动作(Action)4.7消息记录包(Bag)4.8参数(Parameter)4.9功能包(Package)4.10功能包清单(Package manifest)4.11元功能包(Meta Package)5.开源社区1.ROS基本概念ROS Wik原创 2021-05-15 23:52:13 · 37645 阅读 · 0 评论