本仓库属于诺丁汉大学RoboMaster团队AnywareInLoop系统
mkdir catkin_ws/src
cd catkin_ws/src
git clone https://github.com/UoN-Lancet/InfantryRobotSimulator
catkin_make
sudo apt-get install ros-$(distro)-joint-state*
sudo apt-get install ros-$(distro)-robot-state*
sudo apt-get install ros-$(distro)-ros-gazebo*
sudo apt-get install ros-$(distro)-controller*
本步兵模拟器涉及自动步兵模拟,使用Cartographer进行SLAM,对于配置Cartographer并在ROS环境中运行,请参阅官方文档
为加载步兵1v1场地,需要在.bashrc中添加环境变量,注意要将catkin_ws
改为工程所在工作空间的路径:
echo "export GAZEBO_MODEL_PATH=$(catkin_ws)/src/InfantryRobotSimulator/infantry_description/world" >> ~/.bashrc
source ~/.bashrc
roslaunch infantry_description gazebo.launch
roslaunch infantry_description controller.launch
roslaunch infantry_motion_control motion_controller.launch
roslaunch infantry_navigation navigation.launch
roslaunch infantry_navigation rviz.launch
roslaunch infantry_navigation navigation.launch
rosrun infantry_navigation infantry_navigation_node
rostopic pub -r 1 /infantry/Rev35_position_controller/command std_msgs/Float64 "data: 3.1416"
rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 1, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0}}'
rostopic pub -r 1 /gyro_spin std_msgs/Int32 "data: -1"
rostopic pub -r 100 /infantry/Rev35_position_controller/command std_msgs/Float64 "data: 0"
- 控制逻辑,使用python或者cpp实现完整控制逻辑
- 加装传感器,实现SLAM并发布odom
- 实现2D平面导航
- 用cartographer替换gmapping提高SLAM的稳定性
- 加装IMU
- 建立自动步兵1V1场地
- 使模型TF坐标x方向向前
- 移动小陀螺
- 底盘旋转稳定中层朝向
- 提升移动小陀螺流畅性
- 中层改为速度控制