# AUBO Robot
**Maintainer: [email protected]**
* Aubo_robot [ROS](http://www.ros.org/) meta-package for [ROS-Industrial](http://wiki.ros.org/Industrial). See the [ROS wiki](http://wiki.ros.org/) page for more information.
* This repository provides ROS support for [AUBO robots](https://aubo-robotics.com/en/). This repository holds source code for `kinetic`. The corresponding robot controller software version is `V4`. For those software version < `V4`, can refer to [here]( http://wiki.ros.org/aubo_robot).
### Installation from Source
---
For the latest features and developments you might want to install from source.<br>
1. First set up a catkin workspace (see this [tutorials](http://wiki.ros.org/catkin/Tutorials)).<br>
2. Then clone the repository into the `src/` folder. It should look like `/user_name/catkin_workspace/src/aubo_robot`.<br>
3. In order to compile the package successfully, you need to install some packages related to `MoveIt` and `industrial_core`package.<br>
4. Make sure to source the correct setup file according to your workspace hierarchy, then use **catkin_make** to compile.<br>
5. update Moveit_core_lib : enter the direction `/user_name/catkin_workspace/src/aubo_robot/UpdateMoveitLib/Kinetic/`,Add permissions to the Update.sh file`chmod +x Update.sh` , Execution script file `sudo ./Update.sh`
The `recommended` gcc version is 4.8 for Ubuntu 14.04; And for Ubuntu 16.04, the gcc version is 5.4.
### Contents
----
* The repository contains packages may be unstable, and they will be migrated to the [ROS-I](https://github.com/ros-industrial) repository after sufficient testing.<br>
* The contents of these packages are subject to change, without prior notice.<br>
* Any available APIs are to be considered unstable and are not guaranteed to be complete and / or functional.
### MoveIt! with a simulated robot
---
You can use MoveIt! to control the simulated robot like ***RVIZ*** ,***Gazebo*** or ***VREP*** environment. If you want to simulate the robot in RVIZ:
* First set up the MoveIt nodes to allow motion planning and run:
**rviz**
```
1.roslaunch <robot_name>_moveit_config moveit_planning_execution.launch robot_ip:=127.0.0.1
```
**gazebo**
```
2.roslaunch aubo_gazebo aubo_<robot_name>_gazebo_control.launch
```
**you should install some package when you use aubo model in gazebo** [here](https://github.com/lg609/aubo_robot/blob/master/aubo_gazebo/README.md)
* Then select `"Interact"` and move the end-effector to a new goal.
* In `"Motion Planning"` -> `"Plan and Execute"` to send trajectory to the sim robot
* Exit RViz and Ctrl-C the demo.launch window
### Usage with real robot
---
```diff
+ When operating an AUBO robot under ROS-Industrial control, make certain that no one is within the robot workspace and the e-stop is under operator control.
```
* Source the correct setup shell files and use a new terminal for each command.
* To bring up the real robot, run:
```
roslaunch <robot_name>_moveit_config moveit_planning_execution.launch sim:=false robot_ip:=<192.168.***.***>
```
* Move the robot around manually using a teach-pendant. Make sure the robot is controlled by robot-controller, see [here](https://github.com/lg609/aubo_robot/tree/master/aubo_driver).
* Verify that the joint positions in RVIZ match the physical robot configuration.
* Then switch to the ros-controller and control the robot through MoveIt.
* Repeat for every joint and pose.
**CAUTION:<br>
Mistakes made during this verification step can result in dangerous collisions when experiment with using the MoveIt planning environment to command trajectories with the real robot. Be certain that an E-stop is close by whenever commanding robot motion.**
遨博机械臂ros功能包
需积分: 0 100 浏览量
更新于2024-01-15
收藏 156.38MB ZIP 举报
在ROS(Robot Operating System)生态系统中,功能包是软件模块化的基础,它们包含了实现特定功能的源代码、配置文件、消息定义、服务定义等。"遨博机械臂ros功能包"是一个专为遨博机械臂设计的ROS软件包,旨在为用户提供了与遨博机械臂进行交互和控制的一系列工具和接口。
我们需要了解ROS的核心概念。ROS是机器人开发的开源框架,它提供了一个分布式计算的架构,允许不同进程之间通过话题(topics)、服务(services)和参数服务器(parameter server)进行通信。在这个框架下,每个功能都封装在一个独立的功能包中。
针对"遨博机械臂ros功能包",我们可以期待以下关键功能:
1. **驱动适配**:功能包通常包含驱动程序,用于与遨博机械臂的硬件接口进行通信,如读取关节角度、发送控制命令等。这涉及到串口通信或者以太网通信协议,例如TCP/IP或UDP。
2. **运动控制**:ROS功能包会提供用于控制机械臂运动的函数,如关节运动控制、笛卡尔空间路径规划。用户可以通过发布到特定的话题来控制机械臂的运动。
3. **状态发布**:机械臂的状态,如关节角度、速度、扭矩等,会被定期发布到ROS话题上,供其他节点订阅并使用。
4. **TF变换**:ROS的TF库用于处理坐标系之间的转换。这个功能包会包含设置和管理遨博机械臂各关节以及末端执行器之间的TF树。
5. **描述符(URDF)**:通用机器人描述格式(URDF)文件是ROS中描述机器人结构的标准方式,包括链接、关节、碰撞几何等信息。遨博机械臂的功能包会包含其URDF模型,用于可视化和运动规划。
6. **可视化工具**:可能包含rviz配置文件,使用户能够在rviz环境中实时查看机械臂的状态、路径规划和传感器数据。
7. **示教与重放**:某些功能包可能支持示教模式,允许用户通过操纵机械臂来记录关节路径,然后重放这些轨迹。
8. **服务**:ROS服务用于一次性请求-响应交互,如校准、设置工作模式、获取硬件信息等,这些可能都会被封装成服务供用户调用。
9. **安全特性**:为了防止意外情况,功能包可能内置了限速、碰撞检测等安全机制。
10. **文档与示例**:良好的功能包应该提供清晰的API文档和示例代码,帮助开发者快速理解和使用。
在实际应用中,开发者可以基于此功能包开发更高级的应用,如视觉伺服、物体抓取、自主导航等。为了充分利用这个功能包,你需要熟悉ROS的基本操作,理解如何编写ROS节点、发布和订阅话题、调用服务,以及如何使用TF和URDF。同时,对于遨博机械臂的具体硬件特性和控制指令也应有所了解。

xiaomaobuyi
- 粉丝: 415
最新资源
- MegEngine 是一个快速、可拓展、易于使用且支持自动求导的深度学习框架
- CPW宽阻带低通滤波器的设计研究.caj
- kriging代理模型的MATLAB+GUI界面开发及复合地层泥水盾构掘进参数优化.pdf
- 基于深度学习技术的乳腺医学诊断方法研究
- 《Swift 5.1 官方教程:编程入门与实践指南》
- 微信支付V3版本Java服务端开发指南
- 基于 MegEngine 实现的各类主流深度学习模型
- 《深度学习框架 PyTorch 的入门指南与实践教程》
- 基于遗传算法优化的BP神经网络MATLAB代码
- 深度开源wiif+bt模块esp32学习之旅(持续更新,欢迎 Star...)
- Flet框架图片堆叠排列加正中间位置图片放大动画加轮播自定义组件模板
- AC6926A蓝牙方案精简版标准原理图V2.0
- 工具变量-HS2012六位码至ISIC3四位码转换.xlsx
- MATLAB实现四位水仙花数的计算
- Flet增强版helloworld学习flet框架的拔高起点
- 基于ADS的电感π型等效电路参数拟合