This repository contains most of the information of our implementation of "hsa-bot", a mobile robot as the course project for Humanoid Sensor and Acturator course at ICS, TUM. We have implemented
- the hardware interface communicating with the hsa_bot, both controlling the motor and get the reading from the lidar.
- the controller to issue
cmd_vel
command (angular velocity and linear velocity) to the robot. - the simulated version of hsa_bot on gazebo.
- the overall pipeline of slam based on the reading from lidar and the wheel speed reading.
The main implementation is located at workspace/src/hsa_bot
, we have a README.md there for the explaination on the package. The controller
directory contains the Gamepad controller, communicating over network with ros-core to issue cmd_vel
command. The workspace/src/rplidar_ros
direcotory is the submodule contains a submodule to read from the lidar sensor.
version: ROS noetic
Install the packages first:
$ sudo apt-get install ros-noetic-move-base-msgs
$ sudo apt-get install ros-noetic-navigation
$ sudo apt-get install ros-noetic-map-server
$ sudo apt-get install ros-noetic-move-base
$ sudo apt-get install ros-noetic-amcl
$ sudo apt-get install ros-noetic-slam-gmapping
Clone the project, and initialize the submodule as well.
$ git clone git@github.com:Xiangyu-Fu/hsa-final-project.git
$ git submodule update --init --recursive
Build the workspace, notice the package rplidar_ros
only required in real robot.
$ cd workspace
$ catkin build
$ source devel/setup.bash
Run the simulation,
$ roslaunch hsa_bot sim.launch
Now, only Rviz should be opened, and it look like this:
Machine: Raspberry Pi 4B
OS: Ubuntu Server 20.04 LTS
evdev
for linux input system read