- 1 Proyect Card
- 2 Practices Videos
- 3 Chrono Practice
- 3.1 Demostration video
- 3.2 Added chronometer and best lap
- 3.3 Synchronize program final version
- 3.4 Synchronize program
- 3.5 Synchronize phantom odometry
- 3.6 Odometry Rosbag
- 3.7 Using Rosbag
- 3.8 Tested FollowLine solution for Chrono's practice
- 3.9 Updated Nurbürgrin Circuit
- 3.10 First view to Nurbürgrin circuit
- 3.11 Nurburgrin Circuit
- 3.12 Montmeló Circuit with textures
- 3.13 Montmeló Ciruit
- 4 Obstacle_Avoidance Practice
- 5 Follow_Line Practice
- 6 Follow_Road Practice
- 6.1 Follow Road Practice with ROS
- 6.2 Follow_Road practice with ROS in Academy-Web
- 6.3 Solution for Folllow_Road practice
- 6.4 MAVROS drivers for drones
- 7 Warehouse Robot Practice
- 7.1 Toggle Button v2
- 7.2 Warehouse_Robot elevating the shelf v2
- 7.3 Toggle Button
- 7.4 Warehouse_Robot elevating the shelf
- 7.5 Toggle Buttons Design
- 7.6 Piston movement example
- 7.7 GUI_v2
- 7.8 Warehouse Robot Movements
- 7.9 Warehouse Robot Design
- 7.10 GUI design v1
- 7.11 Warehouse design
- 7.12 Shelving design II
- 7.13 Shelving design
- 8 Jupyterizing practices
- 9 Exercises Videos
Project Name: JdeRobot-Academy Exercises
Author: Pablo Moreno Vera [firstname.lastname@example.org / email@example.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
Follow Road practice video.
Chrono practice video.
Chrono Practice 
New JdeRobot practice where two autonomous cars compete to complete one lap into a circuit in the lowest time.
The practice has been finally release. I post a demostration video with a solution developped by me.
Added chronometer and best lap
The next video shows the Chrono's practice with a chronometer and the best lap duration.
Synchronize program final version
The following video shows the Chrono's practice with a working version of the synchronize program.
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
The following video shows the result of the phantom odometry after being synchronize.
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.
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
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
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
The following video shows a first view to the Nurbürgrin circuit for Chrono's JdeRobot practice.
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
An image with the progress of the circuit. Now with textures:
Montmeló Ciruit 
This circuit is on development. Here I show an image with the progess:
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.
The following video shows a solution for this practice with a F1 ROS model.
This practice consists of a F1 model which follow a red line among the circuit until complete a lap.
The following video is a demostration video that show a solution for this practice using a F1 ROS model.
Added F1 models
The following video shows some F1 models with cameras and lasers.
This JdeRobot practice consists of one drone with two cameras and must follow a road.
Follow Road Practice with ROS
This section is created to show the progress on this practice using MAVROS plugins.
Updated MavROS drivers
I've updated the MavROS drivers to use drones in JdeRobot. I've developed a speed control to the drone and I've fixed the TakeOff provided by MavROS to work in any Gazebo's World. I've also implemented an altitude speed control to the drone so it can change its altitude sending information in vz parameter (shown in the video). I've updated the speed driver to an easy using interface, now the cmdvel driver accepts only 4 parameters(Vx, Vy, Vz and Yaw). With these 4 parameters the drone can moves.
Follow_Road JdeRobot practice Video 
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
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
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.
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
The following video shows the follow_road practice using ROS drivers in Academy-Web environment.
Solution for Folllow_Road practice
I've developed a solution for this practice. The result is shown in the following video:
MAVROS drivers for drones
This video shows the function of a drone with ROS drivers.
Warehouse Robot Practice
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
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
This video shows the operation of the Warehouse_Robot elevating a shelf without friction and slides.
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
The following video shows the warehouse robot raisingvthe shelf and moving it a little bit.
Toggle Buttons Design
The following video shows the operation of the GUI with the toggle buttons update.
Piston movement example
The following video shows the movement of a piston which elevates a shelving.
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
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
Te following picture shows the result of the changes made on the iroomba robot to convert it into a warehouse robot.
GUI design v1
The next picture shows the previus design of the GUI.
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
This picture shows the new structure of the shelving.
In the first step we are going to design the shelve structure.
This is the first look to the shelve:
This section shows the updates of the JdeRobot practices with Jupyter iNotebooks.
Vacuum Cleaner Practice
This practice is already updated and the following video shows the result.
Simulated Kobuki + KobukiViewer
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
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.
This is the JdeRobot practice. The practice is called "Autopark". This video shows a Parrot ArDrone teleoperated.
This is the JdeRobot practice. The practice is called "Global Navigation". This video shows an Auto-Teleoperated-Taxi.
This is the JdeRobot practice. The practice is called "Vacuum Cleaner". This video shows an Auto-Teleoperated-Vacuum cleaner.
This is the JdeRobot practice. The practice is called "Visual Lander". This video shows a Parrot ArDrone teleoperated.
This is the JdeRobot practice. The practice is called "Follow_Turtlebot". This video shows a Parrot ArDrone teleoperated following a kobuki robot.
This is the JdeRobot practice. The practice is called "Follow_Line". This video shows a Formula 1 teleoperated.
This is the JdeRobot practice. The practice is called "Vacuum_Cleaner". This video shows a Kobuki teleoperated.
This is the JdeRobot practice. The practice is called "Vacuum_Practice". This video shows a Kobuki teleoperated with autolocation (SLAM)