本代码是rbx1部分节点的C++版本。
- ROS Indigo
- ArbotiX Simulator
sudo apt-get install ros-indigo-arbotix-*或者选择源码的安装方式(推荐)
git clone https://github.com/pirobot/rbx1.git- Rbx1_Control
git clone https://github.com/gaochq/Ros_CourseRos使用Twist消息发布运动指令给基控制器,可以通过下面命令查看Twist消息,
rosmsg show geometry_msgs/Twist{linear: {x: 0.1, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0}}在已经成功安装了ArbotiX的基础上,运行下面命令,启动一个模拟的Turtlebot:
roslaunch rbx1_bringup fake_turtlebot.launch在RViz中查看模拟机器人
rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz发布一个Twist消息,使机器人实现顺时针的圆周运动
rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.1, y: 0, z: 0}, angular: {x: 0, y: 0, z: -0.5}}'“Ctrl-C”停止上一个消息之后,发布一个空的Twist消息,使机器人停止运动
rostopic pub -1 /cmd_vel geometry_msgs/Twist '{}'在rbx1中一个topic的作用周期是3s,所以可以发布一条消息包含模拟机器人两种不同的运动。发布下面的消息,使模拟机器人前行3s之后循环做逆时针的圆周运动。
rostopic pub -1 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.2, y: 0,z: 0}, angular: {x: 0, y: 0, z: 0}}'; rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.2, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}'发布空消息,停止机器人运动,关闭窗口。
首先启动模拟机器人和RViz监视窗口
roslaunch rbx1_bringup fake_turtlebot.launch
rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz然后启动定时运动节点
rosrun rbx1_control timed_out_and_back首先启动模拟机器人和RViz监视窗口
roslaunch rbx1_bringup fake_turtlebot.launch
rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz然后启动测量反馈运动节点
rosrun rbx1_control odom_out_and_back首先启动模拟机器人和RViz监视窗口
roslaunch rbx1_bringup fake_turtlebot.launch
rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz然后启动走正方形节点
rosrun rbx1_control Move_square首先启动模拟机器人和RViz监视窗口
roslaunch rbx1_bringup fake_turtlebot.launch
rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz然后启动键盘控制节点
rosrun rbx1_control Keyboard_Control或者使用Rbx1自带的模拟遥控器
arbotix_gui将光标停留在遥控终端窗口,输入wsad,机器人会按照对应的方向移动,shift按键会加速移动。
注:键盘控制节点代码出自古-月的博客。