A simulator of an autonomous mobile robot which estimates its pose by using Extended Kalman Filter and calculates control input by using Dynamic Window Approach.
This program simulates an differential-drive wheeled autonomous robot like below:
- the state of robot: (x, y, θ)
- the control inputs: (v, ω) v=linear velocity, ω=angular velocity
This robot equips a 360-degree camera, and it can observe the distance and angle to the marker on environments.
This robot chases a target which moves on a circle.
- target: black object and black line
- actual trajectory: blue line
- observed mark: green lines
- estimated pose: red object
- estimated trajectory: red line
This robot chases a target which moves on a square.
- target: black object and black line
- actual trajectory: blue line
- observed mark: green lines
- estimated pose: red object
- estimated trajectory: red line
This robot traces a given waypoints.
- target: black object and black line
- actual trajectory: blue line
- observed mark: green lines
- estimated pose: red object
- estimated trajectory: red line
-
clone
robot_simulator (python PJ)
git clone https://github.com/nmatsui/robot_simulator
-
install python 3.9 and dependent libraries by referring to README of
robot_simulator
-
start plotter
pipenv run plotter
-
build a release binary
cargo build --release
-
start the binary with the agent type (
circular
,square
orwaypoints
)./target/release/robot_simulator_rust circular
or
./target/release/robot_simulator_rust square
or
./target/release/robot_simulator_rust waypoints
Copyright (c) 2021, Nobuyuki Matsui