Husky仿真环境配置

Husky仿真环境配置

在这里插入图片描述

1. 下载安装

ROS官方:
Robots/Husky - ROS Wiki
Github官方:
Husky/Husky
在这里插入图片描述

  • husky_base:与板载MCU通信的硬件驱动程序;
  • husky_bringup:调出启动文件和脚本;
  • husky_control:控件配置;
  • husky_description:机器人说明(URDF)
  • husky_gazebo:Gazebo插件定义和机器人URDF的扩展;
  • husky_msgs:消息定义 ;
  • husky_navigation:导航配置和演示;
  • husky_viz:可视化(rviz)配置和启动 。
mkdir Husky_ws/src
cd Husky_ws/src
git clone https://github.com/husky/husky
git clone https://github.com/husky/husky_simulator.git
git clone https://github.com/husky/husky_desktop.git
cd ..
catkin_make

按照官方安转时,会出现一些错误,还需安装以下ros包:

sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control
sudo apt-get install ros-kinetic-multimaster-launch
sudo apt-get install ros-kinetic-lms1xx
rosdep install --from-path src --ignore-src  
catkin_make 
source devel/setup.bash

2. 运行仿真

roscore
cd Husky_ws
source devel/setup.bash

设置环境变量HUSKY_GAZEBO_DESCRIPTION:

export HUSKY_URDF_EXTRAS=$(rospack find husky_description)/urdf/empty.urdf

启动一个空的仿真环境:

roslaunch husky_gazebo husky_empty_world.launch

在这里插入图片描述运行仿真环境后使用 rqt_graph 查看正在运行的节点和话题:
在这里插入图片描述/gazebo 节点订阅了一个/cmd_vel 话题,查看话题信息:

rostopic info /husky_velocity_controller/cmd_vel

在这里插入图片描述
可见此话题的消息类型为geometry_msgs/Twist,这是ROS中常用来发布运动命令的消息类型。控制器节点订阅/cmd话题,并将里边的运动命令(Twist消息)通过PID控制算法转换成电机控制信号。

查看geometry_msgs/Twist消息格式:

rosmsg show geometry_msgs/Twist

在这里插入图片描述
linear表示线速度(单位:m/s),angular表示角速度(单位:rad/s)。
通过向/husky_velocity_controller/cmd_vel发送Twist消息来驱动小车,让它以4 m/s的线速度和0.5 rad/s的角速度运动:

rostopic pub -r 10 /husky_velocity_controller/cmd_vel geometry_msgs/Twist '{linear: {x: 4, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}'

还可以直接向/cmd_vel主题发消息来控制小车:

rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 4, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}'

在这里插入图片描述
这里边的 teleop_twist_joy 包用来实现将采集的手柄数据转换为Twist 指令,并将 Twist 指令发布到/cmd_vel 主题。
用于启动 teleop_twist_joy 下的launch文件:

roslaunch teleop_twist_joy teleop.launch

启动后打印的信息:
在这里插入图片描述
NODES表示启动了joy_node和teleop_twist_joy两个节点,它们分别位于joy和teleop_twist_joy两个包中,上面是启动文件的参数信息
参数中的enable_button表示必须按下该按键(8号按键,对应手柄上的back键)才能控制,axis_angular和axis_linear分别表示轴的角速度和线速度的按钮(对应手柄上的左摇杆)。[Husky是一种轮式机器人,能够控制的只有x方向的速度(前向)和z方向的角速度(Yaw,偏航角速度)]

至此,基本的husky仿真环境已经配置完了,可以进行对husky的仿真编程实践。

  • 6
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值