Skip to content

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.

License

Notifications You must be signed in to change notification settings

nmatsui/robot_simulator_rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

robot_simulator_rust

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.

description

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

robot.png

This robot equips a 360-degree camera, and it can observe the distance and angle to the marker on environments.

camera.png

simulation

circular route

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

circular_simulation.png

square route

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

square_simulation.png

waypoints trace

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

waypoints_simulation.png

how to use (on macOS Catalina)

start plogger

  1. clone robot_simulator (python PJ)

    git clone https://github.com/nmatsui/robot_simulator
    
  2. install python 3.9 and dependent libraries by referring to README of robot_simulator

  3. start plotter

    pipenv run plotter
    

start agent

  1. build a release binary

    cargo build --release
    
  2. start the binary with the agent type (circular, square or waypoints)

    ./target/release/robot_simulator_rust circular
    

    or

    ./target/release/robot_simulator_rust square
    

    or

    ./target/release/robot_simulator_rust waypoints
    

background

state-space model

pose estimation using EKF

local path planning

license

BSD 3-Clause License

copyright

Copyright (c) 2021, Nobuyuki Matsui

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages