Inspired by robots like the Kiva robot, the L1Br is a robot for distribution centers simulated through the gazebo. Using the control implemented in the robot, we can move around the warehouse,go under the shelves and activate the lift tray system,adapt the speed of the robot and perform the monitoring of several sensors. In order to bring simulation as close as possible to reality, we have implemented the laser sensor with an angle opening of 135° making it possible to calculate the distance to avoid collisions with the shelves,walls and even other robots, a camera at the bottom of the robot for reading qrcodes used to locate the robot, sensors such as wheel odometry and IMU are also present.
Status: 🚧 In progress 🚧
Click on the image below to watch a demonstration of the simulation:
- Ubuntu 20.04
- ROS Noetic
- Gazebo
- Gazebo ROS Packages
- Rviz
- Python 3.8
- ROS Control
- Joint State Publisher
In your workspace inside the src
folder, place the robot_description
and robot_control
packages
then do the following command to install the packages:
catkin_make
You can now use the following command to start the environment (use these commands within your workspace):
source ./devel/setup.bash
roslaunch robot_description spawn.launch
If all goes well you will see L1Br inside the middle of the warehouse.
If you want to move the robot through the warehouse use the following commands:
source ./devel/setup.bash
roslaunch robot_control control.launch
To move the tray open another terminal and use the command below with "data: 1"
to go up and "data: 0"
to go down:
rostopic pub -1 /my_robot/joint1_position_controller/command std_msgs/Float64 "data: 0"
To use sensors like camera
and optical sensor
we created a shortcut through Rviz:
source ./devel/setup.bash
roslaunch robot_description rviz.launch
The default map for the simulation is the LASER laboratory
It's possible to change it through the command line. In the example let's change it to the warehouse map:
roslaunch robot_description spawn.launch world:=warehouse
It works with any .world
map
The default laser sensor is the rplidar sensor, but is possible to change it to the regular lidar sensor through the spawn.launch
file