MobileSim是一个移动机器人仿真软件,即启动之后,在不连接实体机器人的情况下,运行rosaria不会报错,即是连接上了一个虚拟的机器人主机。进入MobileSim下载选择下载 mobilesim_0.9.8+ubuntu12_i386.deb,通过Ubuntu Software Center或者通过指令dpkg -i进行安装。
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws
catkin_make
echo “source ~/catkin_ws/devel/setup.bash” >> ~/.bashrc
cd ~/catkin_ws/src
git clone https://github.com/amor-ros-pkg/rosaria.git
网址: http://robots.mobilerobots.com/wiki/Aria
安装: sudo dpkg -i libaria_2.9.1+ubuntu12_i386.deb
返回工作空间编译时catkin_make,出现 libAria.so
类的报错:
skipping incompatible /usr/local/Aria/lib/libAria.so when searching for -lAria/usr/bin/ld: cannot find -lAria
/usr/bin/ld: cannot find -lAria
解决办法是重新编译Aria:
cd /usr/local/Aria
make clean #清除原有的编译
make -j4 #重新编译
那么,返回工作空间再进行编译即可。
再进行编译,如果编译报错,尝试 catkin_make –force-cmake
(此处显示有问题,不是简写是两个-)
首先打开mobilesim
然后roscore
然后 rosrun rosaria Rosaria
输出转态消息:rostopic echo /RosAria/pose
则会有数据输出,数据类型为nav_msgs/Odometry
输出话题:rostopic list
输出结果为:
/RosAria/battery_recharge_state
/RosAria/battery_state_of_charge
/RosAria/battery_voltage
/RosAria/bumper_state
/RosAria/cmd_vel
/RosAria/motors_state
/RosAria/parameter_descriptions
/RosAria/parameter_updates
/RosAria/pose
/RosAria/sonar
/RosAria/sonar_pointcloud2
/rosout
/rosout_agg
/tf
cmd_vel
对于速度的控制为:rostopic pub -1 /RosAria/cmd_vel geometry_msgs/Twist '[0.1, 0.0, 0.0]' '[0.0, 0.0, 0.0]'
cd ~/catkin_ws/src
git clone https://github.com/pengtang/rosaria_client.git
cd ..
catkin_make
source devel/setup.bash
先打开机器人,然后配置参数
sudo usermod -a -G dialout $USER
dialout 是linux 默认自带的用户群组,在/erc/groups
文件夹中即可看到,而设备文件如下面的tty就属于该群组,所以将用户名添加到该群组才能对设备文件进行读写。
sudo chmod a+rw /dev/ttyUSB0 //赋予端口权限
或者命令sudo chmod 777 /dev/ttyUSB0
打开mobilesim,在一个新建的terminal中输入MobileSim
启动
依次打开terminal,输入roscore
,roslaunch rosaria_client rosaria_client_launcher.launch
。也可不用launch文件,在三个terminal中依次输入roscore
,rosrun rosaria RosAria
,rosrun rosaria_client interface
。
对于真实的机器人:rosrun rosaria RosAria
改为rosrun rosaria RosAria _port:=/dev/ttyUSB0
。
指令说明: