User Tools

Site Tools


Upload failed. Maybe wrong permissions?
adrl:education:completed_projects:mlussi2015s

<latex>{\fontsize{16pt}\selectfont \textbf{Position Control on a Hydraulically Actuated Treadmill using Visual-Inertial Feedback}} </latex>

<latex>{\fontsize{12pt}\selectfont \textbf{Manuel Lussi}} </latex>
<latex>{\fontsize{10pt}\selectfont \textit{Semester Project RSC}} </latex>

<latex> {\fontsize{12pt}\selectfont \textbf{Abstract} </latex>
During development of agile and dexterous robots, demanding test environments such as treadmills are requested to test and improve the robots movement abilities. In the current hardware setup used by the ADRL lab of ETH Zurich, the treadmill speed must be adjusted manually by humans. This is not only inconvenient but also demanding and inaccurate because of the frequent changes in direction and speed of the robot.
The aim of this semester thesis is to automatically control the speed of the treadmill depending on the robots longitudinal position in order to keep it at the same place. To do so, a position estimation, a position controller and safety mechanisms to protect hardware and humans have been implemented. The position estimator calculates the position of the robot on the treadmill using inertial and visual data provided by a camera and an IMU. Those pose data of the robot are used by the position controller which was built around the existing treadmill velocity controller resulting in a cascaded loop.
The software, written in C++ and Python, was fully system tested with real hardware and is therefore proven to safely control the position of the robot on the treadmill. Using the Robot Operating System (ROS), the different software components provide well defined interfaces and standardized messages. This results in a system which parameters can be monitored during runtime and is comfortably maintainable and enhanceable.

HyQ 1), a robot that is tested using a treadmill (left)/ treadmill (right)

<latex> {\fontsize{12pt}\selectfont \textbf{Position estimation} </latex>
In order to control the position of the treadmill, one has to know the current location of the robot on the treadmill. To solve this task, the open source implementation Robot- Centric Absolute Reference System (RCARS) is used 2). RCARS is a drift-free state estimation for dynamic systems such as HyQ. It uses a camera, an IMU and printable artificial landmarks, so called fiducials, to estimate the robots state. In this thesis, APRIL-Tags 3) are used as fiducials. RCARS is an absolute reference system because not only does it estimate the robots position relative to the fiducials, but it also has an absolute reference to a fixed coordinate frame in the workspace.

RCARS running on a robot. The fiducials are detected (egdes marked with blue circle) and identified (ID printed in green). RCARS then estimates the robots relative pose with respect to each fiducial.
By placing the fiducials at known locations with respect to the treadmill, one can calculate the robots position on the treadmill. The calculations can be found in the thesis.

<latex> {\fontsize{12pt}\selectfont \textbf{Controller} </latex>
The figure shows the implemented cascaded control loop where the inner loop is a velocity PD controller and the outer loop is a position PD controller. The inner loop controls the velocity of the treadmill whereas the outer loop controls the position of the robot. It uses the data from the position estimator as input. As it is meant to be with cascaded loops, the output of the position controller is directly used as input of the velocity controller.

<latex> {\fontsize{12pt}\selectfont \textbf{Software architecture} </latex>
The software is based on the Robot Operating System (http://www.ros.org/), an open source middle-ware for robotics. It offers state-of-the-art algorithms, drivers and powerful tools to fasten-up the development process. A very powerful concept of ROS is its use of nodes. A node is a process that performs computation and can communicate with other nodes using ROS message services. This concepts allows a software that can be split into isolated functional units.
architecturelussi.

RCARS, the position estimator and -controller (outer loop) run on the HyQ robot board computer whereas the velocity controller (inner loop) runs on a Rasberry Pi which is connected to the treadmill motors. The Skybotics VI-Sensor(http://wiki.ros.org/vi_sensor/) is used as camera and IMU and provides the visual and inertial data for RCARS.
The user is able to change safety and control parameters, the location of the fiducials and calibration data using a ROS parameter server. A parameter server is an easy to use software tool provided by the ROS framework an provides shared, multi-variate dictionary that is accessible via network APIs.
In order to monitor the whole system during development and test phase, relevant data are visualized during run time. This includes control inputs, outputs and parameters as well as state estimation from RCARS and calculations from the position estimator node. An extra node was developed to visualize the estimated position of the robot on the treadmill.

<latex> {\fontsize{12pt}\selectfont \textbf{Results} </latex>
The plot shows the actual robot position in red. First, an initialization is done which moves the robot to the desired position on the treadmill. After this, the actual controlling starts which keeps the robot the desired position regardless of its own speed. In this case, this would be at 2.2m which is approximately at the middle of the treadmill (0 meters is at the beginning of the treadmill, 5 meters is at the end of the treadmill). The graph in blue is the output of the position controller and represents the desired treadmill speed that is sent to the low level treadmill velocity control.
The following video shows the system test which resulted in the graph above:

1)
C. Semini, “HyQ – Design and Development of a Hydraulically Actuated Quadruped Robot,” PhD Thesis, Italian Institute of Technology and University of Genoa, Italy, 2010.
2)
Michael Neunert, Michael Blösch, Jonas Buchli (2015). An Open Source, Fiducial Based, Visual-Inertial State Estimation System. arXiv, 1507.02081.
3)
E. Olson, “Apriltag: A robust and flexible visual fiducial system,” in Robotics and Automation (ICRA), 2011 IEEE International Conferenceon. IEEE, 2011, pp. 3400–3407.
adrl/education/completed_projects/mlussi2015s.txt · Last modified: 2016/11/09 09:06 (external edit)