Gazebo环境下基于ROS的阿克曼小车键盘控制的实验报告




笔记来源于:实验
Gazebo环境下基于ROS的阿克曼小车键盘控制
键盘控制Gazebo中的小车行驶
实验名称:
Gazebo环境下基于ROS的阿克曼小车键盘控制
实验时间:
2023.4.25
实验目的:
学习通过发布消息来控制Gazebo环境下的ROS阿克曼小车
实验人:
李卓凡 522031910658
实验内容:
1.
创建实验资源并进入docker镜像
2.
先使用cd ~/aliyun_demo/src/raceworld/launch命令,然后使用gedit raceworld1.launch 打开文件,了解到其中加载了多个控制器来接受ros消息 其中还加载了一个 名为servo_comannds1.py的代码文件

we_ui_refresh
3.
进入/root/aliyun_demo/src/raceworld/scripts文件夹中的servo_comannds1.py文件,看到其中建立了一个名为servo_comannds的节点用来订阅接收/deepracer1/ackermann_cmd_mux/output消息。之后进行适当转换,将消息发布给之前所述的六个控制器

we_ui_refresh

we_ui_refresh
4.
aliyun_demo/src/raceworld/scripts文件夹中的key_op.py文件是用来获取按键输入并根据按键来设置转角并发布消息,实现键盘对小车的控制。

we_ui_refresh

we_ui_refresh

we_ui_refresh
5.
开启Gazebo 场景,观察到小车的移动 看到消息的发布与接收并查看主题的发布者与接收者

we_ui_refresh

we_ui_refresh

we_ui_refresh

we_ui_refresh
实验收获:
加深了对ROS的理解
上一篇
周四1501-20 周逸文 522031910508
实验报告:
一、创建资源
1、在实验室页面,单击创建资源。
2、(可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、子用户信息等)。
二、进入DOCKER镜像
1、打开火狐浏览器。
2、通过RAM用户名密码登录页面,输入子用户密码登录账号。
3、登陆后选择左侧产品与服务中的云服务器ECS。
4、在所有云服务器中通过左下角地域找到正确的服务器并点击远程连接。
5、选择通过VNC远程连接。
6、选择重置VNC密码并设置新的密码后登录。
7、设置好进入各选项后进入Ubuntu桌面。
8、右键打开终端,输入sudo docker run -it --rm -p 6080:80 aliyun_demo命令运行镜像aliyun_demo。
9、运行成功后打开浏览器,在地址一栏输入127.0.0.1:6080进入镜像系统。
三、代码
键盘控制程序使用的是raceworld1场景,由raceworld1.launch文件启动。找到/root/aliyun_demo/src/raceworld/launch文件夹中的raceworld1.launch文件并打开。
在launch文件内加载了多个控制器,其中left_rear_wheel_velocity_controller, right_rear_wheel_velocity_controller,left_front_wheel_velocity_controller,right_front_wheel_velocity_controller,left_steering_hinge_position_controller和right_steering_hinge_position_controller接收ROS消息,分别控制了左右后轮速度,左右前轮速度和转向角度。
<node name="controller_manager" pkg="controller_manager" type="spawner"
respawn="false" output="screen"
args="left_r...
下一篇
启动键盘节点后,再次启动底盘控制节点,然后来控制阿克曼底盘。
评论