完成描述文档
This commit is contained in:
parent
d02e057768
commit
6b106c7e3c
82
README.md
82
README.md
@ -1,3 +1,79 @@
|
||||
# ROS_TurtleControl
|
||||
|
||||
让ROS小乌龟在指定坐标为原点下,根据指定方向和半径转圈。
|
||||
# <p align="center">ROS_TurtleControl</p>
|
||||
### 根据学号各个位数相加的结果并拆分后定位小乌龟的指定位置,根据学号尾数的奇偶规定旋转方向(奇数顺时针,偶数逆时针),根据学号末三位除以3的余数规定旋转半径(整除直径取3)
|
||||
###
|
||||
## 一、创建环境
|
||||
### 新建项目文件夹、工作空间、工具包
|
||||
```c
|
||||
mkdir ros_turtlecontrol
|
||||
```
|
||||
创建工作空间。<br>
|
||||
```c
|
||||
mkdir src
|
||||
catkin_make
|
||||
```
|
||||
创建工具包。<br>
|
||||
```c
|
||||
cd src
|
||||
catkin_create_pkg Aee1220310013 rospy std_msgs geometry_msgs visualization_msgs message_generation
|
||||
```
|
||||
```c
|
||||
cd Aee1220310013
|
||||
mkdir scripts
|
||||
mkdir srv
|
||||
```
|
||||
## 二、编写程序
|
||||
### 在 scripts 文件夹下放置编写的 python 程序
|
||||
### 在 srv 文件夹放置 .srv 文件
|
||||
可参考程序文件路径 src/Aee1220310013/scripts 和 src/Aee1220310013/srv<br>
|
||||
## 三、编译工作空间
|
||||
### 编译前需要配置工具包文件夹(Aee1220310013)下的 CMakeLists.txt 和 package.xml 文件。具体可查看src/Aee1220310013/CMakeLists.txt 和 src/Aee1220310013/package.xml
|
||||
赋予文件可执行权限。终端要在 ros_turtlecontrol 文件夹下。<br>
|
||||
```c
|
||||
chmod +x src/Aee1220310013/scripts/server.py
|
||||
chmod +x src/Aee1220310013/scripts/client.py
|
||||
```
|
||||
编译工作空间。终端要在 ros_turtlecontrol 文件夹下。<br>
|
||||
```c
|
||||
catkin_make
|
||||
```
|
||||
## 四、运行程序
|
||||
### 需要开启四个终端分别运行 roscore 、turtlesim 、 server 、client。
|
||||
启动 ROS 核心。(终端A)<br>
|
||||
```c
|
||||
roscore
|
||||
```
|
||||
启动小乌龟。(终端B)<br>
|
||||
```c
|
||||
rosrun turtlesim turtlesim_node
|
||||
```
|
||||
启动服务端程序。(终端C)<br>
|
||||
注:在启动服务端程序前需要赋予环境变量(终端要在 ros_turtlecontrol 文件夹下),如何设置过全局环境变量可忽略 source 命令,仅执行 rosrun 即可<br>
|
||||
```c
|
||||
source devel/setup.bash
|
||||
```
|
||||
```c
|
||||
rosrun Aee1220310013 server.py
|
||||
```
|
||||
启动客户端程序。(终端D)<br>
|
||||
注:在启动客户端程序前需要赋予环境变量(终端要在 ros_turtlecontrol 文件夹下),如何设置过全局环境变量可忽略 source 命令,仅执行 rosrun 即可<br>
|
||||
```c
|
||||
source devel/setup.bash
|
||||
```
|
||||
```c
|
||||
rosrun Aee1220310013 client.py
|
||||
```
|
||||
## 五、结果
|
||||
程序命令输入完成后会提示输入学号,输入学号回车。客户端会将输入的学号发送给服务端进行处理,来根据最开始的要求转化为坐标、旋转半径、旋转方向。最后将坐标、半径、方向信息发送回客户端,使客户端的小乌龟按照信息来运行。<br>
|
||||
### 结果图
|
||||
终端运行数据结果(roscore):<br>
|
||||

|
||||
终端运行数据结果(rosrun turtlesim turtlesim_node):<br>
|
||||

|
||||
终端运行数据结果(rosrun Aee1220310013 server.py):<br>
|
||||

|
||||
终端运行数据结果(rosrun Aee1220310013 client.py):<br>
|
||||

|
||||
小乌龟运动图片:<br>
|
||||

|
||||

|
||||

|
Loading…
x
Reference in New Issue
Block a user