Adam Rule
email: acrule@ucsd.edu

Ian Drosos
email: idrosos@ucsd.edu

Aurélien Tabard
email: aurelien.tabard@univ-lyon1.fr

James D Hollan
email: hollan@ucsd.edu

Aiding Collaborative Reuse of Computational Notebooks with Annotated Cell Folding

Keywords: CCS Concepts:, Human-centered computing → Graphical user interfaces, Empirical studies in HCI, Computational notebook, Cell folding, Jupyter Notebook

come   L'archive ouverte pluridisciplinaire

INTRODUCTION

Exploratory data analysis is an iterative process of extracting insights from data [START_REF] Guo | Software tools to facilitate research programming[END_REF][START_REF] Kandel | Enterprise Data Analysis and Visualization: An Interview Study[END_REF][START_REF] Beth Kery | Variolite: Supporting Exploratory Programming by Data Scientists[END_REF][START_REF] Wilder | Exploratory data analysis[END_REF]. As the scale and scope of data expand, this process has become increasingly collaborative [START_REF] Heer | Design Considerations for Collaborative Visual Analytics[END_REF][START_REF] Kandel | Enterprise Data Analysis and Visualization: An Interview Study[END_REF]. Consider a journalist who enlists several colleagues to sort through a collection of leaked documents, or a researcher who sends tissue samples across the country as part of a multi-site study; in both cases collaborators need to discuss details of the analysis, not only to coordinate efforts, but also because small changes to how data are collected, cleaned, or analyzed can lead to drastically different results. But clearly communicating complex analyses is remarkably difficult, especially when the analysis involves programming, which tends to produce large collections of scripts, comments, and results that can be difficult to manage or understand [START_REF] Guo | Software tools to facilitate research programming[END_REF][START_REF] Tabard | From individual to collaborative: the evolution of prism, a hybrid laboratory notebook[END_REF]. One increasingly popular means of addressing these challenges is to conduct analyses in computational notebooks which combine code, visualizations, and text in a single interactive document (Figure 1). Computational notebooks aim to support collaborative data analysis by enabling analysts to present their work as computational narratives that can be easily shared and understood [START_REF] Perez | Project Jupyter: Computational Narratives as the Engine of Collaborative Data Science[END_REF]. However, prior work examining over a million notebooks and interviewing dozens of notebook users revealed that many notebooks are loose collections of notes and scripts that even the original analyst struggles to understand [START_REF] Beth Kery | The Story in the Notebook: Exploratory Data Science using a Literate Programming Tool[END_REF][START_REF] Rule | Exploration and Explanation in Computational Notebooks[END_REF]. Rather than share their messy notebooks, most analysts share simplified results through media such as email, slide decks, or paper printouts that lack a notebook's interactivity, reproducibility, or context. While computational notebooks help analysts perform iterative analyses they have yet to realize their anticipated collaborative potential.

This paper explores how to design computational notebooks to encourage clearer communication, freer sharing, and deeper engagement with complex data analyses. It does so by asking how lightweight cellfolding and annotation might enable analysts to more easily craft notebooks that can be understood and reused in a variety of collaborative contexts. Through a lab study and multi-week deployment we find evidence that cell-folding aids both the original analysis and later reuse of notebooks for group presentations or continued analysis by a collaborator. However, as in prior work on code folding and document overviews, we find that folding cells can encourage collaborators to overlook folded sections or spend longer reviewing a notebook before editing it. These findings extend our understanding of code folding's benefits and trade-offs to a new medium while also demonstrating its collaborative benefits in both laboratory and real-world settings.

RELATED WORK

Data Analysis

In Exploratory Data Analysis, John Tukey described his subject as "looking at data to see what it seems to say" [START_REF] Wilder | Exploratory data analysis[END_REF]. While vague, this definition captures the exploratory nature of data analysis which typically involves iterative cycles of obtaining, cleaning, profiling, analyzing, and interpreting data [START_REF] Guo | Software tools to facilitate research programming[END_REF][START_REF] Kandel | Enterprise Data Analysis and Visualization: An Interview Study[END_REF]. As analysts explore data they try different versions of the same model or graph and routinely hit "dead ends" before generating an insight they feel "fits" the data.

As they iterate, analysts struggle to track which steps led to which results. Some tools help analysts track this provenance automatically [START_REF] Davidson | Provenance and scientific workflows: challenges and opportunities[END_REF][START_REF] Ragan | Characterizing provenance in visualization and data analysis: an organizational framework of provenance types and purposes[END_REF], though often in GUI-based analysis software rather than programming environments. Thankfully, research by Kery et al. is beginning to explore ways to support the types of lightweight versioning unique to programming for data analysis [START_REF] Beth Kery | Variolite: Supporting Exploratory Programming by Data Scientists[END_REF]. But much tracking remains manual and relatively few tools address how analysts organize and communicate the many byproducts of their work so others, or even their future selves, can audit, resume, or replicate it. As Guo [START_REF] Guo | Software tools to facilitate research programming[END_REF] and Tabard [START_REF] Tabard | From individual to collaborative: the evolution of prism, a hybrid laboratory notebook[END_REF] both note, complex analyses tend to produce large collections of similarly named files that can be difficult to navigate or understand. Many analysts don't want to take time to organize or annotate their code and outputs since many explorations lead to dead ends and documenting each of these would break their train-of-thought. For these reasons complex data analyses easily devolve into poorly documented collections of files.

Computational Notebooks

One increasingly popular means of managing the many byproducts of programmatic data analysis is to perform analyses in computational notebooks. In the tradition of Knuth's literate programming [START_REF] Knuth | Literate Programming[END_REF], computational notebooks enable analysts to mix live code and visualizations with explanatory text. While available for decades in proprietary software, the recent emergence of several open source computational notebooks such as Jupyter Notebook and RNotebooks has enabled millions of scientists, journalists, and students to adopt them for a wide range of analytical tasks [START_REF] Granger | JupyterLab: The next generation jupyter frontend[END_REF].

As described by the creators of Jupyter Notebook, the central aim of computational notebooks is to enable analysts to write rich computational narratives describing their analysis to a particular audience and context [START_REF] Perez | Project Jupyter: Computational Narratives as the Engine of Collaborative Data Science[END_REF]. Indeed, some notebooks elegantly explain complex analyses and the paradigm of computational notebook is spreading. Distill uses a computational notebook format to explain complex machine learning algorithms [START_REF] Olah | The Building Blocks of Interpretability[END_REF], Codestrates demonstrates how computational notebooks can blur the lines between developing and using software [START_REF] Rädle | Codestrates: Literate Computing with Webstrates[END_REF], and ObservableHQ recently released a computational notebook for analyzing data on the web using JavaScript [START_REF]Observable[END_REF].

However, as two recent studies note, clear notebooks are the exception [START_REF] Beth Kery | The Story in the Notebook: Exploratory Data Science using a Literate Programming Tool[END_REF][START_REF] Rule | Exploration and Explanation in Computational Notebooks[END_REF]. Many lack explanatory text altogether, and even those that accompany academic publications rarely use text to discuss the reasoning that guided the analysis or interpret results. While notebooks provide tools for analysts to write rich computational narratives, analysts do not necessarily use them to great effect as they face a tension between continuing to explore data or pausing to explain their process. At the end of an analysis, many analysts are left with long and messy notebooks that even they struggle to understand, much less want to share with a collaborator.

Multi-Scale Interfaces for Working with Long Documents

Several interaction paradigms have been developed to aid navigation and comprehension of long documents by enabling users to simultaneously work at multiple levels of detail [START_REF] Cockburn | A review of overview+ detail, zooming, and focus+ context interfaces[END_REF]. Two of the most common are overview + detail interfaces that present separate views of the same document at different levels of detail (e.g., slide navigators, mini-maps) and focus + context interfaces that mix different levels of detail in the same view (e.g., code folding, fisheye views).

Prior work has explored how these paradigms support reading and writing code or text. Several studies have shown that focus + context views help programmers perform some tasks more quickly, though not all, by aiding navigation [START_REF] Cockburn | A review of overview+ detail, zooming, and focus+ context interfaces[END_REF][START_REF] Mikkel | Evaluating a fisheye view of source code[END_REF]. Other research on academic writing directly compared overview + detail, focus + context, and standard linear interfaces [START_REF] Hornbaek | Reading patterns and usability in visualizations of electronic documents[END_REF]. This work found that subjects wrote better essays when using an overview + detail interface but were slower answering direct questions, possibly because they spent additional time exploring the document overview even after finding the relevant answer. By contrast users of the focus + context interface read documents faster, but rarely viewed parts of the document that are not initially visible. Consequently they demonstrated less learning from the document. Overall these studies show that multi-level interfaces can aid completion of certain tasks, but may distract from the task at hand or discourage in-depth reading. It remains to be seen how they might support use of computational notebooks that combine executable code, explanatory text, and graphical results in a hybrid of previously studied media.

In the sections that follow we present the design and evaluation of a multi-scale interface for working with computational notebooks. This interface leverages manual cell-folding and annotation to aid and encourage notebook annotation and organization. In the studies that follow we seek to understand not only if this paradigm helps analysts navigate their own notebooks, but if it also encourages them to share notebooks and helps collaborators understand and reuse them.

DESIGN OF CELL-FOLDING FOR COMPUTATIONAL NOTEBOOKS

Prior work found that computational notebooks tend to become long, poorly formatted, and difficult to understand, hindering sharing and reuse [START_REF] Beth Kery | The Story in the Notebook: Exploratory Data Science using a Literate Programming Tool[END_REF][START_REF] Rule | Exploration and Explanation in Computational Notebooks[END_REF]. With this challenge in mind, we conducted two design workshops with seven graduate students (recruited in a convenience sample from a large public university) to brainstorm how we might help analysts craft notebooks that are easier to share, understand, and reuse. We recruited participants who had experience with both computational notebooks and design thinking [START_REF] Buchanan | Wicked Problems in Design Thinking[END_REF] to ground brainstorming in prior experience and avoid common design pitfalls such as prematurely focusing on a single solution.

In an initial workshop we had participants brainstorm ways to make it easier for analysts to annotate, organize, and reflect on analyses in their notebooks. In a second workshop we worked with participants to paper prototype a subset of these ideas. In some cases, participants' ideas reflected features available in other writing and development environments (e.g., table of contents, file minimaps, commenting), but other ideas were more specific to notebooks (e.g., stable and sequential cell numbering to aid navigation, parallel but linked presentation and scratch-pad notebooks). Based on participant feedback and prior research suggesting the value of code folding and document overviews, we chose to design and test a form of code-folding specific to computational notebooks that would encourage simultaneous code organization and textual annotation.

Jupyter Notebooks are linear collections of cells, that is, independent blocks of code or text. We developed Janus (Fig. 2), an extension to Jupyter Notebook, that enables analysts to fold cells in named sections. When users fold a cell or several consecutive cells, Janus renders a section header in their place. This header can be named and shows how many lines of code the folded Fig. 2. We developed Janus, an extension to Jupyter Notebook, to explore the implications of adding cell folding to computational notebooks. Janus lets users fold groups of cells in named sections (A), or an individual cell's code or outputs (B). These hidden cells can be selectively shown in a sidebar (C). cells contain. Hovering over the section header shows a miniaturized view of the hidden cells, making it easier to visually scan cells without unfolding them. When the section header is clicked, it reveals a second notebook panel to the right of the main notebook containing the hidden cells. We chose to unfold cells in a sidebar rather than inline so the main notebook could act as a stable notebook overview while the sidebar provided focused details, mixing the overview + detail and focus + context paradigms. Janus additionally lets notebook users fold just a code cell's input code or outputs so, for example, a graph can remain in the main notebook but the code used to generate it can remain hidden until needed.

Prior work suggests this cell folding should help analysts navigate long notebook files and complete certain analytical tasks more quickly [START_REF] Cockburn | A review of overview+ detail, zooming, and focus+ context interfaces[END_REF][START_REF] Hornbaek | Reading patterns and usability in visualizations of electronic documents[END_REF][START_REF] Mikkel | Evaluating a fisheye view of source code[END_REF]. We sought to understand if it would also aid sharing and reuse of computational notebooks.

STUDY 1: LAB STUDY WITH NOVICE ANALYSTS

With this first study we wanted to see if folding cells helps novice analysts navigate, understand, and extend a collaborator's notebook. When analysts share their notebooks, they often share them with less experienced programmers. A senior researcher may share a notebook with a junior colleague to introduce them to a line of research, or to share results with a colleague whose expertise is in biology, rather than computation. Due to this difference in experience, even when sharing within a lab or collaboration analysts can spend substantial time cleaning their notebooks to make them easier to understand [START_REF] Beth Kery | The Story in the Notebook: Exploratory Data Science using a Literate Programming Tool[END_REF]. To explore if cell folding might aid notebook navigation, comprehension, and reuse we conducted a study with 32 undergraduate data science students under the scenario that they were extending a lab-mate's analysis.

Participants and Methods

We recruited 34 students from an introductory undergraduate data science course at a large public university in the United States and gave each a $25 gift card for participating. Two participants were unable to complete even the first study task in the allotted time and were excluded from our analysis, leaving 32 participants who had completed one or more of the three study tasks.

In this between-subjects study, we asked participants to continue an analysis which a fictional lab-mate had begun in a Jupyter Notebook. To start, we gave each participant a 13" laptop with a notebook that compared housing and rental prices in five major cities on the United States' west coast. We then asked participants to perform three tasks that extended the analysis to include San Jose, CA. The three tasks included 1) finding the unique ID that the dataset used to identify San Jose, CA, 2) plotting rental and home prices in San Jose over time, and 3) correlating changes in rental and homes prices in San Jose and the five original cities.

Sixteen participants used standard Jupyter Notebook in the control condition and sixteen used a version of Jupyter Notebook extended with Janus in the experimental condition. Participants in the experimental condition were first shown Janus' cell-folding features in an example notebook, and then worked with a folded version of the study notebook that was initially about 80% shorter than the control notebook due to folding 35 cells into 12 sections with names such as "Select Variables to Compare" and "Plot Rental Prices Over Time". The control notebook had the same sections marked with markdown headers. To encourage extensive navigation and engagement with the notebook, the study tasks were designed to be completed by reusing code already in the notebook.

We gave participants 30 minutes to complete as many of the tasks as they could. At the end of the study we interviewed each participant about their experience using their version of Jupyter Notebook, and had them fill out a post-study questionnaire testing their notebook comprehension. All materials and data for this and the next study are online at https://github.com/activityhistory/ cscw2018.

Measures

Proficiency: Before the study began, we asked participants to rate how proficient they were analyzing data using Python and working with Jupyter Notebook on 7-point likert scales. We also asked participants how many years programming experience they had and their current major. We divided participants into computing majors (e.g., Computer Science, Computer Engineering, Electrical and Computer Engineering), and non-computing majors (e.g., Cognitive Science, Bioengineering, Chemical Engineering) and balanced major type across conditions.

Navigation and Comprehension: At the end of the study we asked participants to rate how easy it was to navigate and understand the notebook on 7-point likert scales. We also tested their comprehension of the notebook using a 7 question quiz which asked about methods and high-level results. For example, one question asked: Which cities did your colleague originally compare?

Productivity: We measured how productive participants were by tracking how many of the three tasks they completed and how long it took them to complete each task.

Results

We compare programming proficiency between computing and non-computing majors using t-tests. For all other measures we use two-way ANOVAs to estimate differences associated with using Janus, the participant's major, or the interaction of these factors. We report 95% confidence intervals for effects with a p-value less than 0.10, though we were more interested in how cell-folding changed how participants used notebooks than statistical significance.

Proficiency:

All participants had experience with Python and Jupyter Notebook from their data analysis course, but there were significant differences between computing and non-computing majors in self-reported proficiency using Python for data analysis (4.1 vs 3.1 out of 7, p < 0.01), selfrated proficiency with Jupyter Notebooks (4.6 vs 3.6 out of 7, p < 0.05), and years of programming experience (3.3 vs 2.3 years, p < 0.01). These differences were robust enough to suggest computing and non-computing majors might use cell folding differently based on prior experience. Fig. 3. There was no significant difference between conditions in self-rated ease of understanding or navigating the notebook, nor in notebook comprehension.

Navigation and Comprehension:

There was no significant difference in self-rated ease of navigating the notebook, self-rated ease of understanding the notebook, or scores on the post-study comprehension quiz associated with using Janus, pursuing a computing degree, or the interaction of these factors ( p > 0.1 in all cases) (Figure 3).

Productivity:

There was no significant difference in the number of tasks participants completed associated with using Janus, pursuing a computing degree, or the interaction of these factors (p > 0.1 in all cases). However, there were differences in how long participants took to complete each task (Figure 4). A twoway ANOVA revealed that non-computing majors using Janus tended to take longer to review their notebook before starting the tasks than did other participants (p = 0.09, 95% CI [-69, 986] seconds longer). Note in Figure 4a that this difference seems largely driven by three outliers.

However there was also a reverse trend for non-computing majors using Janus to surprisingly take less time to complete the first two tasks (Figure 4b). We compare time on the first two tasks as Fig. 4. (A) Non-computing majors using Janus tended to spend more time reviewing the notebook before starting the first task, though this was mostly due to three outliers. (B) However, Janus users also tended to take less time to complete Tasks 1 and 2, particularly if they were non-computing majors. Note how seven of the eight fastest times completing Tasks 1 and 2 were from Janus users. only 13 of 32 participants were able to complete the third task in time, limiting any comparison across all tasks. A two-way ANOVA represented this difference as a combination of a weak main effect for all Janus users to take less time to complete Tasks 1 and 2 (p = 0.09, 95% CI [92, 996] fewer seconds), but also a weak interaction effect for computing majors using Janus to take longer on Tasks 1 and 2 than non-computing majors using Janus ( p = 0.10, 95% CI [-102, 1126] more seconds). This combination of effects nullified any time gain from using Janus for computing majors.

Qualitative Feedback:

Ten of the sixteen Janus users spoke favorably of the extension: I like the hide cells thing. I never really explored that. If that's not already a thing in Jupyter, I hope it's a thing... When I'm trying to find a certain portion of the notebook it would be easier to just hide the portions I don't need currently. -P29 However, five Janus users felt the folding hindered navigation at times or took getting used to:

In a regular notebook you can just scroll up and down and see the code but here... you have to actually click it, so it's not as efficient as it used to be. -P11

In the baseline condition with Jupyter Notebook, seven of sixteen participants mentioned the length of the notebook as a problem when asked about ease of navigation. Some even proposed new ways of making the notebook easier to navigate: I wish there was some type of compressing tool. I did not have to see all these plots to be able to understand the next step. So if there is anything that hides the plots and expands it only when I want to see it. I feel tools like that would make it easier to navigate. -P32 Participants in the Janus condition also mentioned various ways to improve the extension. Four wanted the sidebar to be less "cramped", using a larger screen or showing folded cells inline with the main notebook. Three wanted the sidebar to follow them as they scrolled so they could simultanously view code from the top and bottom of the notebook. Finally, eight participants wanted better support for code or browser search (e.g., CMD -F) to aid navigating the notebook.

Discussion

Most participants who used Janus liked being able to fold cells. Conversely, many who used the standard notebook interface complained that the notebook was long and hard to navigate, suggesting there are clear benefits to cell folding. Still, there may be times when analysts want to see the entire notebook or disparate sections side-by-side.

Remarkably, cell folding seemed to particularly help non-computing majors take less time to find and reuse code in the notebook, though it may have also encouraged some of them to take longer reviewing the notebook in the first place. As shown in Figure 4a, three non-computing majors using Janus took substantially longer to review the notebook before editing. These participants unfolded and re-ran each section of folded cells before they began their tasks. They may have found the folding unhelpful or, by breaking long analyses into sections, cell folding may have made the analysis seem more approachable and encouraged them to retrace each step. Either way, this result accords with prior work which found that people may continue reviewing a document after finding what they need if it has an overview pane, as the main notebook panel provided [START_REF] Hornbaek | Reading patterns and usability in visualizations of electronic documents[END_REF].

As for Janus enabling some users, particularly non-computing majors, to complete their tasks more quickly, screen recordings revealed that this may be due to adopting the strategy of making small edits to code in the middle of the notebook rather than copying it to the end of the notebook before editing. Five of the eight fastest participants (seven of whom were in the Janus condition) adopted this in-place editing strategy whereas only three of the remaining sixteen participants who completed Tasks 1 and 2 did so. Viewing code in smaller chunks may have given participants confidence that they understood the code and the effects of modifying it, so they were more likely to edit code in place. Computing majors may not have benefited as much from using Janus' code folding because even without it they may have been able to fall back on well-established strategies for navigating long files such as using CMD-F to search for specific function names.

The four Janus users at the top of Figure 4 who took more than 900 seconds to complete Tasks 1 and 2 all took a third approach: writing entirely new code to complete the tasks rather than reuse code already in the notebook. This result accords with prior work that found that fisheye or folding views can discourage readers from viewing parts of a document that are initially hidden [START_REF] Hornbaek | Reading patterns and usability in visualizations of electronic documents[END_REF].

Using Janus seemed to have a polarizing effect on programming style, either encouraging participants to edit and re-run code in place or to ignore previous code and start their analysis from scratch. While we found no significant increase in notebook comprehension or number of tasks completed, cell folding did help some novice analysts navigate and extend a collaborators' notebook more quickly, showing a benefit of cell folding for certain types of collaboration.

STUDY 2: TECHNOLOGY PROBE WITH EXPERT ANALYSTS

Our first study demonstrated that cell folding can help novice analysts navigate and extend a collaborator's computational notebook. However, extending an existing analysis is just one form of collaboration, and analysts might use cell folding differently in their own notebooks. To better understand how cell folding might support everyday collaboration we asked three expert analysts to use Janus for 2-4 weeks during their normal analytical work. We had three goals for this technology probe [START_REF] Hutchinson | Technology probes: inspiring design for and with families[END_REF]: understanding analysts needs and desires in a real-world setting, field-testing Janus, and inspiring analysts (and ourselves) to think about new ways of interacting with notebooks.

Participants and Method

We recruited three experienced analysts (2 PhD students and 1 undergraduate student) via email from three different laboratories at a large public university in the United States. All three had extensive experience with Jupyter Notebook and used it as their primary tool for data analysis.

We demonstrated Janus' cell folding to each participant using an example notebook and then asked each to organize the housing price comparison notebook from Study 1 as if they were going to share it with a colleague. Afterwards we asked them how they might have organized the notebook differently for themselves or a manager. Next, each participant installed Janus on their primary work computer and used it for 2-4 weeks during their everyday analyses. We interviewed each participant about their experience with Janus after each week of use. Sample questions included:

-Can you open a notebook where you used Janus this week? -How did you use, or try to use, Janus in this notebook? -Did you show a notebook organized with Janus to anyone this week? How did they respond?

We transcribed each interview and iteratively extracted and grouped key quotes to find themes.

Results

5.

2.1 Social: Communicating with Self and Others. Whether they were organizing our example notebook or their own notebooks, our participants expressed the feeling that they were their own closest collaborators, and that other analysts, especially their advisors (sometimes referred to as Principle Investigators or PIs), were not interested in their code:

Oftentimes I am the colleague in the sense that I'm looking at [the notebook] a week after and I have no idea what I was thinking at the time. -P1

From most of my conversations with people that's pretty consistent across PIs. They don't want to see the code, they just want to see the high level idea. -P1 As a result, our participants primarily considered their own needs when organizing notebooks. By the time they were ready to share results with their lab, their notebooks were often too detailed and messy to present, so they would have to, reluctantly, create summary slide decks.

When I've presented versions of this notebook in our weekly meetings, I'm always scrolling through and it takes a while to scroll through something and I might think, "Oh I want to go back to this plot above", and I scroll scroll, scroll, scroll and people are getting distracted by various plots. -P1 Its all slide decks now. We've tried... I haven't had much success using notebooks as a presentation tool. I've just kind of given up on that. -P3 However, using Janus opened up new possibilities, aiding both the ongoing analysis and group presentation. When working on an analysis, Janus helped our participants keep old code without it getting in the way of the current task. Participant 1 mentioned that using Janus helped him make sure he was editing the correct plot. Whereas before he would often mistake two similar plots, now he could hide all but the current plot he was working on. Participant 2 noted: What I would have normally have done was cut it out... and just think in my head, "Oh that line was super easy to type, if I want to see that selection again, I'll just type that same line again. " But... I'll forget to do that later... [With Janus] instead of having to retype it I could just kind of see "Oh, what section of the data-frame was I looking at before?" That will kind of jog my memory as to what analysis I was doing... so I can keep more of my thoughts, my own thoughts in there. -P2 Our participants also felt using Janus helped them reuse notebooks for group presentations, reducing the time spent preparing their notebook for sharing, helping them remember what they wanted to talk about, and giving them greater control over what was visible at any one time.

I can just kind of quickly scroll through [the notebook] and know that every cell that is still left is a cell that I wanted to show for some reason -P2 I feel like when you have these notebooks with all these figures its really tempting to just scroll down until the next figure and just look at it and scroll down... its a nice experience [with folded outputs] for me or a collaborator to say, "Okay, what is it that I'm looking for, what do I expect to see?". [And then unfold them] -P1 5.2.2 Technology: Sidebar Unnecessary Technical Overhead. As in Study 1, one of our participants mentioned that the sidebar felt small. He rarely viewed folded cells there, choosing instead to fold and unfold them in the main flow of his notebooks. While we expected more experienced analysts to use external monitors with more space for the sidebar, our participants still frequently edited notebooks on smaller laptop screens as they moved around campus to attend different meetings. While we intended for the main notebook to provide an overview of the analysis, and the sidebar to provide details-on-demand, analysts' repeated critique suggests that hiding and showing cells in-line with the rest of the notebook may better match their mental models and be less distracting.

5.2.3

Design: Support for Navigation and Manipulation. Participants were generally happy with Janus and mainly suggested minor tweaks rather than major changes to notebook software. However, our interviews, as well as observations from Study 1, highlight several use cases that computational notebooks could better support. Many of these echo issues explored in the active reading [START_REF] Liao | Papiercraft: A gesture-based command system for interactive paper[END_REF][START_REF] Schilit | Beyond paper: supporting active reading with free form digital ink annotations[END_REF][START_REF] Tashman | LiquidText: active reading through multitouch document manipulation[END_REF] or collaborative visual analytics literatures [START_REF] Heer | Design Considerations for Collaborative Visual Analytics[END_REF][START_REF] Isenberg | Collaborative visualization: Definition, challenges, and research agenda[END_REF], though they reflect the unique needs of analysts and their collaborators as they read and edit code and text in notebooks.

Richer Visualization of Folded Cells: Currently in Janus, folded cells are summarized by a userdefined labels, the number of lines of code they contain, and a small preview of the hidden cells when a user hovers over the section header. While analysts sometimes know the exact cell they are looking for (e.g., where was that one with the plotting code?) at other times they are looking for all cells where a particular data object was manipulated and trying to understand what happened to that object as a result of the code. Section markers could provide information about the objects created, modified, or deleted in them and provide compact visualizations of those operations.

Inline Search and Notebook Summarization: Analysts often looked for all instances of a variable or method, or the history of how an object was created, used, and modified. This process could be accelerated by letting notebook users search for a data object, and then hiding all cells or lines of code except those pertaining to the searched object.

Showing Notebook Sections Next to Each Other: Analysts often compared disparate sections of the same notebook, for example when copying code or comparing results of two different steps. Currently this requires precise and repetitive scrolling. JupyterLab, the next version of Jupyter Notebook addresses this issue by letting users place two views of the same notebook side by side. Alternatively, notebooks could let users collapse intermediate sections of a notebook (as in LiquidText [START_REF] Tashman | LiquidText: active reading through multitouch document manipulation[END_REF]) to show two disparate sections one right after the other.

Saving Views: Analysts wanted to view different parts of their notebooks at different times, and to save configurations to show collaborators. Similar to how some collaborative visual analytics systems enable users to save configurations of the visualization, notebooks could enable users to save configurations of hidden cells so they can prepare and easily revert to specific configurations.

Discussion: Richer Navigation and Manipulation of Computational Notebooks

These findings suggest that it would be fruitful to consider how computational notebooks can support richer forms of navigation and manipulation. As opposed to the linear and often passive process of reading a novel, analysts and their collaborators want to actively skim, cross-reference, bookmark, and jump around computational notebooks as they do other physical and digital documents. However, in their current form, computational notebooks require extensive scrolling to navigate and are difficult to skim, discouraging sharing and reuse. While participants had some workarounds (e.g., using third-party extensions to render a table of contents at the top of their notebook, or using an ALL-CAPS header to mark where they left-off), notebooks could do more to support richer navigation and manipulation.

So far Janus supports a limited form of navigation, mainly helping analysts and their collaborators jump around long notebooks by folding sections they do not need at the moment. However, as Tashman and Edwards note in related literature on active reading, richer forms of interaction can also include annotation, content extraction, and dynamic layout of documents [START_REF] Tashman | LiquidText: active reading through multitouch document manipulation[END_REF]. As with systems such as XLibris [START_REF] Schilit | Beyond paper: supporting active reading with free form digital ink annotations[END_REF] and Papiercraft [START_REF] Liao | Papiercraft: A gesture-based command system for interactive paper[END_REF] computational notebooks have potential to support these activities in ways that paper cannot, for example automatically searching for all portions of the notebook that depend on a highlighted block of code.

Support for navigation and manipulation can also extend beyond a single document. As Chen et al. note, there are several levels of interaction to support beyond an individual document including multi-document workspaces and support for multi-session reading [START_REF] Chen | Designing a multi-slate reading environment to support active reading activities[END_REF]. In addition to supporting interactions with a single notebook, computational notebook software could also support multi-document sorting, layout, and information extraction as well as saving and restoring multi-document workspaces to support reading across sessions and even between collaborators.

Fig. 1 .

 1 Fig. 1. Analysts can use computational notebooks to combine code, visualizations, and text into rich narratives for different audiences and contexts.

Proc. ACM Hum.-Comput. Interact., Vol. 2, No. CSCW, Article 150. Publication date: November 2018.

CONCLUSION

The rapid adoption of computational notebooks demonstrates their usefulness for analysis and their potential to encourage open science with increased sharing of data and analyses. Key to fulfilling this potential is enabling and encouraging clear communication about the goals, methods, and results of analyses. Although computational notebooks are enticing vehicles for open science, much work remains to enable them to realize their full potential as a medium for effective communication and sharing interactive reproducible analyses.

In this paper we explore how computational notebooks might be designed to encourage clearer communication by developing and testing Janus, an extension to Jupyter Notebook that adds cell folding and annotation to the notebook. Through a lab study with 32 undergraduate data science students and a multi-week field deployment with three more experienced analysts we find that cell folding supports not only the original analysis but also later reuse of notebooks both for group presentations and having a collaborator extend the analysis. However, there are tradeoffs involved with cell folding as it can encourage collaborators to overlook folded cells or dwell on exploring the document overview. These findings extend prior work on code-folding and document overviews by replicating previously identified benefits and trade-offs in a new medium (i.e., computational notebooks that mix code and text), demonstrating the collaborative benefits of cell-folding, and observing how it is used by individuals and teams in a real-world setting outside the lab.

Future research should explore how computational notebooks and other forms of computational media can support richer forms of navigation and manipulation to help analysts and their collaborators deeply engage with complex data analyses.

ACKNOWLEDGMENTS

This research was funded by NSF grants #1319829 and #1735234.


E Vandelle

P L Doan

D H N Bui

T P Vuong

G Ardila
email: ardilarg@minatec.inpg.frphi-long.doan@etu.univ-grenoble-alpes.frke.wu@polymtl.casimon.hemour@u-bordeaux.fr

K Wu

S Hemour

High Gain Isotropic Rectenna

Keywords: Beam forming network (BSN), miniaturized Butler matrix, multiple beam antenna array, rectifier, high gain isotropic rectenna, efficiency pattern, RF energy harvesting

This paper introduces an original strategy to step up the capacity of ambient RF energy harvesters. The low rectification efficiency that comes from weak input power is enhanced through high gain antenna arrays that push the circuit to operate in a more efficient state. The prototype uses beam forming networks to build up a wide coverage since ambient energy can come from any direction, or the orientation of the rectenna may be unknown. By extending the operating range of rectifiers to higher input powers, the system operates as a very efficient narrow beam rectenna or as a synthetic high gain isotropic rectenna. The rectification efficiency pattern of one multi-beam rectenna, functioning in the 2.4 GHz band, is plotted and compared to a dipole rectenna's pattern. For a low incident power density of 4.10 -5 mW.cm -2 , the rectification efficiency is largely improved in any direction : from 2.6% with a dipole rectenna up to 14%.

The recent exponential growth of Radio Frequency (RF) related devices has transformed our urban areas into promising ambient RF energy sources for powering ultra-low power IoT related electronic devices. The collection of such ambient energy requires the use of a rectifying antenna (rectenna) that captures the RF power and converts it into DC power. Still, the actual ambient RF power densities at communication frequency bands remain low and the major challenge faced by rectifiers is that low input power means low conversion efficiency, typically no more than 11% efficiency at -30 dBm and 2% at -40 dBm have been reached with Schottky diodes [START_REF] Lorenz | Physical Mechanism and Theoretical Foundation of Ambient RF Power Harvesting Using Zero-Bias Diodes[END_REF].

In the meantime, since the effective antenna aperture is proportional to the gain, implementing antenna arrays [START_REF] Olgun | Investigation of Rectenna Array Configurations for Enhanced RF Power Harvesting[END_REF] or high-gain compact antennas [START_REF] Sun | Design of a High-Efficiency 2.45-GHz Rectenna for Low-Input-Power Energy Harvesting[END_REF] extend the amount of incident power at the rectifier input and therefore the rectification efficiency. Unfortunately, the directive nature of such antennas does not comply with RF energy harvesting applications where the location of the source is rarely known. Other solutions have been proposed like staggered pattern charge collectors (SPCC) [START_REF] Kimionis | 3D-Printed Origami Packaging With Inkjet-Printed Antennas for RF Harvesting Sensors[END_REF] where high gain NxN sub arrays are utilized for increasing the beamwidth or 3D structures with multiple inkjet-printed antennas covering different directions [START_REF] Marshall | DC power pattern analysis of N-by-N staggered pattern charge collector and N2 rectenna array[END_REF]. Schema of the beam forming based RF energy harvester and its radiation pattern in the E plane and H plane of a linearly polarized radiation.

The radiation pattern is compared to the radiation pattern of an omnidirectional dipole antenna.

In this paper, we propose the association of 5 antenna arrays, organized in a pentagon, with simple passive beam forming networks directly connected to rectifiers, as shown on figure 1. A passive beam forming network connected to a receiving antenna array can control the phases of incoming signals (at port 5, 6, 7 and 8) to redirect them into one input port (1, 2, 3 or 4) depending on the beam's orientation (B1, B2, B3 or B4). Therefore, associated to rectifiers (R1, R2, R3 and R4), the system allows the collection of RF energy with high gain antenna arrays without limitation of the beamwidth. With enhancement of the power at the rectifiers input, the rectification efficiency is increased in any direction. Positioned around a pole with the entire circuitry fitting inside, this multi beam rectenna could efficiently serve IoT applications. The benefits of the system are experimentally demonstrated here with an array of 4 rectangular patch antennas connected to 4 rectifiers via a 4x4 Butler Matrix for the collection of signals in the 2.4 GHz band. The rectification efficiency pattern [START_REF] Popović | Low-Power Far-Field Wireless Powering for Wireless Sensors[END_REF] is measured for a low incident power density of 4.10 -5 mW.cm -2 and compared with a dipole rectenna's pattern. Figure 2 and 3 plot the simulated and measured power distribution from ports 5, 6, 7 and 8 to ports 1 and 2 respectively. Note that the frequency response is shifted from 2.45 GHz in simulation to 2.52 GHz in measurement because of mechanical engraving. Otherwise the measurement of the power distribution is similar to simulation. Transmission coefficients from -6.3 dB to -6.9 dB indicate that ports 1 and 2 receive identical power from ports 5, 6, 7 and 8 at 2.52 GHz with 0.6 dB insertion loss on average. Figure 4 and5 show the reflection at ports 1 and 2 and their isolation. Ports 1 and 2 are well matched and isolated at 2.52 GHz with transmission coefficients lower than -10 dB over a 25 % relative bandwidth.

Finally, table I presents the phase shifts at 2.52 GHz between ports 5, 6, 7 and 8 responsible for the concentration of the signals into port 1 or 2. Good agreement is found between ideal, simulated and experimental values with a maximum error in the measured phase shift as low as 3.4°. Due to the symmetry of the matrix, similar results are found for ports 3 and 4. As the lengths of the couplers lines are equivalent to /4, the dimensions of this matrix are expectedly large (112x130mm²) and need to be reduced for practical use. For this, a technique of miniaturization is experimented and consists of designing the couplers and crossovers of the BM with lumped elements [START_REF] Popović | Low-Power Far-Field Wireless Powering for Wireless Sensors[END_REF]. The area of a coupler is reduced by a factor 4 with this approach compared to the classical design, leading to a high degree of miniaturization of the BM. However, the need for standard and available components reduces the range of optimization and results in more insertion losses.

Figure 6 and 7 (a) show the layouts of the classical BM and the BM obtained with lumped elements respectively, both designed on the RO4003 laminate with Momentum of Keysight ADS. A coupler with lumped elements, shown on figure 7 (b), is fabricated and experimental results appear to be well matched to simulation. Table II compares the performance in simulation of the two matrices: the area is reduced by a factor 6.5 with the miniaturized Butler matrix but the insertion losses are almost 2 dB higher on average. Thus, a tradeoff between size reduction and insertion loss needs to be found.

B. Multiple Beam Antenna Array

Four rectangular patch antennas, matched to 50 Ω, are connected to the Butler matrix at ports 5, 6, 7 and 8 (see fig. 10 (b)) for the capture of vertically polarized RF signals. The antennas share the same ground and are spaced apart from each other by /2 to avoid coupling effects and limit grating lobes. The antenna array is simulated within the pentagon structure in CST Microwave Studio and fabricated on the RO4003 substrate with thickness 0.83 mm and relative permittivity 3.55. As depicted in figure 8, the gain patterns of the multiple beam antenna array and of a half-wave dipole are measured in an anechoic chamber (in the E plane) at 2.52 GHz. As a proof of concept, this work uses the classical Butler matrix with output ports spaced apart from each other by /2. The radiation pattern resulting from the association of the antenna array to the Butler matrix widely covers the plane perpendicular to the array with 4 high gain beams that peak at 7 dBi for the side beams and up to 9.6 dBi for the center beams, while the dipole has a maximum gain of 2 dBi. The gain is improved of 5 to 7.6 dB over an angle of 120° in the E plane leading to at least 3 and to 6 times more power captured with this multiple beam antenna array than with a simple dipole. Note that side beams are inevitably less directive than center beams due to the geometry of the system.

C. Rectifier

The same rectifier is connected to ports 1, 2, 3 and 4 of the Butler matrix for the RF-DC rectification. It consists of a single series diode, a dc-pass filter and a resistive load. The single serial diode configuration is preferred when low input levels are considered. The rectifying element is the Schottky diode SMS7630, and the load is chosen to be a 5.1 kΩ resistor, close to the junction resistance of the diode (5 kΩ) [START_REF] Lorenz | Physical Mechanism and Theoretical Foundation of Ambient RF Power Harvesting Using Zero-Bias Diodes[END_REF]. A shunt capacitor of 2.2 nF acts like a DC pass filter and an open circuit stub between the diode and this filter helps in rectifying maximum current points. A Momentum co-simulation is performed in Keysight ADS with the Large Signal S-Parameters (LSSP) simulator for the evaluation of the input impedance. A L matching network is designed with a short circuit stub for an input power of -30 dBm. The rectifier is fabricated on the RO6002 substrate with thickness 1.524 mm and relative permittivity 2.94.

As presented on figure 9, the rectifier is matched to 50 Ω at 2.52 GHz for low input power from -40 to -25 dBm. Over this power range, the measured reflection coefficient S11 varies from -16.6 dB to -13.8 dB while the rectification efficiency ranges from 1.2 to 13.8%.

II. MULTI BEAM RECTENNA MEASUREMENT

The DC voltage is measured at a dipole rectenna's output and at the 4 rectifiers' outputs R1, R2, R3 and R4, connected to the multi beam antenna array. Measurement is performed in an anechoic chamber at frequency 2.52 GHz for a low omnidirectional incident power density level equivalent to 4.10 -5 mW.cm -2 at the system input.

Figure 10 (a) shows the rectification efficiency pattern simulated and measured for each rectifier in the elevation plane of the antennas. A picture of the multi beam rectenna is presented on figure 10 (b). Similar pattern as for the gain pattern is observed: 4 narrow beams are converted with high efficiency with the different rectifiers. The maximum efficiency is improved from 2.6% with the dipole rectenna to 11% with R2 and R3, 13% with R4 and up to 14% with R1. From figure 9, the maximum power received by the rectifier is estimated to progress from approximately -36 dBm with the dipole antenna to -27 or -24 dBm with the multi beam antenna array. Thus, while a simple dipole rectenna deliver a 5 nW power at maximum, the proposed multi beam rectenna is able to produce from 200 to 519 nW, depending on the orientation of the receiving beam, that is 40 to 100 times more DC power.

III. CONCLUSION & PERSPECTIVES

This paper demonstrates the benefits of a rectenna based on a beam forming network for the collection of very low RF power in the 2.4 GHz band. It is shown that the high gain and wide coverage of an antenna array coupled with a Butler matrix allows the rectification efficiency to be increased for any location of the RF energy transmitter compared to an omnidirectional dipole rectenna. The system can operate as a very efficient narrow beam rectenna: for a low incident power density of 4.10 -5 mW.cm -2 , the rectification efficiency for 4 main beams is improved from 2.6 % with an omnidirectional dipole rectenna to 11, 13 and 14 % depending on the beam orientation. By interconnecting the rectifiers, each array can collect vertically polarized signals with high gain within a 120° angle in its perpendicular plane allowing the system to operate as a synthetic high gain isotropic rectenna.

In future work, further effort will be furnished to reduce the dimensions of the Butler matrices while trying to limit the insertion losses. The whole prototype will be implemented and techniques to obtain maximum gain patterns and for interconnecting the rectifiers will be investigated.

Fig. 1 .

 1 Fig. 1.Schema of the beam forming based RF energy harvester and its radiation pattern in the E plane and H plane of a linearly polarized radiation.The radiation pattern is compared to the radiation pattern of an omnidirectional dipole antenna.

Fig. 2 .

 2 Fig. 2.

Fig. 3 .

 3 Fig. 3.Measured amplitudes (dB) in transmission from ports 5,6,7 and 8 to ports 1 and 2.

Fig. 4 .

 4 Fig. 4. Simulated reflection and isolation (dB) of ports 1 and 2.

Fig. 5 .

 5 Fig. 5.Measured reflection and isolation (dB) of ports 1 and 2.

Fig. 6 .

 6 Fig. 6. Layout of the classical BM in microstrip technology on the laminate RO4003 h = 0.83 mm. f = 2.45GHz.

Fig. 7 .

 7 Fig. 7. (a) Layout of the miniaturized BM with lumped elements on the laminate RO4003 h = 0.83 mm. f = 2.45GHz. (b) Picture of a fabricated hybrid coupler.

Fig. 8 .

 8 Fig. 8. Simulated and measured gain pattern (dBi) in the E plane, as a function of the azimuthal angle , of the multiple beam antenna array and of a vertically polarized dipole. f = 2.52 GHz.

Fig. 9 .

 9 Fig. 9. Simulated and measured conversion efficiency (%) and S11 parameter of the rectifier (inside graph) as a function of the input power (dBm). f = 2.52 GHz.

Fig. 10 .

 10 Fig. 10. Simulated and measured rectification efficiency pattern (%) in the E plane, as a function of the azimuthal angle , of rectifiers R1, R2, R3 and R4 of the proposed multi beam rectenna and of a dipole rectenna. f=2.52GHz. (b) Picture of the multibeam rectenna.

TABLE I PHASE

 I SHIFTS AT THE OUTPUT PORTS OF THE BUTLER MATRIX AT THE FREQUENCY OF OPERATION

	Phase	Ideal	Simulated @	Measured @
			2.45 GHz	2.52GHz
	S(5,1) -S(6,1)	45°	43.311°	45.398°
	S(6,1) -S(7,1)	45°	48.082°	48.455°
	S(7,1) -S(8,1)	45°	42.373°	42.403°
	S(5,2) -S(6,2)	-135°	-133.907°	-137.433°
	S(6,2) -S(7,2)	-135°	-138.41°	-132.214°
	S(7,2) -S(8,2)	-135°	-134.882°	-134.487°

TABLE II COMPARISON

 II OF THE SIMULATED PERFORMANCE OF THE TWO BUTLER MATRICES AT THE FREQUENCY OF OPERATION

	Butler	Relative	Typical	Phase	Area
	matrix	bandwidth	output	error	(mm²)
		(-10 dB/	@ 2.45	@ 2.45
		isolation,	GHz (dB)	GHz
		reflection)		(°)
	Classical	30 %	-6.6 0.3	3.4	112x130
	Miniaturized	10 %	-8.4 0.7	3	50x45

ACKOWLEDGMENT

The authors would like to thank Nicolas Corrao and Antoine Pisa for their technical support for the fabrication of the circuits.


Tahir Rasheed
email: tahir.rasheed@ls2n.fr

Philip Long
email: p.long@northeastern.edu

David Marquez-Gamez
email: david.marquez-gamez@irt-jules-verne.fr

Éphane St

Caro

DETC2018-86182 OPTIMAL KINEMATIC REDUNDANCY PLANNING FOR PLANAR MOBILE CABLE-DRIVEN PARALLEL ROBOTS

Mobile Cable-Driven Parallel Robots (MCDPRs) are special type of Reconfigurable Cable Driven Parallel Robots (RCD-PRs) with the ability of undergoing an autonomous change in their geometric architecture. MCDPRs consists of a classical Cable-Driven Parallel Robot (CDPR) carried by multiple Mobile Bases (MBs). Generally MCDPRs are kinematically redundant due to the additional mobilities generated by the motion of the MBs. As a consequence, this paper introduces a methodology that aims to determine the best kinematic redundancy scheme of Planar MCDPRs (PMCDPRs) with one degree of kinematic redundancy for pick-and-place operations. This paper also discusses the Static Equilibrium (SE) constraints of the PMCDPR MBs that are needed to be respected during the task. A case study of a PMCDPR with two MBs, four cables and a three degree-offreedom (DoF) Moving Platform (MP) is considered.

INTRODUCTION

Cable-Driven Parallel Robots (CDPRs) are a particular type of parallel manipulators with cables instead of rigid links. The * Address all correspondence to this author. platform motion is generated by changing the cable lengths between the Moving Platform (MP) and the fixed base frame. CD-PRs are used for several applications that requires high accelerations [START_REF] Kawamura | High-speed manipulation by using parallel wire-driven robots[END_REF], large payload capabilities [START_REF] Albus | The nist robocrane[END_REF], and large workspace [START_REF] Lambert | Implementation of an aerostat positioning system with cable control[END_REF].

One of the major drawbacks in classical CDPRs with fixed cable layout, i.e. fixed exit points and cable configuration, is the potential collisions between the cables and the surrounding environment. These collisions significantly reduce the CDPR workspace and the platform stiffness. A proposed solution is Reconfigurable Cable-Driven Parallel Robots (RCDPRs) whose geometric architecture can be altered to achieve better performances, e.g. lower cable tensions, larger workspace and increasing platform stiffness [START_REF] Gagliardini | Discrete reconfiguration planning for cable-driven parallel robots[END_REF]. However, reconfigurability is a manual, discrete and a time consuming task.

In [START_REF] Rasheed | Tension distribution algorithm for planar mobile cable-driven parallel robots[END_REF] a novel concept of Mobile Cable-Driven Parallel Robots (MCDPRs) using a combination of Mobile Bases (MBs) and a CDPR in order to achieve autonomous reconfigurability of RCDPRs is presented. A MCDPR is composed of a classical CDPR with q cables and a n degree-of-freedom (DoF) MP mounted on p MBs [START_REF] Rasheed | Tension distribution algorithm for planar mobile cable-driven parallel robots[END_REF]. In our previous work [START_REF] Rasheed | Available wrench set for planar mobile cable-driven parallel robots[END_REF] we determine the Available Wrench Set (AWS) for Planar MCDPRs (PMCD- PRs) with a point mass MP. We show how the AWS of MCDPRs depends on the robot configuration, cable tension limits and the Static Equilibrium (SE) of the MBs. In [START_REF] Rasheed | Kinematic modeling and twist feasibility of mobile cable-driven parallel robots[END_REF] we determine the Available Twist Set (ATS) using the kinematic model of MCD-PRs. We show how the ATS of MCDPRs depends on the robot configuration and the joint velocity limits of the cables and the MBs.

The MCDPR prototype named FASTKIT has been designed and built in the context of Echord++ project 1 as shown in Fig. 1. 1 https://www.fastkit-project.eu/ FASTKIT is composed of eight cables (q = 8), a six degree-offreedom (DoF) MP (n = 6) and two MBs (p = 2) with one active and one passive mobile base. The overall objective of FASTKIT is to design a unique robotic solution for logistic operations, i.e. flexible pick-and-place operations. FASTKIT is capable of autonomously navigating in the environment to reach at the task location referred as a navigation mode. During this mode, the two MBs are coupled together and act as a single working unit while the MP is fixed on the two MBs (see Fig. 1a). The twist of the MP and the passive mobile base is equal to the twist generated by the active mobile base. No cable motion is generated during the navigation mode. The second working mode, referred to as the task mode, deploys the system at the desired location such that the desired pick or/and place operation is achievable within the defined workspace. During this mode, the passive mobile base is static while the motion of the cables and the active mobile base is used to deploy the complete system (see Figs. 1b and1c). It should be noted that during the task mode, FASTKIT is kinematically redundant due to the additional mobility of the active mobile base.

This paper presents an optimal kinematic redundancy scheme of PMCDPRs for the pick-and-place operations. This paper also discuss the SE constraints of PMCDPRs associated with the MBs that are required to fully characterize the AWS of the latter. For a case study, we will analyze planar FASTKIT which is composed of two MBs (p = 2), four cables (q = 4) and a three DoF MP (n = 3) shown in Fig. 2. The paper is organized as follows. Section 2 deals with the description and parameterization of the planar FASTKIT. Section 3 presents the SE conditions of the MBs that is used to determine the AWS of the MCDPR under study. Section 4 presents the kinematic model and the ATS of the latter. Section 5 deals with the formulation of the optimization problem to find the optimal robot configuration with respect to a proposed criterion. Section 6 highlights different optimum solutions for the adopted pick-and-place operations while conclusion and future work are presented in Section 7.

MANIPULATOR DESCRIPTION AND PARAMETERI-ZATION

The Planar FASTKIT is composed of four cables (q = 4) and a three degree-of-freedom (DoF) MP (n = 3) mounted on two MBs (p = 2) shown in Fig. 2. The jth mobile base is denoted as M j , j = 1, 2. The ith cable mounted onto M j is named as C i j , i = 1, . . . , m j, where m j denotes the number of cables carried by M j . Each M j with the cables mounted on it are denoted as jth limb of the robot. The cable tension and the directional vector of the ith cable mounted onto M j are denoted as τ τ τ i j and u i j , thus,

τ τ τ i j = τ i j u i j (1)
where τ i j is the tension in the ith cable mounted on M j bounded between minimum τ i j and maximum τ i j cable tension limits.

Cables are assumed to be straight and massless, thus can be modeled as a Revolute-Prismatic-Revolute (RPR) kinematic chain. For the MCDPR under study, the MBs are capable of generating a single DoF translational motion along x 0 . In this paper, M 1 is considered as passive while M 2 is considered as active mobile base. The position of M 1 (M 2 , resp.) along x 0 is defined by ρ 1 (ρ 2 resp.) with respect to the frame F 1 (F 2 , resp.) attached to it. The twist capability of M 2 is quasi-static and negligible, thus only the SE of the MBs in taken into account without considering the dynamics of the latter.

WRENCH FEASIBILITY

For MCDPRs, the Available Wrench Set (AWS) is defined as the set of wrenches a mechanism can generate while respecting the cable tension limits and the SE constraints of the MBs [START_REF] Rasheed | Available wrench set for planar mobile cable-driven parallel robots[END_REF]. The approach proposed in [START_REF] Rasheed | Available wrench set for planar mobile cable-driven parallel robots[END_REF] characterizes the AWS of the MCDPR where the end effector is treated as a point mass. In this section we extend the formulation to consider a moving platform subject to planar forces and moment.

Static Equilibrium of the manipulator

The Static Equilibrium (SE) of the MP is expressed as [START_REF] Kawamura | A new type of master robot for teleoperation using a radial wire drive system[END_REF][START_REF] Hiller | Design, analysis and realization of tendonbased parallel manipulators[END_REF]:

Wτ τ τ + f e m e = 0 3 ( 2
)
where W is a (n × q) wrench matrix mapping the cable tension vector τ τ τ ∈ R q onto the wrenches generated by the cables on the end-effector. f e = [ f x e f y e ] T and m e respectively denote the external forces and moment applied by the MP. For the MCDPR under study in Fig. 2, Eqn. (2) is expressed as:

u 11 u 21 u 12 u 22 r T 11 E T u 11 r T 21 E T u 21 r T 12 E T u 12 r T 22 E T u 22     τ 11 τ 21 τ 12 τ 22     + f e m e = 0 3
(3) with

E = 0 -1 1 0 (4)
where r i j is a vector pointing from the reference point (P) of the MP to the cable attachment point B i j . From the free body diagram in Fig. 2, the Static Equilibrium of M j can be expressed

C l 1 C r 1 0 O 1 F O x z b1 b1 b1 F O z b2 b2 b2 x b2 b1 2 C l 2 C r 2 x [m] y [m]
w g j - 2 ∑ i=1 τ τ τ i j + f cl j + f cr j = 0 2 (5) m O j = g T j E T w g j - 2 ∑ i=1 b T i j E T τ τ τ i j + c T l j E T f cl j + c T r j E T f cr j = 0 (6)
where m O j denotes the moment of M j about point O 0 . The weight vector of M j is denoted by w g j .

f cl j = [ f x cl j f y cl j ] T and f cr j = [ f x cr j
f y cr j ] T denotes the reaction forces from the ground on the left and right contact points C l j and C r j of M j . b i j = [b x i j b y i j ] T , c l j = [c x l j c y l j ] T and c r j = [c x r j c y r j ] T denote the Cartesian coordinate vectors of points B i j , C l j and C r j , respectively. g j = [g x j g y j ] T is the Cartesian coordinate vector of the center of gravity G j . Note that the superscripts x and y in the previous vectors denotes their x and y components.

Let m Cr j represent a moment generated at the right contact point C r j when M j loses the ground contact at point C l j , i.e. m Cr j is expressed as:

m Cr j = (g j -c r j ) T E T w g j + 2 ∑ i=1 (c r j -b i j ) T E T τ τ τ i j (7)
The vector sum between the points C r j , B i j and P is expressed as:

(c r j -b i j ) + r i j + (p -c r j ) = 0 (8)
Thus,

(c r j -b i j ) = -r i j -(p -c r j ) (9)
Substituting Eqn. ( 9) in Eqn. ( 7) yields:

m Cr j = (g j -c r j ) T E T w g j - 2 ∑ i=1 (p -c r j ) T E T τ τ τ i j - 2 ∑ i=1 r T i j E T τ τ τ i j (10)
From Eqn. (3):

2 ∑ i=1 τ τ τ i j = f - 2 ∑ i=1 τ τ τ io , o = j 2 ∑ i=1 r T i j E T τ τ τ i j = m - 2 ∑ i=1 r T io E T τ τ τ io , o = j (11)
where f = [ f x f y ] T and m denote the forces and moment generated by the cables onto the MP, namely,

f = -f e , m = -m e . (12)
Substituting Eqn. [START_REF] Guay | Measuring how well a structure supports varying external wrenches[END_REF] in Eqn. [START_REF] Gouttefarde | Characterization of parallel manipulator available wrench set facets[END_REF] yields:

m Cr j = -[(p -c r j ) T E T 1] f m + (g j -c r j ) T E T w g j + 2 ∑ i=1 (p -c r j ) T E T τ τ τ io + 2 ∑ i=1 r T io E T τ τ τ io , o = j (13)
Similarly, the moment m Cl j generated at the left contact point C l j takes the form:

m Cl j = -[(p -c l j )] T E T 1] f m + (g j -c l j ) T E T w g j + 2 ∑ i=1 (p -c l j ) T E T τ τ τ io + 2 ∑ i=1 r T io E T τ τ τ io , o = j (14)
For both the MBs to be in SE, the moments m Cr j (m Cl j , resp.) should be always counterclockwise (clockwise, resp.) at contact points C r j (C l j , resp.), namely,

m Cr j ≥ 0, m Cl j ≤ 0, j = 1, 2 (15)

Available Wrench Set

The AWS of PMCDPR with a point mass MP in [START_REF] Rasheed | Available wrench set for planar mobile cable-driven parallel robots[END_REF] is extended to define the AWS (A ) of the MCDPR under study, expressed as:

A = f m ∈ R 3 | f m = Wτ τ τ, τ i j ≤ τ i j ≤ τ i j , m Cr j ≥ 0, m Cl j ≤ 0, i = 1, 2, j = 1, 2 . (16)
The AWS defined in Eqn. ( 16) corresponds to a ndimensional convex polytope that can be represented as the intersection of the half-spaces bounded by its hyperplanes. It depends on the MCDPR configuration and the constraints associated with the cable tension limits and the SE of the MBs. The facets or hyperplanes of the AWS associated with the cable tension limits can be directly obtained from [START_REF] Rasheed | Available wrench set for planar mobile cable-driven parallel robots[END_REF]. However, the SE constraint of the MBs defined by Eqn. ( 15) are required to be represented in the form of the hyperplanes [START_REF] Gouttefarde | Characterization of parallel manipulator available wrench set facets[END_REF][START_REF] Bouchard | On the ability of a cable-driven robot to generate a prescribed set of wrenches[END_REF].

For completely characterizing the hyperplanes associated with the SE constraints of M j in n = 3 dimensional wrench space, the latter must also be independent of n = 3 number of cable tensions. These n = 3 cable tensions must consider the cables carried by M j , i.e. τ 1 j , τ 2 j and the combination of nm j out of m o , o = j cables tensions. Thus a single SE constraint will form C m o n-m j number of hyperplanes in n-dimensional wrench space. From the SE (Eqn. 3) of the moving platform, the cable tensions τ 1o and τ 2o can be expressed as:

τ 1o = -c 2 j f T E T u 1 j + c 1 j f T E T u 2 j + c 2o τ 2o u T 1 j E T u 2 j -mu T 1 j E T u 2 j + c 2 j τ 2o u T 2o E T u 1 j + c 1 j τ 2o u T 2 j E T u 2o c 2 j u T 1 j E T u 1o + c 1o u T 2 j E T u 1 j + c 1 j u T 1o E T u 2 j ( 17
)
τ 2o = -c 2 j f T E T u 1 j + c 1 j f T E T u 2 j + c 1o τ 1o u T 1 j E T u 2 j -mu T 1 j E T u 2 j + c 2 j τ 1o u T 1o E T u 1 j + c 1 j τ 1o u T 2 j E T u 1o c 2o u T 2 j E T u 1 j + c 2 j u T 1 j E T u 2o + c 1i u T 2o E T u 2 j ( 18
)
where

c i j = r T i j E T u i j , i = 1, 2, j = 1, 2 (19)
By substituting Eqns. ( 17) and ( 18) separately in Eqn. ( 13), a single SE constraint at the contact point C r j will form two hyperplanes in the wrench space expressed as:

[((p -c r j ) T - n r j1 d r j1 (c 2 j u T 1 j -c 1 j u T 2 j ))E T 1 + n r j1 d r j1 (u T 1 j E T u 2 j )] ((p -c r j ) T - n r j1 d r j1 (c 2 j u T 1 j -c 1 j u T 2 j ))E T 1 + n r j1 d r j1 (u T 1 j E T u 2 j ) f m ≤ (g j -c r j ) T E T w g j + ((p -c r j ) T E T u 2o + r T 2o E T u 2o )τ 2o + n r j1 d r j1 (c 2o u T 1 j E T u 2 j + c 1 j u T 2o E T u 2 j + c 2 j u T 2o E T u 1 j )τ 2o ((p -c r j ) T - n r j1 d r j1 (c 2 j u T 1 j -c 1 j u T 2 j ))E T 1 + n r j1 d r j1 (u T 1 j E T u 2 j ) (20)
[((p -c r j ) T - n r j2 d r j2 (c 2 j u T 1 j -c 1 j u T 2 j ))E T 1 + n r j2 d r j2 (u T 1 j E T u 2 j )] ((p -c r j ) T - n r j2 d r j2 (c 2 j u T 1 j -c 1 j u T 2 j ))E T 1 + n r j1 d r j1 (u T 1 j E T u 2 j ) f m ≤ (g j -c r j ) T E T w g j + ((p -c r j ) T E T u 1o + r T 1o E T u 1o )τ 1o + n j2 d r j2 (c 2 j u T 1o E T u 1 j + c 1o u T 1 j E T u 2 j + c 1 j u T 2 j E T u 1o )τ 1o ((p -c r j ) T - n r j2 d r j2 (c 2 j u T 1 j -c 1 j u T 2 j ))E T 1 + n r j2 d r j2 (u T 1 j E T u 2 j ) (21)
where n r j1 , d r j1 , n r j2 and n r j2 are constants expressed as:

n r j1 = (p -c r j ) T E T u 1o + r T 1o E T u 1o (22a) n r j2 = (p -c r j ) T E T u 2o + r T 2o E T u 2o (22b) d r j1 = c 1o u T 2 j E T u T 1 j + c 1 j u T 1o E T u T 2 j + c 2 j u T 1 j E T u T 1o (22c) d r j2 = c 2o u T 2 j E T u T 1 j + c 2 j u T 1 j E T u T 2o + c 1 j u T 2o E T u T 2 j (22d)
Equations ( 20) and (21) represent the SE constraint associated with M j at the contact point C r j in the form of hyperplanes [START_REF] Gouttefarde | Characterization of parallel manipulator available wrench set facets[END_REF]. Similarly the SE constraints generated at the contact point C l j will also form C m o n-m j number of hyperplanes in the wrench space by substituting Eqns. ( 17) and ( 18) separately in Eqn. [START_REF] Roberts | On the inverse kinematics, statics, and fault tolerance of cablesuspended robots[END_REF]. Following the approach presented in [START_REF] Rasheed | Available wrench set for planar mobile cable-driven parallel robots[END_REF], these constraints in the wrench space can be directly used to determine the facets of the AWS associated with the SE of the MBs.

The Capacity Margin [START_REF] Guay | Measuring how well a structure supports varying external wrenches[END_REF][START_REF] Ruiz | Arachnis: Analysis of robots actuated by cables with handy and neat interface software[END_REF] determines if a given pose is wrench feasible using the facets of the AWS and the vertices of the Required Wrench Set (RWS). It is a measure of the robustness of the equilibrium of the robot, expressed by µ,

µ = min ( min s d,l ), (23)
where s d,l is the signed distance from dth vertex of the RWS to the lth face of the AWS. µ is positive as long as all the vertices of RWS are inscribed by A , i.e. RWS can be counter balanced by the wrenches generated by the cables while respecting all the SE constraints.

KINEMATIC MODELING AND AVAILABLE TWIST SET

This section presents the first order kinematic model of the MCDPR under study. For classical CDPRs, twist of the MP can be expressed as [START_REF] Roberts | On the inverse kinematics, statics, and fault tolerance of cablesuspended robots[END_REF]:

A 1 A 2 0 t cables P = l1 l2 , (24)
where A j is a (2 × n) parallel Jacobian matrix, containing the actuation wrenches due to the cables attached to M j on the MP expressed as:

A j = u T 1 j r T 1 j E T u 1 j u T 2 j r T 2 j E T u 2 j , (25)
The twist 0 t cables P = [ ṗ ω] T is composed of the platform linear velocity vector ṗ = [ ṗx , ṗy ] T and angular velocity ω, all expressed in the base frame F 0 . 0 t cables P denotes the MP twist due to the motion of the cables expressed in F 0 . l j = [ l1 j l2 j ] T is a two-dimensional cable velocity vector of the cables attached to M j . It should be noted that the kinematic model expressed in Eqn. (24) has one degree of actuation redundancy, i.e. one actuator more than strictly necessary to control all DoF of the moving platform.

For MCDPRs, the twist generated onto the MP is due to both the cables and the MBs. Therefore the twist 0 t j P of the MP due to the jth limb can be expressed as:

0 t j P = J b ρ j + 0 R b j b j t cables j P (26)
where J b = [1 0 0] T . ρ j represents the velocity of M j . b j t cables j P is the twist generated by the cables attached to M j expressed in F b j . 0 R b j is the rotation matrix between frames F b j and F 0 . Upon multiplication of Eqn. (26) with A j :

A j 0 t j P = A j J b ρ j + A j 0 R b j b j t cables j P (27)
where A j 0 R b j b j t cables j P corresponds to l1 (see Eqn. (24)). Thus Eqn. ( 27) can be expressed as:

A j 0 t j P = A j J b ρ j + l j (28)
The twists generated by both limbs is equal to the twist of the MP t P , namely, 0 t 1 P = 0 t 2 P = t P (29) Thus, in terms of both the limbs, MP twist of the planar FASTKIT can be expressed as:

A 1 A 2 t P = A 1 J b 0 0 A 2 J b qb + l ( 30
)
where qb = [ ρ1 ρ2 ] T and l = [ l1 l2 ] T . As the passive mobile base is fixed during the task mode, thus ρ1 = 0.

At P = B b qb + l ( 31
)
At P = B q (32)
where B = [B b I m ] is a (4 × 6) matrix while q = [ qb l] T is a six dimensional vector containing all the joint velocities. From Eqn. (32), it can be observed that if B has rank four, the MCDPR under study has one degree of kinematic redundancy due to the motion of the active mobile base.

For trajectory planning, it is necessary to determine the set of twist feasible poses of the MP known as Available Twist Set (ATS). In [START_REF] Rasheed | Kinematic modeling and twist feasibility of mobile cable-driven parallel robots[END_REF], authors propose the methodology to determine ATS of MCDPRs using the first order kinematic model of the latter. According to [START_REF] Rasheed | Kinematic modeling and twist feasibility of mobile cable-driven parallel robots[END_REF], similar to AWS the ATS of MCDPRs is a convex polytope. ATS strictly depends on the robot configuration and the joint velocity limits, i.e. velocity limits for the cables and MBs. Similar to Eqn. (23), the Capacity Margin index is used to determine if the given pose is twist feasible by utilizing the facets of ATS and the vertices of the Required Twist Set (RTS), expressed by ν:

ν = min ( min e d,l ) (33)
where e d,l is the signed distance from dth vertex of the Required Twist Set (RTS) to the lth face of the ATS. ν is positive as long as the platform have the ability to generate the RTS.

OPTIMUM KINEMATIC REDUNDANCY SCHEME

This section deals with a methodology that aims to determine the best ρ 2 for the adopted pick-and-place trajectory shown in Fig. 3. The proposed methodology is highlighted by defining a wrench quality criterion and formulation of a bi-objective optimization problem.

ρ 2 ρ 2 = k =1 k = k k = k +1 1 1 k = k 2
Object to be picked

Objective Function

The adopted path is composed of two segments, i.e. picking segment discretized into k 1 points and placing segment discretized into k 2k 1 points shown in Fig. 3. Thus the complete path is discretized into k 2 points with each point denoted by k such that, k = 1, . . . , k 1 , k 1 + 1, . . . , k 2 . Let t 1 (m 1 , resp.) and t 2 (m 2 , resp.) be the trajectory time (total moving mass, resp.) for the first and second segments of pick-and-place operation. It should be noted that the adopted trajectory is linear and does not require any rotational motion of the MP.

For a fast pick-and-place trajectory operation, it makes sense to minimize the total trajectory time, thus the first objective function can be expressed as:

Minimize f 1 = t 1 + t 2 (34)
The second objective function aims at maximizing the robustness index (see Eqn. ( 23)) of the MP for the complete path, thus the second objective function can be expressed as:

Maximize f 2 = m 1 k 1 k 1 ∑ k=1 µ k + m 2 k 2 -k 1 k 2 ∑ k=k 1 +1 µ k (35)
µ k being the capacity margin defined in Eqn. ( 23) and assessed at the kth point of the piecewise path. Average robustness index for each segment of the path in Eqn. (35) takes into account the mass of the MP as well to have an equal ratio between the indices as it tends to decrease with the increase in the MP mass and vice versa.

Decision Variables

The decision variable vector of the optimization problem contains the trajectory time of both the segments (t 1 ,t 2 ) and re-dundancy planning scheme. Let β k denote the redundancy planning scheme containing the position of M 2 for each kth discretized point such that:

β = ρ 21 ρ 22 . . . ρ 2k 1 . . . ρ 2k 2 T (36) with ρ 2 ≤ β k ≤ ρ 2 , k = 1, . . . , k 1 , k 1 + 1, . . . , k 2 .
ρ 2 and ρ 2 denote the lower and upper bounds on ρ 2 .

Constraints

Six types of constraints are taken into account in the optimization problem:

1. As the passive mobile base is fixed, thus the velocity of M 1 is zero, ρ1 = 0 (37)

2. The MP pose must be capable of generating the RWS and RTS along the trajectory. RWS depends on mass and the required acceleration from the pick-and-place trajectory the MP. RTS is equal to the required twist of the MP. Thus for each kth trajectory point, the indices µ k and ν k from Eqns. ( 23) and (33) must be positive, namely,

µ k ≥ 0, (38a)
ν k ≥ 0. (38b)
Equation (38a) ensures that the MP has the ability to generate the RWS while respecting the cable tension tension limits and the SE constraints associated with the MBs. Equation (38b) ensures that the MP can generate the RTS while respecting the joint velocity limits. 3. ρ 2 is bounded between its lower bound ρ 2 and its upper bound ρ 2 at each kth trajectory point, namely,

ρ 2 ≤ ρ 2k ≤ ρ 2 (39)
4. ρ2 is also bounded between its lower bound ρ2 and its upper bound ρ2 at each kth trajectory point, namely,

ρ2 ≤ ρ2k ≤ ρ2 (40)
5. The first path starts with the MCDPR in undeployed configuration. Thus,

ρ 21 = ρ 2 (41)
6. The search for an optimal trajectory time of bounded as:

0 ≤ t 1 ≤ t 1 (42a) 0 ≤ t 2 ≤ t 2 (42b)

Formulation of the optimization problem

In order to find the optimal kinematic redundancy scheme, the optimization problem formulated from Eqns. (34) to (42) is expressed as follows:

Minimize f 1 (x) = t 1 + t 2 Maximize f 2 (x) = m 1 k 1 k 1 ∑ k=1 µ k + m 2 k 2 -k 1 k 2 ∑ k=k 1 +1 µ k over x = [ β t 1 t 2 ]
subject to ρ1 = 0

ρ 21 = ρ 2 ρ 2 ≤ ρ 2k ≤ ρ 2 ρ2 ≤ ρ2k ≤ ρ2 µ k ≥ 0 ν k ≥ 0 0 ≤ t 1 ≤ t 1 0 ≤ t 2 ≤ t 2 k = 1, . . . , k 1 , k 1 + 1, . . . , k 2 (43)
The optimization problem formulated in Eqn. (43) aims at finding the the optimum trajectory time of each segment (t 1 and t 2 ) and the corresponding optimum kinematic redundancy scheme (β ) that minimize the total trajectory time ( f 1 ) and maximize the criterion f 2 defined in Eqn. (35) while respecting the set of constraints. The foregoing optimization problem is solved for a case study in the following section.

CASE STUDY

All the parameters required to acquire and analyze the results for the optimization problem defined in Eqn. (43) are presented in section 6.1. The results are analyzed in section 6.2.

Parameters

Both segments of the pick-and-place path are discretized into 50 such that k 2 = 2k 1 = 100. The maximum trajectory time of each segment is defined as:

t 1 = t 2 = 10s (44a)
The mass of the MP is taken as:

m 1 = 1kg, m 2 = 2.5kg (45)
The weight vector of the MBs is defined as,

w g j = m mb j 0 -g N, j = {1, 2} (46)
where g = 9.81 m.s -2 represents the acceleration due to gravity. m mb1 = m mb2 = 150 kg represent the mass of M 1 and M 2 . The joint velocity limits i.e. velocity limits of the cables and MBs are defined as: ρ2 = -0.2m.s -1 , ρ2 = 0.2m.s -1 (47)

-2m.s -1 ≤ li j ≤ 2m.s -1 , i = {1, 2}, j = {1, 2} (48)
The cable tension limits are defined as:

τ i j = 0, τ i j = 45N, i = {1, 2}, j = {1, 2} (49)
The bounds on the position of M 2 are defined as:

ρ 2 = 1.1m, ρ 2 = 4m ( 50
)
which means that the robot can be deployed up to maximum ρ 2ρ 2 = 2.9 m.

Result Analysis

It is noteworthy that the only decision variables that are considered to solve the proposed optimization problem are t 1 and t 2 , respectively. The vector β is searched at each iteration and is obtained in such a way that it minimizes the objective function f 1 , maximizes the objective function f 2 and leads to a continuous solution for ρ 2 along the trajectory. The feasible solutions in decision space is illustrated in Fig. 4. On the left side of the transition curve, there exists no solution between t 1 and t 2 that respect all the constraints defined in Eqn. (43) referred to as unfeasible time set. On the right side of the transition curve, each combination between t 1 and t 2 fulfills all the constraints of the proposed optimization problem (43) referred to as feasible time set. The optimization problem in Eqn. (43) has more than one optimal solution. These optimal solutions are defined as Paretooptimal solutions, which cannot be dominated by any other feasible solution [START_REF] Bui | Robustness against the decision-maker's attitude to risk in problems with conflicting objectives[END_REF][START_REF] Li | Logic optimality for multiobjective optimization[END_REF]. The set of all Pareto-optimal solutions is called as Pareto optimal set, denoted by P, illustrated in Fig. 4. The Pareto-optimal solutions lie on a boundary in the Perfor- mance Function Space (PF-Space) between the two objective functions called Pareto front [START_REF] Wang | Multi-objective robust optimization using a postoptimality sensitivity analysis technique: application to a wind turbine design[END_REF] shown in Fig. 5. It can be observed in Fig. 4 that most of the Pareto-optimal solution requires the largest t 1 . This behavior can be explained from the definition of the adopted pick-and-place path.

During the first segment of the path (see Fig. 3), the platform height is increased that reduces the AWS along y 0 . The RWS due to the acceleration of the MP tends to decrease with the increase in t 1 , which results in higher f 2 along the first segment. The sit- uation is opposite for the second segment of the adopted path as AWS tends to increase along y 0 with the decrease in the platform height. The similar phenomenon can also be observed in Fig. 5 through transition curve where the minimum time that is required to find a feasible solution for first segment is equal to 6s while it is equal to 1s only for the second segment. It should be noted that at t 1 = t 1 , changing t 2 does not produce any prominent change in f 2 (see Figs. 4 and5). Thus, it can be concluded that the transition curve i.e. the feasible and unfeasible time set is highly dependent of the adopted path.

To illustrate an optimal redundancy scheme, three different Pareto-optimal solutions, i.e. P 1 , P 2 and P 3 , have been selected in Figs. 4 and5. Figures 6, 7 and 8 show the index µ as a function of the path point number and ρ 2 for the chosen Pareto-optimal solutions P 1 , P 2 and P 3 known as efficiency maps [START_REF] Caro | Workpiece placement optimization for machining operations with industrial robots[END_REF]. The red curve in the efficiency maps highlights the optimum redundancy scheme. The white areas in the map corresponds to the region where the constraints of the proposed optimization problem are not satisfied. It can be observed that there is a sudden change in µ at k = k2 2 . It is due to the fact that the weight of the MP is changed at the end of the first segment of pick-and-place operation. Due to this following reason, the mass of the MP is taken into account in the definition of the second objective function f 2 , which is expressed in Eqn. (35).

The simulation videos for corresponding pick-and-place operation for all the three Pareto-optimal solutions P 1 , P 2 and P 3 can be downloaded at 2 .

CONCLUSION

In this paper, a methodology to determine the optimal kinematic redundancy scheme of Planar Mobile Cable Driven Parallel Robots (PMCDPRs) with one degree of kinematic redundancy for fast pick-and-place operations is described. First, the Static equilibrium (SE) constraints of PMCDPRs associated with the Mobile Bases (MBs) are formulated that are required to fully characterize the Available Wrench Set (AWS) of the latter. Then, a bi-objective optimization problem that corresponds to minimization of the total trajectory time and maximization of the robot average robustness index throughout the trajectory is formulated in order to determine the optimum kinematic redundancy scheme. A case study of a PMCDPR composed of two MBs, four cables and a three degree-of-freedom (DoF) moving platform is considered. Future work will deal with the experimental validation and the extension of the proposed methodology to spatial Mobile Cable Driven Parallel Robots (MCDPRs) with higher degrees of kinematic redundancy.

FIGURE 1 .

 1 FIGURE 1. FASTKIT PROTOTYPE (a) NAVIGATION MODE (b, c) UNDEPLOYED AND DEPLOYED CONFIGURATION AT THE TASK LOCATION

FIGURE 2 .

 2 FIGURE 2. PARAMETERIZATION OF PLANAR FASTKIT

FIGURE 3 .

 3 FIGURE 3. ADOPTED PICK AND PLACE PATH

FIGURE 4 .

 4 FIGURE 4. FEASIBLE AND UNFEASIBLE TIME SETS

FIGURE 5 .

 5 FIGURE 5. ALL FEASIBLE SOLUTIONS (GREEN), PARETO FRONT (BLUE) AND THREE PARETO-OPTIMAL SOLUTIONS (RED) IN THE PERFORMANCE FUNCTION SPACE (PF-SPACE)

FIGURE 6 .

 6 FIGURE 6. µ AS A FUNCTION OF PATH POINT NUMBER AND ρ 2 FOR PARETO-OPTIMAL SOLUTION P 1 , i.e. t 1 = 8.4s AND t 2 = 1.1s. THE RED CURVE HIGHLIGHTS OPTIMUM REDUNDANCY SCHEME

FIGURE 7 .

 7 FIGURE 7. µ AS A FUNCTION OF PATH POINT NUMBER AND ρ 2 FOR PARETO-OPTIMAL SOLUTION P 2 , i.e. t 1 = 9.7s AND t 2 = 1.1s. THE RED CURVE HIGHLIGHTS OPTIMUM REDUNDANCY SCHEME

FIGURE 8 .

 8 FIGURE 8. µ AS A FUNCTION OF PATH POINT NUMBER AND ρ 2 FOR PARETO-OPTIMAL SOLUTION P 3 , i.e, t 1 = 10s AND t 2 = 4.6s. THE RED CURVE HIGHLIGHTS OPTIMUM REDUNDANCY SCHEME

https://youtu.be/fpdlEnYbP7M

ACKNOWLEDGMENT

This research work is part of the European Project ECHORD++ "FASTKIT" dealing with the development of collaborative and Mobile Cable-Driven Parallel Robots for logistics. Ecole Centrale Nantes is also dutifully acknowledged for the financial support provided to the first author of the paper.