Navigate Mobile Car in Simulation
Budget: $30 – $250 USD
Navigate Mobile Car in Simulation
1. Project Objective
• Get familiar with mobile robot simulation
• Understand intelligent robot programming
• Apply inverse kinematics and navigation algorithms in simulated environments
2. Project Steps
1. Install pybullet with Anaconda (recommended) ◦ Install Anaconda: https://www.anaconda.com/products/individual ◦ Install Pybullet: https://anaconda.org/conda-forge/pybullet
2. (If you have done the first step, please ignore) Install python3 (optional) Setup the python3 environment on your system. ◦ Windows 10: ▪ https://phoenixnap.com/kb/how-to-install-python-3-windows ◦ Mac: ▪ https://docs.python-guide.org/starting/install3/osx/ ◦ Ubuntu 16.04: ▪ https://www.digitalocean.com/community/tutorials/how-to-install-python-3- and-set-up-a-local-programming-environment-on-ubuntu-16-04
3. (If you have done the first step, please ignore) Setup Pybullet Environment: ◦ Run following commands in the terminal: ▪ pip3 install pybullet --upgrade --user ▪ python3 -m pybullet_envs.examples.enjoy_TF_AntBulletEnv_v0_2017may ▪ python3 -m pybullet_envs.examples.enjoy_TF_HumanoidFlagrunHarderBulletEnv_v1_2017jul ▪ python3 -m pybullet_envs.deep_mimic.testrl --arg_file run_humanoid3d_backflip_args.txt ◦ Pybullet Reference: https://github.com/bulletphysics/bullet3
4. Run main.py to test if the environment is ready for the following tasks
◦ The outputs should be: A mobile robot and six obstacles in the environment
5. Implement the two functions under “implement your function here” section in main.py
◦ control_car function to control the car
◦ navigate_car function to navigate the car to the final location
▪ using navigation algorithms discussed in class
▪ from [0, 0] to [9, -9] (already given in the code)
◦ Finish the two functions mentioned above and do NOT change other part of the code
6. Record a video for a successfully trail
3. What you need to submit
• Functional main.py (30 points)
• Demo illustration (30 points)
◦ A video that demonstrates a successful navigation trail to the final position.
• Project Report (40 points)
◦ A project report that in academic paper format should be written for this project. (the same format used in project 1)
◦ The report should include:
▪ Introduction (5%)
• Background about car navigation (2%)
• Procedure of the project (2%)
• Brief Summary of the project (1%)
▪ Project Descriptions (10%)
• Describe the procedure (2%)
• Describe the applied algorithm/methods of the project (4%)
• Show the formula or equation or function of calculating the direction of travel and speed (3%)
• Include a picture of the generated environment with the robot (1%)
▪ Results (10%)
• Generated or planned trajectory of the robot moving in the environment (5%)
• Snapshots of successful and failed navigation (hitting obstacles etc, if there are any) (5%)
▪ Discussion of results (10%)
• Discuss the advantages and disadvantages of the designed control algorithms. Why is it successful? (5%)
• Discuss the designed trajectory of robot navigation. What are the key parameters and how are the parameters are selected? (5%)
▪ Conclusion (3%)
• Conclude the report, what you have done (1%), what results you have got (1%), what worked and what did not (1%).
▪ Reference (1%)
1. Project Objective
• Get familiar with mobile robot simulation
• Understand intelligent robot programming
• Apply inverse kinematics and navigation algorithms in simulated environments
2. Project Steps
1. Install pybullet with Anaconda (recommended) ◦ Install Anaconda: https://www.anaconda.com/products/individual ◦ Install Pybullet: https://anaconda.org/conda-forge/pybullet
2. (If you have done the first step, please ignore) Install python3 (optional) Setup the python3 environment on your system. ◦ Windows 10: ▪ https://phoenixnap.com/kb/how-to-install-python-3-windows ◦ Mac: ▪ https://docs.python-guide.org/starting/install3/osx/ ◦ Ubuntu 16.04: ▪ https://www.digitalocean.com/community/tutorials/how-to-install-python-3- and-set-up-a-local-programming-environment-on-ubuntu-16-04
3. (If you have done the first step, please ignore) Setup Pybullet Environment: ◦ Run following commands in the terminal: ▪ pip3 install pybullet --upgrade --user ▪ python3 -m pybullet_envs.examples.enjoy_TF_AntBulletEnv_v0_2017may ▪ python3 -m pybullet_envs.examples.enjoy_TF_HumanoidFlagrunHarderBulletEnv_v1_2017jul ▪ python3 -m pybullet_envs.deep_mimic.testrl --arg_file run_humanoid3d_backflip_args.txt ◦ Pybullet Reference: https://github.com/bulletphysics/bullet3
4. Run main.py to test if the environment is ready for the following tasks
◦ The outputs should be: A mobile robot and six obstacles in the environment
5. Implement the two functions under “implement your function here” section in main.py
◦ control_car function to control the car
◦ navigate_car function to navigate the car to the final location
▪ using navigation algorithms discussed in class
▪ from [0, 0] to [9, -9] (already given in the code)
◦ Finish the two functions mentioned above and do NOT change other part of the code
6. Record a video for a successfully trail
3. What you need to submit
• Functional main.py (30 points)
• Demo illustration (30 points)
◦ A video that demonstrates a successful navigation trail to the final position.
• Project Report (40 points)
◦ A project report that in academic paper format should be written for this project. (the same format used in project 1)
◦ The report should include:
▪ Introduction (5%)
• Background about car navigation (2%)
• Procedure of the project (2%)
• Brief Summary of the project (1%)
▪ Project Descriptions (10%)
• Describe the procedure (2%)
• Describe the applied algorithm/methods of the project (4%)
• Show the formula or equation or function of calculating the direction of travel and speed (3%)
• Include a picture of the generated environment with the robot (1%)
▪ Results (10%)
• Generated or planned trajectory of the robot moving in the environment (5%)
• Snapshots of successful and failed navigation (hitting obstacles etc, if there are any) (5%)
▪ Discussion of results (10%)
• Discuss the advantages and disadvantages of the designed control algorithms. Why is it successful? (5%)
• Discuss the designed trajectory of robot navigation. What are the key parameters and how are the parameters are selected? (5%)
▪ Conclusion (3%)
• Conclude the report, what you have done (1%), what results you have got (1%), what worked and what did not (1%).
▪ Reference (1%)