Pablomoreno-tfg

From jderobot
Jump to: navigation, search

Contents

Proyect Card[edit]

Project Name: JdeRobot-Academy Exercises

Author: Pablo Moreno Vera [p.morenov@alumnos.urjc.es / pablomvera14@gmail.com]

Academic Year: 2017/2018

Degree: Double Degree in Telecommunications Engineering and Business Administration

GitHub Repositories: TFG Pablo Moreno Vera

Tags: Linux, Python , OpenCV, JdeRobot, Gazebo

Chrono Practice [edit]

New JdeRobot practice where two autonomous cars compete to complete one lap into a circuit in the lowest time.

Demostration video[edit]

The practice has been finally release. I post a demostration video with a solution developped by me.

Added chronometer and best lap[edit]

The next video shows the Chrono's practice with a chronometer and the best lap duration.

Synchronize program final version[edit]

The following video shows the Chrono's practice with a working version of the synchronize program.

Synchronize program[edit]

The next video shows the first version of the synchronize program for the Chrono's practice. Is not working synchronize yet because of an error with the times.

Synchronize phantom odometry[edit]

The following video shows the result of the phantom odometry after being synchronize.

Odometry Rosbag[edit]

I've updated the Chrono's practice with the odometry of the phantom F1. In the video you can see the odometry of the phantom F1 in the mapWidget. The odometry is taken from the fastest lap of the circuit using Rosbag.

atch?v=z025WJ2HFYk</html5media>

Using Rosbag[edit]

I've used Rosbag for the phantom F1. I recorded the last lap with FollowLine solution and I've used Rosbar play to run the video. The result is the F1 move itself but there's a problem after a minute. I think the problem is the gazebo's refresh is too slow with the real time so the F1 starts to turn too soon.

Tested FollowLine solution for Chrono's practice[edit]

I've tested the FollowLine's practice solution in Chrono's practice. The result is very good and the F1 completed a lap without issues. I attach a video of a part of the solution:

Updated Nurbürgrin Circuit[edit]

I've developed a new version of the circuit with grass an walls with no texture to improve the performance of gazebo

First view to Nurbürgrin circuit[edit]

The following video shows a first view to the Nurbürgrin circuit for Chrono's JdeRobot practice.

Nurburgrin Circuit[edit]

I've developed a new circuit for this practice. It's Nurburgrin circuit an the visual part it's finished. The collision part must be fixed with the f1. I post an image of the circuit:

Montmeló Circuit with textures[edit]

An image with the progress of the circuit. Now with textures:

Montmeló Ciruit [edit]

This circuit is on development. Here I show an image with the progess:

Obstacle_Avoidance Practice[edit]

This practice consists of a F1 model with a camera and a laser. The F1 model has to complete one lap of the circuit without collisioning with the others F1 models.

Demostration video[edit]

The following video shows a solution for this practice with a F1 ROS model.

Follow_Line Practice[edit]

This practice consists of a F1 model which follow a red line among the circuit until complete a lap.

Demostration video[edit]

The following video is a demostration video that show a solution for this practice using a F1 ROS model.

Added F1 models[edit]

The following video shows some F1 models with cameras and lasers.

Follow_Road Practice[edit]

This JdeRobot practice consists of one drone with two cameras and must follow a road.

Follow Road Practice with ROS[edit]

This section is created to show the progress on this practice using MAVROS plugins.

Follow_Road JdeRobot practice Video [edit]

After several test, i've adapted the iris_fpv drone to the JdeRobot environment. I've changed the cmdvel and extra drivers and make some improvements in the graphic interface. In addition, i have to update some MavROS code. After all ths changes i've achieved to move the drone to follow a road. It turns according to the direction of the road. The following video shows this improvemen.

Movement of the Px4 drone with /mavros/setpoint_raw/local[edit]

I've tried this topic to move the drone successfully. The inconvenient is still the same, the random movement of the attitude. I've also noticed that the drone turns is not perfectly and the drone moves wrongly. I'll try to solve this issue with this topic.

Random Movement in Academic-Node[edit]

One additional step has been the implementation of the mavros commands used in the following step in the JdeRobot-Academic-Node. The implementation works but it has more movement than the moves visualized in the previous step. I've check the cmdvel driver but i've found nothing wrong. I'll continue improving mavros commands to keep the drone hovering.

Random Movement[edit]

The following video shows the random movement of the drone with MAVROS. I'm using command instructions to move the drone as the shows in https://jderobot.org/Drones. The result is a hovering drone but still moves itself. I've updated he configuration PX4 yaml file to avoid the command 'rosservice call /mavros/setpoint_velocity/mav_frame "mav_frame: 8"'. The result is shown in the next video.

Follow_Road practice with ROS in Academy-Web[edit]

The following video shows the follow_road practice using ROS drivers in Academy-Web environment.

Solution for Folllow_Road practice[edit]

I've developed a solution for this practice. The result is shown in the following video:

MAVROS drivers for drones[edit]

This video shows the function of a drone with ROS drivers.

Warehouse Robot Practice[edit]

This practice is developed by myself and tries to simulate the behavior of Amazon robots in their stores. Teh following video shows the behavior of the robots.

Toggle Button v2[edit]

This video shows the operation of the "Toggle Button" new implementation. This "Toggle Button" update consists of adding colors to the button.

Warehouse_Robot elevating the shelf v2[edit]

This video shows the operation of the Warehouse_Robot elevating a shelf without friction and slides.

Toggle Button[edit]

This videos shows the operation of the "Toggle Button" implementation for the JdeRbot exercises. In the video, the image of the button changes depending on whether it is running or stopped.


Warehouse_Robot elevating the shelf[edit]

The following video shows the warehouse robot raisingvthe shelf and moving it a little bit.

Toggle Buttons Design[edit]

The following video shows the operation of the GUI with the toggle buttons update.


Piston movement example[edit]

The following video shows the movement of a piston which elevates a shelving.

GUI_v2[edit]

This picture shows the new version of the GUI. This update consists of the inclusion of two new buttons, one button to elevate the piston, and other button to lower the piston.

Warehouse Robot Movements[edit]

The video shows the movements of the robot. It can move ahead, forward and both sides. It also shows the movement of the robot piston which elevates the objects.

Warehouse Robot Design[edit]

Te following picture shows the result of the changes made on the iroomba robot to convert it into a warehouse robot.

GUI design v1[edit]

The next picture shows the previus design of the GUI.

Warehouse design[edit]

Next we have an image with the warehouse and the shelves on which the practice will be realized. In addition a kobuki appears, which is not the one that will be used for the practice.

Shelving design II[edit]

This picture shows the new structure of the shelving.

Shelving design[edit]

In the first step we are going to design the shelve structure.

This is the first look to the shelve:

Jupyterizing practices[edit]

This section shows the updates of the JdeRobot practices with Jupyter iNotebooks.

Vacuum Cleaner Practice[edit]

This practice is already updated and the following video shows the result.

Exercises Videos[edit]

Simulated Kobuki + KobukiViewer[edit]

This is the 4.1 JdeRobot example wich appears in "Examples" area. The example is called "Simulated Kobuki + KobukiViewer". This video shows a teleoperated Kobuki (turtle) robot.

Simulated ArDrone + UAVViewer[edit]

This is the 5.1 JdeRobot example wich appears in "Examples" area. The example is called "Simulated ArDrone + UAVViewer". This video shows a Parrot ArDrone teleoperated.

Autopark[edit]

This is the JdeRobot practice. The practice is called "Autopark". This video shows a Parrot ArDrone teleoperated.

Global Navigation[edit]

This is the JdeRobot practice. The practice is called "Global Navigation". This video shows an Auto-Teleoperated-Taxi.

Vacuum Cleaner[edit]

This is the JdeRobot practice. The practice is called "Vacuum Cleaner". This video shows an Auto-Teleoperated-Vacuum cleaner.

Visual Lander[edit]

This is the JdeRobot practice. The practice is called "Visual Lander". This video shows a Parrot ArDrone teleoperated.

Follow Turtlebot[edit]

This is the JdeRobot practice. The practice is called "Follow_Turtlebot". This video shows a Parrot ArDrone teleoperated following a kobuki robot.

Follow Line[edit]

This is the JdeRobot practice. The practice is called "Follow_Line". This video shows a Formula 1 teleoperated.

Vacuum Cleaner[edit]

This is the JdeRobot practice. The practice is called "Vacuum_Cleaner". This video shows a Kobuki teleoperated.

Vacuum Practice[edit]

This is the JdeRobot practice. The practice is called "Vacuum_Practice". This video shows a Kobuki teleoperated with autolocation (SLAM)